Hallo zusammen, ich habe eine Schaltung mit ATmega8 entworfen, die direkt per Batterie gespeist wird. Die Software (timer) weckt den Controller aus dem Schlaf, nimmt Sensormesswerte auf und aktiviert ein RFM12 Funkmodul, kommuniziert und legt sich dann wieder schlafen. Da ich gern die Batteriespannung überwachen möchte habe ich einen simplen Spannungsteiler von der Batterie an den ADC geführt. Intern habe ich eine Referenz-Vergleichsspannung. Somit kann ich zumindest grob schätzen, wann der nächste Batteriewechsel fällig werden könnte. Das würde ich gern erstmal so bauen und per Software später noch feintunen. Nun zu meinem Thema: Batteriespannung zum Messen von 3,6 Volt auf 1,25 Volt runterteilen. Ich habe mich gefragt, ob der Spannungsteiler als Kurzschluss der Batterie die schlaueste Wahl ist, oder ob es nicht auch besser ginge. (Klar 2 Megaohm zu 1 Megaohm sind ganz ok gemessen am Rest der Schaltung - trotzdem bitte konstruktive Beiträge) Ich hab schon hier im Forum gesucht, aber nur einen Hinweis gefunden: Beitrag "Re: Suche OPV zur Spannungsüberwachung" Den Spannungsteiler per FET schalten. Evtl. geht das auch direkt per Portpin auf Masse um nur während der Messung mehr Strom zu verbrauchen. Oder ist sogar besser, den Oberen Anschluss des Spannungsteilers per Portpin auf "high" zu schalten, weil dann bei "low" nahezu kein Strom mehr durch die Messschaltung fließt? Ob die Batterieüberwachung im RFM12 was taugt, werde ich auch noch testen, wenn ich alles aufgebaut habe. Vielleicht hat ja hier noch Jmd eine abgefahrene Idee, wie man sowas elegant lösen kann. Nur bitte keine Bilanzrechnung wie hoch der Anteil der Messchaltung am Gesamtverbrauch ist - jede nicht verschwendete Energie zählt für mich hier.
Wulf K. schrieb: > Vielleicht hat ja hier noch Jmd eine abgefahrene Idee, wie man sowas > elegant lösen kann. Wie immer in meinem Artikel Batteriewächter Gruß Anja
Entschuldigung. Ich hab wohl nur im Forum gesucht. Danke :)
Du kannst die Batterie-Spannung auch indirekt messen, indem Du die interne Referenzspannung mit Vcc(Bateriespannung) als ADC-Referenzspannung mißt. Dann brauchst Du überhaupt keine externe Beschaltung.
alternativ mach es ganz einfach: schalte die masse deines spannungsteilers über einen port-pin (oc oder transistor) an oder ab, dann läuft nur strom durch, wenn du messen willst, ansonsten ist er hochohmig -> kein/kaum strom! fff
Masse oder Vcc per Portpin zur Verfügung stellen, das wäre noch die Frage. Den FET (wie in der von Anja beschriebenen beachtlichen Schaltung) kann ich mir dann wohl sparen, da meine interne Referenz schon vorhanden ist und sich auch nicht abschalten lässt.
@Julian Baugatz: Das wäre ja in der Tat noch besser. Müsste dann per MUX Register funktionieren... probier ich morgen gleich mal aus.
D Wulf K. schrieb: > @Julian Baugatz: Das wäre ja in der Tat noch besser. Müsste dann per MUX > Register funktionieren... probier ich morgen gleich mal aus Bei diesen Verfahren kann man leider die 10bit Auflösung nicht voll ausnutzen und die Batteriespannung ist der reziproke Wert des ADC-Wandlers. Für die meisten Fälle reicht es aber aus.
fff schrieb: > alternativ mach es ganz einfach: > > schalte die masse deines spannungsteilers über einen port-pin (oc oder > transistor) an oder ab, dann läuft nur strom durch, wenn du messen > willst, ansonsten ist er hochohmig -> kein/kaum strom! > > fff wenn..... wenn der uC seine Ausgänge auch im LowPower-Mode immer aktiv hat. Wenn es einen Modus gibt, in dem nur der Timer aktiv ist, der Rest von IO aber im Resetmodus herumwuselt dann ist das keine gute Idee, denn dann ist nicht definiert was mit dem, was am Analogeingang anliegt passiert. Anja hat einen netten Weg gezeigt, Ich hab das mit einem BSS84, angestuert von einem BSS138 gemacht, denn "mein" uC gibt im LPM4 nichts an die Aussenwelt ab. Ruhestrom ist irgendwo im nA-Bereich zu suchen. Messstrom wenn aktiv ist 80uA. pdf anbei. Grüße MiWi
Julian Baugatz schrieb: > Du kannst die Batterie-Spannung auch indirekt messen, indem Du die > interne Referenzspannung mit Vcc(Bateriespannung) als > ADC-Referenzspannung mißt. Das funktioniert nur, wenn der µC direkt an der Batterie hängt und nicht noch irgendein ???V auf Vcc-Wandler dazwischen hängt. Who knows?
Der Controller hängt direkt an Vcc. Insofern funktioniert der Vorschlag von Julian Baugatz. Die interne Methode könnte bis auf 1,2 Volt herunter Messen - da arbeitet der uC ohnehin schon nicht mehr. Also ist das OK. Auch die Auflösung geht in Ordnung, da mein Anspruch nur ein grober Richtwert ist. Die Methode von Anja hat einen höheren Anspruch und funktioniert sicher noch besser. Sollte ich noch Platz auf dem PCB haben und passende FETs zu meinen Bastler-Standard Bauteilen gehören, werde ich das alternativ auch mit bestücken. Da kommt dann noch der gute Hinweis von MiWi ins Spiel: Was tut der Atmega8 im Sleep Mode mit seinen Portpins. Nummer sicher wäre vermutlich zwei Pins unterschiedlich zu schalten um die Messung per FETs zu aktivieren. Schon mal Danke für die vielen guten Ratschläge.
Wulf K. schrieb: > Was tut der > Atmega8 im Sleep Mode mit seinen Portpins. Nichts. Die bleiben so, wie sie vor dem Sleep geschaltet waren. Der Schlafmodus ändert weder etwas an irgendwelchen Registern, noch geht irgendetwas im Controller in einen "herumwuselnden" Reset...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.