ARLOK: robot a due ruote con ruote stampate in 3D, O-ring e ball-caster
Il telaio è molto semplice da realizzare con la stampa in 3D: non sono necessari costosi macchinari di precisione. ARLOK è la evoluzione di AR.L.O. e rappresenta la generazione che porta al robot descritto in questo articolo, basato sulle schede CYTRON MakerUNO e Maker Line.
Architettura e principio di movimento
ARLOK è un robottino a 2 ruote a guida differenziale, ovvero munito di due ruote entrambe collegate ad un proprio motore, nel quale la sterzata si ottiene facendo girare le ruote in senso opposto alla stessa velocità oppure facendo girare le ruote nella stessa direzione ma a velocità differenti. L’equilibrio è mantenuto tramite un terzo punto di appoggio fornito da un ball-caster (una sferetta montata in un supporto, libera di rotolare).
Il firmware base di ARLOK è uno sketch Arduino che fa muovere il robot sempre dritto fino a che non trova un ostacolo, rilevato da un sonar, allorché provvede a cambiare direzione. A completamento dell’hardware, ma come accessori, sono previsti un piccolo display OLED e un modulo Bluetooth.
Telaio e stampa 3D
Il telaio è realizzato mediante la stampa 3D e le parti da stampare sono state create con Tinkercad; i relativi file STL, insieme ai programmi di esempi ed altro, sono disponibili sul repository Github di ARLOK. I file vanno stampati in modo che i pezzi risultino abbastanza solidi, quindi impostando un riempimento (fill-rate) del 25-30% e scegliendo magari come filamento il PLA+, che rispetto al PLA presenta delle caratteristiche migliori.
Il telaio si compone di 8 parti (6 file singoli) e comprende: un pianale rotondo di spessore 5 mm, due staffe per bloccare i servo, un pianale superiore con forature per la scheda Arduino, montanti anteriori e posteriori, e fori per accogliere il portabatterie. Le scanalature per accogliere i servo sono profonde 2.5 mm. Il ball-caster va montato con le viti in dotazione nel relativo kit.
Ruote e frizione
Le ruote di ARLOK si ottengono da un progetto su Thingiverse chiamato Servo Wheel 4.0 (by Obijuan). Il progetto permette di realizzare ruote personalizzate da montare sulle squadrette dei servo. Le ruote generate sono piene, hanno una scanalatura sul bordo per accogliere un O-Ring di gomma e un incavo per la squadretta del servo. Il diametro finale dipende dal diametro interno dell’O-Ring e dall’altezza del ball-caster. Con un O-ring da 70 mm di diametro interno e sezione 2,5 mm, la ruota finita ha un diametro esterno di circa 75 mm.
Il primo parametro (wheel_or_idiam) imposta il diametro interno dell’o-ring; il secondo imposta lo spessore dell’o-ring; l’ultimo indica lo spessore della ruota. Per ottenere ruote più spesse si può variare lo 0, mantenendo l’O-Ring al centro. La ruota per la squadretta tonda è generata dalla funzione Servo_wheel_rounded_horn(); le altre due funzioni per ruote a 4 e 6 braccia possono essere commentate.
Per avere ruote piene al 50%, servono circa 37 g di filamento; quindi telaio+ruote richiedono circa 123 g (circa 41,4 m di filamento). Le ruote sono mosse da due motori, posti al centro, e per evitare ribaltamenti è necessario un terzo punto di appoggio, fornito dal ball-caster.
Ball-caster e altezze
Il ball-caster utilizzato è il Tamiya 70144, che rotola su tre piccole sbarrette metalliche, offrendo minor attrito e usura. Questo ball-caster può essere montato in 4 modalità diverse, che danno 4 altezze: 11 mm, 16 mm, 27 mm e 37 mm. Le altezze di 27 e 37 mm si ottengono anche montando tra le due parti principali delle rondelle di plastica (H1) alte circa 2 mm; togliendole si arriva a 25 e 35 mm.
Esistono numerosi modelli di ball-caster stampabili in 3D. Cambiando Ball-Caster è necessario rivalutare l’altezza da terra e cambiare il diametro delle ruote e trovare eventuali O-Ring differenti. Inoltre, è possibile montare sulle staffe anche le batterie sul piano inferiore se si desidera alimentare il sistema in modo diverso.
Alimentazione, elettronica e interfacce
Per l’alimentazione è stato scelto un pacco di 4 pile AA alloggiato in un portabatterie tra le staffe dei servocomandi e la base del piano superiore. Il microcontrollore ATMega328 a bordo della MakerUNO può funzionare fino a 5,5 V; il display OLED SSD1306 è alimentato a 3,3 V tramite un regolatore interno che permette di alimentarlo anche a 5 o 6 V. La logica SDA/SCL richiede livelli a 3,3 V; i segnali vengono adeguati tramite MOSFET nei display OLED Adafruit 128×32, evitando problemi di livello tra alimentazione 5 V e logica 3,3 V.
Il modulo Bluetooth può essere alimentato a 5 V e ha a bordo un regolatore di tensione a 3,3 V. Per la linea RX/TX è necessario un partitore di tensione sul collegamento tra Arduino e modulo Bluetooth. Il range di tensione sul pin RX del modulo va da circa 2,67 V a 3,3 V, rientrando nei limiti: la linea TX del modulo a 3,3 V è interpretabile dalla logica a 5 V.
Sullo shield di ARLOK è previsto il partitore formato da R1 e R2 sulla linea TX di Arduino verso RX del modulo Bluetooth. Per la linea opposta, da TX del modulo RX di Arduino, non è necessario alcun adattamento perché i 3,3 V forniti dal modulo sono già gestiti dalle logiche a 5 V.
Il PCB ha due ingressi: uno per la tensione dei servo (6 V) e uno per la tensione logica (VDD). Perché usare un servocomando al posto di un motoriduttore? I servo hanno dimensioni standard, contengono un motoriduttore, costano poco e sono facili da trovare; ma la cosa più importante è che hanno l’elettronica di pilotaggio a bordo, semplificando l’elettronica richiesta da ARLOK.
Rotazione continua dei servocomandi
Per utilizzare i servocomandi, non è possibile impiegarli così come sono a causa della rotazione limitata. È possibile modificare due servocomandi RC per renderli a rotazione continua: rimozione del notch dall’ingranaggio e sostituzione del potenziometro con due resistenze uguali (22 KOhm consigliato). In questo modo il sistema crede che l’albero sia sempre al centro e continua a far ruotare il motore. Alcuni servo sofisticati rilevano l’assorbimento del motore e possono arrestarsi all’oscillare.
Display e interfacce utente
Lo shield e il codice sono predisposti per l’uso di un display OLED da 0,91" con risoluzione 128×32 pixel. Per la connessione Bluetooth è stato previsto il modulo HC-05 (o HC-06), montato su breakout board con pin-strip per RX/TX. Il modulo HC-05 può fungere da master o slave; HC-06 è slave. Il modulo Bluetooth espone anche i pin STATE e un pin aggiuntivo per la modalità AT (KEY o EN a seconda del modello). Sul PCB è previsto un connettore a 6 pin per il modulo, ma i due pin laterali non sono collegati.
Shield, connessioni e assemblaggio
È stato realizzato uno shield specifico per integrare MakerUNO con i sensori e gli attuatori del robot. Sul lato dello shield sono presenti morsettiere a vite per l’alimentazione; se si usa solo il pacco da 4 stilo, il jumper JP1 va posizionato su VServo per fornire circa 5,3-5,4 V alle logiche tramite la caduta di tensione del diodo D1. Se i servo assorbono poca corrente, si può utilizzare la configurazione con solo le AA; in caso di reset del modulo Bluetooth o della Maker UNO, aumentare i condensatori e la rampa di decelerazione dei servo durante gli stop o i cambi di direzione.
All’altra estremità del PCB si collega il sensore ultrasuoni secondo la serigrafia: in caso di toccare il vano batterie, si potrebbe dover piegare l’header del sensore durante il montaggio. È possibile utilizzare una combinazione connettore femmina e cavi + maschio o cavo maschio/femmina per l’innesto sul circuito stampato.
Questa lezione descrive anche come installare il telaio, collegare i fili di controllo di Arduino e capire la configurazione della macchina. Si prosegue fissando motori, installando schede driver e sensori, e collegando la scheda OSOYOO al shield UART WiFi per una prototipazione avanzata.
Assemblaggio finale e configurazione
Fissare 4 motori con i supporti metallici per motori; fissare i 4 motori sul telaio inferiore con viti esagonali M3×10; installare la scheda driver modello Y di OSOYOO sul telaio inferiore; collegare i motori ai connettori K1 e K3; fissare la scheda OSOYOO Mega2560 sul telaio superiore; installare sensori di distanza IR; collegare la scheda modello Y di OSOYOO allo shield UART WiFi; verificare l’allineamento e l’alimentazione. Alcuni utenti potrebbero trovare che la vite M2.2 sia troppo corta per fissare la ruota all’auto. Se l’auto si muove solo quando alimentata via USB, controllare l’interruttore del doppio driver Y sulla scheda.

