Stromverbrauch

Foren Das NanoESP & Pretzel Board Forum Hardware Stromverbrauch

Ansicht von 10 Beiträgen - 1 bis 10 (von insgesamt 10)
  • Autor
    Beiträge
  • #986
    generalovernight
    Teilnehmer

    Ich habe jetzt mal den Stromverbrauch des nanoESP ohne äußere Lasten gemessen. Bei einer USB-Stromversorgung frisst der kleine 160 mA, also ca. 0,8 W, was ja für ein IoT-Device ganz schön gierig ist (der will wohl noch wachsen), bei dem die Batterielaufzeit üblicherweise eher in Jahren gemessen wird. Da stellt sich die Frage, wie man beim nanoESP im Betrieb Strom sparen kann. Eine erste Idee hatte ich bereits bei den Kalender-Programmen umgesetzt, nämlich ans Ende der loop-Funktion einen passenden delay eingebaut, damit die Schleife nicht unnötig oft durchlaufen wird und der Prozessor sowie die Serielle Schnittstelle zwischendurch mal Pause hat – habe da aber noch nicht gemessen, ob es den Stromverbrauch signifikant beeinflusst.

    Die nächste Idee war, das WLAN-Modul abzuschalten, wenn es nicht benötigt wird. Wie man hier lesen kann, soll das ja allein 100 mA verbraten. Mit einem Sketch, der gar kein WLAN nutzt, habe ich aber ebenfalls 140 bis 150 mA gemessen. Wäre also die Frage 1, ob man das Modul bei Nichtgebrauch irgendwie abschalten kann.

    Desweitern liefert die Doku des ESP-Moduls und der AT-Befehle einen Hinweis auf einen Deep-Sleep-Modus, den man mit AT-GSLP aktivieren kann, sodass sich das Modul für eine definierte Zeit schlafen legt. Wäre ja eine prima Alternative für einen delay-Aufruf. Allerdings steht in der Doku auch, dass die Hardware das unterstützen muss, was nach dem ersten Augenschein nicht der Fall ist. Frage 2 also: kann man den Deep-Sleep-Modus irgendwie nutzen?

    … und vielleicht bekommt der nanoESP 2.0 ja ein stromsparenderes Hardwaredesign :-)

    #989
    Klaus
    Teilnehmer

    Du musst zuerst bei Deinen Versuchen dran denken, dass der NanoESP aus 2 unabhängigen Teilen besteht:
    1. Der Mikrocontroller
    2. Das ESP8266-Modul

    Wenn Du nun den Mikrocontroller in den Schlafmodus schickst, läuft das ESP-Modul natürlich weiter. Genauso ist es umgekehrt. Du musst also wenn schon beide in den Schlafmodus schicken.
    Das ESP-Modul frisst halt etwas Strom, es sendet ja auch. Ein Sender braucht nun mal seine Energie. Da wird sich auch in Zukunft nix dran ändern. Du kannst aber aufs ESP-Modul die neueste Firmware schreiben. Mit dieser kannst Du die Sendeleistung einstellen. Damit kannst Du auch Strom sparen. Natürlich sinkt dabei die Reichweite.
    Leider gibt es keine Signalleitung zwischen Atmel und ESP, mit der man eine Signalisierung oder ein Wakeup realisieren könnte.

    #994
    generalovernight
    Teilnehmer

    Du musst zuerst bei Deinen Versuchen dran denken, dass der NanoESP aus 2 unabhängigen Teilen besteht

    Das ist schon klar, aber
    1. ist das ESP-Modul anscheinend (und wohl nicht nur scheinbar) der größte Stromfresser auf dem Board, und
    2. wenn es vernünftig programmiert ist (und das scheint der Fall zu sein), wartet der Atmel darauf, dass der ESP wieder aufwacht. Er ist dann zwar nicht im Schlafmodus, führt aber höchstens noch Interruptroutinen aus. Das ESP-Modul braucht im Deep-Sleep aber fast keinen Strom, das wäre also eine sehr attraktive Sache um den Stomverbrauch zu senken.

    #1000
    Klaus
    Teilnehmer

    Klar ist das ESP der größte Stromfresser, ist ja auch ein Sender drin. Aber ohne eine Verbindung zum Mikrocontroller kannst Du das Modul nicht wieder aufwecken. Ein automatisches Aufwecken wäre in den meisten Fällen nicht praktisch. Je nach Projekt wäre es meistens aber eher sinnvoll, wenn Du das Modul schlafen legen kannst und wenn es wieder gebraucht wird aufzuwecken. Wenn es nach einer Weile von alleine aufwacht, dann verbraucht es unnötig Strom, auch wenn Du es dann wieder schlafen legst. Aber das ist einfach zu viel Aufwand, immer nachzuschauen, ob das Modul wieder da ist. Einfach eine Wakeup-Leitung wäre da viel sinnvoller.
    Aber das hat sich eh erledigt, weil sich das Modul nämlich scheinbar nicht wieder aus dem Schlaf erwachen lässt. Mir ist es jedenfalls nicht gelungen, auch mit den einzelnen Mini-Modulen die ich noch habe nicht.

    Das ESP-Modul braucht etwa 110mA. Bei mir war es 150mA mit und 40mA ohne Modul (Sleep-Modus). Beim einzelnen Modul ebenfalls (RS232-Konverter + ESP-Modul) 140mA mit und 30mA ohne Modul. Sendeleistung habe ich jetzt noch nicht probiert.

    #1001
    generalovernight
    Teilnehmer

    Sorry, du scheinst noch nicht verstanden zu haben, was ich meinte. Schau dir mal die Doku zum Kommando AT+GSLP an. Der ESP8266 braucht nicht aufgeweckt zu werden, im Gegenteil er weckt sich selbst auf, wenn das entsprechend verdrahtet ist. Im Deep-Sleep läuft nur noch die RTC des ESP und versucht nach der mit AT+GSLP angegebenen Zeit das Modul wieder aufzwecken (das ist genau die Funktionalität, die ich gesucht habe).
    Wenn ich die Kürzel richtig interpretiere wird dazu ein Reset-Pin auf high gelegt. Dieser muss aber wohl geeignet verdrahtet sein, damit das ganze funktioniert, und das ist die eigentliche Frage:
    Ist eine entsprechende Verschaltung auf dem nanoESP vorhanden, damit das AT+GSLP funktionieren kann?

    Nachtrag:
    Die MCU dürfte nach meiner Interpretation auf die Beendigung des AT+GSLP Kommandos warten, tut dann also auch nichts, außer evtl. Interruptroutinen auszuführen – und nach einem ersten Test zu urteilen, scheint das auch der Fall zu sein.

    #1003
    Klaus
    Teilnehmer

    Doch, das habe ich schon verstanden. Aber Du hast anscheinend nicht verstanden, was ich gemeint habe.
    Mal ein Beispiel:
    Du baust ein Gerät, was auf Knopfdruck eine Nachricht z.B. an Thingspeak versenden soll. Jetzt wo keine Wakeup-Leitung da ist, läuft das so ab:
    Du schickst das ESP-Modul für 5 Sekunden in den Tiefschlaf, anschließend den Mikrocontroller auch (Taster mit Interrupt verdrahtet zum vorzeitigen Aufwecken). Nach 5 Sekunden wachen beide auf. Der Mikrocontroller initialisiert die serielle Verbindung und schickt wieder beide für 5 Sekunden in den Tiefschlaf. Beide haben aber zwischendurch mal Strom verbraucht, weil sie kurzzeitig wach waren. Gerade das ESP-Modul hat unnötig Strom verbraucht, weil es ja gar nicht benötigt wurde.

    Hast Du eine Wakeup-Leitung, sieht das so aus:
    Du schickst das ESP-Modul und den Mikrocontroller in den dauerhaften Tiefschlaf. Der Tastendruck weckt nun den Mikrocontroller wieder auf, dieser (oder auch der Taster direkt) weckt nun das ESP-Modul auf, schickt seine Nachricht und legt wieder beide schlafen. Beide verbrauchen also nicht unnötig Strom. Gerade bei 9V-Blöcken, die ja eh nicht viel Energie haben, ist das ein sehr wichtiger Punkt. Und ich dachte, genau das wolltest Du erreichen. Also solltest Du für jeden Stromsparmechanismus dankbar sein. Das bekommst Du mit Tiefschlaf auf Zeit nie hin.

    #1005
    generalovernight
    Teilnehmer

    Was hast du verstanden? Du reitest fröhlich weiter auf deiner Wakeup-Leitung herum, obwohl ich bereits darauf hingewiesen habe, dass diese Funktionalität im ESP8266 offensichtlich enthalten ist, die Frage ist nur, ob sie auch vom nanoESP-Board unterstützt wird. Auch schon in deiner ersten Antwort schreibst du davon, die MCU in den Schlaf zu schicken, dabei habe ich explizit vom ESP geschrieben. In deinem letzten Kommentar dann „ESP und Mikrocontroller in den Tiefschlaf“ davon steht auch nichts in meinen Kommentaren. Ich werde jetzt nicht nocheinmal wiederkäuen, was ich meine.

    Ich habe eine klare Frage gestellt, ob das Board des nanoESP so gestaltet ist, dass der AT+GSLP Befehl tatsächlich praktisch nutzbar ist. Diese Frage müssten diejenigen, die den nanoESP entworfen haben wohl leicht beantworten können. Da von dieser Seite aber nichts kommt, sondern nur deine Nebelkerzen, gehe ich inzwischen davon aus, dass der nanoESP als reines Lern-, Spiel, und Bastelmodul entwickelt wurde. In dieser Hinsicht ist das Teil ja auch ganz hervorragend, aber für praktische Anwendungen muss man sich wohl doch eine andere Hardware suchen.

    #1007
    Klaus
    Teilnehmer

    Aber das hat sich eh erledigt, weil sich das Modul nämlich scheinbar nicht wieder aus dem Schlaf erwachen lässt. Mir ist es jedenfalls nicht gelungen, auch mit den einzelnen Mini-Modulen die ich noch habe nicht.

    Hatte ich alles schon lange geschrieben.

    #1013
    generalovernight
    Teilnehmer

    Schön dass du dich jetzt schon selbst zitierst ;-) … und auch, dass sich das Modul nur scheinbar nicht wieder „erwachen“ lässt, denn das heißt, es lässt sich wieder aufwecken, es sieht bloss nicht so aus ;-)
    Vermutlich ist das aber bloss ein Rechtschreibfehler und die für das Selbstaufwecken des ESP8266 nötigen Leitungen sind auf der Platine tatsächlich nicht verdrahtet – schade, würde den praktischen Nutzwert des Boards deutlich erhöhen.

    #1014
    Klaus
    Teilnehmer

    Wäre tatsächlich praktisch gewesen. Vielleicht eine Idee an die Entwickler, dies in Zukünftigen Versionen zu implementieren.

Ansicht von 10 Beiträgen - 1 bis 10 (von insgesamt 10)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.