Möglichkeiten für sporadische Spannungsmessung gesucht

Hallo zusammen,

ich habe mir einige "WLAN-Thermometer" gebastelt, die auf Basis eines ESP-01 und einem ATtiny45 entstanden sind. Die Thermometer werden von 4 Eneloop-AA-Zellen versorgt und messen viertelstündlich die Temperatur und senden diese ins heimische Netzwerk. Die vier Zellen versorgen einen LF33CV Low-Drop-Linearregler, der mir aus den Akkus 3,3V bereitstellt. Der Regler ist unbelastet mit 0,5 mA sehr genügsam, auf einen Schaltregler wollte ich auch aus Kostengründen verzichten.

Rein rechnerisch läuft die Schaltung ca. 2 Monate, bevor die Akkus leer sind.

Das funktioniert soweit ganz gut, jedoch hätte ich gerne eine einfache Möglichkeit, rechtzeitig die leeren Zellen zu erkennen. Das muss nicht exakt sein, ein "Schätzeisen" reicht für den Anfang. Der Status "Low-Batt" als einfaches Flag reicht mir.

Meine Idee ist nun, mittels Logic-Level-MOSFET, beispielsweise den IRLZ3N, einen einfachen Spannungsteiler zu "schalten", d.h. wenn ESP und ATtiny schlafen, sollen die Akkus nicht über den Spannungsteiler leersaugt werden.
Die am Spannungsteiler abfallende Spannung soll dann wie üblich per analog-in gemessen werden.
Bei z.B. einem 10k-10k-Teiler fällt der MOSFET-Ausgangswiderstand doch nicht mehr ins Gewicht.

Funktioniert das so einfach? Oder übersehe ich da etwas?

Welche einfachen Möglichkeiten gibt es noch? Ich bin in Elektronik nicht so bewandert und lese mich zur Zeit fleißig ein. Viele Lösungsansätze, die ich im Netz gefunden habe, scheinen aber komplexer zu sein als das eigentliche Thermometer.

Vielen Dank für eure Anregungen!

nimm einen hochohmigen Spannungsteiler, da kommt es dann auch nicht mehr drauf sn, wenn der Linearregler schon 0,5mA verbrät

Spannungsteiler ist klar denke ich und funktioniert auch. Die Idee mit dem Mosfet finde ich gut. Lässt du den Spannungsteiler so laufen zieht er natürlich immer etwas Strom. So kannst du alle paar Stunden mal messen. Wüsste jetzt nicht wieso es nicht funktionieren sollte.

Der Low-Drop Linerarregler nützt nichts - sobald Strom fließt, verwandelt er nur die überschüssige Spannung in Wärme. Da hilft nur ein Schaltregler weiter. Wenn Du sowieso mit 3,3V arbeitest, reichen da nicht weniger Zellen, ohne Regler?

Statt dem extra FET kannst Du den Fußpunkt des Spannungsteilers auch auf einen Digitalausgang legen - da hast Du schon einen MOSFET. Zum Messen auf LOW schalten, danach wieder auf HIGH, oder auf INPUT. Zum Messen die eingebaute 1,1V Referenz nehmen, dann sind die Werte unabhängig von Vcc, und Du brauchst keine stabilisierte Spannung.

Den Regler habe ich vor allem wegen dem ESP verbaut, müsste mal probieren, ob der nicht auch direkt mit 3 Zellen läuft.

Die Idee mit dem Digitalausgang klingt gut, das werde ich mal testen, Danke!

Soweit ich weiss, hast der ESP keine 1,1 Referenz, sondern nur einen ADC bis 1V. Allerdings musst du verdammt gute Augen haben und einen superfeinen Lötkolben, um am 01er einen Draht an den ADC zu löten. Ich habs nicht hingekriegt und mir deswegen 07er bestellt.

Die Spannung messen soll der ATtiny, und dann den Low-Batt-Status per IO-Pin an den ESP melden. Also klassische Arduino-Programmierung.

Da muss ich nur schauen, wie ich mit den 8 Pins am ESP hinkomme. Momentan ist auch nur der One-Wire-Sensor dran, sollte also passen. Am ESP ist nix verlötet, der wird vom ATtiny übers CH_PD-Signal ein- und ausgeschaltet.

Ein Schaltregler ist in diesem Fall kontraproduktiv. Der braucht immer Ruhestrom, auch wenn er nicht belastet ist. Ein Regler mit noch weniger Ruhestrom ist z. B. der MCP1702 (ca. 2µA)

Japp den MCP1702 kann ich auch empfehlen. Ich messe die Spannung von einem 9V-Block über nen hochohmigen Spannungsteiler im MegaOhm-Bereich und einem zusätzlichen Kondensator. Den Tipp hatte ich von hier:
http://jeelabs.org/2013/05/16/measuring-the-battery-without-draining-it/

Einfache Schaltung und der Verbrauch liegt bei <1µA :slight_smile:

Die Website sieht gut aus, danke für den Hinweis. Eine Seite weiter findet man auch eine Schaltung mit MOSFET.

Beim MCP1702 hab ich mir Anfangs Sorgen gemacht, dass der maximal lieferbare Strom zu gering ist, der Regler ist nur für 250mA ausgelegt. Ich habe ESP, ATtiny und einen DS18B20 dran hängen, da bleibt nicht viel Luft nach oben.

niemand hindert dich, 2 davon einzusetzen

Spexx:
Japp den MCP1702 kann ich auch empfehlen. Ich messe die Spannung von einem 9V-Block über nen hochohmigen Spannungsteiler im MegaOhm-Bereich und einem zusätzlichen Kondensator. Den Tipp hatte ich von hier:
http://jeelabs.org/2013/05/16/measuring-the-battery-without-draining-it/

Einfache Schaltung und der Verbrauch liegt bei <1µA :slight_smile:

Dieser niedrige Strom ist ein Fehler der Schaltung, wenn ein ADC Eingang lt. Datenblatt schon 1µA ziehen kann. Dann glättet der Kondensator zwar die Meßwerte, gemessen wird aber nicht die Batteriespannung. Man sieht das an den in eine Richtung weglaufenden Meßwerten der vier direkt aufeinanderfolgenden Messungen.

Für einigermaßen brauchbare Werte sollte man nur einmal messen, nachdem der Kondensator während der Sleep Phase genug Zeit zum Aufladen hatte. Dann bleibt nur noch die Fehlspannung, die vom Leckstrom des Eingangs produziert wird.

olf2012:
Ein Schaltregler ist in diesem Fall kontraproduktiv. Der braucht immer Ruhestrom, auch wenn er nicht belastet ist.

Das ist richtig, deshalb würde ich lieber ganz ohne Regler auskommen - zumindest der Controller kann mit einem weiten Spannungsbereich leben.

Ggf. kann man noch an der Taktfrequenz drehen, da in MOS Schaltkreisen der Strombedarf mehr von der Arbeitsfrequenz als von der Spannung abhängt. Wenn dadurch aber die Rechenzeit entsprechend ansteigt, ist der Effekt natürlich wieder beim Teufel. Dann sollte man dafür sorgen, daß der Controller gerade so schnell läuft, wie die Ausgabe der Meßwerte erfordert.

DrDiettrich:
Dieser niedrige Strom ist ein Fehler der Schaltung, wenn ein ADC Eingang lt. Datenblatt schon 1µA ziehen kann. Dann glättet der Kondensator zwar die Meßwerte, gemessen wird aber nicht die Batteriespannung. Man sieht das an den in eine Richtung weglaufenden Meßwerten der vier direkt aufeinanderfolgenden Messungen.

Was meinst du mit Fehler in der Schaltung? Bezieht sich wohl eher darauf, dass der Strom falsch gemessen wurde bzw. die zusätzliche 1µA vom ADC Eingang nicht berücksichtigt wurde?

DrDiettrich:
Für einigermaßen brauchbare Werte sollte man nur einmal messen, nachdem der Kondensator während der Sleep Phase genug Zeit zum Aufladen hatte. Dann bleibt nur noch die Fehlspannung, die vom Leckstrom des Eingangs produziert wird.

Ja da hast du recht, es sollte nicht zu kurz hintereinander gemessen werden, aber ein paar Sekunden dazwischen sollten schon ausreichen um plausible Werte zu erhalten. Vermutlich reicht es auch aus nur alle paar Minuten oder Stunden einmal zu messen, je nach Batterielaufzeit.

Wenn der Leckstrom nicht berücksichtigt wird, ist das ein systematischer Fehler der Schaltung. Die Größe des Leckstroms könnte man aus den aufeinanderfolgenden Messungen bestimmen, und damit die tatsächliche Eingangsspannung zurückrechnen. Dazu müßte aber auch noch bekannt sein, ob der Leckstrom sich während der Schlafphasen des Controllers ändert.

Wenn jemand vorschlägt, eine hochohmige Spannungsquelle mit einem niederohmigeren Gerät zu messen, das nicht einmal eine lineare Eingangskennlinie hat, dann hat der offensichtlich wenig Ahnung von Elektronik. Zumindest paßt seine Lösung nicht zu den Problemen, die er am Anfang seines Artikels aufzählt. Danach interpretiert er noch die ziemlich eindeutig fallenden Meßwerte als Rauschen, eine völlig falsche Analyse. Zuletzt empfiehlt er noch, den ersten Meßwert zu ignorieren, obwohl gerade der noch am ehesten der tatsächlichen Eingangsspannung entspricht. Nicht zuletzt frage ich mich, mit welcher Spannung der Controller für die Beispielsmessungen versorgt wurde, da die Standard-Referenz Vcc ist.

Es wäre jedenfalls einfacher und zuverlässiger, den Controller direkt aus der Batterie zu speisen und die eingebaute 1,1V Referenz mit analogRead(14) zu messen, und daraus die Referenzspannung=Vcc zurückzurechnen. Das erfordert keinerlei Schaltungsaufwand, und belastet die Batterie nicht zusätzlich mit einem Spannungsteiler.

Naja du magst ja recht haben, mit Leckströmen habe ich mich noch nicht auseinandergesetzt, aber vermutlich schießt das über das Ziel hinaus und ist auch nur relevant, wenn man auf's mV genau messen möchte?

Der Threadersteller hat nach einem "Schätzeisen" gefragt. Ich hatte vor einer Weile auch mal mit dem hochohmigen Spannungsteiler rumprobiert und habe damit zuverlässig Spannungen ohne Schwankungen messen können. Die Spannungsabweichung im Vergleich zu meinem Multimeter lag dabei bei etwa +/-0.1V, wobei ich die Widerstandstoleranzen hierbei nicht berücksichtigt habe. Aus meiner Sicht ist das vollkommen ausreichend, es geht ja auch nur darum zu erkennen, wann die Batterien sich dem Ende zuneigen...