ESP32 und/oder ESP8266 mit Batterie/Akku betreiben

  • Im deep sleep zieht ein ESP32 und/oder ESP8266 wenig Strom. Ich moechte gerne ein paar meiner ESP32/8266 in dem Modus auf Batteriebetrieb betreiben. Die Tage fand ich diesen Link ganz interessant. Mir wurde dieses empfohlen was mir aber mit meiner existierenden HW absolut nicht hilft :(


    Mir ist bewusst dass dieses kein ESP Forum ist. Es gibt aber viele die auch neben Raspis ESPs betreiben und deshalb mal meine Frage in die Runde. Falls das zu OT ist - just let me know - und ich nerve die Leute im ESP Forum :shy:

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Moin framp


    mir schoss beim Lesen die Frage durch den Kopf: Wie oft will er denn laden?


    Ok, das kommt auf einen Versuch an..


    Das Problem bei Akku-Betrieb ist, das u. U. diverse Spannungsregler in Betrieb bleiben und den Akku leer lutschen.


    Wenn du die Möglichkeit hast an der USB Strom zu messen, dann mach das mal. Versetzte den ESP in Sleepmodus und messe.

    Ansonsten kann man auch an Vin % Volt anlegen. Dann geht ein normales Messgerät.


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Der ESP ist relativ Stromhungrig, sowohl in den Sleepmodi (verglichen mit anderen µC) als auch insbesondere beim Senden und Empfangen.

    Batterie/Akkubetrieb geht sicher auch über lange Zeiträume, wenn die Bedingungen stimmen. Es kommt also (wie oft) auf den konkreten Anwendungsfall an. Wenn du nur alle 15 Minuten die Temperatur misst und sie zweimal am Tag per WLAN an einen Server schickst, kannst du auf Monate oder Jahre Laufzeit kommen. Wenn das Gerät aber ständig auf WLAN empfangsbereit sein soll, kommst du nicht weit. Ein paar mehr Infos zur Anwendung wären also nicht schlecht.

    Im Zweifel mal nachdenken, ob nicht ein Arduino/Atmega/ATtiny oder anderes besser geeignet ist. Du kannst mal hier im Forum nach Tino suchen. Der User Nurazur hat Funksensoren mit ATmega und RFM69 entwickelt, die mit Knopfzellen sehr lange laufen. Es gibt auch Nachbauten für Homematic, die sehr sparsam sind. Oder du bastelst dir selbst was aus Arduino-Pro-Minis und Sendemodulen.


    Was die Stromversorgung (für ESP und andere) angeht.

    - Möglichst ohne Wandler arbeiten - das erfordert für den ESP eine halbwegs stabile Spannungsquelle wie z. B. Lithium-Batterien die realtiv konstant über diegesamte Kapazität 3,6 V halten (LS14500)

    - flexiblere Geräte kann man über weite Spannungsbereiche betreiben - schwankende Spannungen des Akkus sind also da kein Problem. Der ESP gehört leider nicht dazu - der braucht mehr oder minder 3,6 Volt

    - Je geringer die Spannung, desto geringer der Stromverbraucht. Einen ATmega kann man bei 1,8 Volt sparsamer betreiben als bei 5 Volt.

    - Ggf. sehr effiziente Spannungswandler mit geringem Ruhestrom einsetzen. Je geringer der Stromverbraucht, desto ineffizienter ist gewöhnlich die Wandlung. Wald- und Wiesen-Wandler sind extrem ineffizient, wenn es um die µA im Sleep-Mode geht. (Evtl. einen Kondensator einsetzen, um den Chip im Sleepmode mit Strom zu versorgen, und den Spannungswandler abschalten - es gibt Modelle, die das können.)

    - Linearregler, die einfach nur überschüssige Spannung in Wärme verbraten, sind nur in Ausnahmefällen sinnvoll - z. B. um einen 3,7-V-Lithiumakku auf 3,3 V zu bringen. Der Akku verliert ohnehin seine Spannung im Laufe der Zeit und geht runter bis er unter 3,3 ist. Ein Stepdown-Wandler würde unterm Strich mehr Verluste haben als ein Linearregler.

    - Senden über WLAN braucht viel Strom - deshalb so selten wie möglich senden.

    - Dauerhafte Empfangsbereitschaft braucht extrem viel Strom. Wenn möglich sollten Daten an das Gerät nur dann gesendet werden, wenn es ohnehin Daten an den Server sendet und WLAN somit ohnehin aktiv ist. Also keine permanente Empfangsbereitschaft, sondern Abruf von Daten, wenn ohnehin gesendet wird.

    - Fertige Module mit allerhand aufgelöteten Komponenten brauchen im Zweifel mehr Strom als der blanke Chip mit selbst ausgesuchten Komponenten.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • framp

    Such mal hier im Forum nach


    ESP8266 - Tür und Fenster Sensor/Alarm mit sehr geringem Standby verbrauch (<1µA)

    von joh.raspi


    Lief bei mir sehr zufriedenstellend.


    Ach ja, der ESP32 hat einen ultra low power core (ulp). Einfach googlen. Bin aber noch nicht zu eigenen Ergebnissen gekommen.


    Links:

    https://github.com/duff2013/ulptool

    https://github.com/SensorsIot/ESP32-ULP-Arduino-IDE


    VG

    Leroy

    Optimismus ist nur ein Mangel an Informationen🤓

    Edited once, last by Leroy Cemoi: Links added ().

  • Das Modul von dir sieht doch gut aus. Ggf gibt es das auch nur als PCB ohne USB A, aber es geht ja auch so.


    Wichtig in meinen Augen: nur einen LiPo mit Tiefentladeschutz benutzen! Sonst lutscht selbst der standby den irgendwann leer. Und beschädigt ihn.


    Wenn es wirklich um Strom sparen geht, sind der 8266 oder S2 dem reinen 32 vorzuziehen. Und Bernd666 hat natürlich einen guten Punkt: je nach Modul werden da noch Dinge mit Strom versorgt, die man nicht braucht. Das ist zb der Nachteil der USB Versorgung: der FTDI chip zieht ja auch Strom. Der LilyGo Speist per Batterie diesen Teil nicht.

  • Kommt drauf an was man vorhat. Selber habe ich mal etwas mit Tasmota Deepsleeptime getestet.

    z.b. Wemos D1 mit einem DS18b20 oder DHT22 wo die Werte alle z.b. 60 Sek. an IOBroker/VIS gesendet werden.

    Mit 4xAA Batterien funktionierte es ca. 8 Wochen. Ab ungefähr 2,8 V war Schluss mit der Übertragung.

  • Kommt drauf an was man vorhat. Selber habe ich mal etwas mit Tasmota Deepsleeptime getestet.

    z.b. Wemos D1 mit einem DS18b20 oder DHT22 wo die Werte alle z.b. 60 Sek. an IOBroker/VIS gesendet werden.

    Mit 4xAA Batterien funktionierte es ca. 8 Wochen. Ab ungefähr 2,8 V war Schluss mit der Übertragung.

    Ich denke, da kann man deutlich mehr rausholen. Alle 60 Sekunden senden ist natürlich ein Stromfresser. WLAN ist für Batteriebetrieb nicht so toll. Da hilft nur, relativ selten zu senden.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Vielen Dank fuer Eure Kommentare, Links und Stichworte zum Suchen :thumbup: Und ja, Jürgen Böhm hat Recht. Der Thread waere wohl im Microcontroller Forum gut aufgehoben. Ich hatte erst mit dem Stromversorgungsforum geliebaeugelt - es dann aber doch hier besser gefunden. Ich muss gestehen dass ich im ESP/uC Bereich Noob bin und auch nicht gedacht hatte dass es dazu hier im Raspberryforum ein Unterforum dazu gibt. Man lernt eben nie aus :lol:


    Gnom Vielen Dank auch an Dich mit Deinem detailierten Beitrag. Ein wenig habe ich mich schon mit dem Thema beschaeftigt und weiss dass WLAN extrem viel Strom zieht und moeglichst wenig genutzt werden sollte. Mein Anwendungsfall ist eine einfache Temperaturmessung mit DHT22 in verschiedenen Raeumen im Haus. Prinzipiell geht es auch mit Netzteil - ist aber unschoen und z.T. auch schlecht moeglich. Ich wollte mit einer Messung und Schicken per MQTT jede Minute starten und dann je nachdem wie lange der Sensor dann laeuft die Zeitabstaende erhoehen. Da ich die Werte nicht unbedingt Realtime benoetige sondern sie primaer per Grafana auswerten moechte koennte ich vielleicht auch die Daten eines Tages sammeln und dann alle einmal pro Tag in einem Rutsch per WLAN versenden. Es gibt also auch noch genuegend Spielraum die WLAN Nutzung so weit wie moeglich zu reduzieren. Wie ich im Subject geschrieben habe muss es kein ESP32 sein. Die will ich mit Strom betreiben da sie auch ein LCD Display haben sollen. 8266erhabe ich 5 Stueck und beabsichtige die fuer die akkubetriebenen Sensoren zu benutzen.


    Aber jetzt muss ich erst einmal Eure Infos, Links und Stichworte sichten und lesen.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Für Temperatursensoren bietet sich aber eine ATmega-Lösung eher an. Schau mal nach den Tino-Sensoren - die machen hinsichtlich Batterielaufzeit auch bei häufigerem Senden deutlich mehr her.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Interessanter Hinweis auf Tino und die Benutzung von 433MHz anstatt WLAN. Hast Du einen Erfahrungswert wie weit die senden? Wuerde es reichen im EG sowie DG einen Raspi als Relay zu haben?


    hyle Thx fuer das Verschieben des Threads

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Wenn du die Möglichkeit hast an der USB Strom zu messen, dann mach das mal. Versetzte den ESP in Sleepmodus und messe.

    Ansonsten kann man auch an Vin % Volt anlegen. Dann geht ein normales Messgerät.

    Lohnt es sich einen USB Dongle zu kaufen und wie genau die die Messung mit einem normalen Messgeraet?

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Mit einem normalen Messgeraet wuerde ich gute Ergebnisse erwarten. Dafuer musst du aber natuerlich das Geraet in die USB-Zuleitung einschleifen. An sich kein Problem, aber dabei geht mindestens mal ein Kabel drauf. Was ja verschmerzbar ist.

  • Die Reichweite von RFM69-Modulen sollte unter normalen Bedingungen durch ein oder zwei Stockwerke gehen. Ein Empfänger in der Mitte sollte dann eigentlich genügen. Grundsätzlich sind die Reichweiten hier besser als bei WLAN. Die Einflussfaktoren sind aber vielfältig - am Ende hilft nur ausprobieren.

    Die Messung des Stromverbrauchs ist schwierig. Mit einfachen Multimetern oder Strommessgeräten am UBS-Port wird das eher nicht klapppen. Erstens sind die Ströme so gering, dass fraglich ist, ob es überhaupt vernünftig klappt mit einem Wald- und Wiesen-Messgerät und zweitens ist der Stromverbrauch nicht konstant, sondern es gibt Sprünge und Spitzen, die ein übliches Messgerät nicht abbilden kann. Für genaue Analysen brauchts ein Oszilloskop.

    Der ESP ist zudem wohl ziemlich zickig, was den Energiesparmodus angeht. Weniger komplexe µC wie ATmega/ATtiny lassen sich da deutlich leichter beherrschen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • an Vin % Volt anlegen

    @__deets__ Ich verstehe Bernd666s Kommentar so dass ich einfach an das Vin Pin des ESPs 5V mit meinem Labornetzteil anlegen kann und mit meinem zwischengeschaltetem Messgeraet an den GND Pin gehe. Habe ich das so richtig verstanden?


    Gnom Ich verstehe deinen Einwand bzgl der Genauigkeit und dem Wechsel des Stromes. Aber als Test ob der deep sleep mode halbwegs funktioniert sollte es doch soweit Sinn machen. Habe zu dem Sleep mode diese Seite gefunden. Ob ich dann allerdings noch 40uA bzw 2.5uA messen kann wird man sehen :shy:

    Der ESP ist zudem wohl ziemlich zickig, was den Energiesparmodus angeht. Weniger komplexe µC wie ATmega/ATtiny lassen sich da deutlich leichter beherrschen.

    Ich fange einfach mal mit dem ESP32 bzw ESP8266 an und baue einen Prototypen und sammle Erfahrung. Tino behalte ich mal im Hinterkopf (Die Idee mit 433MHz und einer Raspi als Relay gefaellt mir :)).

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Ich fange einfach mal mit dem ESP32 bzw ESP8266

    hatten wir den Link schon?

    deep sleep ESP und wakeup

    https://www.tech-spy.co.uk/2019/04/enable-deep-sleep-esp-01/


    ich denke das sollte auch auf dem ESP32 mit demselben GPIO klappen?, aber bei node CPU sind natürlich der USB und der Rest immer noch mit Strombedarf belastet.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)