NEWS
ESP32 Sensoren mit Solar / Akku Betrieb
-
Das Thema ist die Fortsetzung der Diskussion rund um netzunabhängigen Betrieb aus diesem Thread: https://forum.iobroker.net/topic/16773/füllstandsmessung-per-pegelsonde
@Eisbaeeer: Ich habe nun diese Hardware bekommen:
Im Prinzip ist das 18650 Shield eine Powerbank mit 5V und 3V Ausgängen. Unabhängig von der angeschlossenen Last kann per USB geladen werden. Das funktioniert mit einem 5W Solarpanel mit USB Ausgang ganz hervorragend (nicht auf dem Bild). Der Laderegler schaltet bei zu wenig Leistung des Solarpanels einfach ab. Damit ist die Lösung auch für Elektronik Laien problemlos aufzubauen.
Wenn ich meinen Code auf ESP32 getestet habe, bin ich mal neugierig wie lange der Akku bei Deep Sleep und alle 15 Minuten Wake Up hält. Mich würde es nicht wundern, wenn man die Schaltung schon fast ohne Solarzelle mit gelegentlichem Akkuwechsel betreiben könnte.
-
@andygr42 Ich war natürlich auch nicht untätig
Aus vorherigen Projekten liegen bei mir noch 5 ESP32-C3 rum. Einer davon hat den Akku-Halter bekommen. Quick-and-dirty hab ich mal einen MQTT deep sleep code laufen lassen. Nachdem nach 24h der Akku immer noch nicht leer war (Intervall 1 Minute), hab ich mir heute Abend mal erlaubt, einen BME280 in das Programm zu integrieren. Der Sensor war erstmal an den 3,3V Pin angeschlossen. Im Deep-Sleep hat der dann immer noch 1,2mA gezogen. Der Sensor verbraucht also auch im Ruhezustand seinen Strom.
Ok, also dann den Sensor an einen Pin gehängt und nicht mehr an die ständigen 3,3V --> (GPIO18) (GPIO8&9 sind für I2C in Verwendung). Und siehe da, nur noch 8µA im Ruhezustand. Das sieht schon sehr gut aus. Ich lasse das jetzt mal laufen, bis mein Akku leer ist. Mal sehen, wie lange der reine Akku Betrieb mit Abstand eine Minute durchhält.
-
Der BME 280 kennt ebenfalls einen sleep-Mode.
Den müsstest Du separat schlafen schicken.Viele Grüße
Christian -
@stimezo guter Tip, Danke. Das schaue ich mir mal an.
-
@eisbaeeer Hast Du eine Idee warum sich die ESP32 so schwer tun mit WiFi? Meine AZ-Delivery D1 R32 Board haben echte Probleme mit der Connection. Ich habe schon alles Mögliche probiert. Der Scan zeigt alle SSID's und dann läuft der Connect ins Leere. Die ESP8266 brauchen 3-4 Sekunden und fertig.
-
Mein Sensor lief jetzt 3 Tage mit einem Akku Kapazität 650mAh und Sendeintervall 1 Minute. Dabei war die LED (im Bild zu sehen) dauernd an. Ich gehe mal davon aus, das das der größte Stromfresser ist. Das Board hat einen integrierten Laderegler 4V - 6,5V Eingangsspannung. Eine Solarzelle mit Nennspannung 6V, 120mAh sollte also ausreichen, um das Board auch im Winter mal eine Woche ohne Sonne zu versorgen (die LED werde ich noch entfernen bzw. sollte die sich auch noch abschalten lassen. Muss ich noch testen).
Das ganze sieht schon sehr vielversprechend aus. Ich warte derzeit noch auf die Drucksonde, dann geht es weiter.
Grüße Lars -
@andygr42 sagte in ESP32 Sensoren mit Solar / Akku Betrieb:
Meine AZ-Delivery D1 R32 Board haben echte Probleme mit der Connection
Lass dir mal die RSSI Werte anzeigen. Eventuell ist ja auch mit dem Board was nicht in Ordnung. Hatte ich mit den ESP8266 aber auch schon mal.
-
@eisbaeeer Ich verwende extra zusätzlich Channel und BSSID um den AP mit der besten RSSI zu connecten. Liegt bei -55dB, sollte also kein Thema sein.
P.S.: Dann wäre die Serie defekt, das machen alle 3
-
So, nächste Stufe. LED entfernt und BME280 in Sleep Modus geschickt. Mal sehen, ob es mehr als 3 Tage werden.
-
@eisbaeeer Problem gefunden, ist ein Design Fehler in den D1 R32 Boards...
-
@andygr42 Zurückschicken. Das issues ist ja schon uralt.
-
@eisbaeeer Lohnt nicht. 330 Ohm habe ich im Bestand, das ist ne Sache von 3 Minuten pro Board
-
@andygr42 Ja, hab es dann im Thread gelesen. Schon traurig, dass AZ-Delivery das nicht als Info mitgibt. Die könnten ja wenigstens den Widerstand dazulegen
-
@andygr42 sagte in ESP32 Sensoren mit Solar / Akku Betrieb:
Mich würde es nicht wundern, wenn man die Schaltung schon fast ohne Solarzelle mit gelegentlichem Akkuwechsel betreiben könnte.
Was machen deine Tests?
Ich bekomme morgen die Pegelsonde. Das Solar-Panel ist noch unterwegs. Also 4 Tage konnte ich jetzt locker mit 1 Minute Sendeintervall überbrücken. Ich habe heute mal auf 2 Minuten erweitert. Wenn die Pegelsonde da ist, werde ich mal den Stromverbrauch der Sonde messen. Vor allem wird interessant, ob die Drucksonde eine Zeit zum Einpegeln benötigt oder sofort nach zuschalten der Spannung den richtigen Wert liefert. -
Quick & dirty
Ich habe mal ein zweites Board mit einem ESP32-C3 an die Pegelsonde angebunden. Die Sonde benötigt ca. 2mA. Nach ein paar Tests hat sich ergeben, dass die Sonde so gut wie keine Zeit braucht, um einen vernünftigen Wert zu liefern. Die Betriebsspannung ist 5V, die Pegelhöhe habe ich mit 3m bestellt und die Ausgabespannung zwischen Null und Max beträgt 3,3V. Der ADC verarbeitet von 0-2V am ESP32. Die Auflösung ist somit noch besser, als bei meiner bisherigen Sonde.Damit die Sonde den Akku nicht belastet, habe ich einen BC547 verwendet, um die Sonde nur während der Messung mit Spannung zu versorgen. Derzeit teste ich einen Intervall von 2 Minuten. Als Solarzelle verwende ich eine Monokristaline mit 6V 150mA. Der Laderegler spricht ab 4,5V an. Falls das nicht reicht, könnte man auch zwei Module verwenden.
-
@eisbaeeer Moin. Ich war im Urlaub
-
@eisbaeeer Moin.
Ich habe jetzt mal die Power LED "deaktiviert" und schaue wie lange eine einzelne Akku Zelle bei einem 15 Minuten Intervall durchhält. Erstmal ohne Sensor, rein eine WiFi Verbindung und MQTT Update.
-
@Eisbaeeer Läuft nach 48h immer noch, wenn auch ab und an die WiFi Verbindung nicht zustande kommt. Woran das noch liegt kann ich leider noch nicht sagen, erhöht aber durch den dann folgenden Reset eher den Stromverbrauch noch etwas.
P.S.: nach gut 50h war dann wirklich Schluss Aber damit kann man schon mal starten.
-
@andygr42 Verwendest du den 3000mAh Akku? Dann stimmt da was nicht. Ich schaffe mit dem 650mAh Akku mehr als 3 Tage im 2 Minuten Zyklus. Welcher Spannungsregler ist bei deinem Board verbaut? Ich bin gerade bezüglich Ladeschaltung am Testen. Derzeit benötige ich ein 5W Panel mit 6V, um die Ladung sauber hinzubekommen. Ich hatte mit einem 2W Panel angefangen. Eventuell muss ich an der Laderegelung noch arbeiten.
-
Neuer Zwischenstand. Es ist jetzt möglich, den ESP32 in zwei Modi´s zu betreiben. Einmal Batteriebetrieben und einmal im Dauermodus. Umschaltbar über MQTT command. Folgende Settings sind bis jetzt realisiert:
BatteryMode schaltet zwischen "deepSleep" und Dauermodus um
MqttIntervalSeconds definiert die Pause im "Nicht Battery Mode"
SleepTimeSeconds definiert, wie lange der ESP32 im deepSleep schläft
ZistMax ist noch nicht aktiv. Dieser Wert soll dann den Füllstand berechnenIch habe vor, den maximalen Füllstand automatisch zu ermitteln. Der Code nimmt immer den high-level-watermark als maximalen Füllstand. Wenn die Zisterne dann das erste Mal voll ist, ist der Sensor kalibriert. Das erspart das kalibrieren.
Hier mal noch einen Screenshot vom Debug des ESP im Dauermodus: