1 / 38

REALIZZAZIONE E CONTROLLO DI UNA STAMPANTE 3D

U. TorVergata. REALIZZAZIONE E CONTROLLO DI UNA STAMPANTE 3D. RELATORE: Ing. Daniele Carnevale. CANDIDATO: Danilo Diaferia. (1) Introduzione. Pag. 1/28. La stampante 3D La stampante 3D è un robot capace di stampare oggetti tridimensionali. I prototipi

Download Presentation

REALIZZAZIONE E CONTROLLO DI UNA STAMPANTE 3D

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. (1) Introduzione Pag. 1/28 La stampante 3D 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

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

  4. (1) Struttura portante Pag. 2/28 Il robot realizzato Il robot realizzato è un manipolatore a tre gradi di libertà, in cui tutte le coppie sonoprismatiche. 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

  5. (1) Coppie prismatiche 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 3 Rn Rn Rn 1 Rn 2 traslazione del carrello (Figura 2)

  6. (1) Coppie prismatiche Pag. 4/28 X 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. 2 Ruota dentata Puleggia Motore 1 Cinghia Carrello (Figura 3)

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

  8. (2) Hardware Hardware

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

  10. (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)

  11. (2) Motori passo passo Pag. 8/28 • 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) (Figura 7)

  12. (2) Motori passo passo 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 rotazioneLa 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)

  13. (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 1s Ve w θ (Figura 10)

  14. (3) Controllo Controllo

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

  16. (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);} . .

  17. (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.

  18. (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.

  19. (3) Controllo Stepper Pag. 13/28 • RitardoIl 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=npassi - npassi0 E>0, npassi0++, fare un singolo passo avanti E<0, npassi0--, fare un singolo passo indietro ritardo

  20. (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;

  21. (3) Controllo proporzionale DC Pag. 14/28 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. Attrito tra rotore e statore: (Eq 1) 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;

  22. (3) Controllo 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 disturbicostanti tra C(s) e P(s) errore nullo a regime permanente per ingressi a rampa (Figura 11)

  23. (3) Sovraelongazione Pag. 16/28 Azione derivata: 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)

  24. (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

  25. (3) Realizzazione PID Pag. 18/28 Il controllore a tempo discreto PID(z) si ottiene con il metodo indiretto: (Eq 9) (Eq 11) 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 12) Antitrasformata: Il controllore PID(k) è conforme al linguaggio dell’Arduino.

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

  27. (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)

  28. (4) Stampa Stampa

  29. (4) Stampa Pag. 21/28 • Obiettivo • 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

  30. (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

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

  32. (4) Stampa testo Pag. 24/28 Obiettivo: 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

  33. (4) Stampa testo Pag. 25/28 Preparazione dati: 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)

  34. (4) Stampa testo Pag. 25/28 Preparazione dati: 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)

  35. (4) Stampa testo Pag. 26/28 Obiettivo 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) Abbassare l’effettore Tracciamento linea Raggiungere la posizione p2=f(p2) Alzare l’effettore

  36. (4) Stampa testo Pag. 27/28 Obiettivo 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)

  37. (5) Conclusioni Pag. 28/28 Conclusioni: 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

  38. Grazie per l’attenzione

More Related