Si parla sempre più di consumi in termini di energia elettrica e di risparmio non solo per la bolletta ma sopratutto per l’ambiente.
La domanda che mi è stata posta più volte posta è proprio quella nel titolo: “Quanto assorbe Arduino” o “Quanto consuma Arduino”.
E’ un dubbio che ti poni sopratutto quando il tuo progetto passa dalla “versione a banco”: ossia quella di sperimentazione con Arduino connesso al computer, alla versione di “produzione” o “messa in campo”: il progetto è maturo e vuoi collocarlo nella sua posizione definitiva.
Certo il problema maggiore è se il tuo progetto deve essere alimentato a con una batteria e vuoi dimensionarla correttamente.
ATTENZIONE: questo articolo chiarisce, o tenta di farlo, quale è il consumo minimo di Arduino, non puoi dimenticare che il tuo progetto non è composto solo da Arduino ma anche da alcuni componenti esterni, ciascuno con il suo assorbimento.
Il test definitivo devi farlo a circuito ultimato, con tutti i componenti connessi utilizzando un multimetro.
Se non sai come collegare il multimetro segui questo schema:
collega il terminale negativo del tuo progetto alla sorgente elettrica, sia essa proveniente da una batteria o da un alimentatore, collega quindi in serie il multimetro ( puntale positivo al cavo rosso della sorgente elettrica e puntale negativo al progetto ) e posiziona il multimetro in modalità di misura amperaggio.
Leggerai sul display, o con la lancetta, il valore di corrente assorbita dal tuo progetto.
Tornando al nostro articolo e al dubbio iniziale io ho eseguito i collegamenti come descritto utilizzando un Arduino Uno Rev.3 ed una batteria da 9v.
Per eseguire un test ho usato lo sketch Blink fornito dall’IDE Arduino modificando il delay da 1000 a 10000 in modo da avere 10 secondi di attesa tra led acceso e led spento, questo permette al multimetro di registrare correttamente il valore e a te di vederlo chiaro sul display.
Quando il led è spento l’assorbimento di Arduino uno rilevato è di circa 48 mA
Quando il led si accende il consumo si incrementa fino a circa 51,5 mA, valore dato dalla somma dell’assorbimento di Arduino e del led collegato al pin 13.
Adesso sai orientativamente quale è il consumo di Arduino e puoi dimensionare il tuo progetto con una adeguata batteria.
Se consideri valido il valore rilevato empiricamente con questo esperimento puoi dire che con una batteria da 1000 mA potresti alimentare Arduino per circa 20 ore ( 1000 / 48 = 20,8333 ) considerando che sono tutti valori teorici e che molto probabilmente il tuo progetto non è composto solo da Arduino ma da qualche shield, led o componente aggiuntivo.
Buon divertimento.
94 commenti
Vai al modulo dei commenti
prima di tutto grazie.
Aaaaaaaazzzzzzzzzz, consuma mica male!
Che tu sappia , c’è qualche versione di Arduino che consuma meno?
grazie
Antonio
Autore
Ahimé mi sa di no, puoi verificare sul sito ufficiale se riportano i dati di consumo.
Forse realizzando un Arduino Standalone, ossia solo microcontrollore, quarzo, resistenze e condensatore puoi ridurre il suo assorbimento.
Considera che è una scheda nata per fare prototipi non per produzione.
Mauro
Ciao Mauro,
vorrei chiederti qualche informazione sull’alimentazione di Arduino:
1) su fritzing e non solo vedo molti progetti da copiare per fare esercizio, ma ne vedo molti altri che sono alimentati da batterie… quale il ragionamento per capire l’ammontare delle batterie da attaccarci? esempio banalissimo…ho trovato e testato questo progetto per un intervallometro per la reflex di mio padre (http://learn.adafruit.com/ir-sensor/making-an-intervalometer), ma ovvio non avendo il pc, dopo aver caricato opportunamente lo scketch sul mio arduino, devo alimentarlo in qualcohe modo…
2) mi perdo in bicchiere d’acqua… su arduino oltre alla presa usb c’è anche la presa per un alimentatore esterno…ecco… che alimentatore mi serve (basta anche ebay o meglio robotdomestici?)?? sarà a 12 volt presumo… ok lo posso attaccare indiscriminatamente?? anche se il mio progettino prende chessò 7 volt?? giusto per sparare un numero a caso
Grazie
Stefano
Autore
Ciao Stefano,
in questo articolo trovi delle utili info non solo sull’alimentazione Arduino ma anche sugli assorbimenti e la potenza delle uscite.
Puoi alimentare arduino con una pila da 9v o con un alimentatore da 9-12v senza problemi.
Molto dipende dal tuo progetto, ad esempio io utilizzo di solito un alimentatore a 12v per i test ma quando il progetto è finito scelgo un alimentatore Dc-Dc specifico per il progetto in funzione di quanto assorbimento ho.
Unico consiglio: verifica il voltaggio del l’alimentatore prima di collegarlo ad arduino xchè proprio in questi giorni mi ha scritto un appassionato il cui arduino si è bruciato a causa di un alimentatore non idoneo.
Mauro
Ciao Mauro,
scusa l’ignoranza; ma come fai a calcolare l’alimentatore corretto in base all’assorbimento che hai?
Autore
Ciao Matteo,
non so se ho compreso la domanda, mi stai chiedendo come calcolare l’alimentatore da usare nel tuo progetto?
Se hai letto l’articolo sai come calcolare quanto assorbe il tuo progetto, da cui, se assorbe 700mA puoi prevedere un alimentatore da 1A.
ciao mauro ho provato a collegare il mio tester in serie al mio circuito ma il mio circuito rimane spento. Potrestj darmi qualche indizio sul problema? io ho semplicemente collegato la scheda al generatore di 12 volta ma ho usato il jack di alimentazione ma non i piedini! ( ho avuto un brutto “scontro” con quelli)
Autore
Ciao Vincenzo,
Il tester é in modalità Ampere?
Mauro
si era in ampere ma comunque si era rotto il fusibile XD grazie
Autore
Ciao Vincenzo,
ok, tutto risolto allora !!!
Mauro
ciao Mauro
ti devo chiedere una cosa:
l’alimentatore che ho per arduino uno va bene anche per il mega??
grazie
Macca
Autore
Ciao Macca,
solitamente si.
E’ bene sapere che tipo di alimentatore possiedi.
Mauro
si ti do subito le informazioni:
input: 100-240 v 50/50Hz 180 mA
output: dc 9.4v 400 mA
grazie
Macca
Autore
Ciao Macca,
per alimentare l’Arduino Mega va bene.
Per alimentare un intero progetto dipende da quanti sensori e attuatori ( motori, led, servo, ecc… ) ci metti.
Quando hai dubbi sulle potenze e le tensioni di alimentazione di un prodotto puoi visitare il sito del produttore, io ho fatto così, e troverai tutte le caratteristiche che ti occorrono.
Mauro
Ciao Mauro intanto complimenti per il tuo sito direi è stato fondamentale per darmi una dritta inizale nell’affacciarmi al mondo di Arduino, ma veniamo al dunque;
ho delle domande da porti spero che tu possa rispondermi altrimenti non mi sento sicuro nel mettere in opera il mio progetto di cui ora ti parlo:
sto realizzando un controller per due postazioni di un gioco a quiz che ho realizzato ,mi spiego, ci sono due concorrenti finalisti che si trovano su due postazioni (realizzate in plexiglass) con due pulsanti (uno montato su ogni postazione); quando uno si prenota premendo il pulsante 1 si illumina una strip led di un metro per 4 secondi (consumo 4,8w) ed il sistema(Arduino) dovrebbe bloccare la possibile prenotazione del pulsante 2 poi entrambi i pulsanti tornano automaticamente allo stato LOW .
Ecco brevemente ti ho spiegato ciò che devo realizzare ora ti elenco le mie perplessità:
1- le strip led si alimentano a 12V posso dunque visto che devo comprare un alimentatore utilizzare lo stesso per alimentare anche arduino?
2-Oltre che abilita le due uscite di arduino (una per pulsante) riesco attraverso la connessione usb del computer a comunicare qunado una tra le due uscite presenti si trova a livello logico alto?
3-quando i carichi a valle di Arduino sono maggiori di 5V come in questo caso in cui le stripled assorbono 400ma a 12v va bene se utilizzo un mosfet oppure un transistore a mo’ di interruttore che abilita la linea alimentata a 12v?
Grazie in anticipo per la tua disponibilità
Autore
Ciao Luca,
progettino interessante.
Rispondo alle tue domande:
1. se acquisti un alimentatore adeguato ad alimentare tutto non dovresti avere problemi;
2. puoi utilizzare la comunicazione Seriale da Arduino per comunicare via USB con il computer, il sw sul pc dovrà leggere la comunicazione seriale;
3. si devi usare un componente in grado di erogare la potenza che ti occorre, posso suggerirti di utilizzare un relè o un mosfet, i relè li trovi anche a stato solido, ossia senza meccanica e quindi silenziosi.
Mi piacerebbe avere le foto,sketch ed eventuale video del tuo progetto, quando completo, da condividere sul blog se ti fa piacere.
Mauro
Sicuramente ti farò avere tutto il materiale pensa che l’idea di questo gioco mi sta fruttando parecchio in molte regioni me lo stanno chiedendo questo è il link alla pagine se vuoi dargli un’occhiata https://www.facebook.com/?q=#/Siladolasoluzione?ref=ts&fref=ts
cmq avrei bisogno di chiederti un’altra cosa a livello di programmazione su arduino come posso fare ad ottenere il seguente risultato :
quando il concorrente 1 preme il bottone 1 si deve accendere per 4 secondi il led 1 deve disabilitare il led 2 (sempre per la durata di 4 secondi, anche se il concorrente 2 dovesse premere il pulsante 2), lo stesso vale per il concorrente 2 qualora si fosse prenotato prima del concorrente 1; poi nel contempo come faccio a dire alla porta seriale (che dovrà comunicare con visual basic) “guarda che il led 1 si è acceso” oppure “guarda che il led 2 si è acceso”
Autore
Ciao Luca,
molto interessante, non vedo l’ora di ricevere il tuo materiale.
Per il tuo dubbio io procederei con un delay di 4000 ( 4 sec ) che ferma tutto alla pressione di uno dei due pulsanti.
Subito prima del delay accendi i pin che ti occorrono, e invii alla seriale l’informazione che vuoi comunicare al Pc, esistono dei comandi semplici per farlo con arduino.
Dopo il delay ricorda di spegnere i led per iniziare un’altro turno 🙂
Mauro
ciao Mauro ho voluto integrare anche un lettore rfid per leggere il codice della card che consegnamo alle varie squadre il codice viene letto dalla porta rx dell’arduino e comunicato via seriale al pc (visual basic) ti posto il codice mi piacerebbe gli dessi un’occhiata nel caso trovassi qualcosa che non va!
#define Player1 A0 // Il Pin di Input Analogico dove è collegato il pulsante 1
#define Player2 A1 // Il Pin di Input Analogico dove è collegato il pulsante 2
#define Strip1 7 // Definisco il Pin della stripled 1
#define Strip2 6 // Definisco il Pin della stripled 2
#include
//NewSoftSerial mySerial(0, 1);
NewSoftSerial rfid= NewSoftSerial(0, 1);
int statoStrip1 = LOW; // Si userà Valore per resettare lo stato dei Pin di Output
int statoStrip2 = LOW;
int x; // Variabile d’appoggio per la lettura dell’uscita digitale
int y;
char c;
String msg=””;
void setup()
{
Serial.begin(9600); // crea un collegamento seriale
Serial.println(“Serial Ready”);
rfid.begin(4800);
Serial.println(“RFID Ready”);
pinMode(7,OUTPUT); // Segnala ad Arduino che Strip1 è un Output
pinMode(6,OUTPUT); // Segnala ad Arduino che Strip2 è un Output
digitalWrite( Strip1, statoStrip1 ); // resetta valore degli output
digitalWrite( Strip2, statoStrip2 );
}
void loop(){
while(rfid.available()>0){
c=rfid.read();
msg += c;
}
Serial.println(“Il codice della scheda è :”);
Serial.println(msg);
Serial.println(msg.length());
msg=””;
if ( analogRead(Player1) > 1000 )&&(Strip1 == LOW)&&(Strip2 == LOW)
{
statoStrip1 = HIGH;
statoStrip2 = LOW;
digitalWrite( Strip1, statoStrip1 );
digitalWrite( Strip2, statoStrip2 );
x= digitalRead(7);
y= digitalRead(6);
if (x == HIGH)&&(y == LOW)
{
Serial.println(“Pulsante 1 acceso”);
delay(4000); //aspetti 4 secondi
statoStrip1 = LOW;
statoStrip2 = LOW;
digitalWrite( Strip1, statoStrip1 );
digitalWrite( Strip2, statoStrip2 );
Serial.println(“Pulsante 1 spento”);
}
delay(200);
}
else {
if ( analogRead(Player2) > 1000 )&&(Strip1 == LOW)&&(Strip2 == LOW)
{
statoStrip2 = HIGH;
statoStrip1 = LOW;
digitalWrite( Strip1, statoStrip1 );
digitalWrite( Strip2, statoStrip2 );
x= digitalRead(7);
y= digitalRead(6);
if (x == LOW)&&(y == HIGH)
{
Serial.println(“Pulsante 2 acceso”);
delay(4000);
statoStrip1 = LOW;
statoStrip2 = LOW;
digitalWrite( Strip1, statoStrip1 );
digitalWrite( Strip2, statoStrip2 );
Serial.println(“Pulsante 2 spento”);
}
delay(200);
}
else ( analogRead(Player1) > 1000 )&&((Strip1 == HIGH)||(Strip2 == HIGH))
{
delay(4000);
}
}
Autore
Ciao Luca,
ottima implementazione.
Se ti va mandami qualche foto, video e descrizione del tuo progetto.
Io lo pubblicherò volentieri.
Mauro
Ciao Mauro, ho creato un progetto in cui arduino e flash si scambiano dati attraverso la porta com. Naturalmente, utilizzo anche un serial proxy che permette a flash di comunicare con la porta com. Arduino controlla una serie di relè in cui gestisco la luce ambiente, effetti strobo e di fumo, mentre Flash invia ad arduino i comamdi di accensione e spegnimento degli effetti. Alcune volte, tutto funziona bene, mentre, altre volte, quando la macchina del fumo si avvia, cade la connessione con il serial proxy oppure la scheda di arduino si blocca.
La macchina del fumo è di 800 W ed il suo pulsante di accensione è collegato a un relè inserito nella scheda di arduino.
Gentilmente, mi potresti dare qualche dritta per risolvere tale inconveniente? Non so se esso possa essere dovuto al fatto che arduino è collegato alla porta usb del computer o se, invece, il problema è da ricercare in un’altra direzione.
Ti ringrazio anticipatamente.
Ciao.
Autore
Ciao Antonio,
bellissimo progetto, mi piacerebbe pubblicarlo se ti va una volta concluso.
Daltuo racconto il problema sembra dovuto all’alimentazione ossia al momento dello start della macchina del fumo l’assorbimento é tale da mandare in down arduino e di conseguenza la porta seriale sparisce.
A me capita quando collego male un servo ad esempio o quando mando in corto arduino, é una protezione della seriale e del PC.
Come alimenti Arduino?
Mauro
Grazie della risposta.
Quanto termino il progetto ti invierò del materiale così deciderai se vale la pena pubblicare qualcosa.
Arduino lo alimento dalla porta USB del computer. Il computer, inoltre, viene utilizzato per per trasmettere i video abbinati agli effetti prodotti con il microcontrollore.
Io pensavo che collegare solo la pulsantiera della macchina del fumo ad arduino non potesse generare assorbimenti tali da mandare in tilt la scheda. Sai una cosa strana? A volte il sistema funziona per ore senza mai dare segni d’instabilità. Poi, a un tratto, comincia a bloccarsi costantemente.
Potrebbe essere che la macchina del fumo quando va in protezione, per eccessivo calore sviluppato dal fumo, genera qualche impedimento alla scheda?
Intanto, seguirò quanto riportato nei tuoi articoli per collegare arduino ad una fonte energetica diversa dalla porta USB del computer.
Ciao e grazie per la tua disponibilità.
Autore
Ciao Antonio,
il comportamento sembra tipico delle situazioni in cui raggiungi delle temperature che mandano in protezione l’elettronica.
Per evitarle prova ad alimentare Arduino con una fonte esterna da 7-12v e separare completamente l’alimentazione dei relè dal contatto sulla macchina del fumo, magari con degli opto isolatori
Mauro
Ciao Mauro,
complimenti per il tuo lavoro, avrei una domanda da farti circa questo articolo, ma sono alle prime armi con Arduino quindi perdonami le eventuali scemenze che probabilmente scriverò.
Devo implementare una batteria per Arduino che supporti un modulo GSM ed uno Bluetooth che probabilmente aiuterà le popolazioni africane contro la dura piaga della Malaria, ora sto effettuando le misure attraverso l’uso di un multimetro e ho l’Arduino connesso con l’alimentatore.
Ora la mia domanda è, come connettere i pin? Come connetto il terminale positivo del multimetro con quello dell’alimentatore se quest’ultimo alimenta Arduino?
Mentre la massa (che dovrei connettere al pin GND di Arduino – secondo il tuo schema) non è già connessa inserendo l’alimentatore?
Spero di esser stato chiaro e ti ringrazio in anticipo per l’eventuale risposta.
Buona giornata!
Autore
Ciao Daniele,
per verificare l’assorbimento di un circuito devi collegare il multimetro in serie, ossia interrompi il filo positivo dell’alimentazione, collega il filo proveniente dalla pila al puntale positivo ed il puntale negativo al +5v di arduino.
Il filo negativo della batteria va diretto ad arduino.
Questo si chiama collegamento in serie ed è rappresentato nello schema in alto.
Ponendo il multimetro su A ( Ampere ) visualizzi quanto assorbe il tuo circuito.
Mauro
Per “+5V di Arduino” intendevi “Vin di Arduino”, la prima non è un’alimentazione che prelevi dal dispositivo, mentre l’ingresso per alimentare Arduino credo sia “Vin”.
Comunque ti ringrazio per la risposta, sono riuscito nel mio intento di misurare la corrente. Ora il mio dubbio riguarda la parte finale del tuo articolo, hai scritto che con una batteria da 1000 mA si potrebbe alimentare Arduino per circa 20 ore, teoricamente. Quindi significa che il valore letto sul multimetro riguarda valori di corrente per ora e non una misura “istantanea”, mi trovo a calcolare quanta capacità dovrà avere la mia batteria quindi una tua risposta risulterà preziosa 🙂
Ti ringrazio nuovamente per la tua disponibilità
Buona giornata!
Autore
Ciao Daniele,
ti invito a consultare della documentazione relativa a corrente e modalità di misura.
Scoprirai che il simbolo Ah presente sulle batterie indica Ampere per ora, la misura eseguita dal multimetro è istantanea l’unità di misura della batteria è oraria.
Se la tua batteria dice 1000mA = 1Ah vuol dire che è capace di erogare 1A per un ora, se il circuito assorbe 500mA = 1/2Ah la batteria lo alimenterà per circa 2 ore.
E’ necessario approssimare sempre per difetto.
Mauro
Ciao Mauro vorrei chiederti una cortesia dove posso trovare el arduino con lettore RFID 800Mz UHF di 1 a 2 metri di distanza
Autore
Ciao Ivan,
Il materiale che io utilizzo per i miei esperimenti lo acquisto su robot-domestici.it tra le shield esiste una shield RFID ma non sono sicuro possa arrivare a 2 metri, forse dovrai cercare nel campo dei sensori professionali e valutare se puoi integrali ad arduino.
Mauro
Ciao Mauro, ho collegato arduino con un alimentatore a 12 volt dc 400A…nel trasformatore ho inserito un raddrizzatore per farla diventare da ac a dc…ora il problema sta nel fatto che devo utilizzare dei servi. Questi sono due e se metto arduino con il pc tutto funziona bene…se invece sposto arduino e lo alimento con l’alimentatore i servi si muovono a scatti e nono hanno forza per niente…ho provato anche ad alimentare i servi con corrente e esterna ma nulla…come posso fare?…Grazie mille per i preziosi consigli… Andrea
Autore
Ciao Andrea,
quanto assorbono i servo?
Mauro
i servi sono i Tower pro 9g SG90…purtroppo non so quanto assorbono…comunque ho notato anche che vicino al jack dove metto i 12 V nell’arduino esso si scalda parecchio…non vorrei che fosse inadeguato l’alimentatore…Grazie..Andrea
Autore
Ciao Andrea,
se rilevi calore in eccesso sul connettore dei 12v potrebbe essere non adeguato il connettore e rischi di fonderlo.
I servo sono quelli mini? Il produttore non ti indica le caratteristiche?
Mauro
Ciao Mauro, putroppo non viene indicato nulla. Forse comunque ho scoperto il problema. Nel trasformatore a 12 V la corrente non è del tutto continua ma è ad impulsi. Questo perchè nel mio trasformatore dopo il raddrizzatore non ho inserito un condensatore che mi elimina l’onda sinusoidale al di sotto dell’asse cartesiano. Andrea
Autore
Ciao Andrea,
una certa influenza da parte dell’alimentazione non stabilizzata la ottieni.
Ricorda che i servo vanno alimentati a 6v max e non a 12v.
Mauro
Ciao,
volevo chiederti se è possibile costruire o se esiste qualche scheda precostruita per alimentare arduino in mancanza della rete elettrica, una sorta di batteria tampone.
Se hai qualche schema o se puoi darmi qualche dritta te ne sarei grato.
Grazie.
Autore
Ciao Davide,
ho aggiunto la tua richiesta nei commenti a questo articolo che reputo inerente.
Ti chiedo, gentilmente, se puoi formulare sempre le tue richieste come commenti agli articoli che trovi simili al tuo problema in quanto questo é spunto di condivisione con tanti altri appassionati.
Per la batteria tampone non conosco una shield già pronta che faccia ciò che ti occorre, tuttavia un alimentatore con batteria tampone al suo interno é sufficiente al tuo scopo.
In alternativa ho trovato questo circuito a mio avviso benfatto e dettagliato in tutto, sketch incluso, che mi piacerebbe condividere: https://sites.google.com/site/circuitiarduino/home/batteria-tampone
Nelle istruzioni trovi descritte tutte le informazioni di cui puoi avere bisogno non solo per il montaggio ma sopratutto per dimensionare i componenti.
Mauro
Ciao Mauro, oggi ho usato Arduino per monitorare la scarica/carica della Batteria di un piccolo impianto fotovoltaico , l’ALIMENTAZIONE di Arduino l’ho collegata alla stessa batteria di accumulo dell’impianto fotovoltaico (stabilizzando la tensione a 10 V con un Convertitore DC-DC step Down) … a parità di Potenza del pannello fotovoltaico ho notato una ricarica molto più lenta rispetto alla ricarica senza Arduino e così ne ho approfittato per controllare l’assorbimento dei vari componenti, ecco i dati :
– Convertitore DC-DC (con 3 x display 7 segmenti DISATTIVO ) : = 14 mA
– Convertitore DC-DC (con 3 x display 7 segmenti ATTIVO ) : 14 + 9 = 23 mA
– Conv DC-DC + Arduino1 Rev 3 : 14 + 9 + 57 = 80 mA
– Conv DC-DC + Ard. + Real Time Clock : 14 + 9 + 57 + 1,5 = 81,5 mA
– Conv DC-DC + Ard + Clock + LCD (retroill. DISATTIVA) : 14 + 9 + 57 + 1,5 + 10 = 91,5 mA
– Conv DC-DC + Ard + Clock + LCD (retroill. ATTIVA) : 14 + 9 + 57 + 1,5 + 10 + 100 = 191,5 mA
– Conv DC-DC + Ard + Clock + LCD + Ethernet Shield : 14 + 9 + 57 + 1,5 + 10 + 100 + 140 = 331,5 mA
La batteria è di 12 V e 12 Ah, di conseguenza Arduino mi assorbe circa 12 * 0,332 = 4 W
Sembrano pochi ma considerando che la batteria è 12 V 12 Ah e il Pannello Fotovoltaico (autocostruito) è di 18 Wp (considerando il regolatore di carica mppt, che dissipa la potenza di Tensione in eccesso) effettivamente i 4 W mi rallentano di molto la Ricarica
Al momento non ho intenzione né di aumentare la capacità della batteria né di aumentare la Potenza del pannello fotovoltaico, così ho pensati di eliminare la retrolliminazione dell’LCD e togliere l’Ethernet Shield che in realtà la usavo solo per la SD CARD (prenderò la schedina SD Card singola) … così risparmio 240 mA e riesco a stare sotto i 100 mA di assorbimento
Spero di poter confrontare queste misure con qulcun’altro …
Ti saluto Mauro, questa volta ti è andata bene, niente domande 😛 … se hai qualche consiglio è ben accetto
Saluti
Paolo
Autore
Ciao Paolo,
grazie per il tuo contributo certamente questi dati sono importantissimi per chiunque voglia realizzare un progetto simile al tuo.
Effettivamente l’uso dell’LCD è comodo se vuoi visualizzare i dati senza dover estrarre la SD Card dal progetto, potresti aggiungere un interruttore da usare per alimentare l’LCD solo quando vuoi consultare i dati raccolti.
La Ethernet shield concordo che assorbe troppo per l’uso che ne fai.
Posso anche suggerirti come DC-DC questo che avevo provato io: https://www.mauroalfieri.it/tag/dc-dc-converter che ha un ottimo guadagno.
Mauro
ciao,
ho arduino uno con shield microSD di sparkfun. Su un pin di arduino ho un motorino a vibrazione, preso da un cellulare, e inserito in un polsino da tennis per dare stimolo tattile.
Quando è spento, arduino assorbe sui 40 mA, come hai indicato tu. Ma quando il motorino vibra, dal pin vengono assorbiti circa 150 mA…ho dovuto usare un piccolo tester cinese per le letture, quindi non mi fido moltissimo.
Il mio problema è: come posso alimentare arduino per renderlo portatile, anzi indossabile, nel modo più leggero possibile e con la condizione che resti acceso per circa 10 ore? considera che il motorino vibra per pochi secondi durante l’intera giornata, quindi la carica consumata è trascurabile…
Se i conti non sono sbagliati, dovrei avere bisogno di una batteria da almeno 5 Volt e almeno 400 – 500 mAh…
Cosa mi consiglieresti di usare? adesso uso due batterie BL-5C presi da vecchi cellulari nokia, ma non mi voglio imbarcare nella questione della ricarica delle batterie agli ioni di litio…
grazie e complimenti per il blog 🙂
roberto
Autore
Ciao Roberto,
il fatto che l’assorbimento del tuo progetto passi da 40 a 150mA quando la vibrazione è in funzione mi fa dedurre che l’assorbimento del motorino sia di 110mA che è certamente elevata per un singolo pin di arduino, ti consiglio di prevedere un qualche circuito a transistor per evitare di compromettere il tuo arduino.
I 400-500mA non sono elevatissimi e puoi pensare anche di utilizzare una comune batteria a transistor ( 9v ) ricaricabile.
Mauro
Ciao,
sono un neofito di Arduino, molto soddisfatto dalla praticita` e dalla facilita` d`uso della piattaforma.
Ti scrivo perche` mi sembra di capire, dallo schema elettrico fritzing da te postato, che alimenti la scheda direttamente con una pila da 9 V utilizzando i pin Vin e Grd, senza cioe` passare dal regolatore di tensione; ho letto pero` che Arduino non `digerisce` tensioni superiori a 6 V se alimentato direttamente; io utilizzo quattro pile ricaricabili da 1.25 V.
Mi puoi aiutare a chiarire questo dubbio?
Grazie.
Autore
Ciao Giovanni,
il pin Vin è equivalente al connettore power di alimentazione nell’arduino uno R3, almeno è ciò che io deduco dal sito ufficiale arduino.
Quando ho un dubbio faccio riferimento al sito del produttore che solitamente ha tutte le risposte alle mie richieste, in questo caso recita:
VIN. The input voltage to the Arduino board when it’s using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
Mauro
ciao Mauro,
sapendo che sto alimentando arduino a 12 v e verificando col metodo da te illustrato sopra , l’assorbimento di arduino disattivato e successivamente attivato con la eventuali shield e sensori attivi, che calcolo devo fare x sapere che voltaggio deve avere la mia batteria?
grazie,
Michele
Autore
Ciao Michele,
Il voltaggio non deve assolutamente variare dai 12v o bruci arduino.
L’amperaggio puoi misurarlo con un tester come mostrato nell’articolo una volta assemblato il tutto.
Mauro
ciao Mauro,
se non è possibile superare i 12 V , conoscere l’amperaggio a cosa mi serve? ( sicuramente è una domanda stupida, quasi mi vergogno, però viste le mie sarse conoscenze devo proprio chiedere!)
Autore
Ciao Michele,
ti consiglio di leggere un manuale base di elettronica prima di fare qualsiasi esperimento, la differenza tra tensione (V) e corrente (A) in elettronica é basilare.
Mauro
Ciao Mauro,
Alimentando un dispositivo x esempio con una batteria a 9 v, arriverà il momento in cui si dice che sara scarica o non più sufficiente ad alimentarlo. Vuol dire che nn ha più potenza necessaria ad erogare un certo quantitativo di corrente?
Autore
Ciao Michele,
quando la tua batteria sarà scarica rileverai che anche la tensione è ben sotto i 9v e non può erogare corrente sufficente.
Mauro
Sarebbe davvero utile avere una panoramica dei consumi delle varie schede arduino: micro, mini, mega, UNO, leonardo, yun,…
Magari una micro consuma solo 10 mA, chissà!
Autore
Ciao Jumpjack,
l’assorbimento a vuoto delle versioni arduino è un dato fuorviante perchè a vuoto sono sempre misurazioni fittizie.
Un dato importante potrebbe essere rappresentato dall’assorbimento di un progetto intero, ci penserò.
Grazie del suggerimento
Mauro
Ciao Mauro,
vorrei farti una domanda stupida ma non riesco a trovare una risposta,
Io devo mettere in piedi un mini progetto composto da Arduino uno rev.3 con ethernet shield e una schedina tinkerkit da un relè, che via lan deve accendermi una luce.
La mia domanda è:
Quanto consuma in W Arduino quando è ha riposo con quella configurazione hardware?
Quanto consumo al mese prendendo per esempio che 1Kw a Milano costa circa 0,22 e Arduino rimane acceso 24/24 h?
Grazie mille
Autore
Ciao Ge,
dovrai costruire il tuo progetto e misurare l’assorbimento alla fine.
In funzione del tipo di shield, delle connessioni tra le shield e del tipo di relé potresti avere importanti variazioni.
Il calcolo dei W è semplice, una volta avuto il primo dato, e sapendo a quanti volt alimenti arduino ( puoi partire da 7v a 20v ) non devi far altro che usare la formula: w = v x a
Ciao Mauro, ti ringrazio per la tua risposta, il mio problema che adesso non ho il maeriale per poter fare le prove, perchè mio fratello vorrebbe sapere in grandi linee il consumo che ha durante il mese prima di comprare tutto il materiale.
Per il momento ho in mano solo Arduino.
Ti chiedo se tu in grandi linee mi sai dare un dato anche molto approssimativo.
Grazie mille.
Autore
Ciao Ge,
non saprei stimarlo.
è mai possibile che con questo codice :
[ codice rimosso in automatico ]
il mio arduino uno consuma 42 mA???????
è mai possibile ???
lo alimento con una batteria da 9V .
che devo fare per ridurre i consumi???
grazie
Autore
Ciao Massimo,
ti invito a leggere bene quanto scritto in ogni articolo, in fondo: non é consentito incollare codice nei commenti.
Con il blink ti assorbe comunque 42mA ?
in sleep assorbe 42mA, mentre quando il led lampeggia ne assorbe 60!
non riesco a capire perchè assorbe tanto… mi sembra che usando le librerie avr/sleep.h e avr/power.h
ho spento tutte le periferiche… sarà l’oscillatore a 16MHz che fa consumare tanto ?
Autore
Ciao Massimo,
ho guardato meglio il mio articolo e trovo corretto l’assorbimento che rilevi.
Considera che già solo il microcontrollore ha un suo consumo che puoi trovare sul datasheet del produttore.
ti poso fare un altra domanda ? come si imposta a 128 KHZ il clock source, anzichè i normali 8KHz?
Autore
Ciao Massimo,
non l’ho mai fatto ma immagino che tu debba agire sul bootloader arduino.
la cosa che non mi torna è che quando mando in slee mode (power down= consumi 40 mA!!)arduino uno rev3, è mai possibile che in sleep mode consumi cosi tanto??
Autore
Ciao Massimo,
non mi risulta esista una modalità di sleep per l’ATMEGA328, dove hai trovato questa informazione ?
come no? libreria avr( http://playground.arduino.cc/Learning/ArduinoSleepCode ). dal datasheet dell’ATMEGA328p la modalità di sleep esiste e come…
esiste un tipo di Arduino che ha consumi dell’ordine dei uA????
Autore
Grazie Massimo, perdonami ma non la conoscevo. Anche io ho tante cose da imparare ancora su questo mondo. Non mancherò di leggere il link che mi hai inviato.
si puo collegare arduino uno alla batteria della macchina, magari con un 7812 o 7805
Autore
Ciao Alfio,
arduino può essere alimentato da 7 a 20v anche se io consiglio di usare al max 12v per non sovraccaricare l’alimentatore.
L’Auto usa di solito una batteria da 12v ( 13-14v in carica ) per cui l’unica accortezza è dotare arduino di uno stabilizzatore per evitare che le variazioni prodotte dall’alternatore danneggino arduino.
Buongiorno,
grazie anche ai suoi progetti ho ripreso la mia passione e quello che era il mio precedente lavoro.
ho deciso di sostituire la centralina di inrragazione del giardino (ormai fuori uso) con una self made utilizzando arduino uno rev. 3.
Preciso che non ho possibilità di far arrivare corrente e, come lo era la centralina vecchia, l’alimentazione deve essere a batteria (la precedente utilizzava una comune pia 9 V).
detto ciò il mio progetto è così composto:
-arduino uno rev. 3
– RTC Tiny
– scheda 4 relè optoisolata comprata su Ebay (bobina relè 5V)
– Modulo LCD 16 chr 2 linee, presente nello starter Kit, comprato su ebay, .Winstar Display – Mod. WH1602B-TMI-ET#.
– due elettrovalvole bistabili a 9V (sono quelle utilizzate con la vecchia centralina)
Problema:
fatto lo sketch con comando manuale tramite pulsante (scambio polarità ogni volta che lo premo, come da lei suggerito in un suo progetto), ho collegato le due elettrovalvole insieme il tutto per provare. risultato:
prima prova: tutto funziona. ripetuti apri/chiudi con irrigazione ok per circa 20 min. e poi chiusa con pulsante. Perfetto!
sera successiva: il nulla. nessun segnale di vita. I relè commutavano ma le elettrovalvo non partivano.
ho provato ad alimentare direttamente le elettrovalvole con la pila ma, nulla!
ho fatto una prova: ho alimentato direttamente con la pila solo una elettrovalvola. risultato: funziona!
Ergo: è un problema di carico? due elettrovalvole insieme assorbono troppo e la pila si scarica facilmente?
se così mi è sufficiente comandarne una per volta.. ma arduino è adatto a questo tipo di applicazione (con batteria)? Ossia l’assorbimento è tale da farmi cambiare pila ogni 2/3 gg? naturalmente, durante il funzionamento ho previsto di spegnere il LCD.. mi scuso per la lungaggine.. la ringrazio anticipatamente se vorrà consigliarmi su quanto da me scritto. complimenti per il suo sito e ancora grazie. Silvano
Autore
Ciao Silvano,
così come lo descrivi potrebbe essere causato da molti fattori, tra tutti la qualità dei componenti che spesso sottovalutiamo in luogo di un risparmio.
Verifica sia la qualità del contatto dei relay sia l’effettiva potenza residua sulla pila per eccitare una o due elettrovalvole.
Arduino ha grandi pregi ma non di certo il consumo, che è di per se limitato ma presente ed anche i componenti a contorno potrebbero richiedere maggiore corrente di quella a tua disposizione con una pila da 9v.
grazie mille Mauro,
ancora complimenti per il tuo sito. Sicuramente continuerò a seguirti e… magari potrò tentare di condividere qualche mia idea/piccolo progetto (verificata, grazie ai tuoi consugli, e “messa in opera” la centralina d’irrigazione avrei già in cantiere un’altro progetto.. un pò più ambizioso… che sicuramente richiederà il tuo aiuto).. grazie ancora un saluto
silvano
Autore
ciao Silvano,
sono sempre disponibile a pubblicare progetti di appassionati se poi migliorano i miei ancora meglio.
ciao Mauro,
rieccomi con i soliti problemi di consumo. sto cercando di capire i consumi del progetto di irrigazione di cui ti ho parlato nel precedente post. Non mi tornano i collegamenti per la misura della corrente rispetto a quelli da te utilizzati nell’esempio qui sopra. io ho messo in serie il multimetro sul filo rosso della batteria (puntuale rosso verso la pila e puntale nero verso il circuito). Dimenticavo… io la pila la inserisco con l’apposito jack e non come hai fatto tu nei pin Vin e gnd del connettore sulla scheda (cosa cambia?). con il fondo scala del multimetro a 200 mA leggo 0,63 … se pigio il pulsante il relay si eccita per 500 ms il multimetro arriva a segnare 1,3.
sicuramente non capisco la lettura!! senza eccitare il relay consuma solo 0,63 mA??? mi sembra impossibile…
visto che nella tua prova il consumo a vuoto è 48,0 mA!! o sbaglio il collegamento oppure c’è qualcosa che non va… grazie in anticipo per la tua risposta.. silvano
Autore
Ciao Silvano,
alcuni multimetri presentano un differente pin di connessione in cui inserire il puntale per la misura della corrente, non conosco il tuo multimetro e posso solo ipotizzare che i puntali siano collegati ai pin sbagliati, prova anche a verificare l’assorbimento di un semplice led ecc… componenti più semplici.
grazie Mauro, proverò sicuramente e poi ti dico.
solo una curiosità. nello schema del tuo articolo hai collegato il + (filo rosso) della batteria al pin Vin della scheda. come mai non hai utilizzato l’ingresso jack?
Io infatti ho collegato la pila al jack, eventualmente potrei effettuare anch’io, per il mio progetto, il collegamento che hia fatto ti (cioè pila 9 volts con + all’ingresso Vin?
grazie ancora
un saluto e buon ferragosto
silvano
Autore
Ciao Silvano,
ti invito a controllare lo schema elettrico arduino, vedrai che Vin è collegato al pin centrale del connettore.
Collegare l’alimentazione al connettore o al pin Vin è similare, io nella rappresentazione grafica ho dovuto scegliere la rappresentazione più chiara.
ciao Mauro,
ricontrollato!!! mi vergogno!! avevo sbagliato collegare il multimetro, praticamente misuravo in serie sul filo + della batteria ma…. senza interromperlo e far passare la corrente nel multimetro!!! comunque gli assorbimenti sono:
a vuoto con lcd, RTC tiny, e scheda 4 relay –> circa 58 mA
quando comando il relay (tempo relay eccitato 500 ms) il consumo passa a 135 mA
non ho ancora verificato il reale assorbimento delle elettrovalvole. Ho visto sul web che quel tipo di solenoide può essere pilotato con un segnale di lunghezza 20 ms.
pensavo quindi di ridurre il tempo di comando del relay avvicinandomi ai 20 ms. dovrebbero ridursi i consumi.
Volevo un tuo parere, per ridurre i consumi, sulla possibilità di sostituire alla scheda relay un circuitino con transistors e diodo oppure utilizzare un ponte H (non saprei). In fondo nella vecchia centralina le elettrovalvole – sono le stesse- non venivano pilotate con relay o almeno sulla schedina non vedo componenti simili. e la batteria a 9 V durava una stagione.
grazie per i tuoi preziosi consigli e soprattutto per la tua pazienza e disponibilità nel rispondermi.
un saluto
silvano
Autore
Ciao Silvano,
sono contento che tu abbia risolto la parte relativa alla misura della corrente.
Non ho compreso il discorso dei 20ms, intendi millisecondi ? Probabilmente quello che hai letto nelle specifiche delle elettrovalvole è il tempo di innesco ossia il tempo tra l’arrivo del segnale e l’effettiva apertura dell’elettrovalvola.
Solitamente un impianto di irrigazione va avanti per minuti ad irrigare durante il suo funzionamento non per millisecondi.
In merito al discorso consumi, considera che il relay è un solenoide come l’elettrovalvola, con il vantaggio di isolarti il circuito di controllo da quello di attuazione ( nel tuo caso l’elettrovalvola ) semplificandoti la vita.
Potresti disegnarti la circuiteria in modo da eliminare il relay e costruirti una scheda di controllo diretta con un mosfet o un optoisolatore .. dipende da quanta conoscenza di elettronica possiedi.
ciao Mauro, sì intendevo millisecondi. l’elettrovalvola è bistabile e secondo specifiche dovrebbe bastare un impulso della durata di 25 millisecondi (ho ricontrollato) per far cambiare stato. stasera se riesco provo a verificare l’assorbimento dell’elettrovalvola. Devo dire che a livello hardware mi sono sempre occupato poco e, con il passare del tempo sono parecchio arrugginito.sai se ci sono schemini dai quali attingere? grazie. silvano
PS: mi chiedo chetipo di componenti possono utilizzare per le centraline di irrigazione alimentate con batteria 9 volts.. bah?!?
grazie ancora
Autore
Ciao Silvano,
se bistabile allora ti bara dargli un impulso di apertura ed uno di chiusura.
Siccome l’impulso dura millesimi di secondo direi che va benissimo con un relay ti semplifica di molto la vita.
proverò senz’altro. grazie Mauro. quando avrò finito.. ti passo il progetto..anche se non è sicuramente rivoluzionario..
ciao
silvano
Ciao mauro come faccio a sapere se arduino riesce ad alimentare tutti i sensori che voglio aggiungere? c’è un modo per saperlo? come faccio a capire quanto consuma ogni sensore? Grazie
Autore
Ciao Gennaro,
il produttore del sensore deve scrivertelo nel datasheet del sensore.
Tu calcola sempre un 20-30% di margine rispetto alle specifiche per non sovraccaricare Arduino, al massimo li alimenti esternamente.
Ciao Mauro,
leggo sempre con piacere i tuoi articoli su Arduino dai quali sto imparando, da profana, un sacco di cose.
Ora ho un problema nel capire i consumi di Arduino: seguendo le tue indicazioni ho inserito il tester in serie (sia a monte che a valle) tra pc ed il progetto Arduino, al quale sono collegati un modulo SD, un bluetooth ed un accelerometro; in “stand by” il consumo variava tra un 7mA a 50mA con il bluetooth lampeggiante, a bluetooth collegato al cellulare senza scambio dati il consumo si stabilizzava a circa 20mA (saliva a circa 27mA in trasferimento dati da SD Arduino a cell), in scrittura su SD bluetooth accoppiato ma senza trasferimento dati sempre attorno ai 21mA…. possibile? La cosa mi sembra alquanto strana. Ho impostato il tester (digitale) ad un range di 200mA, puoi darmi qualche suggerimento?
Grazie di tutto ma soprattutto per i tuoi articoli che sono sempre scritti con estrema chiarezza.
Mic
Autore
Ciao Michela,
forse non ho compreso la richiesta: ti stupisce che la la scrittura su SD comporti un assorbimento di soli 21mA?
Ciao Mauro,
Ho alcune domande in merito
Scusa l’ignoranza ma cosa si intende per “…collega il terminale negativo del tuo progetto alla sorgente elettrica, sia essa proveniente da una batteria o da un alimentatore… “?
Come faccio a calcolare l’intero assorbimento del circuito in caso di più componenti?
Io per esempio ho due motori DC, un servo, un modulo WIFI nrf24L01+ e il ponte H. devo mettermi con il multimetro dopo ogni componente seguendo il flusso di corrente (da + a -) e sommare i vari risultati?
Autore
Ciao Alberto,
dovrai collegare il tester come mostrato nell’articolo, se non sai usare il tester come amperometro puoi cercare sul web uno schema di come si fa.
Per calcolare l’intero assorbimento del circuito devi costruirlo tutto e poi misurare l’assorbimento in toto alla massima funzionalità, ossia con tutti gli attuatori e sensori in funzione.
ok grazie della risposta
appena riesco faccio qualche prova
Ciao Mauro,
Ottimo, dopo vari tentativi ho capito la logica per mettere in serie il multimetro e calcolare l’assorbimento.
Non appena arrivano due motori DC che ho ordinato farò la prova per calcolare l’intero assorbimento del circuito. grazie mille!!
Ho un ulteriore domanda: supponiamo che il mio circuito assorbe alla massima funzionalità 1A. come dimensiono la batteria in modo da farla durare per esempio 10 minuti?
Cioè mi chiedo, se il circuito assorbe 1A (1000mA) dovrò prendere una batteria con almeno 1A per farlo funzionare (giusto?), ed essendo espresso in mA/h la durata sarà di 1 ora. se volessi che duri meno di un’ora, abbassando l’amperaggio della batteria funziona ancora il circuito?
Sicuramente sarà una domanda banale ma in elettronica faccio ancora fatica…
grazie mille
Autore
Ciao Alberto,
il ragionamento è corretto: 1Ah = 1000mAh ossia 1000 mA per 1 ora, quello che ti manca per concludere il ragionamento è la capacità di scarica che riguarda le batterie, ad esempio le LiPo la indicano come nC dove n indica la capacità( come numero ) di erogare corrente alla massima capacità di scarica.
Ad esempio se una LiPo è 1Ah 20C vuol dire che è in grado di erogare fino a 20 volte la corrente indicata 1A x 20 = 20A istantanee ovviamente scaricandosi molto velocemente ed in taluni casi mettendo a rischio la sicurezza della stessa batteria. In generale verifica la batteria che acquisti che capacità di scarica possieda ma non arrivare al limite.
Grazie mille Mauro dei consigli! mi stai risolvendo più dubbi tu in 3 post che un mese di lettura dei vari forum
Quindi una batteria da 1200mAh con 0.2C (che nelle è espresso in 0,2C A) erogherà 1,2A per circa 5 ore
Mentre invece una ( per l’esattezza) da 1000mAh con 5C durerà circa 12 minuti?
Autore
Ciao Alberto,
in primo luogo ti chiedo di rispettare le 3 semplici regole del blog che avrai letto in fondo ad ogni articolo.
I link, questa volta, li ho lasciati eliminare al sistema automatico.
In ogni caso non ho compreso quello che vuoi dire, una batteria da 1200mAh non ha senso che possa erogare 0,2C o 0.2C sarebbe come dire che una macchina in grado di raggiungere i 300Km/h può andare al massimo 60Km/h.
L’errore maggiore che spesso commette chi arriva in questo ambito è pensare di poter imparare tutto dai forum e dal web, io consiglio dei buoni libri di elettronica, magari anche solo di media superiore, che chiariscono molti più dubbi di un forum 🙂 è li che ricerco le mie risposte.
Ciao Mauro, scusa per i link davvero non volevo era anche evidenziato
Si ha poco senso quel dimensionamento della batteria ma era per capire la logica. è una batteria che ho trovato su quel sito di e-commerce.
La mia esigenza è avere una batteria che duri circa 10/15 minuti e che possa alimentare il mio circuito che assorbe circa 1000mAh
lo so che vado diretto alle domande è solo che mi sto concentrando di più sul realizzare un’idea invece che imparare
Autore
Ciao Alberto,
uno degli aspetti che reputo più interessanti di questo mondo è che la voglia di realizzare un progetto è stimolo ed occasione per studiare ed approfondire argomenti nuovi.
Nel tuo caso il calcolo è semplice:
1000mAh di batteria terrebbero il circuito alimentato per 1h ( se è costantemente richiesta una corrente di 1000mA) e 15 min sono 1/4 d’ora per cui potrebbe bastarti 1000/4 = 250mAh con capacità di erogare 4C minimo.
Io direi che una LiPo 300mA 4C è sufficiente.