In questo articolo vedremo la realizzazione passo passo di un semplice robottino costruito in LEGO a cui daremo vita usando una board di Arduino. Da sempre il LEGO è stato molto di più di un semplice gioco per bambini, oltre che divertire i piccoli ha appassionato e continua ad appassionare anche adulti di ogni età fornendo migliaia di modelli sempre in evoluzione per tutti i gusti e livelli, dal classico al moderno, dalle trasposizioni cinematografiche agli strumenti della vita reale, fino ad arrivare a modelli stradali, nautici, aerei e spaziali. Insomma, una infinita gamma di soluzioni per stimolare la fantasia imparando a costruire sfruttando le migliaia di combinazioni date dagli innumerevoli cosiddetti mattoncini LEGO, disponibili in diverse forme, dimensioni e colori. Alla struttura in LEGO abbineremo una scheda Arduino, strumento usato dagli appassionati di elettronica e dai makers per la realizzazione di progetti hobbistici. La scheda Arduino è molto usata anche per avvicinare all'elettronica i giovani studenti delle scuole superiori e, grazie alla sua semplicità di utilizzo e alla vasta gamma di proprietà messe a disposizione, permette di creare una vastità immensa di progetti. Molto interessante può risultare il binomio LEGO/Arduino, il primo nato per far giocare i piccoli, in seguito diventato un hobby anche per gli adulti, il secondo nato come hobby per gli adulti e diventato poi un divertimento anche per i piccoli.
Contenuto dell'articolo
L'articolo sarà diviso in due parti:
- Creazione del circuito elettronico e spiegazione delle funzionalità dei suoi componenti
- Costruzione della struttura e messa in funzionamento del robot con l'applicazione di alcune funzioni
In questa parte verrà creato lo schema elettrico e verrà fornita una spiegazione dei vari elementi che lo costituiscono, presentando anche alcuni esempi di funzionamento delle parti trattate.
CHE COS'É UN ROBOT
Un robot è un insieme di parti meccaniche ed elettroniche che creano un'entità automatizzata in grado di replicare o perfino sostituire i compiti svolti dagli esseri umani. I tecnici studiano continuamente nuove tecnologie per perfezionare sempre di più queste macchine pseudo intelligenti, cercando di renderle sempre più simili nelle azioni agli uomini, semplificando e addirittura migliorando i compiti che quotidianamente vengono svolti. Esistono robot per tutti i campi, robot impiegati nel lavoro di produzione che hanno la capacità di saldare, avvitare, spostare oggetti, montare componenti e tante altre cose. Esistono robot per lo svago usati per gare o combattimenti o solamente per il semplice gioco dei bambini. Esistono robot per il salvataggio, capaci di insidiarsi in luoghi inaccessibili o troppo pericolosi per la sicurezza delle persone. Esistono robot per l'esplorazione sottomarina e spaziale. Esistono anche robot a scopo bellico in grado di rilevare e disinnescare mine. La vastità delle applicazioni robotiche è enorme, sempre in continua evoluzione rendendo sempre di più queste macchine autonome intelligenti.
Componenti
Per la parte di elettronica i componenti necessari sono:
- Una board Arduino Nano
- 2 Motoriduttori 6V con ruote
- Un integrato a porte logiche L293
- Un modulo ad ultrasuoni HC-SR04
- Un regolatore di tensione L7805CV
- Un modulo Bluetooth HC-05
- Un diodo LED
- Cavetti jumper colorati
- Una breadboard
La board Arduino UNO
Arduino è una scheda elettronica dotata di microcontrollore usata nel campo hobbistico, didattico e professionale. Supporto di creazione italiana, nascente ad Ivrea, prende il nome dal bar che veniva frequentato dagli sviluppatori di essa. Arduino ha riscosso un grandissimo successo tra gli hobbisti e i makers per la sua versatilità e semplicità d'impiego, riducendo di parecchio i tempi e le difficoltà della realizzazione di progetti che possono basare su essa le strutture già pronte all'uso quali controllori di luci, controllori di velocità per motori, sensori di luce, automatismi per il controllo della temperatura e dell'umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi. Arduino è largamente usata anche nel campo della didattica per istruire in maniera semplice e divertente i giovani e futuri tecnici nelle scuole. Oltre ad un supporto hardware, Arduino fornisce anche un supporto software integrato per la programmazione della scheda, ricco di librerie atte all'utilizzo delle varie funzionalità e dei vari moduli esterni che si possono abbinare alla scheda. Il programma fornisce anche una vasta gamma di esempi già pronti all'uso su cui ci si può basare per la creazione dei propri progetti, in più mette a disposizione un sistema di debug e un monitor seriale per comunicazione con la board Arduino stessa. Di Arduino ne esistono parecchie versioni, per esempio la UNO, la Nano, la Mega 2560, ecc. Nel progetto è stata usata una Arduino Nano la cui caratteristica è avere le performance di una Arduino UNO con dimensioni estremamente ridotte. Arduino Nano supporta un controllore ATmega328 e nella sua costituzione non è presente un jack per l'alimentazione, per alimentare la scheda ci sono vari modi, ad esempio con cavo mini USB, oppure è possibile l'alimentazione a 5V regolata utilizzando il pin 27, oppure applicando al pin VIN una alimentazione con tensione compresa tra 7 e 12V.
I motoriduttori
Per muovere il nostro robottino abbiamo bisogno di motori e ruote, e per ottenere ciò il kit di Arduino ci viene in aiuto fornendo un duttile supporto composto da un cosiddetto toy motor, un gruppo di ingranaggi che fungono da trasmissione per ridurre il numero di giri dal motore alle ruote e la ruota in plastica. Questo gruppo di elementi insieme è detto motoriduttore.
Hobby DC motor
L'hobby DC motor, detto anche toy motor, perché lo si trova spesso in applicazioni giocattolo quali macchinine radiocomandate, trenini, ecc. è un motore elettrico che funziona in corrente continua, molto robusto, facile da usare e da controllare, dispone di un'ampia gamma di livelli di tensione disponibili. Oltre che nei giocattoli comuni, il toy motor viene utilizzato in campo hobbistico per applicazioni relativamente basilari non possedendo però una elevata velocità e una grande coppia. Sono comunque facilmente reperibili ed hanno un basso costo. Per l'alimentazione bastano semplici batterie avendo un intervallo di funzionamento che va da 4,5V a 9V. Esso può ruotare in entrambi i sensi, per far ciò basta invertire i poli di alimentazione, si può variare il numero di giri variando la tensione utilizzando un potenziometro oppure vi si può applicare un PWM.
Funzionamento del motore
Il motore è composto da un albero rotante su cui vi è applicato un avvolgimento in rame, questo gruppo viene detto rotore, e da un magnete fisso posto in prossimità del rotore, detto statore. Applicando una tensione al rotore si crea un campo magnetico che lo polarizza. I poli dello stesso segno del rotore e dello statore tendono ad allontanarsi, invece i poli di segno opposto tendono ad avvicinarsi facendo così ruotare il rotore che cerca di mettersi in una posizione di equilibrio. Quando ciò sta per avverarsi, un commutatore inverte il senso della corrente, invertendo anche i poli del rotore, facendo sì che l'albero continui a ruotare cercando sempre di equilibrarsi.
La trasmissione
Per ridurre il numero di giri dall'asse del motore alle ruote viene applicato tra i componenti un riduttore costituito da ruote dentate. Il contesto è formato da un treno d'ingranaggi di diverso diametro e diverso numero di denti che vanno dal motore alle ruote riducendone il numero di giri ed alzando la coppia. Nel progetto sono stati usati due motoriduttori con asse motore perpendicolare all'asse di uscita, con un rapporto di trasmissione di 1:48, questo significa che ad ogni 48 giri del motore corrisponde un giro della ruota. Gli ingranaggi e il corpo sono realizzati in plastica, questo modello è molto diffuso nel campo dell'hobbistica nella realizzazione di piccoli elementi motorizzati che si muovono in un piano tramite ruote.
In Figura 6a A si può vedere che la ruota 1 che è la ruota motore ha il suo diametro che è la metà del diametro della ruota 2 che è la ruota condotta, in questo caso ad ogni due giri della ruota motore corrisponde un giro della ruota condotta, quindi il numero di giri in uscita viene ridotto della metà. In Figura 6a B invece si può vedere che il diametro della ruota motore è il doppio del diametro della ruota condotta, in questo caso ad ogni giro della ruota motore corrispondono due giri della ruota condotta, quindi il numero di giri in uscita viene moltiplicato del doppio.
Ruote per motoriduttore
Per questa tipologia di motoriduttori sono disponibili delle ruote che si possono calettare direttamente sul mozzo di esso, che presenta un lato piatto per trasmettere il moto. Le ruote hanno un diametro esterno di 65mm e uno spessore di 25mm.
Il controllo dei motori
Per testare il funzionamento dei motori, essi si possono collegare direttamente a delle batterie, funzionando normalmente bene ma in maniera statica, cioè a numero di giri costante e ad un senso solo di marcia il cui movimento dipende solo dalla durata della carica delle batterie. Ovviamente, per un utilizzo più specifico ciò non è l'ideale, per specializzare un progetto si potrebbe aver bisogno di invertirne il senso di rotazione o aumentare o diminuire la velocità, ovvero avere un controllo sul motore. Per far ciò si possono utilizzare sistemi dedicati tipo un potenziometro o il PWM che permettono di variare il numero di giri, e vi si può applicare il cosiddetto ponte H per gestirne il senso di rotazione. La gestione di questi sistemi nel caso del presente progetto viene affidata alla scheda Arduino che, opportunamente settata sia hardware che software, permette un controllo totale del motore. Da precisare che Arduino fornisce il controllo del motore ma non la sua alimentazione causa un amperaggio troppo basso che la scheda fornisce. L'alimentazione viene affidata ad un pacco batterie a parte, con l'unico scopo proprio quello di alimentare il motore.
Il PWM
Il PWM è l'acronimo di Pulse Width Modulation che significa modulazione dell'ampiezza degli impulsi. Permette di ottenere un segnale analogico variando il periodo dell’impulso. Esso è un segnale digitale che genera un'onda quadra in cui il periodo dell'impulso del livello alto varia rispetto al periodo del segnale, permettendo di controllare l'assorbimento di carico elettrico variandone il duty-cycle. Il duty-cycle è il rapporto che c’è tra il segnale positivo e il periodo totale del segnale ad onda quadra ed è espresso in percentuale. Un duty-cycle del 100% equivale ad un segnale Alto continuo, uno dello 0% equivale ad un segnale Basso continuo, mentre un duty-cycle del 50% significa che il segnale Alto dura quanto quello Basso, tanto il duty-cycle si avvicinerà al 100%, tanto la potenza sarà maggiore, tanto il duty-cycle sarà vicino allo 0%, tanto la potenza sarà minore. Il PWM viene impiegato in vari campi come quello dell'automotive. Tramite centraline si possono controllare strumenti quali regolatori di pressione ed altri, oppure lo si può impiegare per il controllo di attuatori vari con cui si può variare la velocità di motori elettrici o di elettroventole. In Arduino i segnali analogici esistono solo in entrata, quindi per ottenerli in uscita vengono simulati da una funzione che si chiama analogWrite(). Questa funzione supporta due parametri fondamentali: il primo è il numero del pin di uscita che nelle schede UNO e Nano, quelli supportati, equivalgono ai pin 3, 5, 6, 9, 10, 11 (essi si possono riconoscere perché al fianco del numero c' è il simbolo di tilde (~)). Il secondo parametro indica il valore del PWM che va da 0 a 255 dove 0 indica un duty-cycle dello 0% e invece 255 indica un duty-cycle del 100%.
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3327 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.