Forum: Mikrocontroller und Digitale Elektronik ESP8266 Problem beim Stromverbrauch


von Dshing S. (dshing)


Lesenswert?

Hallo,

mir ist ein ESP 12 unter die Finger geraten. Mein Problem ist, dass der 
Kleine immer um die ~70 mA verbraucht (Für die WLAN sende Blöcke kommt 
Pulsweise noch was obendrauf).
Nun habe ich aber gelesen, das sich dies durch verschiedene WiFi Modie 
ändern lassen.

Hier ein Zitat von Expressif:
Conclusion of the test results:
• When the ESP8266 works normally, the average current is about 71 mA.
• When the ESP8266 is in Modem-sleep mode, the average current is about 
17.88 mA.
• When the ESP8266 is in Light-sleep mode, the average current is about 
1.11 mA.
• When the ESP8266 is in Deep-sleep mode, the average current is about 
0.018 mA.

und hier von einem User "Ulli" sehr gut gezeigt:
http://bienonline.magix.net/public/esp8266-strom.html

Ich Programmiere in der Arduino IDE in, so wie ich meine, exakt den 
Bedingungen, wie Ulli das tut, mit exakt dem selben Code (außer SSiD 
etc).
Leider verbraucht das Ding bei mir immer ~70 mA. Außer wen ich PIN 3 
nicht auf Masse lege, dann sind es 11,7 mA.

Hat jemand eine Idee, warum diese Modi bei mir nicht zufunktionieren 
scheinen?

Beitrag #6165642 wurde vom Autor gelöscht.
von Timmo H. (masterfx)


Lesenswert?

Also ich komme auf ~20µA im Deepsleep mit dem MCP1703, welchen LDO 
verwendest du?

von Stefan F. (Gast)


Lesenswert?

Dshing S. schrieb:
> mir ist ein ESP 12 unter die Finger geraten. Mein Problem ist, dass der
> Kleine immer um die ~70 mA verbraucht (Für die WLAN sende Blöcke kommt
> Pulsweise noch was obendrauf).

Das ist soweit normal.

Im Deep Sleep Modus ist der Chip (abgesehen von der RTC) abgeschaltet, 
also auch vom Netz getrennt.

Die anderen Modi sind irgendwo halb dazwischen, kommunizieren geht dann 
aber nicht. Nutzt das überhaupt wer?

> Hat jemand eine Idee, warum diese Modi bei mir nicht zu
> funktionieren scheinen?

Ohne Programm und ohne Schaltplan kann man nur raten. Darauf habe ich 
keine Lust.

Du kannst deine Situation mal mit meinen Notizen vergleichen. Vielleicht 
findest du dann den Fehler.
http://stefanfrings.de/esp8266/index.html#esp12
http://stefanfrings.de/esp8266/index.html#deepsleep

von Dshing S. (dshing)


Lesenswert?

Hallo,
ich nutze gar keine "Schatung" oder Spannungsregler. Also direkt aus 
einem Labornetzteil versorgt und nur den ESP 12 selbst nichts anderes 
(außer die Einen/Zwei notwendigen externen Kabeln und ein 
Stützkondensator hinter dem Amperemeter natürlich).
Das "Ausschalten" des WiFis ist genau das interesante finde ich, sonst 
würde ich lieber den ESP 32 nutzen, aber der scheint das ja gar nicht 
mehr zu können.
Den Deep Sleep finde ich recht nutzlos, da ja dann alles vergessen ist, 
man müsste alles umständlich extern wegspeichern und dann wieder 
einlesen, das macht einen enormen Aufwand (Software und Schaltung) und 
braucht am Ende wahrscheinlich auch so viel Energie wie der Ruhemodus im 
dauerhaften durchlauf, wenn er dann ginge.

von Stefan F. (Gast)


Lesenswert?

Dshing S. schrieb:
> Den Deep Sleep finde ich recht nutzlos, da ja dann alles vergessen ist,

Beim ESP8266 kommst du leider nicht umhin, zum Ein- und Aus-Schalten der 
WLAN Schnittstelle jeweils einmal neu zu starten.

von Stefan F. (Gast)


Lesenswert?

Dshing S. schrieb:
> würde ich lieber den ESP 32 nutzen, aber der scheint das ja gar nicht
> mehr zu können.

Echt? Das kann ich mir kaum vorstellen.

von Dshing S. (dshing)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Dshing S. schrieb:
>>
> Beim ESP8266 kommst du leider nicht umhin, zum Ein- und Aus-Schalten der
> WLAN Schnittstelle jeweils einmal neu zu starten.

Aber mit dem "WIFI_LIGHT_SLEEP" oder "WIFI_MODEM_SLEEP" Mode sollte das 
doch ohne Neustart gehen oder hab ich da was falsch verstanden?

