Oggi parliamo di robot e vi presentiamo LittleBot, un piccolo robot dotato di una scheda di controllo su cui è installato un Arduino Nano. Il telaio è realizzato in alluminio ed e mosso da due piccoli motoriduttori realizzati completamente in metallo che muovono una coppia di cingoli. Il robot è dotato di alcuni sensori che gli permettono di rilevare parametri quali luminosità e temperatura. Un sensore frontale azionato da un servomotore permette al robot di scandagliare lo spazio frontale e misurare la distanza da eventuali ostacoli e in questo modo di evitarli. La presenza di un modulo bluetooth permetterà di pilotare il robot in modo wireless tramite la scheda Arduino Esplora.
Queste sono solo alcune delle caratteristiche del robot LittleBot, vediamo nel dettaglio:
Processore di comando | Arduino Nano |
Modulo comando motori | Motor Driver 1A Dual TB6612FNG |
Segnalazione verso rotazione con led bicolore | |
Uscite | Comando servo tipo HS81 della Hitec – coppia 2.6 kg/cm |
Comando faro a led per illuminazione | |
Buzzer | |
Sensori | Termperatura: LM35 |
Luce: fotoresistenza | |
Distanza: IR GP2D120 o equivalente | |
Controllo livello tensione tramite processore | |
Alimentazione | Batteria Li-ion 3,7V 1840mA/h |
Convertitore DC/DC Pololu Adjustable Boost Regulator 2.5-9.5V | |
Motoriduttori | In metallo rapporto di riduzione 30:1 prodotti dala Pololu |
Cingoli | In gomma prodotti dalla Tamiya |
Misure | 130x103x82 |
Peso | 250 g |
Trasmissione telemetria e controllo | Modulo Bluetooth tipo BlueSMiRF Silver della SparkFun |
Controllo robot | Arduino Esplora, Tablet, smartphone con interfaccia bluetooth |
Telaio del robot
Il telaio del robot è costruito con profilati di alluminio opportunamente sagomati e su di esso saranno montati i vari particolari che compongono il robot. Esso è mosso da due piccoli motoriduttori completamente in metallo prodotti dalla Pololu, che misurano solo 24x10x12mm. Eccoli rappresentati in figura:
Il loro rapporto di riduzione è di 30:1 con una coppia di 100 gr/cm, la velocità è proporzionale alla tensione di alimentazione.
All’albero di uscita sono collegate due piccole ruote dentate che muovono una coppia di cingoli realizzati in gomma di produzione Tamiya.
Nella parte frontale è montato un piccolo servomotore di tipo analogico che fornisce una coppia di 2.6 kg/cm tipo HS81 prodotto dalla Hitec e su di esso è montata una piccola staffa in alluminio sulla quale, a loro volta, sono alloggiati un sensore di distanza ed un piccolo faro di illuminazione formato da due led bianchi ad alta intensità.
Il compito del servo è, naturalmente, quello di ruotare il sensore permettendo di scandagliare lo spazio frontale al robot.
Scheda di controllo
La scheda di controllo del robot Little Bot ha le dimensioni di 87x57mm.
La mente di tutto il robot è rappresentata da un Arduino Nano versione 3.0. Quest’ultima è una scheda Arduino prodotta dalla GRAVITECH, di piccolo formato e basata, anch'essa, su un Atmega328.
Per il controllo dei due motoriduttori si è utilizzato un modulo breakout su cui è montato un integrato TB6612FNG prodotto dalla Toshiba, questo è un H-bridge di tipo MOSFET molto più efficiente rispetto a un ponte H-bridge basato su BJT come il più datato il L298N; è in grado di pilotare due motori a corrente continua con una corrente costante di 1.2A (3.2A di picco).
Per segnalare il senso di rotazione del motore sono presenti due led bicolore.
L’alimentazione è fornita da una batteria Li-ion 3,7V, il cui valore è monitorato dal processore tramite una delle sue porte A/D. In questo modo sarà possibile sapere in anticipo quando la batteria andrà ricaricata.
Dato che la tensione di 3,7V non è sufficiente per alimentare l’elettronica e i motori del robot, viene utilizzato un mini convertitore DC/DC prodotto dalla Pololu analogo a quello già visto nell’articolo Rendiamo autonom la scheda Arduino esplora. Esso si basa su un integrato SC4501 prodotto dalla Semtech ed è utile in quanto la tensione d’uscita può essere regolata tramite un trimmer, in questo caso impostato per fornire un valore di uscita di circa 7V.
Sulla scheda, oppure connessi tramite cavi, sono presenti alcuni sensori: questi rilevano la temperatura, la luminosità e, ovviamente, la distanza degli oggetti.
Il ruolo del sensore di temperatura è svolto dall’integrato LM35 prodotto dalla National Semiconductor acquisita dalla Texas Instruments , che si presenta in package di tipo TO92 analogo a quello di un normale transistor, e necessita solo di un collegamento ad una porta ADC per la lettura del valore di tensione fornito in uscita dal sensore, proporzionale alla temperatura rilevata e pari a 10 mV per ogni grado centigrado.
Il sensore di luce è formato da una semplice fotoresistenza, il cui valore di resistenza dipende dall’intensità della luce che la colpisce.
Nel circuito la fotoresistenza fa parte di un partitore di tensione e la luce (l'intensità luminosa), variando la resistenza, modifica la tensione di uscita che è misurata tramite una porta A/D di Arduino Nano.
Il sensore frontale, per la misurazione della distanza di un’eventuale ostacolo, è rappresentato da un sensore GP2D120 prodotto dalla Sharp. Si tratta di un sensore ad infrarosso in grado di rilevare un ostacolo ad una distanza compresa tra 4 e 30 cm. Il sensore fornisce in uscita una tensione che varia in funzione della distanza. Per risalire al valore è necessario interfacciare l'uscita con una porta A/D di Arduino Nano che in base ad una formula, dato che l’uscita non è lineare, ne calcolerà il valore.
Sono presenti poi due dispositivi di output: un modulo luce e un buzzer per emissione di suoni.
Il modulo luci è formato da un circuito stampato a singola faccia in cui sono presenti 2 led bianchi ad alta intensità, mentre sul lato rame sono saldate 2 resistenze SMT del valore di 100 Ohm per la limitazione della corrente.
Il buzzer è pilotato tramite una porta I/O tramite un transistor BC 337.
Per il comando in remoto, sulla scheda di controllo è presente uno zoccolo utile per l’installazione di un modulo bluetooth tipo BlueSMiRF Silver prodotto dalla SparkFun, e basato sull'integrato RN-42 prodotto dalla ROVING Networks acquisita recentemente dalla Microchip. Il modulo è del tutto analogo a quello descritto nell’articolo Dotiamo la Arduino Esplora dell’interfaccia Bluetooth (vi anticipo che sarà proprio questo il modulo in uso in questo caso).
Comando del robot
La gestione del robot potrà essere autonoma, utilizzando il sensore di distanza frontale per evitare gli oggetti oppure tramite la scheda Arduino Esplora la cui descrizione è riportata nell’articolo Scopriamo la nuova scheda Arduino Esplora.
Col modulo in suo è possibile dotare la scheda della facoltà di comandare in modo wireless un altro dispositivo, nel nostro caso il robot LittleBot.
Sulla nostra consolle di comando avremo a disposizione i 4 tasti disposti a rombo per attivare i dispositivi di cui è dotato il robot: servo (DX-SX), controllo faro, buzzer. Il joystick di controllo permetterà di dirigere il robot.
Sul display TFT avremo la possibilità di visualizzare il valore rilevato dai sensori del robot: temperatura, luminosità, tensione batteria, lettura distanza.
Comando del robot tramite tablet o smartphone
Una volta realizzato il robot, esso potrà essere comandato anche tramite un normale tablet o smartphone dotato d’interfaccia bluetooth utilizzando una semplice APP gratuita.
Con questi supporti, le funzioni saranno limitate al controllo direzionale ma sarà comunque possibile utilizzare il piccolo robot anche a chi non possiede la Arduino Esplora.
L’applicazione utilizza la connessione bluetooth in Serial Port Profile (SPP) che invia un codice esadecimale al robot. Durante l'uso di quest’applicazione, occorre che sullo smartphone sia attiva la connessione bluetooth (ovviamente!). Se così non fosse, occorrerà far riferimento alle istruzioni del proprio dispositivo per attivarla.
Quindi si dovrà accendere il robot, ed effettuare la connessione tra smartphone e Robot.
Possibili applicazioni sono: BT Bot Control realizzata da Dave Astolfo del sito Plastibots, l'applicazione (in versione lite gratuita e in versione PRO a pagamento) permette di telecomandare un robot dotato d’interfaccia Wi-Fi o Bluetooth. Esiste anche la possibilità di orientarsi, ed eventualmente di vedere, ciò che vede attraverso una telecamera IP, opzione non prevista su LittleBot. L'applicazione dispone, oltre il comando con frecce direzionali o joystick, della possibilità di abilitare fino a 8 comandi aggiuntivi tramite pulsanti di comando.
Altra applicazione è BlueStick Control realizzata dalla Inex Robotics. In quest’applicazione è possibile la direzione di movimento del robot, più altri quattro possibili comandi ausiliari. Per comandare il robot, si potrà utilizzare una delle due modalità disponibili, che sono: Button Mode, oppure Mode Tilt, dove il comando del robot avviene tramite l’inclinazione dello smartphone.
Filmato di presentazione
Quello che segue è un breve filmato illustrativo che mostra i vari componenti del robot la cui costruzione sarà descritta nel prossimo articolo.
Conclusioni
In quest’articolo è stata riportata solamente la presentazione del robot LittleBot. Il prossimo articolo, invece, servirà per mostrare il dettaglio della costruzione della scheda di controllo e della struttura del robot. Nel terzo e ultimo articolo, invece, vedremo la realizzazione della stazione di controllo e relativo programma.
Grande Adriano 🙂
c’era da aspettarselo un articolo sui robot, bellissimo e ben fatto, aspetto i prossimi articoli perchè sono curioso di vederne i dettagli, non ho ben capito se è una tua creazione o se è un robot commerciale, mi sono sempre piaciuti ma non ho mai avuto il tempo per dedicarmi al loro studio, se ricordi un mio vecchio post nel forum, molto tempo fa ho acquistato in edicola un opera a fascicoli del robot Monty (mi pare che questo sia il suo nome, non ricordo bene) ma ancora oggi è conservato dentro un cartone con tutti i pezzi ancora da montare (uno di questi anni mi deciderò a farlo) 🙂 e chissà che magari con questi tuoi articoli mi deciderò finalmente a completarlo.
Per studiare anche i motori passo passo ho perfino recuperato da una vecchia stampante parallela un paio di UDN2917 (dual full bridge pwm motor driver) e i relativi motori ma chissà quando mi deciderò ad utilizzarli 🙂
Complimentissimi ;D
Ciao
Mario
Ti ringrazio Mario
Sempre troppo buono nei tuoi commenti 🙂
Ti confermo che il robot presentato non è di origine commerciale, ma è completamente auto costruito.
Sia il telaio sia la scheda madre possono essere realizzati in proprio senza un’attrezzatura particolare da tutti, i moduli elettronici utilizzati sono tuttora in vendita.
Chi vuole potrà sicuramente apportare delle modifiche poiché tutta l’opera è Open Source.
Per quanto riguarda il robot Monty, ricordi bene, era un’opera pubblicata dalla Peruzzo Editore iniziata nel settembre 2001 e terminata nel 2003.
Se ti mancassero informazioni e per chi fosse interessato sul mio sito, è presente un’apposita sezione.
http://www.adrirobot.it/menu_new/index/index_monty.htm
Saluti
Adriano
Che dire…. complimentoni! Bello il progetto, bello l articolo.. Certo che se Lucas fu definito “il Rasperologo” tu devi essere il “Robotologo” della comunitá… :):):):)
Che ne diresti di passare a qualcosa di un po’ piú grosso? Qualcosa che si possa utilizzare nelle campagne ad esempio (controllo recinti-bestiame-predatori) o in montagna per la ricerca dei funghi, o meglio ancora, dei tartufi?
Ciao grazie e ancora complimenti!
Considera che i robot devono stare nella mia angoliera, per cui forse diventeranno sempre più piccoli diminuendo lo spazio! 🙂
http://www.adrirobot.it/images/robot.jpg
Adri, mi ero perso questo articolo, mea culpa…
Stupendo progetto, grande competenza nella realizzazione e apparecchio decisamente bello da vedere…. I cingoli Tamiya sono quelli utilizzati nel modellismo dinamico oppure li hai ripresi da un upgrade kit per modellismo statico?
Ciao Fabrizio
I cingoli fanno parte di una confezione denominata Tamiya 70100 Track & Wheel Set
https://www.pololu.com/product/106 molto comoda perché consente di adattarli a vari progetti.
Personalmente li ho utilizzati in tre miei robot, oltre che per Littlebot li ho utilizzate per
http://it.emcelettronica.com/telecomando-tv-comandare-robot-cingolato
e per Viking http://www.adrirobot.it/menu_new/index/index_viking.htm
Grazie della risposta Adri,
conosco quel kit allora, é uno dei “Best buy” per il modellismo dinamico… Ne ho usato qualcuno quando mi occupavo di riproduzioni dinamiche di mezzi agricoli e da cantiere, poi sono passato al drifting e ho cambiato genere, ma sono comunque ricordi.
Lo saprai giá, ma molte parti diffuse nel modellismo dinamico si adattano benissimo alla robotica, specie le coppie coniche e le cinghie di diverse misure.
Ottimo lavoro!
Leggendo solo ora questo bellissimo articolo di Adri, e vedendo la datazione dei commenti, solo adesso mi sono reso conto di cosa mi sono perso, anche se per anni ho seguito l’utilizzo di robot industriali, la miniaturizzazione degli stessi e molto affascinante, e non nascondo l’interesse per potermi inserire in questo contesto. Mi piacerebbe avere le conosce di Adri il “Robotologo” come lo definisce “alex272”. Dovrò lavorare parecchio ma ci proverò, come si dice non è mai troppo tardi per imparare. Saluto tutti