Go Down

Topic: ESP8266 - Hoher Strom trotz DeepSleep? (Read 430 times) previous topic - next topic

anamollo

Hallo zusammen.

Ich baue derzeit ein kleines WLAN-Gerät (Fernbedienung), welches solange im Deep-Sleep-Mode verharren soll, bis der am ESP8266 (ESP-01-Board) angeschlossene Taster gedrückt wird.
Dadurch wird ein RESET getätigt und der Controller stellt den Webserver zur Verfügung, welcher eine Webseite für 30 Sekunden im Heimnetz "online" stellt. Sind die 30 Sekunden verstrichen, soll der Controller wieder in den DeepSleep gehen, bis das nächste Mal der Taster gedrückt wird.

Soweit funktioniert alles schon so wie es soll, allerdings ist der Strom bei 6 V ext. Stromversorgung im Deep-Sleep-Mode extrem hoch! (8 mA).

Wie kann das sein? Habe ich einen Fehler im Code, der den Controller veranlasst, nicht in den besagten Deep-Sleep zu gehen?

Da mein Projekt ein tragbares Handgerät mit Batteriebetrieb werden soll, kommt es auf jedes noch so kleine Strömchen an, um eine möglichst lange Batterielaufzeit zu erzielen.


Ich hoffe ihr könnt mir helfen.
Der Code ist auf das Nötigste gekürzt (die defines sind hier ja nicht relevant):

Code: [Select]

const char* ssid = "Hans WLAN";
const char* password = "123456789";
String HTMLpage = "";


IPAddress ip(192,168,178,90);                 // IP-Adresse des ESP8266
IPAddress gateway(192,168,178,1);             // Gateway (z.B. Router / FritzBox)
IPAddress subnet(255,255,255,0);




void setup()
{
WiFi.begin(ssid, password);
WiFi.hostname("Hans ESP");
        WiFi.config(ip, gateway, subnet);
while (WiFi.status() != WL_CONNECTED)                 // Überprüfen, ob WLAN verbunden...
        {
            delay(500);
        }
     
        if (MDNS.begin("hans", WiFi.localIP()))         
        {
        }

       delay(500);
 
       Webserver.on("/", []()
       {
             Webserver.send(200, "text/html", HTMLpage);         
       });

      delay(100);
      Webserver.begin();                                   
      delay(100);

      for(int i=0; i<30000; i++)
      {
            Webserver.handleClient();                           // stelle für 30 Sek. den Clients  die Seite zur Verfügung,..
            delay(1);
      }
     
      ESP.deepSleep(0);                                    // danach gehe für undefinierte Zeit in den Deep-Sleep.
}

void loop()
{   
}   


Ich hoffe auf Eure Hilfe!
Gruß + Danke

zwieblum

Ich hab' das da verwenden müssen, damit das Ding in DeepSleep geht:
Code: [Select]

WiFi.disconnect( true );
delay( 1 );
ESP.deepSleep( 15000000, WAKE_RF_DEFAULT );
//ESP.deepSleep( 15000000, WAKE_RF_DISABLED );
delay(10);

Ohne das letzte delay() geht gar nix. Ohne WiFi.disconnect() ist' auch nicht so prickelnd. :smiley-confuse:

anamollo

Ok danke, ich werde es mal versuchen und dann berichten! :-)

anamollo

Hallo nochmal,

habe nun meine Programmänderung gemäß deines Vorschlags vorgenommen, es hat geklappt!

Immerhin zieht der ESP01 nun bei 3V (2 x AAA Mignon) "nur" 0.3 mA im DeepSleep. im "wachen" Zustand 60 mA.



Gruß

zwieblum

Freut mich :)

Die ESP8266 sind leider nicht so die tollen Teile. Ich hab' immere einen AVR mit am Board, der schaltet den ESP nur bei Bedarf ein.


Doc_Arduino

#5
Dec 01, 2019, 09:20 pm Last Edit: Dec 01, 2019, 09:22 pm by Doc_Arduino
Hallo,

