Forum: Mikrocontroller und Digitale Elektronik Batteriespannung messen: "Überspannung" an einem Eingangspin?


von Matthias L. (matze88)


Lesenswert?

Hallo!

Ich baue zur Zeit ein Batteriebetriebenes Gerät. Jetzt, wo die Platine 
schon längst fertig ist, fällt mir ein, dass ich sehr gerne auch noch 
eine Möglichkeit hätte, meine Betriebsspannung zu messen.

Die Schaltung wird aus nem Liion Akku versorgt, 3,3V über nen Low Drop 
Regler.

Nun dachte ich mir, machste nen Spannungsteiler mit 2x 1k, aber dann 
wäre ja der Dauerstrom zu hoch. 2x 1M ist auch unpraktikabel, da dann 
der Eingangswiderstand für den µC zu groß ist. Es handelt sich übrigens 
um einen AT Mega 88.

Meine Idee: Die Masse für den Spannungsteiler über einen µC Pin nur zum 
Messen zuschalten. Allerdings hätte ich ja dann, wenn ich den µC Pin als 
Eingang (=hochohmig) definiere, meine Batteriespannung (von max. 4,2 V 
-> 0,9 V über Vcc) an einem Pin. Die Frage ist: Was wird passieren? Es 
wäre ja noch ein 2k Widerstand dazwischen, allerdings möchte ich ja 
gerade erreichen, dass KEIN Strom mehr fließt.

Nen Transistor/Fet zum Trennen der Masse (oder Batterie, wäre ja auch 
okay) kann ich mir im Prinzip nicht leisten, wäre eine absolute 
Notlösung (habe nurnoch nen Doppel-PFet in SO8 rumliegen und außerdem 
ist das dann wieder noch mehr Gefriemel, da ja die Platine schon fertig 
ist, außerdem sehr stark begrenzter Platz).

Hat jemand eine Idee für mich? Habe auch leider nur 1k SMD Widerstände 
da (mein erstes SMD Projekt)

cu
Matze

von Uwe .. (uwegw)


Lesenswert?

Das vernünftigste wäre wohl ein Spannungteiler mit größeren 
Widerständen. Hast du keinen Elektroschrott greifbar? Oder 
THT-Widerstände?

von Falk B. (falk)


Lesenswert?

@Matthias Larisch (matze88)

>Nun dachte ich mir, machste nen Spannungsteiler mit 2x 1k, aber dann
>wäre ja der Dauerstrom zu hoch.

Genau.

> 2x 1M ist auch unpraktikabel, da dann
>der Eingangswiderstand für den µC zu groß ist.

Nöö, das passt. Mach noch 2..10nF An den ADC-Eingang und dein Problem 
ist gelöst.

MFG
Falk

von Ja mann (Gast)


Lesenswert?

>Nen Transistor/Fet zum Trennen der Masse

Da hast du fast das gleiche Problem: Wenn du den Akku über einen 
Widerstand auf einen Portpin hängst, wird durch die internen 
Schutzdioden Strom abfließen.

>kann ich mir im Prinzip nicht leisten
Ich hoffe das meinst du nicht finanziell :-)

Wenn du nur 1k Widerstände da hast ist das leider nicht sinnvoll 
möglich, ausser ein paar 100 in Reihe zu schalten.

Wie auch immer du's dann machst: Eine vernünftige Akkustandsanzeige 
bekommt man so oder so nicht hin, bestenfalls ein 
Hausnummernanzeigegerät.

von Matthias L. (matze88)


Lesenswert?

Danke für deine Antwort. Aber angenommen ich nehme 2x 1 M Widerstände, 
so habe ich hinterher nen Stromverbrauch von 2,1 µA, allerdings habe ich 
bedenken, dass der ADC dann noch richtige Werte misst, da im Datenblatt 
empfohlen wird, nur Quellen mit einer Ausgangsimpedanz < 10k zu 
verwenden. Ich lese jetzt erst nochmal genau über das Sample & Hold 
nach, vor allem, ob der SH Kondensator die ganze Zeit über mit dem per 
MUX selektiertem Kanal verbunden ist oder nur kurzzeitig für die Messung 
verbunden wird. Im ersten Fall dürfte sich ja auch bei 2 M Ohm kein 
Problem ergeben, da sich die Batteriespannung nur sehr langsam verändert 
(1 Entladezyklus ist ~15 Betriebsstunden wobei das Gerät meistens eh im 
Standby verbringt und somit die zu erwartende Laufzeit mehrere Wochen 
beträgt. Deshalb wollte ich auch den Strom durch den Spannungsteiler 
vermeiden, aber mit ~2µA kann ich noch leben.)

cu
Matze


Edit: Ich sollte mal vorm Beitrag abschicken schauen, ob nicht doch mehr 
als 1 Antwort da ist :-)

Deshalb:
@ Falk: Danke dir, ich werde mal schauen, ob ich das mit dem Kondensator 
gelöst kriege. Hoffe mal, dass der Leckstrom von den Kondensatoren, die 
ich hier hab, nicht zu hoch ist.

@ Ja Mann:

Ich erwarte keine Akkuanzeige, die mir anzeigt, dass mein Gerät in genau 
432,582 Sekunden ausgehen wird. Ich möchte einfach merken, wenn meine 
Batteriespannung auf rund 3,0 V fällt, damit ich z.B. keine SD Karten 
Zugriffe mehr mache. Außerdem auch für den Benutzer (mich) schön, wenn 
er im Display sehen kann, dass der Akku jetzt zu 7/8 entladen ist, es 
also an der Zeit ist, eine Steckdose aufzusuchen.

Mein nächstes Problem ergibt sich hier auch gerade schon wieder, ich 
muss leider die interne Referenzspannung nutzen, da ich ja mit der 
Versorgungsspannung bis unter die geregelten 3,3V gehen will und dann ja 
die 3,3V keine Referenz mehr darstellen. Die interne Referenz erfordert 
allerdings einen weiteren Kondensator, mal schauen, wie ich das alles in 
mein Gehäuse quetsche.



So, nochmal vielen Dank an alle.

Matze

von Εrnst B. (ernst)


Lesenswert?

Möglichkeit ohne Spannungsteiler und ohne Zusatzpin:
Referenzspannung auf "AVcc" stellen, und den ADMux auf die interne 
1.1V-Referenz.
Also:
ADMUX=_BV(REFS0)|_BV(MUX3)|_BV(MUX2)|_BV(MUX1);

Dann misst du zwar "Umgekehrt" (Stabiler ADC-Eingangswert, sich ändernde 
Referenzspannung), aber die Batteriespannung (==Betriebsspannung des 
Atmega88) kannst du da wieder rausrechnen.

Edit: Seh grad dass du da noch einen 3.3V - Low Drop Regler dazwischen 
hast. Dann kannst du so natürlich nur messen, wenn die Batteriespannug 
soweit abfällt, dass der nicht mehr nachregelt...

von Carsten (Gast)


Lesenswert?

Bitte, Bitte eine Diode zwischen Ub-µC zum Pin das µCs
in Sperr(r)ichtung.

wenn die Spannung 0,5V (am Pin über Ub) übersteigt, dann rauchts.

von Bensch (Gast)


Lesenswert?

Nur ein Bauteil:
ein Digitaltransistor z.B. BCR191 zwischen Batterie und Spannungsteiler, 
den kann man an geeigneter Stelle auf die aufgetrennte Leiterbahn 
setzen, die Basis direkt an einen uP-Ausgang.

von Falk B. (falk)


Lesenswert?

@ Matthias Larisch (matze88)

>verwenden. Ich lese jetzt erst nochmal genau über das Sample & Hold
>nach,

Tu das.

> vor allem, ob der SH Kondensator die ganze Zeit über mit dem per
>MUX selektiertem Kanal verbunden ist oder nur kurzzeitig für die Messung
>verbunden wird.

Sample und Hold sagt das eigentlich schon. Abtasten und Halten.

>gelöst kriege. Hoffe mal, dass der Leckstrom von den Kondensatoren, die
>ich hier hab, nicht zu hoch ist.

Nimm Folie oder Keramik. Was anderes gibt es in dem Bereich sowieso 
nicht.

Mfg
Falk

von Matthias L. (matze88)


Lesenswert?

Die Lösung von Ernst Bachmann klingt auch noch gut, eigentlich reicht 
mir ja eine Unterspannungserkennung. Die SD Karte sollte bis 3,0V noch 
gut funktionieren, somit kann ich das ganze mit 2 Stufen (< 3,2V, <3,0V) 
erkennen und das reicht mir.

Vielen Dank nochmal an alle :-)

Matze

von Christian B. (casandro)


Lesenswert?

Also ich würde, wenn möglich, auf den Spannungsregler verzichten. 
Zumindest der AtMega sollte bis 5 Volt rauf funktionieren, und der 
Spannungsregler wird wohl immer einen kleinen Querstrom haben.

Das mit dem "Rückwärts" messen würde ich auch so machen. Ich würde den 
Referenzpin auf Versorgunsspannung legen und dann bei einem anderen, 
freien Pin über einen Widerstand eine Diode in Flussrichtung betreiben, 
mit deinem AD-Wandler kannst Du dann den Spannungsfall an der Diode 
(praktisch immer konstant) messen. Du kannst, das ja dann auch über 
einen Ausgangspin ein- und ausschalten. Nebenbei hast Du auch die 
Garantie, dass alle Pins im Bereich deiner Eingangsspannung sind.

von Matthias L. (matze88)


Lesenswert?

Nein, das geht leider nicht. Ich habe im Prinzip meine Schaltung nur auf 
eine bestehende aufgesetzt (GPS Bluetooth Maus mit "Navigator/Logger 
Board"). Der verbaute LowDrop regler (welcher übrigens NICHT 
ausgeschaltet wird, wenn man den ursprünglichen An/Aus Schalter 
benutzt!) benötigt ganze 20µA ;-) Das ist in Ordnung sag ich mal. 
Außerdem gibt es halt viel 3,3 V Peropherie: SD Karte, Bluetooth Modul, 
GPS Modul. Es wird schon nen Grund haben, dass ursprünglich (nur GPS und 
Bluetooth Modul) auch ein Spannungsregler vorgesehen war, die Elektronik 
verkraftet halt keine 4,2 V.

Naja, jedenfalls wie gesagt reicht mir eine Unterspannungsabschaltung 
(möchte damit dann die Tiefentladung und vor allem fehlerhafte Daten auf 
der SD Karte vermeiden), zumal ich dafür keinerlei Hardwareänderungen 
durchführen muss.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.