Sommario:

Braccio robotico fai-da-te a 6 assi (con motori passo-passo): 9 passaggi (con immagini)
Braccio robotico fai-da-te a 6 assi (con motori passo-passo): 9 passaggi (con immagini)

Video: Braccio robotico fai-da-te a 6 assi (con motori passo-passo): 9 passaggi (con immagini)

Video: Braccio robotico fai-da-te a 6 assi (con motori passo-passo): 9 passaggi (con immagini)
Video: Programmare un BRACCIO ROBOTICO con Arduino 2024, Luglio
Anonim
Image
Image
Braccio robotico fai da te a 6 assi (con motori passo-passo)
Braccio robotico fai da te a 6 assi (con motori passo-passo)
Braccio robotico fai da te a 6 assi (con motori passo-passo)
Braccio robotico fai da te a 6 assi (con motori passo-passo)

Dopo più di un anno di studi, prototipi e fallimenti vari sono riuscito a costruire un robot ferro/alluminio con 6 gradi di libertà comandato da motori passo passo.

La parte più difficile è stata la progettazione perché volevo raggiungere 3 obiettivi fondamentali:

  • Basso costo di realizzazione
  • Facilità di montaggio anche con poca attrezzatura
  • Buona precisione durante lo spostamento

Ho progettato più volte il modello 3D con Rhino fino a (a mio avviso) un buon compromesso che soddisfa i 3 requisiti.

Non sono un ingegnere e prima di questo progetto non avevo alcuna esperienza in robotica quindi una persona più esperta di me potrebbe trovare difetti di progettazione in quello che ho fatto ma posso comunque dire di essere soddisfatto del risultato finale che ho raggiunto.

Forniture

per maggiori info visita il mio blog personale

Passaggio 1: progettazione CAD

Progettazione CAD
Progettazione CAD
Progettazione CAD
Progettazione CAD
Progettazione CAD
Progettazione CAD
Progettazione CAD
Progettazione CAD

Prima di arrivare al modello definitivo ho progettato almeno 8 diversi prototipi con differenti sistemi di trasmissione ma nessuno riusciva a soddisfare i 3 requisiti sopra descritti.

Mettendo insieme le soluzioni meccaniche di tutti i prototipi realizzati (e accettando anche qualche compromesso) è uscito il modello finale. Non ho contato le ore che ho passato davanti al CAD ma vi posso assicurare che sono state davvero tante.

Un aspetto da tenere presente in fase di progettazione è che anche un solo grammo aggiunto all'estremità del polso del robot viene moltiplicato a scapito della resistenza alla coppia dei motori alla base e quindi più si aggiunge peso e più i motori deve essere calcolato per sopportare lo sforzo.

Per "aiutare" i motori a resistere alle sollecitazioni ho applicato pistoni a gas da 250N e 150N.

Ho pensato di ridurre i costi realizzando il robot con lastre di ferro (C40) e alluminio tagliate al laser con spessori che vanno da 2, 3, 5, 10 mm; il taglio laser è molto più economico della fresatura 3D dei metalli.

Dopo aver disegnato ogni singolo componente, ho realizzato le forme dei pezzi in.dxf e le ho inviate al centro di taglio. Tutti gli altri componenti sono stati realizzati da me al tornio.

Passaggio 2: preparazione e assemblaggio

Preparazione e assemblaggio
Preparazione e assemblaggio
Preparazione e assemblaggio
Preparazione e assemblaggio
Preparazione e assemblaggio
Preparazione e assemblaggio

Finalmente è il momento di sporcarmi le mani (è quello che so fare meglio)…

La fase di costruzione ha tolto molte ore di lavoro per la preparazione dei pezzi, la limatura manuale dei fori, gli incastri, le filettature e la tornitura dei mozzi. Il fatto di aver progettato ogni singolo componente per poter lavorare con pochi strumenti di lavoro mi ha portato a non avere grosse sorprese o problemi meccanici.

La cosa più importante è non avere fretta di finire le cose ma essere scrupolosi e seguire ogni singola linea del progetto, improvvisare in questa fase non porta mai a buoni risultati.

Realizzare le sedi dei cuscinetti è estremamente importante perché ogni snodo poggia su di esse e anche un piccolo gioco di qualche punto percentuale potrebbe compromettere la buona riuscita del progetto.

