6 Cose che un robot vorrebbe da Arduino

Redboard+motorShield per Videoskate

Arduino Uno e Nano sono fantastiche piattaforme per iniziare a studiare i microcontrollori, elettronica e programmazione ad eventi.
Ma gli mancano alcune cose per diventare una perfetta piattaforma per i robot.

Alimentazione diretta da batteria più comoda
Il modo migliore per alimentare Arduino è tramite la presa usb, che fornisce 5v regolati a dovere e 500mA di corrente.
Ma è difficile avere una fonte di corrente tale in un robot, a meno di non usare un ulteriore regolatore di corrente.
Si possono usare anche i pin Vin e gnd per alimentare Arduino, che accettano da 6 a 20v, ma la fascia migliore è tra i 7 e i 12v, che sono troppi per sensori, piccoli motori e micro-servi.
Le batterie al litio sono composte da varie celle, e ciascuna di esse fornisce da 3,6 a 4,2V.
Per cui una cella è troppo poco e due(7,2 – 8,4v) sono troppo per motori a 3-6v e sensori a 5v.
Le batterie NiMh, facilmente ottenibili al supermercato, hanno un voltaggio tra 1,1v e 1,3v , per cui avendone 4 si riesce a ottenere il voltaggio ideale per micro-servi, sensori e arduino. Ma quando le pile scendono sotto il 60% e il voltaggio scende sotto i 5v, arduino diventa inaffidabile.
Sarebbe bello avere un Arduino con un connettore e regolatore di corrente adatto per i bassi voltaggi, tra 3,6 a 9v e usare l’arduino classico per robot che usano motori a 12v.

Più corrente in uscitaArduino Uno e Nano hanno entrambi un pin dove viene fornita corrente a 5v e un pin che fornisce corrente a 3,3v , che consentono di alimentare pressochè qualsiasi tipo di sensore, con corrente stabile e indipendente dallo stato della batteria.
Questa cosa è ottima considerando che gran parte dei sensori è analogica, per cui se riceve un voltaggio più basso o fluttuante, restituisce risultati falsati dovuti alla corrente che si abbassa piano piano, o dovuti a cali di tensione.
Ma la corrente in uscita è limitata a 500mA sul pin 5v, che è abbastanza per un paio di servi o più sensori, ma non è adatto per piccoli motori a corrente continua, che mangiano tranquillamente ~300mA ciascuno a piena potenza.
Il pin che fornisce corrente a 3,3v da al massimo 50mA, che va bene per uno o due sensori passivi, ma non di più.
Inoltre avere solo un pin che fornisce 5v costringe ad usare un circuito ausiliario quando si vuole usare più di un sensore o di un servomotore…

Più memoria!
Kilobyte.
Come memoria è più che abbastanza per un semplice schema di controllo, semplici interpretazione di sensori e comunicare con altri dispositivi elettronici.
Ma sono troppo pochi per fornire un sistema di programmazione orientata agli oggetti, come Java, C++ o Python.
Senza gli oggetti si è costretti ad usare le variabili globali o sovraccaricare il metodo principale di funzioni.
Le cose stanno cambiando con i nuovi ARM, di cui i più piccoli hanno 64kb di memoria, che è il doppio del famoso atmega328.

Comunicazione
Una porta di comunicazione hardware. Una.
Si possono aggiungere più porte di comunicazione, virtuali, a costo di due pin e 2k ciascuna.
Anche la porta di comunicazione hardware consuma due pin, il pin 0 e il pin 1, che vengono accesi e spenti man mano che i bit passano, e qualsiasi cosa attaccata a questi pin può interferire con il caricamento del programma.
E se volessi parlare con altri robot?

Caricare e monitorare la batteria
Arduino potrebbe già caricare e monitorare una batteria, ma non da solo, dovrebbe usare un circuito ausiliario.
E poter caricare un robot da usb è molto più comodo che rimuovere le batterie.
Sapere quanta batteria rimane è vitale per ritornare in tempo alla base di ricarica, o informare il padrone che è stanco.

Esistono schede di espansione(shield) di tutti i tipi per Arduino, che possono senza dubbio sopperire a tutte queste mancanze, o si possono usare più arduino in parallelo, per ottenere più memoria o pin.
In ogni caso aggiungere shield e più arduino al progetto aumentano spazio, consumi e costo, mentre si potrebbe integrare molte di queste cose in una scheda più compatta ed economica.

Ma ci sono già schede simili! E gli ARM stanno diventando sempre più economici, con più memoria, pin e minori consumi dei classici microcontrollori a 8bit.
È un buon tempo per l’elettronica^^

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s