top of page

EEZYbotArm MK3

Braccio robotico programmabile
DESCRIZIONE

OPEN-SOURCE

PROGETTO

L'idea parte dal progetto

open-source realizzato da daGHIZmo trovato su thingiverse, il più grande sito dedicato alla condivisione di oggetti per la stampa 3D.

Per i file dei componenti e maggiori informazioni visitare i seguenti link:

PROGETTO

Problematiche affrontate

Dopo aver inizato a stampare i file 3D presenti su thingiverse ho notato due difetti progettuali:
  • PINZA, tra i file stl non è presente nessun ingranaggio di collegamento tra il servo e le "dita" della pinza.  Senza di essi non è possibile ottenere il movimento della pinza stessa e quindi il braccio non potrebbe afferrare alcun oggetto. Ho allora adattato i componenti del modello MK2 per poterli montare sul MK3.
ins.png
ing.png
  •  MOTORI, i motori passo-passo 28BYJ-48 attorno ai quali è stato realizzato il progetto sono risultati troppo deboli, tanto da far fatica a sollevare il solo peso dei componenti del braccio. Nella descrizione del progetto in thingiverse è suggerito di apportare delle modifiche ai motori portandoli da polari con 5 fili a bipolari con 4 fili per aumentare la coppia torcente. Così facendo non sarebbe più stato possibile usare la scheda  ULN2300. Ho preferito allora progettare dei supporti che permettessero di utilizzare due micro servo MG90S al posto dei due motori passo-passo che dovrebbero muovere il braccio. Oltre ai supporti ho dovuto anche ideare dei nuovi tipi di ingranaggi, con appositi distanziali,  per adattare il "pignone" dei servo con il  meccanismo di movimentazione dei bracci . In questo modo sono riuscito a controllare perfettamente i movimenti del mio MK3. 

L'utilizzo dei servo si è anche rivelato molto utile in fase di programmazione  poichè, avendo al loro interno un encoder,  arduino riesce a ricevere dei feedback sulla posizione raggiunta. Per quanto riguarda il motore che permette la rotazione verticale del braccio ho mantenuto un motore  passo-passo 28BYJ-48.

20190127_173004.jpg

Miglioramenti

  • FOTOCELLULE, una volta terminato ed assemblato il braccio mi sono reso conto, durante la  programmazione, di avere bisogno di riscontri sulla rotazione verticale per riuscire ad individuare l'angolo di rotazione alla quale fermare il braccio per poi eseguire altri comandi. Ho allora provveduto alla progettazione di un supporto per modulo laser KY-008 da collegare alla base del braccio (file stl: EBA3:004.STL) che mi permettesse, tramite delle fotoresistenze fissate sul piano di lavoro, di realizzare delle fotocellule. Così facendo sono riuscito ad inviare ad arduino un feedback sull'angolo di rotazione del braccio.
  • CONTROLLO TRAMITE SMARTPHONE, per le fasi iniziali del progetto ho utilizzato per la              movimentazione del braccio una pulsantiera creata appositamente su breadboard. Una volta terminato il settaggio ho implementato un applicazione android con la quale è possibile comandare tutti i movimenti mediante un collegamento bluetooth con arduino tramite modulo HC-06.

TROVATE TUTTI I FILE STL DEI COMPONENTI PROGETTATI AL SEGUENTE LINK:

STAMPA

STAMPA

Per la stampa dei componenti abbiamo usato la nostra Flashforge Creator Pro con due colorazioni differenti di PLA: bianco e blu. Il riempimento varia a seconda di ogni componente per esempio gli ingranaggi sono stati stampati con infill 100% mentre la base ed i braccetti con infill 30%.
Inoltre, grazie ad un'accurata progettazione dei componenti, non è stato necessario aggiungere supporti per la stampa.

ASSEMBLAGGIO

ASSEMBLAGGIO
Per l'assemblaggio dei componenti sono stati utilizzati viti e dadi M3 e M4 di diverse lunghezze, rondelle, viti autofilettanti per fissare il coperchio della base e il supporto per il modulo laser e una spina di diametro 4mm per collegare il braccio alla base.
Ho inoltre utilizzato 2 cuscinetti 606 (6x17x6) fissati nella base che permettono la rotazione verticale del braccio tramite un bullone M6 che funge da perno.
Riporto la lista molto dettagliata della pagina thingiverse MK3.
lista.png
PROGRAMMA

PROGRAMMAZIONE

Per la programmazione del mio MK3 ho utilizzato arduino mega collegato a diversi dispositivi:
  • micro servo MG90S per controllare la pinza
  • 2 micro servo MG90S per movimentare il braccio
  • 1 motore passo-passo 28BYJ-48 per la rotazione verticale collegato tramite scheda ULN2300 
  • 1 modulo laser KY-008 e tre fotoresistenze per il feedback sull'angolo di rotazione
  • 1 modulo HC-06 per il collegamento bluetooth con smartphone
  • 8 pulsanti per controllare manualmente i movimenti del braccio
  • 1 alimentatore per breadboard MB102 poichè la sola alimentazione di arduino non è sufficiente a far funzionare tutti i motori/servo
Inizialmente ho compilato un programma per il controllo manuale, tramite pulsantiera, del braccio con una comunicazione seriale computer/arduino che permettesse di ricevere la posizione raggiunta, per ogni movimento, di ciascun servo. Questo passaggio è fondamentale se si vuole scrivere un programma per un ciclo automatico poichè è necessario conoscere le coordinate nello spazio da raggiungere per eseguire, in seguito, delle operazioni come per esempio afferrare un oggetto. 
Una volta completato il settaggio manuale ho proceduto alla compilazione di un ciclo automatico il cui obiettivo è quello di sposta un pacchetto di cicche ed un cubo 3D in tre posizioni nello spazio a distanze diverse dalla base del MK3.
E' in questa fase dove mi sono reso conto della necessità delle fotocellule descritte precedentemente.
Dopo aver verificato la correttezza di ciascun programma ho sviluppato un applicazione android tramite la quale è possibile comandare manualmente il braccio e far iniziare l'esecuzione del ciclo automatico.
A fine pagina è presente il video del progetto completo.

DI SEGUITO E' POSSIBILE SCARICARE I CODICI ARDUINO E L'APPLICAZIONE:

Ho sviluppato due applicazioni una senza opzione ciclo automatico (MK3) e una completa con tasto start per il ciclo (MK3+)

20190207_151851.jpg
20190130_214908.jpg
logo.jpg
logo_plus.jpg
Screenshot_20190208-121511.jpg
Screenshot_20190208-121731.jpg
bottom of page