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 ?
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.
Holger schrieb:> Gibt es eine bessere Lösung, damit die Referenzspannung> stabieler bleibt ?
Etwas besseres als Dioden, wie z.B. einen TL431, verwenden.
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.
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.
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.
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.
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.
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?
Statt einer Referenz kann man bei geringeren Anspruechen auch
einfach eine roteLED 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".
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.
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.
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
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.
> LED ... haben einen Temperaturkoeffizienten von so um die -2mV/K
Wo hast Du denn das her?
Wohl in der Vorlesung nicht aufgepasst.
Eine roteLED benutzt kein Silizium...
./. schrieb:>> LED ... haben einen Temperaturkoeffizienten von so um die -2mV/K>> Wo hast Du denn das her?>> Wohl in der Vorlesung nicht aufgepasst.>> Eine roteLED 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 ;-)