REALIZZAZIONE E CONTROLLO DI UNA STAMPANTE 3D

Slides:



Advertisements
Presentazioni simili
UN MOTORE “MODELLO”.
Advertisements

AVVOLGIMENTI NELLE MACCHINE ELETTRICHE ROTANTI
Opportuno schermo completo Cliccare quando serve
Onde elettromagnetiche nel vuoto
MACCHINE ASINCRONE.
MACCHINE SINCRONE.
MANOVELLISMI STUDIO CINEMATICO E DINAMICO
Realizzazione di un robot mobile controllato mediante comandi labiali
Cinematica diretta Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti). Si assume.
Dal campo magnetico rotante al modello matematico del motore sincrono a magneti permanenti Francesco Cupertino Ottobre 2007.
Motori Elettrici: i fondamenti
LEGGE CIRCUITAZIONE DI AMPERE
Motore a Induzione.
Motori ad alto rendimento per l’Efficienza Energetica Tecnologia e risparmi Andrea Solzi ANIE – Energia.
La centrale elettrica Corso di Tecnologia Prof. Giuseppe Sciacca
CIRCUITO EQUIVALENTE DEL GENERATORE SINCRONO
Il Giroscopio Definizione:
Macchine in Corrente Continua
MOTO RIDUTTORI.
MACCHINE A CORRENTE CONTINUA
Parametri di un motore passo-passo
L’AUTOMOBILE AD IDROGENO: IL MOTORE ELETTRICO PER LA TRAZIONE
Driver per motori passo-passo
ANALISI E PRIMA REALIZZAZIONE DI UN PROTOTIPO DI SEGWAY
CORSO DI SIMULAZIONE E PROTOTIPAZIONE VIRTUALE
Macchina sincrona Macchina elettrica rotante, funzionante in corrente alternata La frequenza f delle grandezze elettriche ai morsetti e la velocità di.
Motori passo-passo a riluttanza variabile e ibrido
Macchina a corrente continua
La trasmissione del moto
SERVOMOTORI IN CORRENTE CONTINUA
Macchine elettriche rotanti fondamentali
Istituto Tecnico Industriale Statale P. Hensemberger
Motore passo passo.
Meccanismi e movimento
Presentazione su i: Motori passo-passo
Potenziometri I trasduttori lineari di posizione serie PL sono potenziometri estremamente robusti per applicazioni industriali. Le loro caratteristiche.
Trasduttori per la rilevazione di velocità e posizione
Elaborato di Laurea di Alessandro LAZZARINI BARNABEI
Generazione del campo magnetico di statore:
10. Proprietà magnetiche dei materiali
il moto rotatorio di un corpo rigido
Motore Asincrono (parte II) e Sincrono
Onde elettromagnetiche nel vuoto  sono costituite da un campo elettrico e da uno magnetico in fase variabili nel tempo che si propagano in fase tra loro.
ROBOTICA STRUTTURA DI UN ROBOT
Interfacciamento emissione su stampante di un dato che rappresenta una tensione acquisita da un convertitore analogico digitale decodifica e visualizzazione.
INSEGUITORE SOLARE CON ARDUINO
PRINCIPI DI FUNZIONAMENTO
PRINCIPIO di FUNZIONAMENTO dei MOTORI
L'Energia Elettrica.
MACCHINA SCARICATRICE SCHEMA GENERALE COKERIA
ROBOT QUADRUPEDE.
TRASMISSIONI MECCANICHE
COPPIE PARASSITE: ASINCRONE E SINCRONE
Il campo magnetico.
FISSIAMO LE IDEE: Magnetismo ed Elettromagnetismo
Display LCD Daniele Arsì 4°A Elettronica. Gli LCD (Liquid Crystal Display) sono una tecnologia di tipo trasmissivo, a valvola di luce: la luce bianca.
Motore sincrono: Un motore realizzato utilizzando la rotazione del campo magnetico è detto motore sincrono poiché esiste sincronismo tra la velocità angolare.
Impianto di movimentazione di un Carrello
1)Glossario dei termini specifici sui motori elettrici:
Trasduttori di posizione e velocità: sincro e resolver
La Macchina di Wimshurst
Motore passo-passo Motore brusheless.
Metropolitana di Genova – Porte di salita passeggeri
Motorino elettrico.
Fino agli inizi degli anni ‘90 la stragrande maggioranza degli azionamenti utilizzava un motore in corrente continua; tale scelta era, essenzialmente,
La polarizzazione della radiazione elettromagnetica indica l’ oscillazione su un solo piano del vettore campo elettrico durante la propagazione.
Emilio Zappa, Stefano Pecorario 5^G a.s 2012/2013.
Applicando la schematizzazione bifase equivalente ai circuiti di statore e di rotore, è possibile ricavare diversi modelli per descrivere il comportamento.
Transcript della presentazione:

REALIZZAZIONE E CONTROLLO DI UNA STAMPANTE 3D TorVergata U REALIZZAZIONE E CONTROLLO DI UNA STAMPANTE 3D RELATORE: Ing. Daniele Carnevale CANDIDATO: Danilo Diaferia

(1) Introduzione La stampante 3D I prototipi Obiettivo: Pag. 1/28 La stampante 3D è un robot capace di stampare oggetti tridimensionali. I prototipi stampante Rep Rap (figura 1) Stampante Galileo Obiettivo: Realizzare un robot versatile, capace di cambiare funzionalità in base all’end effector. Ingombranti e costose. Figura 1

(1) Struttura portante Il robot realizzato La struttura è composta da Pag. 2/28 Il robot realizzato Il robot realizzato è un manipolatore a tre gradi di libertà, in cui tutte le coppie sono prismatiche. La struttura è composta da Piano di lavoro Figura 1

(1) Struttura portante x 4 5 y 2 7 3 z y 6 1 z x y Il robot realizzato Pag. 2/28 Il robot realizzato Il robot realizzato è un manipolatore a tre gradi di libertà, in cui tutte le coppie sono prismatiche. La struttura è composta da Piano di lavoro Tre coppie prismatiche, movimenti x,y,z x 4 5 y 2 7 3 z y 6 1 z x y Figura 1

(1) Coppie prismatiche Nomenclatura coppia prismatica Realizzazione Pag. 3/28 Nomenclatura coppia prismatica La coppia prismatica è composta da due o piu membri, che realizzano un modo relativo puramente traslazionale Realizzazione membri 1,2 aste in alluminio a profilo circolare membro 3, in plexiglass, presenta due fori facile da realizzare, moto traslazionale 2 1 3 Rn (Figura 2) traslazione del carrello

(1) Coppie prismatiche Azionamento elettrico Il funzionamento Pag. 4/28 Azionamento elettrico Al fine muovere elettronicamente la coppia sono necessari: motore, cinghia e puleggia. Il funzionamento Rotazione albero motore -> traslazione della cinghia -> traslazione del carrello soli- dale alla cinghia. Puleggia Ruota dentata Motore 1 2 Carrello X Cinghia (Figura 3)

(1) Il robot realizzato Pag. 5/28 (Figura 4)

(2) Hardware Hardware

(2) Azionamento elettrico Pag. 6/28 Scheda elettrica dedicata pilotaggio motori gestione dei segnali di controllo (Figura 5)

(2) Azionamento elettrico Pag. 7/28 Il ponte H Azionamento di un motore tramite segnali digitali: enable -> abilitazione ponte In1,In2 -> gestione verso rotazione Inverter Risparmio segnali microcontrollore. Stepper Motore DC step.h (Figura 6)

(2) Motori passo passo Rotore Statore Pag. 8/28 (Figura 7) Rotore due ruote dentate di polarità opposta corrispondenza dente-valle Statore quattro poli elettromagnetici collegamento in serie di poli opposti -> 2 avvolgimenti all’esterno (A,B)

(2) Motori passo passo Rotazione Pag. 9/28 Rotazione Ogni volta che si alimenta un polo elettromagnetico il dente più vicino al polo viene attirato generando una rotazione, nel nostro caso 1.8 [gradi]. Per ottenere la rotazione basta eccitare i poli magnetici in: Ordine crescente -> verso orario Ordine decrescente -> verso antiorario Sequenza di rotazione La sequenza in cui devono essere polarizzati i due avvolgimenti (A e B) esterni è: A-B-A*-B* senso orario B*-A*-B-A senso antiorario Controllo stepper A B A* B* (Figura 9)

(2) Motore DC Pag. 10/28 Rotazione Ve>0, rotazione oraria Ve<0, rotazione antioraria Sistema a ciclo chiuso con controllore proporzionale di tipo 1 Motore 1 s Ve w θ (Figura 10) Tipo\u u(t)=c u(t)=t u(t)=t²/2 E0≠0 infinito 1 nullo E1≠0 Infinito 2 E2≠0

(3) Controllo Controllo

(3) Controllo Controllo Obiettivo Pag. 11/28 due stepper un motore DC Realizzare un controllo che assicuri: precisione nel raggiungimento della posizione desiderata astatismo ai disturbi

(3) Esecuzione di un passo Pag. 12/28 Esecuzione di un passo Questa funzione di occupa di alimentare correttamente gli avvolgimenti dello stepper al fine di eseguire un singolo passo. 1. void passo1(String verso){ 2. if (verso=="avanti") polo1++; 3. if (verso=="indietro") polo1--; 4. if (avvolgimento1==4) polo1=0; 5. if (avvolgimento1==-1) polo1=3; 6. 7. if (avvolgimento1==0){ 8. digitalWrite(In12m1,HIGH); //abilito prima avvolgimento in fase 9. digitalWrite(Enable1A,HIGH);} .

(3) Esecuzione di un passo Pag. 12/28 Esecuzione di un passo Questa funzione di occupa di alimentare correttamente gli avvolgimenti dello stepper al fine di eseguire un singolo passo. 1. void passo1(String verso){ 2. if (verso=="avanti") polo1++; 3. if (verso=="indietro") polo1--; 4. if (avvolgimento1==4) polo1=0; 5. if (avvolgimento1==-1) polo1=3; 6. 7. if (avvolgimento1==0){ 8. digitalWrite(In12m1,HIGH); //abilito prima avvolgimento in fase 9. digitalWrite(Enable1A,HIGH);} . Nella prima parte si decide quale dei quattro poli magnetici deve essere eccitato al fine di ottenere la rotazione nel verso desiderato. La variablie globale polo1=0,1,2,3 ricorda l'ultimo polo magnetico eccitato consentendo di sceglie il successivo.

(3) Esecuzione di un passo Pag. 12/28 Esecuzione di un passo Questa funzione di occupa di alimentare correttamente gli avvolgimenti dello stepper al fine di eseguire un singolo passo. Nella seconda parte invece, in base al polo magnetico da eccitare si abilita effettivamente il ponte h corrispettivo, indicando la polarizzazione della bobina. 1. void passo1(String verso){ 2. if (verso=="avanti") polo1++; 3. if (verso=="indietro") polo1--; 4. if (avvolgimento1==4) polo1=0; 5. if (avvolgimento1==-1) polo1=3; 6. 7. if (avvolgimento1==0){ 8. digitalWrite(In12m1,HIGH); //abilito prima avvolgimento in fase 9. digitalWrite(Enable1A,HIGH);} . Gestione ritardo: Al termine della funzione bisognerebbe effettuare un ritardo di qualche ms per consentire al motore di effettuare il passo, ma tale operazione viene svolta successivamente in modo unico per tutti i motori.

(3) Controllo Stepper Pag. 13/28 Ritardo Il ritardo è unico per tutti i motori evitando variazioni della velocità. Funzione ritardo Il ritardo viene controllato con millis() lasciando libera la loop() di controllare il motore DC. E>0, npassi0++, fare un singolo passo avanti E<0, npassi0--, fare un singolo passo indietro E= npassi - npassi0 ritardo

(3) Controllo proporzionale DC Pag. 14/28 Il controllo: e > 0 : impostare velocità positiva, e < 0: impostare velocità negativa, e = 0: la velocità è nulla, posizione desiderata raggiunta. e= nencoder – nencoder0Pos; u = Kp*e; Anti Dead Zone: E’ il minimo valore di tensione (o meglio duty cycle) che bisogna applicare al motore per vincere l'attrito statico e consentire il moto. u = abs(u)+Dead Zone Control dead zone: Raggiunta la posizione desiderata a causa di disturbi che simulano un errore si continua ad alimentare il motore. Per ovviare a questo problema se (|e| < ControlDeadzone If (|e| < ControlDeadzone) u = 0;

(3) Controllo proporzionale DC Pag. 14/28 (Eq 1) Attrito tra rotore e statore: e= nencoder – nencoder0Pos; u = Kp*e; Anti Dead Zone: E’ il minimo valore di tensione (o meglio duty cycle) che bisogna applicare al motore per vincere l'attrito statico e consentire il moto. u = abs(u)+Dead Zone Control dead zone: Raggiunta la posizione desiderata a causa di disturbi che simulano un errore si continua ad alimentare il motore. Per ovviare a questo problema se (|e| < ControlDeadzone If (|e| < ControlDeadzone) u = 0;

(3) Controllo PID Perché usare un controllore PID: Azioni del PID: Pag. 15/28 Perché usare un controllore PID: Il PID può essere impiegato anche se non si conosce la funzione di trasferimento del processo. Azioni del PID: Il PID si basa su tre azioni: proporzionale, integrale e derivativa. Risultati: Il controllo ottenuto con un PID rispetto al proporzionale è: sperimentalmente più preciso (piccoli spostamenti, sovraelongazione ridotta) astatico ai disturbi costanti tra C(s) e P(s) errore nullo a regime permanente per ingressi a rampa (Figura 11)

(3) Sovraelongazione Azione derivata: Pag. 16/28 Azione di compensazione dell’errore, riduzione sovraelongazione intorno alla posizione finale. Mφ aumenta S = f(ξ) = sin( ψ)=f(M φ) Approssimato (rete anticipatrice) ψ sin(ψ)=ξ Decadimento sovraelongazione S (Figura 15)

Sistema a ciclo chiuso di tipo 2 (3) Integrale Pag. 17/28 Azione integrale: Astatismo del sistema a ciclo chiuso a disturbi costanti tra C(s) e P(s), grazie al polo in s=0 di C(s) Sistema a ciclo chiuso di tipo 2 Tipo\u u(t)=c u(t)=t u(t)=t²/2 E0≠0 infinito 1 nullo E1≠0 Infinito 2 E2≠0

(3) Realizzazione PID Pag. 18/28 Il controllore a tempo discreto PID(z) si ottiene con il metodo indiretto: (Eq 9) Il controllore non realizzabile perche C(s) non è una funzione propria. (Eq 10) Approssimazione con un metodo che preservi la stabilità, ad esempio Tustin (Eq 11) Antitrasformata: (Eq 12) Il controllore PID(k) è conforme al linguaggio dell’Arduino.

(3) Cinematica del robot Pag. 19/28 raggiungere una posizione (x,y,z) Cinematica inversa Passo traslazione/passo motore Controllo determinazione delle variabili di giunto determinazione dei passi/passi encoder (Figura 14) 3 2 1 z raggiungimento dei passi/passi encoder

(3) Passo di traslazione Pag. 20/28 Precisione motori passo passo: θs=1.8 [gradi]=cost, d=8mm -> ∆z =d/2*θs = 0.1265 ≈ 1/8 [mm/passo] ∆σ ∆x = d/2 *∆θ d/2 Ruota dentata (Figura 13)

(4) Stampa Stampa

(4) Stampa Obiettivo Pag. 21/28 Per valutare l’affidabilità della struttura meccanica realizzata e la bontà del controllo software si creano delle funzioni di stampa che avvicinano il robot ai possibili impieghi di: stampante 3D fresa automatica. Test affidabilità struttura meccanica realizzata Funzioni di stampa Bontà del controllo software

X=r*cos(theta); Y=r*cos(theta); (4) Stampa cerchio Pag. 22/28 Perché il cerchio: Complicato per un robot cartesiano (movimenti lineari). Coordinate polari: La funzione proposta si basa sull'uso delle coordinante polari, incrementando l'angolo theta di Delta_theta per ogni iterazione. X=r*cos(theta); Y=r*cos(theta); theta+=Delta_theta controllo

(4) Stampa cerchio Test funzione Pag. 23/28 Asse xy: motore DC e stepper, linea frastagliata Asse xz: stepper e stepper, linea omogenea x y z x ∆ѳ=3 mm ∆ѳ=1 mm (Figura 15) (Figura 16)

(4) Stampa testo Obiettivo: Soluzione Pag. 24/28 Si vuole stampare un immagine di testo ovvero un immagine bicolore ove il bianco rappresenta zone vuote e il colore rappresenta il testo da stampare. Soluzione preparazione dati conversione pixel posizioni e stampa

(4) Stampa testo Preparazione dati: p1 p2 Pag. 25/28 Immagine JPG Pixel p1,p2 per ogni linea di ogni colonna p1 p2 File con sequenza di pixel p1, p2 Trasformazione file in vettore Vettore di pixel per arduino (Figura 16)

(4) Stampa testo Preparazione dati: Pag. 25/28 Immagine JPG Pixel p1,p2 per ogni linea di ogni colonna File con sequenza di pixel p1, p2 Trasformazione file in vettore Vettore di pixel per arduino (Figura 16)

(4) Stampa testo Obiettivo Soluzione Pag. 26/28 Si vuole stampare un immagine di testo ovvero un immagine bicolore ove il bianco rappresenta zone vuote e il colore rappresenta il testo da stampare. Soluzione preparazione dati conversione pixel-posizioni e stampa Raggiungere la posizione p1=f(p1) Tracciamento linea Abbassare l’effettore Raggiungere la posizione p2=f(p2) Alzare l’effettore

(4) Stampa testo Obiettivo Soluzione Risultato ottenuto Pag. 27/28 Si vuole stampare un immagine di testo ovvero un immagine bicolore ove il bianco rappresenta zone vuote e il colore rappresenta il testo da stampare. Soluzione preparazione dati conversione pixel-posizioni e stampa Risultato ottenuto (Figura 17)

(5) Conclusioni Conclusioni: Pag. 28/28 Realizzazione della struttura meccanica e dell’azionamento elettrico Studio cinematica del robot Sistema di controllo per 2 motori passo passo e per un motore DC (P,PID) Software per riconoscimento e stampa di immagini di testo 2D

Grazie per l’attenzione