Misurare tensione...

Ciao a tutti, so che si è già parlato in molti post di come misurare la tensione tramite arduino, ma lo scopo del mio post non è quello di chiedere come si fa.
Sto lavorando ad un progetto che prevede un atmega328 alimentato da una batteria.
Ovviamente sto cercando tutte le soluzioni possibili per far durare la batteria il più possibile, ma mi piacerebbe avere la possibilità di monitorarne il livello.
Ora la mia domanda è...
quanto mi consumano le due resistenze messe in serie per fare il famoso partitore necessario?
Ok, basta fare due calcoli con la legge di ohm e salta fuori il valore che per quanto piccolo sia è sempre uno spreco di energia :frowning:
Quindi ho pensato (a volte mi capita).... e se ci mettessi un transistor come interruttore per interrompere la corrente che passa attraverso il partitore e lo attivassi solo per quei 2 secondi necessari a leggere il voltaggio quando serve?
Che ne pensate?
Si può fare?
Azzererei i consumi inutili quando non serve leggere il voltaggio?
Grazie.

Stefano

Puoi isolare il partitore con un mos per piccoli segnali, anche se hanno una Rdson non bassissima, tipicamente attorno ai 0.1-0.2 ohm, è irrilevante rispetto al partitore.
Però c'è la questione regolatore tensione, questo consuma energia anche con il micro in sleep e parliamo di centinaia di uA per i modelli migliori, fino a qualche mA per i modelli low cost.

Ciao Astro e grazie della risposta...

Puoi isolare il partitore con un mos per piccoli segnali

Hai qualche sigla da consigliarmi al volo?
Anche per capire più o meno di cosa stiamo parlando :smiley:

Però c'è la questione regolatore tensione, questo consuma energia anche con il micro in sleep e parliamo di centinaia di uA per i modelli migliori, fino a qualche mA per i modelli low cost.

Per questo, su consiglio di un amico volevo provare con un LDO oppure con uno step down.
Li ho ordinati tutti e due e sto aspettando che arrivino.
Di meglio non credo si possa fare.

Stefano

Di meglio, si puo alimentare il micro senza regolatore :wink:

Considera comunque che gli ingressi analogici hanno un'impedenza interna intorno ai 500Mohm, se non ricordo male, e che tu stai misurando una tensione sempre connessa, per cui non ti serve che legga variazioni veloci (per le quali servirebbe tenere il partitore sui 10K) ... puoi anche usare un partitore da 1M o piu (con un condensatorino da 10n o simili fra pin e massa per filtrare i disturbi), riducendo al minimo il consumo dello stesso ... :wink:

Etemenanki:
Di meglio, si puo alimentare il micro senza regolatore :wink:

Ci avevo pensato, ma ho dispositivi che vanno sia a 3.3 che a 5V.
Quindi o da una parte o dall'altra un regolatore devo metterlo :frowning:

Considera comunque che gli ingressi analogici hanno un'impedenza interna intorno ai 500Mohm, se non ricordo male, e che tu stai misurando una tensione sempre connessa, per cui non ti serve che legga variazioni veloci (per le quali servirebbe tenere il partitore sui 10K) ... puoi anche usare un partitore da 1M o piu (con un condensatorino da 10n o simili fra pin e massa per filtrare i disturbi), riducendo al minimo il consumo dello stesso ... :wink:

Interessante, quando arriverà alla parte della misurazione dei consumi farò delle prove in merito.
Grazie.

Stefano

se il partitore e sull ordine dei 100k o più, dubito che un qualsiasi transistor/mosfet riesca a falsare la lettura rilevabile con arduino :wink:

Diciamo che non ho nemmeno bisogno di una lettura precisissima.
Mi basta indicativamente sapere se la batteria è carica, a 3/4 a metà o a 1/4.

Se non vuoi usare un riferimento esterno (tipo ad esempio TL431A o simili, che sono comunque piu precisi dei riferimenti interni), usa il riferimento interno ad 1.1V ed un partitore di alto valore ... se ad esempio usi una LiPo o simili, potresti usare 470K e 120K, la corrente sarebbe veramente bassa, intorno ai 5 o 6 uA al massimo ...

Etemenanki:
usa il riferimento interno ad 1.1V

Mi stai parlando di una cosa che non conosco.
Cos'è questo riferimento interno 1.1V?

Uno dei tre possibili riferimenti di tensione dell'ADC interno al 328P ... si puo usare l'alimentazione di default, oppure una sorgente esterna collegata al pin AVCC, oppure abilitare il riferimento interno di 1.1V del micro (in quel caso il pin AVCC va a massa con un condensatore da 100n, e non bisogna connetterci altro)

Ok, imparata un'altra cosa nuova.
Ora devo mettermi a cercare argomenti su questa cosa per capire bene a cosa serve e come funziona :slight_smile:
Ti ringrazio della dritta.

Stefano

Ovviamente, ricordarsi che poi la massima tensione misurabile dipendera' da quella di riferimento (nel senso che la massima tensione "applicabile" ai pin rimane il 5V, ma se ad esempio usi il riferimento ad 1.1V, misuri fra 0 ed 1.1, tutto quello che e' piu alto e' considerato il massimo, o in overflow, comunque la si voglia vedere ... e lo stesso se si applica una tensione diversa dai 5V al pin AVCC)