Archivi tag: power

Arduino: chiarimenti sulla modalità di alimentazione della scheda

Per i miei allievi di 3 Automazione.
Durante le prime sperimentazioni con Arduino molto spesso si incorre in dubbi ed errori riguarda l’alimentazione della scheda, mi preme quindi fare alcune precisazioni prima che le vostre schede personali o quelle della scuola possano rovinarsi ;-).

Riprendo quanto detto a lezione mostrando le mie slide (pagina 15) e affinché ciò non venga dimenticato ricordo che esistono diverse modalità di alimentazione di Arduino:

  • cavo USB;
  • batteria esterna;
  • alimentatore esterno

Come indicato dalle specifiche tecniche della scheda:

  • la tensione di alimentazione raccomandata può variare dai 7Vcc ai 12 Vcc
  • la tensioni limite di funzionamento variano dai 6Vcc ai 20Vcc

Ovviamente lavoreremo sempre nell’intervallo raccomandato.

Nel caso si operi con un alimentatore esterno è indispensabile non solo sapere la tensione fornita dall’alimentatore, ma anche la massima corrente erogabile dall’alimentatore.

Tipicamente nelle prime sperimentazioni si utilizzano alimentatori USB per cellulari che possono erogare correnti di diversa entità, in genere si oscilla dai 0,2A ai 0,5A ma si può arrivare anche ad 1A nel caso di un caricatore per iPhone o iPad, ma è possibile trovare caricatori che erogano correnti anche superiori come ad esempio quello dell’immagine che segue di 2A per uno smartphone Asus.

Dati di targa di alcuni alimentatori:

Per alimentare la nostra scheda Arduino UNO R3 sarà sufficiente collegarlo tramite cavo USB all’alimentatore:

Arduino dispone di un Jack di collegamento esterno da 2.1×5 mm (diametro foro interno x diametro foro esterno – foro interno + e foro esterno -) a cui collegare un alimentatore esterno:

Probabilmente se avete acquistato un kit Arduino, originale o compatibile, troverete questo Jack nella vostra confezione a cui è connesso un connettore per batterie da 9V, come quello indicato nell’immagine che segue:

nel caso non fosse presente potete leggere un piccolissimo tutorial che realizzai qualche anno fa per altri studenti: Alimentare Arduino con una batteria da 9V – jack di collegamento

Nel caso non desiderate effettuare saldatura in commercio esistono jack a cui collegare fili di collegamento mediante una morsettiera in cui i cavi vengono serrati con viti oppure a pressione, come indicato nelle immagini che seguono:

Ricordate che la tensione di funzionamento dei componenti sulla scheda Arduino è di 5V, il regolatore di tensione della scheda (nell’immagine che segue indicato dalla freccia rossa) consentirà di riportare a 5V cc tensioni di alimentazione superiore che vengono fornite da un alimentatore esterno, ma questo tipo di lavoro viene trasformato dal regolatore di tensione in calore, infatti in queste condizioni noterete un aumento di temperatura del dispositivo.


In una prossima esercitazione vi mostrerò come, usando un sensore di temperatura esterno, la temperatura del regolatore aumenta all’aumentare della tensione esterna fornita alla scheda.

Tenete in conto però che tensioni di 12VCC o superiori (max 20Vcc) possono essere necessarie nel caso in cui sia necessario alimentare un dispositivo elettrico funzionante a tensioni superiori ai 5VCC che dovrà essere collegato e controllato da Arduino.

In questo caso l’alimentazione per il dispositivo esterno potrebbe essere ricavata dal pin Vin presente sulla scheda, ma ATTENZIONE questa tensione è quella che viene fornita dall’alimentatore esterno, quindi su Vin abbiamo la stessa tensione dell’alimentatore, pertanto bisogna essere certi della tensione necessaria al funzionamento del dispositivo connesso alla Vin.

Per i miei allievi: prima di procedere chiedete 🙂

Domanda“Prof. ma se non ho il Jack posso alimentare direttamente con una batteria da 9Vcc sul pin Vin?”

Sì è possibile farlo.

Domanda“Prof. ma a cosa serve il pin 5V?”

Esiste un altro modo per alimentare Arduino, lo segnalo per indicarne la possibilità ma soprattutto i rischi.
Per alimentare la scheda è possibile collegare una tensione stabilizzata di 5Vcc direttamente al pin 5V di Arduino, ma questa procedura è sconsigliata in quanto questa tensione è quella che viene direttamente applicata al microcontrollore e ad altri dispositivi sulla scheda, quindi se non siete assolutamente sicuri che la tensione di alimentazione non sia di 5Vcc evitate la connessione… meglio evitate sempre 🙂

Se per qualche motivo vi trovate in questa condizione siate certi che non sia connessa altra fonte di alimentazione alla scheda Arduino tramite jack o USB della scheda.

Per i miei allievi: prima di procedere chiedete 🙂

Ricapitolando i modi per Alimentare Arduino sono:

Domanda: “Prof. ma a cosa serve il pin 3.3V?”

Risposta: Per esercizio leggere l’articolo: leggere e studiare quanto indicato al seguente link:Livelli logici TTL e CMOS – cosa si nasconde dietro un HIGH o LOW di una digitalWrite di Arduino?

… e poi approfondiamo in classe.

Alcune precisazioni sulla corrente erogata da una fonte di alimentazione.

Domanda: “Prof. ho collegato 10 led per fare l’effetto supercar, ma le batterie si sono subito scaricate! Perché?”

La quantità di corrente erogabile da una batteria è indicata in mAh (milliampere per ora: quantità di corrente che può essere erogata in 1 ora).
Nel caso di una tipica batterie alcalina non ricaricabili da 1,5Vcc AA (modello LR6) la corrente erogata oscilla tra i 2700 e i 3400 mAh

Nel caso in cui si utilizzi una batteria da 9Vcc Alcalina di tipo 6LR61 la capacità tipica è di 565 mAh.

In modo indicativo tenendo conto di un comportamento ideale e lineare delle batterie elettriche possiamo fare le considerazioni che seguono.

Arduino per il suo funzionamento assorbe tipicamente circa 45 mA – 50mA, lo dimostreremo in laboratorio, pertanto per conoscere per quanto tempo possiamo alimentare Arduino con la batteria da 9V indicata sarà sufficiente effettuare il seguente calcolo:

t = corrente erogata dalla batteria in 1 ora/consumo = 565 mAh / 45mA = 12,56 h

Nel caso in cui si utilizzi un pacco batterie costituito da 6 batterie da 1,5V cc collegate in serie per un totale di 9V ciascuna erogante 2700 mAh si avrà un tempo di alimentazione di:

t = capacità della batteria/consumo = 2700 mAh / 45mA = 60 h

tutto ciò ovviamente nel caso in cui non si colleghino altri dispositivi alla scheda Arduino, in caso contrario bisognerà tener conto dell’assorbimento di ogni singolo componente. Ad esempio nel caso di un LED abbiamo assorbimenti che oscillano tra i 15 e i 20 mA, pertanto nel caso della domanda dello studente avremo che 10 LED assorbiranno circa:

10×15 mA = 150 mA

Quindi ai 45 mA di Arduino bisognerà aggiungere i 150 mA dei LED per un totale di 195 mA quindi la durata del pacco batterie scenderà a:

t = capacità della batteria/(consumo Arduino + consumo 10 LED) = 2700 mAh / 195mA = 14 h (circa)

e quindi aggiungendo altri dispositivi aumenterà la corrente che dovrà essere erogata dall’alimentatore.

Ovviamente utilizzando un alimentatore stabilizzato esterno collegato alla rete elettrica potremo avere costantemente alimentazione ed un’erogazione di corrente massima indicata sui dati di targa dell’alimentatore.

Esistono tecniche per porre Arduino in una modalità a basso consumo ma per questo ve ne parlerò più avanti.

Si tenga conto inoltre che nel caso in cui si alimenti Arduino e i circuiti ad esso connesso tramite USB, la corrente massima erogata dalla USB del computer se di tipo USB 1.0 o 2.0 è di 500 mA, nel caso in cui il computer sia fornito di USB 3.0 la corrente massima erogata è di 900 mA.

Domanda: “Prof. ma cosa accade se la corrente assorbita da Arduino e dei dispositivi connessi alla scheda superano i valori limiti di corrente forniti dalla USB del computer?”

Nella maggior parte dei casi il controller USB viene posto, da parte del computer, in una modalità di protezione disattivando la periferica ad esso connessa (nel nostro caso Arduino), questa situazione rimane fino a quando non viene riavviato il computer.-
Nella situazione peggiore, in computer datati si rischia di bruciate il controller USB del computer o della scheda madre.

Domanda: “ Prof. ma cosa succede ad Arduino se in esso circola una corrente superiore ai 500 mA?”

Un assorbimento superiore ai 500 mA non danneggia solamente il computer ma anche Arduino che non può sopportare correnti così elevate.

Per evitare questo rischio sulla scheda Arduino è presente un fusibile termico resettabile noto anche come Termistore o PTC (Positive Temperature Coefficient: resistenza che cresce con l’aumentare della temperatura) che riduce drasticamente la corrente assorbita da Arduino nel caso in cui si superino i 500 mA ponendola quindi in protezione.
Questo fusibile è ben visibile, è collocato di fianco alla presa USB ed è costituito da terminali di color oro:

Nello schema elettrico di Arduino è indicato con F1:

Il fusibile verrà ripristinato automaticamente dopo circa 30 secondi dal momento in cui togliete alimentazione alla scheda Arduino.

Buona sperimentazione a tutti 🙂