Stefan ⛄ F. schrieb:
> Dshing S. schrieb:
>> würde ich lieber den ESP 32 nutzen, aber der scheint das ja gar nicht
>> mehr zu können.
>
> Echt? Das kann ich mir kaum vorstellen.

Oder nicht?
Ich finde in den Daenblättern vom ESP32 zumindest keine zwischenstufen 
vor dem Deep-Sleep mehr. Und der Händler hier führt das auch nicht auf 
in seiner übersicht:
https://www.waveshare.com/esp32-s.htm

Also ich hab das jetzt auch mit einem ESP01 Modul versucht, leider auch 
das gleiche Verhalten...hmmm ich hab das Gefühl, dass ich etwas 
grundlegendes nicht Verstanden habe...Aber was kann man denn da groß 
falsch machen? Ich hab jetzt auch schon die verschiedensten Bords aus 
dem Arduino Board-Verwalter probiert, aber wen es geht, geht es immer 
gleich.
Muss ich irgendwelche speziellen Einstellungen setzen, damit es geht? 
Hier im Bilde mal das was ich einstelle, mehr kann ich ja nicht falsch 
machen oder?

von Stefan F. (Gast)


Lesenswert?

Dshing S. schrieb:
> Aber was kann man denn da groß falsch machen?

Was hast du denn gemacht?

von Dshing S. (dshing)


Lesenswert?

Naja, an sich nur das Programm von hier: 
http://bienonline.magix.net/public/esp8266-strom.html
1:1 mit den Einstellungen aus dem Bild auf den Controller gespielt und 
dann die verschiedenen Modi durch getestet.
Verdrahtet ist das wie gesagt rudimentär an einem Labornetzteil mit 
einem Amperemeter (0,1 Ohm Shunt) in dem Massenpfad dahinter dann ein 
(aktuell) 6800µF Eleko und ein Draht von Pin 3 (EN; EN; CH PD) an VCC 
und zum Programmieren ein Draht von PIN 18 (D3; GPIO2; Flash) gegen 
Masse. Soweit tut er ja auch alles was soll.
Vorher hatte ich andere Programme zum testen drauf, aber das sollte ja 
egal sein.
Ich hab es auch mal versucht die Modi in einem eigenen Programm zu 
implementieren und ohne den Serial-Monitor neben bei laufen zulassen, 
aber das hat auch nichts geändert.

Dann hatte ich auch mal die Low Power Demo.bin von Expressif und dem 
offiziellen Flasher Tool getestet, aber die tut auch nichts anders als 
~70mA zu verbrauchen

von Stefan F. (Gast)


Lesenswert?

Ich kann nur nochmal auf meine Homepage verweisen, da steht einm 
wichtiger Hinweis bezüglich delay nach dem Aktivieren des Sleep Modus.

von Timo N. (tnn85)


Lesenswert?

Dshing S. schrieb:
> Den Deep Sleep finde ich recht nutzlos, da ja dann alles vergessen ist,
> man müsste alles umständlich extern wegspeichern und dann wieder
> einlesen, das macht einen enormen Aufwand (Software und Schaltung) und
> braucht am Ende wahrscheinlich auch so viel Energie wie der Ruhemodus im
> dauerhaften durchlauf, wenn er dann ginge.

https://arduino-esp8266.readthedocs.io/en/2.6.3/PROGMEM.html

von Dshing S. (dshing)


Lesenswert?

Mit der Arduino ESP Version 2.2.0 und dem NodeMCU 1.0 Boardeinstellungen 
hat es letztlich geklappt. Alles andere läuft nur kurz oder gar nicht im 
"Energiesparmodus". So lässt sich der ESP jetzt auf unter 100mW 
betreiben und ist dennoch jederzeit von außen über WLAN erreichbar und 
kann Kleinigkeiten nebenbei erledigen.
Schade das das alles so Bugi ist und die neuen Bibliotheken mehr 
Probleme als die alten machen. Der ADC funktioniert unter 3 V auch nicht 
mal mehr als Schätzeisen, das trübt den Nutzen doch stark, aber naja.

Aber danke Euch für die Tipps.

von Stefan F. (Gast)


Lesenswert?

Dshing S. schrieb:
> Mit der Arduino ESP Version 2.2.0

Hast du auch Version 2.3.0 probiert? Bei mir funktioniert sie prima.

von Dshing S. (dshing)


Lesenswert?

Ja hatte ich, funktioniert leider nur kurzzeitig und die Board LED 
lumiert bei jeder Aktion immer gleich, was dem Energieverbrauch nicht 
zuträglich ist. Man könnte sie zwar auslöten, ist ja aber nicht im Sinne 
des Erfinders.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.