Avvertenze
Relativamente agli aspetti di sicurezza, poiché i progetti sono basati su alimentazione elettrica in bassissima tensione erogata dalla porta usb del pc o da batterie di supporto o alimentatori con al massimo 9V in uscita, non ci sono particolari rischi di natura elettrica. È comunque doveroso precisare che eventuali cortocircuiti causati in fase di esercitazione potrebbero produrre danni al pc, agli arredi ed in casi estremi anche a ustioni, per tale ragione ogni qual volta si assembla un circuito, o si fanno modifiche su di esso, occorrerà farlo in assenza di alimentazione e al termine dell’esercitazione occorrerà provvedere alla disalimentazione del circuito rimuovendo sia il cavo usb di collegamento al pc che eventuali batterie dai preposti vani o connettori di alimentazione esterna. Inoltre, sempre per ragioni di sicurezza, è fortemente consigliato eseguire i progetti su tappeti isolanti e resistenti al calore acquistabili in un qualsiasi negozio di elettronica o anche sui siti web specializzati.
Al termine delle esercitazioni è opportuno lavarsi le mani, in quanto i componenti elettronici potrebbero avere residui di lavorazione che potrebbero arrecare danno se ingeriti o se a contatto con occhi, bocca, pelle, etc. Sebbene i singoli progetti siano stati testati e sicuri, chi decide di seguire quanto riportato nel presente documento, si assume la piena responsabilità di quanto potrebbe accadere nell’esecuzione delle esercitazioni previste nello stesso. Per i ragazzi più giovani e/o alle prime esperienze nel campo dell’Elettronica, si consiglia di eseguire le esercitazioni con l’aiuto ed in presenza di un adulto.
Note sul Copyright
Tutti i marchi riportati appartengono ai legittimi proprietari; marchi di terzi, nomi di prodotti, nomi commerciali, nomi corporativi e società citati possono essere marchi di proprietà dei rispettivi titolari o marchi registrati d’altre società e sono stati utilizzati a puro scopo esplicativo ed a beneficio del possessore, senza alcun fine di violazione dei diritti di Copyright vigenti. Quanto riportato in questo documento è di proprietà di Roberto Francavilla, ad esso sono applicabili le leggi italiane ed europee in materia di diritto d’autore – eventuali testi prelevati da altre fonti sono anch’essi protetti dai Diritti di Autore e di proprietà dei rispettivi Proprietari. Tutte le informazioni ed i contenuti (testi, grafica ed immagini, etc.) riportate sono, al meglio della mia conoscenza, di pubblico dominio. Se, involontariamente, è stato pubblicato materiale soggetto a copyright o in violazione alla legge si prega di comunicarlo tramite email a info@bemaker.org e provvederò tempestivamente a rimuoverlo.
Roberto Francavilla
Pilotare un Braccio Robot con Controller 6DOF a potenziometri
Con questa Lezione iniziamo a vedere come è possibile controllare i movimenti di un braccio robotico, ovviamente partiremo dai metodi più semplici fino a spingerci a modalità davvero interessanti.
Questa modalità di controllo del Braccio Robot deriva dal controllo dei servo tramite potenziometro già visto nella parte iniziale del Corso per la regolazione iniziale, appunto, dei servo. In sostanza utilizza una shield con sei potenziometri ed è chiamata “Controller 6DOF con Potenziometri”, ovviamente essondoci 6 potenziometri, riusciamo a pilotare sei servo (da cui il nome 6DOF, ricordo che DOF sta per Degrees Of Freedom, cioè gradi di libertà ). La shield si monta sopra Arduio Uno R3 a formare un sandwich (si fanno allineare i PIN e può essere montata solo da un verso). L’alimentazione dei sei servo è ovviamente esterna mediante opportuno alimentatore (ricordiamoci sempre che 6 servomotori assorbono una corrente che Arduino non riuscirà mai ad erogare, per cui l’alimentazione eterna è indispensabile).
A questo punto, schematizzando il nostro braccio robot come in figura sotto e battenzando i nomi dei servomotori in funzione del movimento che producono, abbiamo:
- S1 – ROTAZIONE BASE
- S2 – ROTAZIONE BRACCIO
- S3 – ROTAZIONE 1 AVANBRACCIO
- S4 – ROTAZIONE 2 AVANBRACCIO
- S5 – ROTAZIONE 1 POLSO
- S6 – ROTAZIONE 2 POLSO
- S7 – APERTURA/CHIUSURA PINZA (NON RAPPRESENTATA GRAFICAMENTE)
I collegamenti dei singoli servo saranno effettuati sulla base delle indicazioni riportate sulla shield (vedi figura sotto).
- Controller 1 —> A0 –> Servo 1
- Controller 2 —> A1 –> Servo 2
- Controller 3 —> A2 –> Servo 3
- Controller 4 —> A3 –> Servo 4
- Controller 5 —> A4 –> Servo 5
- Controller 6 —> A5 –> Servo 6
- Segnale S Servo 1 —> PIN Dig. 3
- Segnale S Servo 2 —> PIN Dig. 5
- Segnale S Servo 3 —> PIN Dig. 6
- Segnale S Servo 4 —> PIN Dig. 9
- Segnale S Servo 5 —> PIN Dig. 10
- Segnale S Servo 6 —> PIN Dig. 11
Come è possibile osservare i PIN di controllo dei servo, come anche i PIN analogici dei potenziometri, sono già predefiniti dalla shield (ATTENZIONE: NON TUTTE LE SHIELD RIPORTANO TALI INFORMAZIONI, COMUNQUE E’ UNO STANDARD), per cui nello sketch occorrerà fare riferimento ai PIN già definiti.
Progetto 04: Hello World del Robot Arm.
Questo primo progetto di controllo del braccio robotico è sostanzialmente paragonabile ai progetti iniziali di una nuova esperienza e pertanto l’ho voluto chiamare l’Hello World del Robot Arm. E’ un progetto molto semplice che ci consente di pilotare il Robot Arm in modalità manuale agendo sui potenziometri della shield.
Per questo progetto ci occorre:
Lo schema elettrico (nel caso di utilizzo di 6 potenziometri distinti) è il seguente:
Lo schema di montaggio (nel caso di utilizzo di 6 potenziometri distinti) da realizzare è il seguente:
Una volta montato il circuito, lo sketch da scrivere e caricare su Arduino è:
Una volta caricato lo sketch, procedere con l’alimentazione dei servo e quindi ci si può divertire a pilotare il braccio azionando i vari potenziometri.
Considerazioni sul Progetto 04 Hello World del Robot Arm
Desidero evidenziare qui alcune mie personali osservazioni emerse durante la realizzazione del progetto. Innanzi tutto durante la fase di montaggio è stato necessario aggiungere delle prolunghe ai cavi dei servo, quando lo fate, mi raccomando massima attenzione ai colori dei cavi che collegate, ricordatevi sempre che il cavo arancione è il segnale, quello rosso è l’alimentazione e quello marrone è il GND, per cui i cavi che andrete a collegare fate in modo che poi siano correttamente collegati sulla shield di controllo.
Un altro aspetto che desidero evidenziare è la tensione di alimentazione, teoricamente dovrebbe essere di 5 V per i servo, ma ho notato che il mio alimentatore non riusciva ad erogare la corrente necessaria ai servo che erano in funzione e i servo tendevano a surriscaldarsi per l’elevata corrente richiesta, per cui provate ad innalzare la tensione. Ovviamente questo dipende dalla tensione massima ammessa dai vostri servo motori, nel mio caso ho provato ad alimentare a circa 7 V (con tensione massima di circa 7,5V) e le cose sono andate molto meglio, specialmente per il servo S3 che consente all’avanbraccio di piegarsi. Ho notato che l’S3 è il servo più sollecitato meccanicamente e quindi anche elettricamente.
Un ultima considerazione va fatta sul controller, infatti, i potenziometri, specialmente quelli di non eccelsa qualità (come quelli da me utilizzati), producono un segnale in uscita non lineare, a volte a scatti, specialmente per determinate posizioni, questo ovviamente si ripercuote sul movimento del braccio che non risulta essere fluido ed omogeneo.