Mi sono ritrovato a dover rifare i perni perchè con il tornio avevo tolto circa 5 centesimi in meno rispetto al foro del cuscinetto e quando ho provato a montarlo il gioco era mostruosamente evidente.

Gli strumenti che ho usato per preparare tutti i pezzi sono:

  • trapano
  • grinder / dremel
  • mola
  • file manuale
  • tornio
  • chiavi inglesi

Capisco che non tutti possono avere un tornio in casa e in questo caso sarà necessario commissionare i pezzi ad un centro specializzato.

Avevo progettato i pezzi da tagliare al laser con gli incastri un po' più abbondanti per poterli perfezionare a mano perché il laser, per quanto preciso possa essere, genera un taglio conico ed è fondamentale tenerne conto.

Lavorando con la lima a mano ogni incastro che ho realizzato in modo da generare un accoppiamento molto preciso tra le parti.

Anche i fori nelle sedi dei cuscinetti li avevo rimpiccioliti e poi alesati a mano con il dremel e tanta (ma davvero tanta) pazienza.

Tutte le filettature le ho fatte a mano al trapano a colonna perchè si ottiene la massima perpendicolarità tra strumento e pezzo. Dopo aver preparato ogni pezzo è arrivato il tanto atteso momento della verità, l'assemblaggio dell'intero robot. Sono stato sorpreso di scoprire che ogni pezzo si adattava esattamente all'altro con le giuste tolleranze.

Il robot ora è tutto assemblato

Prima di fare qualsiasi altra cosa, ho preferito fare delle prove di movimento per assicurarmi che i motori siano stati progettati correttamente, se trovo dei problemi con i motori, soprattutto la loro coppia di serraggio, sarò costretto a rifare buona parte del progetto.

Quindi dopo aver montato anche i 6 motori ho portato il robot pesante nel mio laboratorio in soffitta per sottoporlo ai primi test.

Passaggio 3: primi test di movimento

Image
Image
Verniciatura e Rimontaggio
Verniciatura e Rimontaggio

Dopo aver completato la parte meccanica del robot ho assemblato velocemente l'elettronica e collegato solo i cavi dei 6 motori. I risultati del test sono stati molto positivi, gli snodi si muovono bene e negli angoli prestabiliti ho scoperto un paio di problemi facilmente risolvibili.

Il primo problema riguarda il giunto n. 3 che alla massima estensione sovraccaricava troppo il nastro e talvolta provocava la perdita di gradini. La soluzione a questo problema mi ha portato a vari argomenti che vedremo nel passaggio successivo.

Il secondo problema riguarda il congiunto n. 4, la soluzione della torsione della cinghia non era troppo affidabile e generava problemi. Intanto le parti in ferro del robot cominciavano a fare dei piccoli punti di ruggine quindi con l'occasione di risolvere i problemi ne ho approfittato anche per verniciarlo.

Passaggio 4: verniciatura e rimontaggio

Verniciatura e Rimontaggio
Verniciatura e Rimontaggio
Verniciatura e Rimontaggio
Verniciatura e Rimontaggio

Non amo particolarmente la fase di pittura ma in questo caso sono obbligato a farlo perché la amo ancora meno.

Sul ferro metto prima un primer che fa da sottofondo alla vernice rosso fluo.

Passaggio 5: correzione bug N.1

Bug Fix N.1
Bug Fix N.1
Bug Fix N.1
Bug Fix N.1
Bug Fix N.1
Bug Fix N.1
Bug Fix N.1
Bug Fix N.1

Dopo i risultati del test ho dovuto apportare alcune modifiche per migliorare la precisione del robot. La prima modifica riguarda lo snodo n. 3 in particolare quando si trovava nelle condizioni più sfavorevoli esercitava una trazione eccessiva della cinghia e di conseguenza il motore era sempre sotto fatica. La soluzione era aiutare applicando una forza contraria al senso di rotazione.

Ho passato notti intere a pensare a quale potesse essere la soluzione migliore senza dover rifare tutto. Inizialmente pensavo di applicare una molla a torsione grande ma cercando in rete non ho trovato nulla di soddisfacente quindi ho optato per un pistone a gas (come avevo già progettato per lo snodo n°2), ma dovevo ancora decidere dove posizionarlo perché non aveva spazio a sufficienza.

Rinunciando un po' all'estetica, ho deciso che il posto migliore per posizionare il pistone fosse di lato.

Ho fatto i calcoli sulla potenza necessaria del pistone considerando il punto dove doveva esercitare la forza e poi ho ordinato su ebay un pistone da 150 N lungo 340 mm poi ho progettato i nuovi supporti per poterlo fissare.

Passaggio 6: correzione bug N.2

Bug Fix N.2
Bug Fix N.2
Bug Fix N.2
Bug Fix N.2
Bug Fix N.2
Bug Fix N.2

La seconda modifica riguarda il giunto n. 4 dove inizialmente avevo previsto la trasmissione con la cinghia attorcigliata ma mi sono accorto che gli spazi erano ridotti e la cinghia non funzionava come sperato.

Ho deciso di rifare completamente l'intero incastro progettando le spalle in modo da ricevere il motore in senso parallelo rispetto ad esse. Con questa nuova modifica ora la cinghia funziona correttamente ed è anche più facile tensionarla perché ho progettato un sistema a chiave per tendere facilmente la cinghia.

Passaggio 7: elettronica

Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica

L'elettronica di controllo del motore è la stessa che si usa per un classico CNC a 3 assi con la differenza che ci sono 3 driver in più e 3 motori in più da gestire. Tutta la logica di controllo degli assi è calcolata dall'applicazione, l'elettronica ha il solo compito di ricevere istruzioni su quanti gradi dovranno ruotare i motori in modo che il giunto non raggiunga la posizione desiderata.

Le parti che compongono l'elettronica sono:

  • Arduino Mega
  • n. 6 driver DM542T
  • n. 4 Relé
  • n. 1 alimentatore 24V
  • n. 2 elettrovalvole (per la pinza pneumatica)

Su Arduino ho caricato lo sketch che si occupa di gestire contemporaneamente i movimenti dei motori come accelerazione, decelerazione, velocità, passi e limiti massimi ed è programmato per ricevere comandi da eseguire via seriale (USB).

Rispetto ai controller di movimento professionali che possono costare fino a diverse migliaia di euro, Arduino nel suo piccolo si difende troppo operazioni ovviamente troppo complesse non è in grado di gestire come ad esempio il multithread utile soprattutto quando si devono gestire più motori contemporaneamente.

Passaggio 8: considerazioni sul software

Considerazioni sul software
Considerazioni sul software
Considerazioni sul software
Considerazioni sul software

Ogni robot ha la sua forma e diversi angoli di movimento e la cinematica è diversa per ciascuno di essi. Al momento per eseguire i test sto utilizzando il software di Chris Annin (www.anninrobotics.com) ma i calcoli scritti per il suo robot non si adattano perfettamente al mio infatti alcune zone dell'area di lavoro non riesco a raggiungere loro perché i calcoli degli angoli non sono completi.

Il software di Annin ora va bene per la sperimentazione, ma dovrò iniziare a pensare di scrivere il mio software che si adatti al 100% alla fisica del mio robot. Ho già iniziato a fare alcuni test usando Blender e scrivendo la parte Python del controller di movimento e sembra una buona soluzione, ci sono alcuni aspetti da sviluppare ma questa combinazione (Blender + Ptyhon) è molto facile da implementare, soprattutto è facile per pianificare e simulare i movimenti senza avere il robot davanti.

Passaggio 9: morsetto pneumatico

Morsetto pneumatico
Morsetto pneumatico
Morsetto pneumatico
Morsetto pneumatico
Morsetto pneumatico
Morsetto pneumatico

Per poter portare oggetti al robot l'ho dotato di una pinza pneumatica.

Personalmente non amo le pinze con servocomandi, non mi danno molta fiducia sulla tenuta quindi ho pensato che una pinza pneumatica che regolasse appositamente la pressione potesse soddisfare tutte le esigenze.

Con profili quadrati in alluminio ho modificato la pinza per prendere sia oggetti piccoli che oggetti grandi.

Più tardi, quando avrò tempo, raccoglierò tutte le informazioni sul progetto in modo da poterlo scaricare.

Spero che ti sia piaciuto questo istruibile.

Consigliato: