Go Down

Topic: "consumo dell'analogRead" (Read 3725 times) previous topic - next topic

GINGARDU

se faccio un progettino che include una pila commerciale da 1,5 volt  quanta corrente preleva (se pur minima)  approssimativamente arduino   tendo sempre collegato  (acceso o spento)

ovviamente analogRead serve solo per vedere se la pila e ancora ad un voltaggio accettabile o e da sostituire

leo72

Perché non usi il comparatore analogico interno? Essendo a tutti gli effetti un op-amp, i suoi ingressi hanno un'elevata impedenza per cui il consumo è ridotto. Inoltre rispetto all'ADC è più veloce e molto più preciso.
Tempo fa ho scritto un'apposita lib, la trovi sul mio sito (anche sul forum ho messo un pò di documentazione).

Etemenanki

Vero, ma considera che ci deve solo leggere la tensione della batteria, che non varia velocemente ... gli ingressi analogici hanno circa 100Mohm di impedenza interna, se ci colleghi direttamente una pila da 1.5V, l'ingresso ti consuma circa 15 nA (NANO) ... la scarichi di piu se la guardi male o la insulti :P XD
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

GINGARDU

ok tanks a tutti e due    ;)
allora posso stare tranquillo   che una pila stilo  da 1,5 volt  non viene scaricata in poche  settimane  dall'arduino  stesso

BaBBuino

Ma l'Arduino lo alimenti con la pila? No eh!

Più che altro puoi mettere un pulsante che l premi solo quando vai fisicamente sullo scatolo da misurare, così ciucci corrente solo in quell'istante.

leo72

Beh, allora un piccolo MOSFET logic level a canale N, normalmente è aperto e non conduce. QUando vuoi leggere la batt, gli dai segnale e quello ti chiude la linea che va all'ingresso analogico.

BaBBuino

Sempre un pulsante da qualche parte devi schiacciare...

leo72

No, perché il Mosfet puoi pilotarlo da codice, facendo una lettura ogni tot tempo.

BaBBuino


No, perché il Mosfet puoi pilotarlo da codice, facendo una lettura ogni tot tempo.


Quando lui non c'è e non la vede nessuno? XD

GINGARDU


Ma l'Arduino lo alimenti con la pila? No eh!

Più che altro puoi mettere un pulsante che l premi solo quando vai fisicamente sullo scatolo da misurare, così ciucci corrente solo in quell'istante.


no è una pila stilo commerciale da 1,5 volt  l'arduino viene alimentato dalla rete elettrica però il pin A0  sara sempre collegato al + della batteria anche quando l'arduino  spento 
il tutto serve semplicemente per sapere quando la batteria scende  sotto 1,3 volt (batteria scarica o quasi)
la verifica della  tensione viene fatta nel set up

il dubbio era che lasciando sempre il pin collegato poteva scaricarsi con facilita

BaBBuino

Considera che in qualsiasi batteria c'è un materiale o liquido isolante che isola i due poli.
Siccome l'isolante perfetto NON esiste, ci sarà sempre una piccola corrente di migrazione "interna" alla batteria, che nel tempo la esaurisce (infatti una confezione NUOVA di batterie, se ha più di due anni, probabilmente conterrà batterie mezze scariche, anche se non hanno alimentato alcun utilizzatore).

Queste correnti sono dell'ordine delle centinaia di pA, quindi tra un pò è più alta questa corrente che non quella che ciucci tu con il pin analogico.

Etemenanki


...
Queste correnti sono dell'ordine delle centinaia di pA, quindi tra un pò è più alta questa corrente che non quella che ciucci tu con il pin analogico.


Be', no, 15 nanoampere sono moooolto piu alti di un centinaio di picoampere ... :P XD

Pero', per semplificare, potresti usare un'integrato dedicato per il controllo delle batterie, che quando la tensione scende sotto una certa soglia, attiva un'uscita di allarme, che puoi leggere con un secondo arduino, il quale pilota un braccio robotico, che preme un pulsante, facendo accendere un led, che ti segnala la sottotensione ... ovviamente, anche le batterie del secondo arduino bisogna controllarle, e allora usi un'altro integrato dedicato, che attiva l'uscita, che leggi con un'altro arduino, che pilota un secondo braccio robotico, che ...

........ aspetta, fammi riflettere ........

... no, forse e' meglio il sistema originale ...

:P :P :P :smiley-yell: :smiley-yell: :smiley-yell: :smiley-mr-green: :smiley-mr-green: :smiley-mr-green:
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

nid69ita


Perché non usi il comparatore analogico interno? Essendo a tutti gli effetti un op-amp, i suoi ingressi hanno un'elevata impedenza per cui il consumo è ridotto. Inoltre rispetto all'ADC è più veloce e molto più preciso.
Tempo fa ho scritto un'apposita lib, la trovi sul mio sito (anche sul forum ho messo un pò di documentazione).


Mi permetto di "sporcare" il thread di @giga perchè mi sembra risolto.
Scusate, ricordo che sono un programmatore e non un elettronico, perciò ho un pò di difficoltà a capire come utilizzare questo comparatore dal punto di vista dei collegamenti.
Scusa @Leo, ho anche letto il thread sul comparatore e sul tuo sito, ma nel caso pratico che suggerisci, come colleghi l'hw?
Sono un pò confuso.   AIN+  (no INTERNAL perchè solo 1,1V) collegato a un riferimento che nel caso dovrebbe essere 1,3V potrebbe essere AIN0 ovvero sulla Uno il digitale 6, mentre AIN-  il positivo della pila (sulla Uno digitale 7). 
Cosa collegheresti a AIN0 come riferimento ?  Mi sembra @giga voglia verificare se la pila da 1,5v va sotto i 1,3V
Grazie se potete illuminarmi.  :smiley-red:
my name is IGOR, not AIGOR

leo72

Puoi usare un semplice partitore di tensione con 2 R con tolleranza dell'1%, ad esempio (lo so, costicchiano un pò di più ma sono più precise) e portare la tensione della batteria ad un valore tale che la tensione a piena carica sia di poco superiore a 1,1V. Quando scende sotto la soglia di 1,1V, l'opamp interno solleva un interrupt intercettato dal codice che poi farà qualcosa (esempio: mettere in sleep il chip oppure chissà cos'altro).

Go Up