Hi zusammen,
ich habe monatelang an einem akkubetriebenen Sensor gesessen, der nicht nach ein paar Tagen schlappmacht. Zwischendurch war ich kurz davor, es aufzugeben. Am Ende lag es an ein paar Dingen, die nirgends zusammen an einer Stelle standen. Ich schreibe sie hier auf, vielleicht spart es dem einen oder anderen die Abende, die es mich gekostet hat.
Zur Einordnung, zwei Werte, die ich mit dem Nordic Power Profiler 2 gemessen habe:
Typisches DevBoard ESP32 Wroom im Deep Sleep: 3,42 mA, das sind rund 19 Tage bei nem normal großen Lipo Akku.
Sauber optimiert: 0,038 mA, das sind viele Monate. Gleicher Akku.
Die fünf Dinge, die den Unterschied gemacht haben:
1. Das Board entscheidet schon die halbe Miete.
Viele Standard-DevBoards ziehen im Tiefschlaf immer noch ordentlich Strom. Eine Status-LED, die nie ausgeht, ein durstiger Spannungsregler, ein USB-UART-Chip, der wach bleibt. Bevor du überhaupt am Code drehst, lohnt sich ein Board mit niedrigem Ruhestrom.
Meine aktuellen zwei Top Tipps sind entweder ein Firebeetle C6
oder ein Xiao C3 oder C6 ( Amazon.de (affiliate Link)) Beide sogar nochmal etwas sparsamer als der Firebeetle C6. Beide können mit Solar geladen werden via UBS und der Lipo akku geht direkt rein. Vorteil vom Firebeetle, der hat ein Pin mit Spannungsteiler integriert für Akkuspannung. Dafür größer. C3 und C6 von Xiao können externe Antennen. Das ist geschickt für Outdoor Projekte.
2. WiFi ist der größte einzelne Verbraucher.
Jedes Aufwachen mit Neuverbindung kostet richtig. Wer das WiFi nicht bewusst steuert und sauber herunterfährt, verschenkt hier die meiste Energie.
Also immer mit Fast Connect, statischer IP arbeiten. Thread hab ich ma getestet, aber noch nicht so gut hinbekommen wie Wifi.
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: true
manual_ip:
static_ip: 192.168.1.133
gateway: 192.168.1.1
subnet: 255.255.255.0
3. Floating- oder falsch gesetzte Pins saugen unbemerkt.
Ein einzelner Pin im falschen Zustand kann im Schlaf dauerhaft Strom ziehen, ohne dass man es sieht. Definierte Pegel setzen, das hat bei mir spürbar was gebracht.
4. Peripherie im Schlaf abschalten.
Externe Sensoren laufen sonst rund um die Uhr mit, obwohl man sie nur beim Messen braucht. Über einen kleinen MOSFET oder einen GPIO lassen sie sich im Schlaf komplett stromlos machen.
Das ist vor allem am Anfang ein großer Hebel immer auf die Verbräuche zu achten. Beispiel DS18B20 zieht quasi nix, alles mit Ultraschall, CO2, Präsenz zieht ultra viel. Da haben wir schon viel in der Macherwerkstatt experimentiert.
Beispiel ich pushe beim aufwachen und schalte danach aus
api:
encryption:
key: "key"
on_client_connected:
then:
- component.update: akku_spannung
- component.update: wifi_signal_db
- delay: 3s
- if:
condition:
binary_sensor.is_on: ota_modus
then:
- logger.log: "OTA-Modus: bleibe wach"
else:
- switch.turn_off: sensor_power
- deep_sleep.enter: tiefschlaf
5. Die Aufwach-Frequenz ist der größte Hebel überhaupt.
Wie oft der Sensor aufwacht, bestimmt die Laufzeit fast mehr als alles andere. Ein Update pro Stunde statt jede Minute ist der Unterschied zwischen Tagen und Monaten. Prüf ehrlich, wie oft du den Wert wirklich brauchst.
So viel zur Theorie.
Wenn du sowas nicht nur nachlesen, sondern einmal live mit umsetzen willst, an einem echten Projekt und mit jemandem, der dir bei jedem Fehler zur Seite steht:
Nächste Woche Freitag, den 24. Juli, mache ich genau dazu einen Live-Workshop. Wir bauen gemeinsam einen Solar & akkubetriebenen Zisternen-Sensor, der viele Monate mit einer Ladung läuft. Zwei Abende, Teil 1 der Aufbau, Teil 2 das Live-Debugging, bis dein Sensor sauber Werte liefert. Fertiger Code, exakte Einkaufsliste und die Aufzeichnungen zum Behalten sind dabei. Du musst kein Programmierer sein.
Zur Transparenz, das ist mein bezahltes Angebot, aktuell zum Frühbucher-Preis. Alle Infos und die Anmeldung: Workshop Deep Sleep Ultraschall Sensor - Alex Kly
Ich bin gespannt, was ihr für Deep Sleep Erfahrungen gemacht habt.
