batteria si scarica leggendo la tensione con un adc

Ciao a tutti. Ho uno strano problema: ho una batteria "a bottone" (formato 364), che uso come backup per un real time clock. Collegandola all'ADC del microcontrollore (PIC18LF8722), a scheda spenta la batteria si scarica in pochissimo tempo. Su quel pin ho solo inserito un condensatore da 100nF (come mi fu suggerito qualche mese fa, in relazione ad una situazione simile, da qualcuno in questo ng).

La tensione a vuoto della batteria è 1.58V; lasciandola nel circuito ma staccando il filo che la collega al PIC la tensione resta intorno a quel valore (come in effetti dovrebbe essere, visto che il real time clock assorbe 2 uA). Collegando il filo, invece, la tensione si abbatte fino a

1.15V. Il tutto a circuito non alimentato. In cosa sbaglio?

Grazie a tutti

Reply to
stinf
Loading thread data ...

e fin qui ok

non sar=E0, per caso, che tieni il uC non alimentato e con un suo ingresso A/D collegato alla batteria e magari la massa in comune?

-ice-

Reply to
ice

Ehm... sì... è esattamente così...

Reply to
stinf

stinf ha scritto:

per ora non interessiamoci del motivo che ti porta a togliere alimentazione al uC... tanto lo fai per consumare meno :)

tanto per riderci su ti do questa possibile spiegazione, vedi se ti torna: non alimentando il micro la porta dell'a/d non risulta più essere ad alta impedenza e un bel po' di elettroni se ne approfittano per andare a curiosare dentro il micro e, di fatto, lo alimentano;

si tratta di un modo "barbaro" di alimentarlo e corri il rischio di danneggiare qualcosa, sempre che non sia già successo;

per fare quello che vuoi tu serve interrompere tutte le linee del micro quando questo viene scollegato oppure, come tutti fanno, mandare il micro in stand-by o sleep o la modalità che lui preferisce per consumare meno

-ice-

Reply to
ice

ice ha scritto:

Io metterei anche un PNP o un PMOS ad alimentare un partitore anzichè leggere direttamente la tensione di batteria. Le resistenze le metti di valore sufficientemente alto da non far scorrere troppa corrente quando le alimenti, e mandi in conduzione il transistor solo quando vuoi fare una lettura della tensione di batteria... non penso che tu la legga ogni centesimo di secondo...

--
Paolo Squaratti 
"Colonnello, prova con questa...
...Indio, tu il gioco lo conosci..."
Se ho sbagliato non l'ho fatto apposta...
Reply to
Paolone

Beh, quando dicevo "spento" intendevo proprio spento... cioè, l'oggetto non lo uso sempre :) In sostanza, staccando l'alimentazione principale (fisicamente!) ho comunque un assorbimento notevole dalla batteria tampone...

Mi stai dicendo, in sostanza, che il micro si alimenta attraverso i diodi di protezione... avevo pensato a questa eventualità, ma pensavo che, siccome la batteria è a 1.5V e il micro ne richiede almeno 2, non avrei avuto problemi. Evidentemente mi sbagliavo.

Siccome questo collegamento l'ho fatto con una filatura, non posso pensare di metterci chissà che. Una cosa che avevo pensato di provare era di mettere un diodo Schottky contropolarizzato in serie alla linea che va verso il micro, in modo da bloccare la corrente in quella direzione. Però così non sono sicuro che l'ADC funzioni (anzi, penso proprio di no...), senza contare che dovrei comunque "tararlo" per tenere conto della caduta sul diodo...

Altra possibilità: se ci metto un operazionale montato a buffer unitario? Di questo avrei già i pad sul PCB... Lui dovrebbe essere in grado di separare le due cose... e a sistema spento, essendo anche lui spento non dovrei avere problemi... o no?

Ora mi sorge anche un nuovo dubbio: sulla scheda ho una misura dell'alimentazione principale, fatta attraverso un partitore resistivo (alcuni megaohm, per abbassare la corrente). Con la batteria collegata e la scheda spenta, potrei allora ritrovarmi con lo stesso problema, anzi peggio, visto che il partitore è fatto per dare in uscita proprio 2.5V, che è l'alimentazione del micro... Certo, ci sarà una caduta sui diodi di protezione, ma sarà sufficiente?

Ciao e grazie

Reply to
stinf

Purtroppo, come dico anche nella risposta ad ice, non posso fare troppo, poiché si tratta di una filatura. Però l'argomento mi interessa, per eventuali versioni future...

Intendi qualcosa del genere? [FIDOCAD ] MC 65 40 2 0 420 MC 50 50 1 0 080 MC 50 70 1 0 080 LI 50 80 50 90 LI 50 60 50 65 LI 50 65 90 65 LI 50 65 50 70 MC 50 90 0 0 040 LI 65 40 105 40 LI 105 40 105 50 RV 90 50 140 80 TY 40 50 5 3 0 0 0 * R1 TY 40 70 5 3 0 0 0 * R2 TY 90 60 5 3 0 0 0 * ADC TY 95 50 5 3 0 0 0 * /Enable TY 110 65 5 3 0 0 0 * uC LI 50 30 50 25 MC 50 25 3 0 010 TY 55 20 5 3 0 0 0 * Batt

Reply to
stinf

stinf ha scritto:

qualcosa del genere

dentro il micro mica c'è un interruttore che sotto la tensione di alimentazione minima lui si esclude... non è garantito che funzioni questo si, ma il micro assorbe anche ad 1V

no, non va

da problemi invece... basta leggere il ds dell'opamp e vedrai che non puoi salire sopra la vcc ne scendere sotto la vee... se vcc è zero non puoi mandare tensioni su ingresso/uscita altrimenti lo rompi

la butto lì: hai tenuto conto del fatto che se la vdd scende allora anche il micro ragiona con livelli Voh-min Vol-max diversi?

non lo so ma come dicevo il sistema così fatto a me lascia qualche dubbio

-ice-

Reply to
ice

Hai ragione, questa è stata una mia leggerezza.

Come temevo :|

In realtà lo sto provando: lui non si rompe, ma il consumo (soprattutto con il sistema in standby) aumenta di parecchio: evidentemente non è una buona idea neanche questa...

Sì... Però avevo dimenticato che l'interruttore di accensione si trova a monte del partitore. Ergo, con il sistema spento nel partitore non arriva nulla (come del resto è ovvio che sia...)

Anche a me :) Mi sa che rinuncerò (almeno in questa fase) a leggere la tensione sulla batteria tampone e mi terrò solo l'altra...

Ciao e grazie

Reply to
stinf

con

ona

il fatto che un IC non si guasti non =E8 indice che il modo in cui lo usi =E8 corretto;

l'opamp probabilmente non si =E8 guastato perch=E8 ha dei diodi di protezione interni verso i supply-rails e/o le correnti in gioco sono basse. non esiste pilotare un componente attivo senza averlo prima alimentato!

per completezza aggiungo che esistono dei micro con (H)LVD integrato... hai un interrupt quando scendi sotto la soglia impostata e cos=EC sai che la tensione di alimentazione =E8 troppo bassa... eviti molti problemi e non devi tenere acceso l'adc

magari per un progetto futuro ti potr=E0 servire

-ice-

Reply to
ice

stinf ha scritto:

Si, esatto. Eventualmente puoi fare anche come nello schema che riporto sotto modificato. In questo modo ti sleghi dal fatto che la tensione di batteria debba essere per forza la VDD del pic micro per riuscire a spegnere completamente il PMOS. Nota inoltre che la polarità logica del segnale "Enable" è cambiata... ciao

[FIDOCAD] MC 65 40 2 0 420 MC 50 50 1 0 080 MC 50 70 1 0 080 LI 50 80 50 90 LI 50 60 50 65 LI 50 65 50 70 MC 50 90 0 0 040 TY 40 50 5 3 0 0 0 * R1 TY 40 70 5 3 0 0 0 * R2 LI 85 75 125 75 LI 140 50 140 60 RV 125 60 175 90 TY 125 70 5 3 0 0 0 * ADC TY 130 60 5 3 0 0 0 * Enable TY 145 75 5 3 0 0 0 * uC MC 85 50 0 1 300 LI 50 20 50 15 MC 50 15 3 0 010 TY 55 10 5 3 0 0 0 * Batt MC 70 20 1 0 080 LI 70 30 70 40 LI 70 40 65 40 LI 70 20 50 20 LI 50 20 50 30 LI 70 60 70 85 LI 70 85 50 85 MC 65 70 0 0 030 LI 65 70 60 70 LI 60 70 60 65 LI 60 65 50 65 LI 85 75 80 75 LI 80 75 80 70 LI 80 70 75 70 MC 95 50 3 0 115 LI 95 50 85 50 LI 105 50 140 50 SA 50 65 SA 70 40 SA 50 20
--
Paolo Squaratti 
"Colonnello, prova con questa...
...Indio, tu il gioco lo conosci..."
Se ho sbagliato non l'ho fatto apposta...
Reply to
Paolone

stinf ha scritto:

la=20

questo potrebbe andare: e' semplice, non servono altri I/O e quando Vdd e' presente manda in batteria 1uA circa.

[FIDOCAD] MC 45 20 1 1 280 MC 70 35 1 0 115 MC 75 40 1 0 170 MC 75 55 0 0 045 MC 15 55 0 0 045 MC 60 20 1 0 115 MC 65 20 0 0 010 MC 80 35 0 0 000 LI 15 35 35 35 LI 45 20 50 20 LI 60 20 65 20 LI 55 35 60 35 LI 70 35 80 35 LI 75 35 75 40 LI 75 50 75 55 TY 75 15 5 3 0 0 0 * +2.5Vdd uC TY 45 10 5 3 0 0 0 * 470K TY 40 40 5 3 0 0 0 * 547 TY 60 40 5 3 0 0 0 * 10K TY 90 30 5 3 0 0 0 * ADC in SA 75 35 TY 10 30 5 3 0 0 0 * +1.5Vbatt MC 15 35 0 0 450 TY 80 45 5 3 0 0 0 * 10n

saluti

--=20 lowcost

Reply to
lowcost

Grazie, se riuscirò a inserire i componenti extra (in particolare la R da

470k e il bjt) lo proverò senz'altro.
Reply to
stinf

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.