Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Rilevazione tensione batteria

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[1] Rilevazione tensione batteria

Messaggioda Foto UtentematteoDL » 14 ago 2013, 13:45

Devo rilevare la tensione di una batteria usando l'ADC di un PIC micro. Il PIC in questione è un 18f26j50 e sto effettuando la misurazione sul pin RA5. Lo stesso pin è anche collegato internamente al modulo HLVD (High Low Voltage Detection) che mi fa scattare un interrupt quando la tensione scende sotto gli 1,2V e mi è utile per mandare rapidamente il dispositivo in Deep Sleep allo scopo di ridurre i consumi.
Per risparmiare pin mi è comodo quindi usare lo stesso per entrambi i moduli.
La soluzione adotta ora è questa:

cioè un semplice partitore e tutto funziona bene, infatti non ho postato la domanda nella sezione microcontrollori poiché è un problema strettamente elettronico.
Il rapporto delle resistenze è stato così scelte poiché la tensione sul pin non deve superare i 3,3V e non deve scendere sotto gli 1.2V quando la batteria è attaccata. La batteria può avere una tensione compresa tra 13V e 7V risultando quindi sul pin in una tensione tra poco più di 1.20 a 2.24 circa.
Il fatto è che questa soluzione mi porta ad avere un consumo statico piuttosto fastidioso (fino a 4,3mA). La scelta delle resistenze è dovuta alla richiesta del datasheet di non avere possibilmente un'impedenza del generatore equivalente al circuito esterno maggiore di 2,5k\Omega.
Quale altra soluzione potrei adottare? È giusto calcolare la resistenza equivalente come il rapporto tra la tensione della batteria e la corrente di cortocircuito (portando il pin a massa)?
Pensavo di mettere un condensatore esterno sul pin, anche se in teoria non abbassa l'impedenza equivalente aiuta comunque a caricare il condensatore interno.

Forse il limite di 2,5k\Omega può essere aggirato conoscendo il circuito interno?
ADC.jpg
ADC.jpg (53.13 KiB) Osservato 7856 volte
Avatar utente
Foto UtentematteoDL
704 3 7
Expert
Expert
 
Messaggi: 310
Iscritto il: 26 feb 2012, 20:49

2
voti

[2] Re: Rilevazione tensione batteria

Messaggioda Foto Utenteboiler » 14 ago 2013, 14:49

Sarei pronto a scommettere mezza birra (sì, sono tirchio) che il limite è scelto in modo che il condensatore C_hold si carichi/scarichi in modo sufficientemente rapido (dipende dal sampling rate dell'ADC). Dato che la tensione che vuoi misurare tu è DC, un condensatorino, come dici, risolverebbe il problema.

Ciao Boiler
Avatar utente
Foto Utenteboiler
26,4k 5 9 13
G.Master EY
G.Master EY
 
Messaggi: 5600
Iscritto il: 9 nov 2011, 12:27

5
voti

[3] Re: Rilevazione tensione batteria

Messaggioda Foto Utentecarloc » 14 ago 2013, 15:11

matteoDL ha scritto:È giusto calcolare la resistenza equivalente come il rapporto tra la tensione della batteria e la corrente di cortocircuito (portando il pin a massa)?
Pensavo di mettere un condensatore esterno sul pin, anche se in teoria non abbassa l'impedenza equivalente aiuta comunque a caricare il condensatore interno.


No non giusto :( però la buona notizia è che farlo nella maniera giusta ti porta numeri più favorevoli :D

La resistenza equivalente vista è il parallelo tra le due R del partitore, quindi in pratica puoi aumentare le resistenze di circa 5 volte con conseguente miglioramento su tutti i fronti.

Il condensatore in parallelo è poi un'ottima idea :ok: che in effetti come dice Foto Utenteboiler una parte del problema è caricare il condensatore del S/H interno velocemente.
Però c'è anche l'aspetto della corrente di leackage rappresentata nello schema equivalente dell'ADC. Quei +/-100nA producono una caduta nella resistenza equivalente vista.

Con i 2,5kΩ consigliati si avrebbero al più Vos=2,5kΩ x 100nA= 250μV cioè se l'ADC avesse 12bit avresti un LSB di errore con fondo scala (cioè Vref) pari circa Vref=250μV x 4096= 1V (circa)

Ora vedi un po' tu ma direi che se:

i) ti accontenti un po'
ii) usi un riferimento più elevato
iii) magari il range di temperatura di utilizzo è un po' "rilassato"

