A noi tutti appassionati delle schede Arduino ci piace elaborare e creare progetti, ma ben presto ci troviamo a scontrarci con il problema dell’alimentazione. Infatti è facile abituarsi a lavorare con la scheda Arduino mentre è attaccata al nostro PC e prende l’alimentazione tramite via USB. In realtà tutti i progetti (o quasi tutti) su Arduino richiedono di essere alimentati autonomamente tramite un set di batterie. In questo articolo mostreremo una breve panoramica sulle diverse soluzioni possibili apponendo nei vari casi gli opportuni accorgimenti da seguire.
Le possibili alimentazioni di Arduino
Lavorando su Arduino, non sempre ci si trova a che fare con progetti complessi, e quindi il passaggio da alimentazione di rete a quella a batterie, può essere semplicemente risolto con una semplice e banale soluzione.
Le schede Arduino generalmente possono essere alimentate in diversi modi:
- DC Power jack
- USB port
- VIN pin
- 5v Pin
Quindi se si vuole alimentare la nostra scheda con una batteria (o una serie di batterie) dovremo utilizzare il pin VIN. Infatti si può connettere a questo pin qualsiasi alimentatore (batteria o altro) che sia in grado di fornire una tensione compresa tra i 7 ed i 12 V. Sarà poi un regolatore di tensione interno alla scheda (MC33269 per Arduino UNO) che si occuperà di trasformarlo nel voltaggio richiesto al sistema per funzionare.
Attenzione a non fare collegamenti di questo tipo sul pin 5V, a meno che non siete sicuri al 100% di fornire una tensione pari a 5V e che sia stabile nel tempo. Non ci sono sistemi elettronici all’interno che effettuano controlli o regolazioni, e picchi di tensione o tensioni maggiori possono danneggiare seriamente la scheda Arduino.
Se andiamo a leggere sulle pagine di documentazione di Arduino UNO e Mega, troveremo le seguenti indicazioni riguardo sul come alimentare tali schede.
“La scheda può operare con un alimentazione esterna che va da 6 a 20 V. Se viene fornita un’alimentazione inferiore a 7V, comunque, il pin a 5V potrebbe fornire meno di 5V nominale e la scheda potrebbe risultare instabile. Se si usano più di 12V, il regolatore di voltaggio potrebbe surriscaldarsi troppo e danneggiare la scheda. Quindi il range di alimentazione raccomandata è compreso tra 7 e 12V”.
La soluzione base
Quindi un’alimentazione esterna di 9V è la soluzione ottimale. Si trova nel range raccomandato, è facilmente disponibile come alimentazione fornita da batterie. Quindi una volta selezionata una batteria da 9 V o una serie di 6 batterie ad 1.5, è sufficiente connettere il polo + della batteria al Vin di Arduino e il polo – al ground.
Per questioni di praticità inoltre sarebbe meglio interporre tra le batterie in serie (alimentazione esterna) e la scheda arduino un’interruttore in modo da poter accendere o spegnere Arduino direttamente da lì, senza necessità ogni volta di connettere e sconnettere i cavi.
Esiste anche un’altra soluzione ancora più pratica, ma richiede di avere il giusto cavetto per farlo. Infatti si può connettere la batteria 9V direttamente al DC Power Jack. Come in figura seguente.
La soluzione “progettata”
La soluzione precedente, pur essendo concettualmente veloce e pratica, ha prettamente un uso casalingo. Infatti per la realizzazione di applicazioni più elaborate, sarà necessario tenere conto diversi fattori, trarre delle considerazione ed effettuare una serie di scelte. Si dovrà quindi effettuare una sorta di “progetto”, prima di passare all’acquisto delle componenti e alla realizzazione pratica dell’applicazione.
Compromesso tra potenzialità della scheda e durata dell’alimentazione
Durante lo sviluppo di un progetto con le schede Arduino, ci si troverà spesso con la seguente problematica: il passaggio dall’alimentazione di rete a quello di un set di batterie. Infatti molto raramente un progetto del genere potrà disporre di un’alimentazione di rete, ma spesso avremo bisogno di assemblare la scheda Arduino ed il set di batterie all’interno di un contenitore, cercando di occupare il minor spazio possibile, per poi posizionarlo nell’ambiente aperto o comunque in un luogo in cui non sia possibile accedere ad un’alimentazione esterna.
Quindi, effettuato il passaggio all’alimentazione a batterie, scopriremo una successiva problematica di cui dovremo tenere conto: le batterie possono erorare energia solo per una determinata quantità di tempo. La durata di un’alimentazione stabile fornita dalle batterie dipende da una serie di fattori, come il consumo dell’applicazione che svolge la scheda Arduino (cosa di cui si deve sempre avere chiaro in mente) e che varia da progetto a progetto, ma soprattutto il modello di scheda Arduino utilizzata ed il set di batterie scelte per alimentarla.
Quindi la condizione a noi più favorevole, sarebbe quella di scegliere una scheda Arduina più piccola possibile, come per esempio un Arduino Nano che consumerà molta meno corrente rispetto ad Arduino UNO, che a sua volta ne consumerà molto di meno rispetto ad un Arduino Mega. Allo stesso tempo però riducendo le dimensioni della scheda, ne ridurremo anche le sue potenzialità. Ad un certo punto, riducendo le dimensioni della scheda, questa potrebbe non essere più in grado di svolgere le manzioni richieste per il nostro progetto (per esempio numero connessioni, velocità, memoria, ecc. ecc.). Si dovrà quindi giungere ad un compromesso.
Quindi è importante avere una chiara panoramica sulle diverse tipologie di alimentazione a batteria che si possono utilizzare nei nostri progetti su Arduino.
Le varie tipologie di alimentazioni disponibili
Per quanto riguarda la scelta di quale tipologia di batterie utilizzare, la prima decisione che bisognerebbe prendere è quella di scegliere tra:
- batterie primarie
- batterie secondarie
Le batterie primare sono il tipo più comune di batteria ed esistono da circa un centinaio di anni. Queste non sono ricaricabili, hanno dimensioni comuni e funzionano bene in qualsiasi ambiente. Le dimensioni standard disponibili sono da AAA a D. Tutte forniscono una tensione costante di 1.5V. Anche una batteria a 9V è da considerare una batteria primaria ed è in realtà costituita all’interno di celle da 1.5V individuali. Le batterie primarie sono ben adatte per strumentazione portatile che non richieda troppa potenza.
Le batterie secondarie invece si presentano in tantissime configurazioni e dimensioni. Sono ricaricabili e generalmente sono molto più costose delle batterie primarie (anche questo aspetto è molto importante da tenere in conto durante lo sviluppo di un progetto su Arduino). Inoltre sono molto specifiche, spesso non sono interscambiabili, dato che le loro caratteristiche (dimensione, potenza, voltaggio, autonomia) variano molto da modello a modello. Quindi per ogni modello dovremo tenere conto delle modalità specifiche del loro utilizzo e considerare anche il sistema di ricarica. Infatti se utilizzate impropriamente, queste batterie potrebbero risultare molto pericolose, incendiarsi o persino esplodere.
Il rating di una batteria
Come detto in precedenza, la nostra scelta dipenderà soprattutto dalla durata di alimentazione fornita da una batteria. In questo ambito si usa spesso il concetto di rating. Il rating di una batteria è una stima di quanto sarà in grado di poter far funzionare il nostro circuito. Per esempio se il circuito consuma 35mA costantemente, una batteira con 3400mAh dovrebbe durare circa 4 giorni. La conoscenza di questo valore è fondamentale per poter fare delle previsioni sulla maggiore efficienza di una batteria rispetto ad un’altra e facilitarci nella scelta.
Le batterie primarie
Come abbiamo visto, le batterie primarie sono quelle a noi più familiari. Si trovano facilmente anche nei supermercati e in qualsiasi negozio di elettronica o elettrodomestici, sono facilmente utilizzabili, ma soprattutto sono intercambiabili tra di loro e molto economiche.
Non sono ricaricabili, ma si sostituiscono con grande facilità e a bassi costi. Quindi non è detto che la scelta più specifica e più efficiente (dal punto di vista di durata dell’alimentazione), come l’uso di batterie secondarie, sia poi quella ottimale. Infatti nella pratica anche i costi e la praticità di manutenzione hanno un importante ruolo.
Le tipologie più comuni di batterie primarie:
- Batterie zinco-carbone
- Batterie alcaline
- Batterie a 9V
- Batterie a moneta
Ognuna di queste tipologie di batterie primarie possono essere facilmente utilizzabili nei nostri progetti su Arduino, ma ognuna di loro ha particolari caratteristiche che è importante conoscere e di cui si deve poi tenere conto nella scelta.
Le batterie zinco-carbone sono quelle più antiche, dato che sono presenti sul mercato da oltre un secolo. Sebbene sempre più spesso vengano sostituite dalle batterie alcaline, questo modello è molto economico, e si caratterizza dal fatto che ciascuna batteria è in grado di fornire 1.5V. Vengono quindi poste in serie per poter generare poi qualsiasi altro tipo di voltaggio superiore. Per come sono progettate, queste batterie possono supportare solo carichi leggeri, ma hanno una durata relativamente lunga. Una loro limitazione di cui tenere conto: non sono in grado di lavorare a basse temperature.
Un errore comune che spesso si fa è quello di utilizzare insieme tipologe di batterie primarie. Questo errore è certamente da evitare. Quando le batterie zinco-carbone vengono messe in serie per fornire un voltaggio maggiore, tutte le batterie devono essere dello stesso tipo. Batterie zinco-carbone di tipo AA hanno un rating di 400-900 mAh.
Le batterie alcaline hanno una densità di energia maggiore, e una vita più lunga rispetto alle batterie zinco-carbone. A seconda del carico applicato, il rating va da 3000mAh per valori di bassa corrente, a 700mAh per carichi maggiori. Il voltaggio in uscita di una batteria alcalina, diminuisce via via che la batteria viene utilizzata, così il suo uso dipende dai requisiti di carico. Una batteria alcalina AA è in grado di fornire approssimativamente 700mA di corrente senza surriscaldare la batteria. Le batterie alcaline sono una buona scelta per applicazioni con bassi carichi.
Le batterie a 9V di dividono in due categorie, quelle al Litio e quelle Alcaline. Anche queste non sono ricaricabili e sono realizzate mettendo in serie piccole batterie per creare una sorgente a 9V. Una batteria al litio di 9V genera approssimativamente 500mAh. Se lavora con 25ma ha un’aspettativa di vita di più di 24 ore. Se lavora con 1A avrà un’aspettativa di vita minore di 8 ore. Le batterie alcaline a 9V hanno prestazioni molto minori.
Quando vengono connesse ad Arduino, le batterie a 9V passano attraverso una regolazione lineare che le portano ad un voltaggio minore di livello accettabile.
Le batterie a moneta, sono batterie al litio che non possono essere ricaricate. Sono considerate batterie a bassa potenza. La loro forma permette di poterle facilmente impilare in modo da ampliare il voltaggio erogato, ed inoltre le loro piccole dimensioni permettono di poterle assemblare in piccoli volumi di spazio. Normalmente il loro uso è spesso la soluzione ottimale per circuiti di Arduino molto piccoli, che necessitano di poca potenza e hanno bisogno di occupare il minore volume possibile.
Le batterie secondarie
Le batterie secondarie hanno la possibilità di essere ricaricate e sono disponibili in molti formati differenti. Tra queste quelle più adatte ad un uso con Arduino sono quelle:
- a ioni litio (Li-ion),
- a polimeri di litio (LiPo),
- a idruro metallico di nichel (NiMH),
- a piombo-acido sigillate
Le batterie al litio (sia Li-ion che LiPo) forniscono dai 3.7 ai 4.2V con una media sui 3.7V. Quando si ricaricano queste batterie, il voltaggio applicato dovrà essere uguale o minore al loro voltaggio nominale. Non si dovrebbe mai caricarle con voltaggi maggiori, in alcuni modello esistono dei circuti al loro interno che prevengono che accada questo. Inoltre bisogna stare molto attenti a non caricare queste batterie in ambienti a temperature superiori a 50°C.
Questa tipologia di batterie, molto etereogenea, richiede l’uso di sistemi di ricarica progettati specificamente per ciascun modello. Il caricatore non dovrebbe mai fornire voltaggi superiori a 4.2V. Cosa interessante, è che molte di questi caricatori permettono di poter continuare ad utilizzare la batteria che si sta ricaricando dalla scheda Arduino, con la presenza di un pulsante OUT che integra la richiesta di alimentazione per poter continuare a caricare la batteria e fornire energia all’applicazione.
Altro fattore da tenere in considerazione nella scelta del particolare modello è il valore “C“ rating della batteria ( amp-h / h), cioè il rating per la ricarica di una batteria. Facciamo un esempio. Una batteria con rating di 1300mAh verrebbe ricaricata ad una velocità di 1300 ma per ora (h). Quindi caricando a 0.5C saranno necessare 2 ore per caricare la batteria.
La batterie a idruro metallico di Nickel (NiMH) vengono considerate come la migliore sostituzione ai modelli di batterie alcaline. Forniscono un voltaggio simile (1.25 V per cella) ma hanno la possibilità di poter essere ricaricate. Quindi possiamo considerarle come batterie AAA, AA, C e D ricaricabili ma che alimentano a 1.2V. Unica problematica è il fatto che i tempi di ricarica sono molto lunghi. Rispetto alla batterie agli ioni Litio, hanno un peso maggiore, ma hanno a loro vantaggio di non presentare tutte quelle problematiche di pericolosità che hanno le batterie a ioni Litio. Però a svantaggio ogni cella fornisce solo 1.2 V mentre una cella a polimeri ioni Litio fornisce 3.7V.
Le batterie ad piombo-acido sigillate vengono normalmente utilizzate per quelle particolari applicazioni che richiedono una grande potenza di alimentazione e che lavorano in ambienti remoti. Sono estremamente pesanti e richiedono sistemi di ricarica ad alta potenza.
Le battery holder: quale scegliere?
Facciamo conto di aver scelto per il nostro progetto di utilizzare le batterie con formato AA, cioè una stilo. Sono in effetti il formato più comune e più facilmente interscambiabile. Sappiamo che per alimentare Arduino e i dispositivi collegati è necessario fornire al pin Vin o a barrel jack un voltaggio che sia almeno di 7V. Quindi in questo caso, una scelta ottimale è quella di scegliere un battery holder di 6 pile AA, in grado così di fornire 9V nominali.
Per quanto riguarda la scelta se utilizzare il pin Vin o il barrel jack, la scelta migliore sarebbe sempre la seconda, dato che esiste un diodo tra il jack ed il regolatore di tensione all’interno della scheda che permette la protezione contro le connessioni convertite (poli sbagliati). In quest’ultimo caso è necessario avere i cavi in uscita del battery holder convogliati ad un jack che si adatti alla presa jack di Arduino. Non è così facile trovarlo già predisposto, e quindi bisogna spesso comprarlo a parte e poi saldarlo ai cavi.
Se invece abbiamo scelto delle batterie al litio, sempre nel formato AA, queste avranno un voltaggio di 3.7. Quindi in questo caso ne basteranno 3 per avere un voltaggio sufficiente per poter lavorare con Arduino. In questo caso allora dovremo utilizzare un battery holder per batterie AA da 3 posizioni.
Se invece la vostra scelta è una batteria di polimeri al litio, in commercio esistono alcune interessanti soluzioni per connetterle alla nostra scheda Arduino, tra cui gli Shield da sovrapporre ad Arduino e che permettono anche la ricarica della batteria nelle loro funzionalità.
Una soluzione “da viaggio”
A volte può capitare che sia necessario alimentare la nostra scheda Arduino per un test e senza aver la possibilità di avere un PC di alimentazione o una presa di corrente disponibile nelle vicinanze. A volte è necessario effettuare una dimostrazione “al volo” senza volersi troppo complicare la vita con connessione e tanto altro.
Esiste quindi una soluzione “da viaggio” ed è quella di utilizzare dei power bank portatili per i cellulari. Funzionano semplicemente come porte USB e forniscono un range di voltaggio compatibile con le necessità di Arduino.
Conclusioni
Nell’articolo abbiamo mostrato una panoramica che potrà essere utile per chiunque abbia la necessità di sviluppare dei progetti su Arduino che richiedano un’autonomia energetica. Questa può essere ottenuta mediante l’utilizzo di batterie. Le soluzioni sono molteplici, e la scelta spetta a voi. Seguite le esigenze del vostro progetto e scegliete la soluzione che soddisfi il classico compromesso tra costo, durata e dimensioni.