Forum: Mikrocontroller und Digitale Elektronik PIC Batteriespannung messen


von Holger (Gast)


Lesenswert?

Hallo
Wie kann man mit einem PIC 18F2420, die
Batteriespannung messen, wenn gleichzeitig die
Versorgungsspannung auch aus der Batterie für den
µC kommt ?
Zu messende Spannung liegt zwischen 1,8V und 4,5V.
Habe im moment als Referenzspannung, 4 Dioden plus
Widerstand genommen. Dabei schwankt die Spannung,
um 0,4V, wenn die Batterie 1,8V oder 4,5V hat.
Gibt es eine bessere Lösung, damit die Referenzspannung
stabieler bleibt ?

von sandfrog (Gast)


Lesenswert?

Wen du den Pic direkt an der Batterie hängen hast musst du unterhalb der 
der minimalen Betriebspannung also die Referenzspannung auf fix <1,8V 
und da dann halt so mit Spannungsteiler die Max. Bat. Spannung auf die 
Größe der Ref.spg. teilen.

Oder halt die Referenzspannung hochziehen auf nen Fix wert oberhalb der 
Batteriespannung.

von Max H. (hartl192)


Lesenswert?

Holger schrieb:
> Gibt es eine bessere Lösung, damit die Referenzspannung
> stabieler bleibt ?
Etwas besseres als Dioden, wie z.B. einen TL431, verwenden.

von Holger (Gast)


Lesenswert?

Und das soll das schwanken der
Referenzspannung verhindern ?
Weil sonst kann ich nicht genau mit dem A/D Wandler
messen.

von Holger (Gast)


Lesenswert?

Habe schon den LM 339 versucht, aber der ist
auch nicht besser.

von Max H. (hartl192)


Lesenswert?

Zeig uns mal deinen Schaltplan.

von Holger (Gast)


Lesenswert?

Schaltplan gibt es nicht.
Aufgebaut so:
+ Batt, Widerstand (1K), Diode, Diode, Diode, Diode, Minus Batt
Zwischen Widerstand und Diode, zum µC auf den Wandler.
Das ist alles.

von Holger (Gast)


Lesenswert?

Natürlich nicht auf den Wandler sondern
auf +Vref und -Vref auf Masse

von Max H. (hartl192)


Lesenswert?

SO kann das nicht funktionieren, Dioden sind keine Spannungsquellen. 
Wenn V_bat < 4*0.7V = 2.8V wird, dann kann die Ausgansspannung deiner 
Spannungsreferenz auch nicht mehr 2.8V sein.

Ich würde Vdd als Referenzspannung für den ADC verwenden und eine 1024mV 
Referenz, oder wenn's nicht so genau werden muss einen 1.2V LDO, mit dem 
ADC messen.
Wenn du dich auf diesen PIC noch nicht festgelegt hast, kannst du auch 
einen nehmen, der diese Referenz eingebaut hat.

: Bearbeitet durch User
von Holger (Gast)


Lesenswert?

Die Dioden und der Widerstand dienen als Spannungsteiler.
Je nach Widerstand, habe ich eine Spannung zwischen
2,5V und 2,9V. Das liegt an der Batteriespannungspannung
wie hoch der Wert ist. Also bei 5V habe ich 2,9V und
bei 2,8V habe ich 2,5V als Referenzspannung.

von lrep (Gast)


Lesenswert?

Holger schrieb:
> Zu messende Spannung liegt zwischen 1,8V und 4,5V.
> Habe im moment als Referenzspannung, 4 Dioden plus
> Widerstand genommen

Dioden sind sehr schlecht geeignet, weil sie große Exemblarstreungen 
aufweisen und vor allem, weil die Flußspannung stark temperaturabhängig 
ist.
Besser geignet ist z.B. der ZRA125 (1,25V) oder CA5010 (1,237V) um nur 
einige zu nennen, die ich in der Bastelkiste habe.

Wenn du die Betriebsspannung des µC ermitteln willst, bietet es sich 
auch an Referenz und Messwert zu vertauschen und als Referenzspannung 
die Betriebspannung des µC zu benutzen und mit dem ADC die geringere 
Spannung des Referenzelements zu messen.

von Holger (Gast)


Lesenswert?

Ja anders herum könnte man es machen.
Nur das setzt vorraus das die Referenzspannung
stabiel ist. Was sie ja nicht ist.
Habe es mal mit einem LM339 probiert. Der hält
die 2,5V Spannung stabiel bis die Batteriespannung
unter 3,7V fällt. Dann sinkt auch die Ausgangsspannung
des LM339.

von Holger (Gast)


Lesenswert?

LM336 muß es heisen.

von lrep (Gast)


Lesenswert?

Holger schrieb:
> Nur das setzt vorraus das die Referenzspannung
> stabiel ist. Was sie ja nicht ist.

Stabilität ist das Wesentliche an Referenzspannungsquellen.
Sonst sind es eben keine.
Der oben erwähnte ZRA125 z.B. hat typisch im Arbeitsberich von 50µA bis 
5mA einen Innenwiderstand von 0,65 Ohm und einen Tk von 30ppm/°C.
Stabil genug?

von Holger (Gast)


Lesenswert?

Werde es mal mit einem
LT 1004 versuchen. Mit 1.25 V
Ist der dafuer geeignet oder
gibt es bessere ?

von ./. (Gast)


Lesenswert?

Statt einer Referenz kann man bei geringeren Anspruechen auch
einfach eine rote LED nehmen.

Das sollte eine richtige rote und keine gepimpte sein.
Erkennt man an der typischen Flussspannung von 1.6 V.

So faellt nebenbei gleich noch eine Betriebsanzeige ab...

Mehr als 100 uA braucht man der Diode dafuer auch nicht zu spendieren.

Wenn die Spannung der Referenz bei niedrigerer Batteriespannung
kleiner wird, kann man das mit Hilfe einer Tabelle approximieren.

Fuer ueberschlaegige Messungen der Batteriespannung sollte
das aber eigentlich nicht noetig sein.

Vermutlich ist Deine Batterie bei 1.8 V sowieso im Zustand "leer".

von Holger (Gast)


Lesenswert?

Ja das ist es. Mit der LED geht es.
Hab nun eine Referenzspannung die um
50mV schwankt. Das kann man im Programm
rausrechnen. wenn  nötig ist.
Auf die einfachsten Sachen kommt man nicht.
Danke dir.

von WehOhWeh (Gast)


Lesenswert?

Also ich schlage folgendes vor:
Eine LM4040 oder TL431 mit z.B. 2V5. Diese Spannung misst du, mit der 
Batteriespannung als VREF. Aus dem ADC-Rohwert kann man die tatsächliche 
Batteriespannung dann leicht berechnen.

Zusatznutzen: Dadurch kann man alle anderen ADC-Ergebnisse um den Fehler 
der schwankenden Spannung rechnerisch bereinigen.

Die LM4040 / TL431-Schaltung schaltet man am besten vor der Messung über 
einen normalen IO-Pin zu (und danach wieder ab), so kann man unnötigen 
Stromverbrauch vermeiden.

Wegen der LED und Dioden: Das ist eine recht ungenau. LED und Dioden 
haben einen Temperaturkoeffizienten von so um die -2mV/K. Dazu schwankt 
dann noch die Spannung an der LED/Diode mit dem Strom bzw. der 
Batteriespannung.
Summa Sumarum wird die Messung dadurch unbrauchbar ungenau.

von Frank K. (fchk)


Lesenswert?

Wenn Du schon ein batteriebetriebenes Gerät baust, solltest Du auch 
einen moderneren, stromsparenderen PIC wählen: statt PIC18F2420 den 
PIC18F24K20. Der kann mehr, braucht weniger Strom und ist obendrein auch 
noch billiger.

fchk

von Chris (Gast)


Lesenswert?

der PIC18F24K20 hätte auch schon eine 1,2V referenz eingebaut
die würde das ganze unterfangen schon vereinfachen

von Holger (Gast)


Lesenswert?

Mit einem Referenzspannungs IC habe ich es schon
versucht. LM 336 2,5V. Bis zu einer Bat Spannung von 3,7V
blieb die Ref Spannung konstant auf 2,5V. Darunter sank sie dann
drastig ab. Mit der LED ist sie um einiges stabieler. Muß
mal schauen wie es sich mit niedriger Temperatur verhält.
Stromsparen ist hier nicht das wichtigste. Der Pic ist die
meiste Zeit im Sleep Modus, und so hält die Batterie 2 Jahr.
Da lohnt sich ein anderer Pic nicht.

von Holger (Gast)


Lesenswert?

Der Pic 18F24K20 wäre auch eine möglichkeit.
Werde ich mir mal genauer ansehen.

von ./. (Gast)


Lesenswert?

> LED ... haben einen Temperaturkoeffizienten von so um die -2mV/K

Wo hast Du denn das her?

Wohl in der Vorlesung nicht aufgepasst.

Eine rote LED benutzt kein Silizium...

von WehOhWeh (Gast)


Lesenswert?

./. schrieb:
>> LED ... haben einen Temperaturkoeffizienten von so um die -2mV/K
>
> Wo hast Du denn das her?
>
> Wohl in der Vorlesung nicht aufgepasst.
>
> Eine rote LED benutzt kein Silizium...

Bevor man rummeckerst, sollte man sich erst einmal informieren. z.B. da:
http://www.osram-os.com/Graphics/XPic5/00146491_0.pdf/LS%20M676%20-%20Mini%20TOPLED.pdf

Dass da nicht SI drin ist, ist mir klar (lt Datenblatt ist das InGaAlP)

Ich darf zitieren:
Temperature coefficient Vf = -2.0 mV/K

Und die LED ist eindeutig rot. Steht zumindest im Datenblatt.
Alles andere mach bitte mit OSRAM aus. Die stellen das her und behaupten 
dass das so ist ;-)

von ./. (Gast)


Lesenswert?

Die klassische rote LED ist aus GaAsP gefertigt.
Der TK der BandGap-Spannung von GaAsP liegt bei 0.25 mV/K.

Geh wek mit Deinem InGaAlP-OSRAM-Kram.

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.