se tutti i se qui sopra potresti anche aumentare un po' la specifica sulla resistenza vista e diminuire ulteriormente il consumo statico del partitore.

Altrimenti ci va un buffer ad opamp :D Ma occhio alle sue derive ed offset che rischi di far peggio :shock:
Se ti serve il valore di beta: hai sbagliato il progetto!
Avatar utente
Foto Utentecarloc
33,8k 6 11 13
G.Master EY
G.Master EY
 
Messaggi: 2153
Iscritto il: 7 set 2010, 19:23

0
voti

[4] Re: Rilevazione tensione batteria

Messaggioda Foto UtentematteoDL » 14 ago 2013, 16:50

carloc ha scritto:La resistenza equivalente vista è il parallelo tra le due R del partitore, quindi in pratica puoi aumentare le resistenze di circa 5 volte con conseguente miglioramento su tutti i fronti.


Perfetto grazie, non so perché mi sia venuto in mente quel modo che in effetti è sbagliato.
Portando il generatore a zero e misurando l'impedenza ai capi capisco anche perché il condensatore aiuti, visto che ora rientra nell'equazione.
Con il nuovo calcolo (quello giusto) e volendo mantenere circa lo stesso rapporto posso scegliere una resistenza da 12k e l'altra da 2,7k. In questo ora scatta sotto ai 6,5V e diventa dannoso sopra i 18V ma mi va bene comunque. La resistenza equivalente è ora circa 2,2k e rispetta quindi le specifiche. Il consumo scende a meno di un 1mA alimentando a 13V che è già più accettabile.
Il condensatore posso lasciarlo stare avendo così una velocità di risposta maggiore.
Sapendo che il tempo di acquisizione è di 26,6us e l'errore massimo tollerato è +/-5mV, considerando di poter regolare via software l'errore fisso dovuto ai 100nA, si potrebbe osare oltre, ma non avendo informazioni sul comparatore usato dal HLVD preferisco fermarmi qui e accontentarmi. Grazie delle dritte!
Avatar utente
Foto UtentematteoDL
704 3 7
Expert
Expert
 
Messaggi: 310
Iscritto il: 26 feb 2012, 20:49

0
voti

[5] Re: Rilevazione tensione batteria

Messaggioda Foto Utentemarioursino » 15 ago 2013, 16:36

Ciao matteo, io avevo lo stesso problema con il temporizzatore della reflex, ho usato un partitore da qualche mega-ohm (sono da cell e non ho i simboli) con una buona capacità da punto centrale e massa. Il sistema è però sempre meno reattivo e forse a te non va bene perché lo usi per non scaricare la batteria bottone e avresti un ritardo troppo grande.
Avatar utente
Foto Utentemarioursino
5.687 3 9 13
G.Master EY
G.Master EY
 
Messaggi: 1598
Iscritto il: 5 dic 2009, 4:32

0
voti

[6] Re: Rilevazione tensione batteria

Messaggioda Foto UtentematteoDL » 15 ago 2013, 23:38

Si esatto mi va meglio evitare il condensatore se possibile. Consumare poco meno di 1mA quando la batteria principale è attaccata è anche accettabile ma qualche ms in più con solo la batteria tampone che alimenta tutto a pieno regime è disastroso.
Avatar utente
Foto UtentematteoDL
704 3 7
Expert
Expert
 
Messaggi: 310
Iscritto il: 26 feb 2012, 20:49

0
voti

[7] Re: Rilevazione tensione batteria

Messaggioda Foto Utentemarioursino » 16 ago 2013, 1:29

In realtà per evitare del tutto il problema campionavo usando un mosfet in low side, ma avevo un pic12 e potevo anche sprecare un pin tanto non mi serviva.

Avatar utente
Foto Utentemarioursino
5.687 3 9 13
G.Master EY
G.Master EY
 
Messaggi: 1598
Iscritto il: 5 dic 2009, 4:32

1
voti

[8] Re: Rilevazione tensione batteria

Messaggioda Foto UtenteIsidoroKZ » 16 ago 2013, 7:47

Direi che non vada bene perche' quando apri il MOS per non consumare corrente, la tensione di ingresso al micro prova ad andare al valore della batteria, e il micro potrebbe non essere contento.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00


Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 101 ospiti