das hängt stark vom verwendeten Modul ab. Mein WemosD1R1 genehmigt sich noch 200µA. Erst die noch nackigeren Module kommen dann locker unter 100µA. Dein ESP01 sollte an die 20µA rankommen. Deine 300µA sind noch zu hoch. Irgendwas stimmt da nicht. Oder du hast nicht den nackten ESP01.
Eigentlich sollte
ESP.deepSleep(0)
ausreichend sein.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

volvodani

Mit einem ESP07S komme ich mit Minimalbeschaltung (100kOhm) Wiederstände und einem BuckBoost an einer LiIon
Batterie und einem BMP280 auf 0.2-0.3mA im Schlaf.

Also sollte da noch ein bisschen Potential sein.

Gruß
DerDani
"Komm wir essen Opa!" - Satzzeichen retten Leben!

Katsumi_S

Soweit funktioniert alles schon so wie es soll, allerdings ist der Strom bei 6 V ext. Stromversorgung im Deep-Sleep-Mode extrem hoch! (8 mA).
Ganz klar kein nackter ESP. Die 8mA braucht der Spannungsregler und die anderen Komponenten die auf der Platine drauf sind.
Die 10-20µA die möglich sind erhältst du so nie. Möglich wäre z.B. Versorgung über LiFePo4 Akku oder eventuell auch über 2 normale 1,5V Batterien. Ob es auf Dauer mit den normalen Batterien geht ist fraglich weil der ESP einen Versorgungsspannungsbereich von 3,0-3,6V hat.

Gruß, Jürgen

mk9900

Hi *,

ich hab ein ganz ähnliches Problem.  Alle meine NodeMCU's (ESP8266) wollen oder können irgendwie nicht in den deepSleep. Ob mit oder ohne Sensor messe ich im besten Fall 15mA.

Mein code:
Code: [Select]

void setup() {
  Serial.begin(115200);
  Serial.setTimeout(2000);

  while(!Serial) { }
 
  Serial.println("I'm awake, but I'm going into deep sleep mode for 30 seconds");
  delay(1);
  ESP.deepSleep(30e+6);
  delay(10);
 
}

void loop() {
}


Mein devices sind diese: https://de.aliexpress.com/item/33042530151.html?spm=a2g0s.9042311.0.0.17d54c4dwOWUEn
Mit ESP-12E und UART CH340G

Laut den üblichen Anleitungen sollte man irgendwo in den 2-3-stelligen mikroA Bereich kommen, aber da bin ich Größenordnungen von entfernt. Ich betreibe das Ganze mit einer 9V-Block Batterie (an Vin und GND), falls das eine Rolle spielt.

Nachdem was vorher geschrieben wurde würde ich hoffen zumindest auf die 8mA zu kommen. Ist das Illusion oder stimmt bei den ESPs was nicht?

Gruß
Matthias

HotSystems

Warum kaperst du einen alten Sketch der auch noch nicht zu deinem Problem passt ?
Außer Stromverbrauch, allerdings nutzt du einen anderen Controler.
Deiner hat mehr Bauteile drauf, die auch Strom brauchen.

Also mach bitte einen neuen, eigenen Sketch auf.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

mk9900

Scho wieder so einer...

Das Topic diese threads: Hocher Strom trotz DeepSleep

***GENAU*** diese Problem habe ich.

Bei solchen Leuten wirds ein richtig geiles Forum.

Ich bin wieder weg. Löscht meinen Post bitte @admin.

HotSystems

Scho wieder so einer...

Das Topic diese threads: Hocher Strom trotz DeepSleep

***GENAU*** diese Problem habe ich.

Bei solchen Leuten wirds ein richtig geiles Forum.

Ich bin wieder weg. Löscht meinen Post bitte @admin.
Einer der so postet, braucht hier auch keiner und ohne dich noch geiler.
Und tschüß...
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Rentner

Hallo,



bei einem  NodeMCU's (ESP8266) hab ich das noch nicht probiert. Mit einem Wemos D1 Mini hab ich im deep Sleep etwa 0,4mA gemessen.

Heinz

Go Up