Erster Eindruck: ESP8266 - WLAN-Modul mit rs232 Schnittstelle

  • Hallo joh,
    ist es so, daß bei der winzigen Stromaufnahme (27 uA) der AMS1117 noch vernünftig 3.3V zur Verfügung stellt? Das wäre natürlich prima und ich würde mir den auch gleich besorgen.

    Nach einem flüchtigen Blick ins Datenblatt sieht es eher so aus, daß er das erst ab ca. 10 mA kann !? :s
    Falls es aber doch klappt, schreib mir auch bitte, welche Kapazität Du am Ausgang des Reglers angebracht hast.

    Thanks und Gruß, mmi

  • Erster Eindruck: ESP8266 - WLAN-Modul mit rs232 Schnittstelle? Schau mal ob du hier fündig wirst!

  • Hi mmi,

    Am Ausgang hängt auch noch eine LED :) (Modul, Schaltplan)
    Allerdings mit einem 10K(103) Widerstand! Wenn ich mich nicht verrechnet habe sind das gerade mal 0.15 mA die somit durch die LED fließen.

    Also wird der Ausgang insgesamt immer mit minimal ~177 µA belastet.

    Ich werd das aber am Abend mal durchmessen. :)

    --
    Wieso sind es denn laut diesem Datenblatt 5 mA (Typ), 10 mA (Max) und laut diesem 10 mA (Min) :s
    Das ist sogar die gleiche Firma. Oder ist der mit der niedrigeren Minimum Load Current (der auch RoHs Compliant ist) einfach ein moderneres Fabrikat.

    Grüße, Joh

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (17. April 2015 um 15:59)


  • Am Ausgang hängt auch noch eine LED :)
    Allerdings mit einem 10K(103) Widerstand! Wenn ich mich nicht verrechnet habe sind das gerade mal 0.15 mA die somit durch die LED fließen.


    10 K als Vorwiderstand ? Kann eigentlich nicht sein, oder leuchten mittlerweile SMD lowcurrent LEDs da schon? ;)


    Wieso sind es denn laut diesem Datenblatt 5 mA (Typ), 10 mA (Max) und laut diesem 10 mA (Min) :s


    Beim zweiten Datenblatt ist nur vom einstellbaren Regler (adj) die Rede, beim ersten aber von den Festspannungsreglern (wie Du ihn als 3.3V Typ hast). Wird vermutlich daran liegen.

    Aber egal, wenn es zuverlässig bei Dir zu funktionieren scheint. Hab' mittlerweile auch so ein Teil, mal sehen, für SMD brauch' ich erst einen hustenfreien Tag :)

    Habe gerade 'spaßeshalber' mal die Spannung für den ESP runtergedreht - der marschierte incl. WLAN und telnet auch bei lediglich 1.9V (statt 3.3) noch. :-/ Aber das ist natürlich Unsinn - wenn was an den IOs hängt oder man auf den Flashspeicher schreibt, geht sicher was schief.

  • Zurück zur Software, da ist im Moment noch folgendes Problem zu lösen:

    Hochfahren mit Netzanbindung (statische IP, WPA2) und Start des Telnetservers klappt schon mal prima. Geht schnell (< 2s) und ich kann mich einloggen.

    Für die Weiterverarbeitung von Daten des ESP habe ich auf dem RPi einen entsprechenden TCP Server eingerichtet. Der ESP baut als Client eine Verbindung auf, der RPi führt dann z.B. mein "beep" Testscript aus. Das funktioniert so:

    Gebe ich das Zeile für Zeile auf der Konsole ein -> alles prima (Rpi piept).:thumbs1:
    TCP-Connection schliessen mit: "m:close() m=nil". Lässt sich dann auch beliebig oft erfolgreich wiederholen.

    Aber:
    Schreibe ich dasselbe in ein Luascript und rufe z.B. 'dofile("script.lua")' auf, passiert gar nichts, es gibt auch keine Fehlermeldungen. Hab' auch schon an diversen Stellen mit "tmr.delay(xxxx)" den Ablauf gebremst, hilft aber auch nichts. :rolleyes:
    Seltsam!?

    EDIT:
    Verwende ich keine Variablen, sondern setze IP, Port und Cmd direkt in die Befehle ein, funktioniert es auch als Script.
    Damit will ich aber nicht leben. Einschliessen der ganzen Prozedur in einen 'do block' hilft nicht, auch nicht mit "local" statt global definierten Variablen innerhalb dieses Blocks. :(
    Hat noch jemand eine Idee, es kann ja durchaus auch an meinen mangelhaften LUA Kenntnissen liegen?

  • Doch das ist wirklich ein 10K Vorwiderstand, zumindest steht 103 auf dem SMD Widerstand :huh:
    Ich hab hier auch eine grüne LED mit 4.7K Vorwidertsand in verwendung. Die leuchtet auch bei 3.3 Volt noch hell genug. Sind auch nur ~300µA. :)

    Bin gestern doch nicht mehr zum messen gekommen. (Hab gerade kein Multimemter im Haus :no_sad: )

    --
    Aber zurück zur Software ;)

    Ich hatte bei meinem "Deep Sleep Logger" das exakt gleiche "Problem" wenn ich das jetzt richtig verstanden habe.

    Das Problem ist das tmr.delay() alles komplett blockiert, auch den Netzwerk Stack: :-/
    https://github.com/nodemcu/nodemcu-firmware/issues/37

    Der ESP verbindet sich in dieser Zeit also gar nicht wie man erwarten würde mit dem Netzwerk.

    Ich hab das so gelöst das ich mit einer timer Funktion einfach 250 ms warte bevor ichs mit dem Request versuche. Das reicht dem ESP (wie im DeepSleep Post erwähnt in den meisten Fällen) um sich mit dem WLAN Netzwerk zu verbinden.

    DON'T PANIC!

  • Ahh, ein Frühaufsteher! Da bin ich das Gegenteil. ;)


    Doch das ist wirklich ein 10K Vorwiderstand, zumindest steht 103 auf dem SMD Widerstand :huh:

    Ok, da ist der alte Mann (=ich) mit dem techn. Fortschritt bei LEDs nicht mehr auf dem Laufenden. Ist ja toll, wenn's bei so geringen Strömen schon leuchtet. :thumbs1:


    Ich hab das so gelöst das ich mit einer timer Funktion einfach 250 ms warte bevor ichs mit dem Request versuche. Das reicht dem ESP (wie im DeepSleep Post erwähnt in den meisten Fällen) um sich mit dem WLAN Netzwerk zu verbinden.

    Gut, dann werde ich's auch mal so probieren. Toll wäre noch, wenn man beim Scriptaufruf (dofile) dem Script noch Parameter mitgeben könnte, so wie in C (argc, argv). Scheint offenbar nicht vorgesehen zu sein.

    Bin aber erstmal weg, bye-bye.


  • Hihi. Fühaufsteher? :lol: Nope.

    :thumbs1: :D


    Parameterübergabe hab ich jetzt auch noch nicht gesehen. Macht das sinn? :rolleyes:


    Brauche ich jetzt auch nicht unbedingt. Aber ich hab's ganz gerne, wenn ein Modul damit so universell nutzbar wird. Könnte ja beispielsweise sein, daß der ESP an verschiedene IP Adressen senden soll.

  • Jetzt läuft's auch als eigenständiges Skript, so wie ich es mir vorstelle:

    Jetzt wär's natürlich schön, die Variablen für den Funktionsaufruf extern mitgeben zu können - dofile() kann das ja nicht. Wird sich auch noch eine Lösung finden lassen.

    Bei Deinem DS18B20 Skript sieht's natürlich anders aus, da muß auf das Auslesen des Sensors gewartet werden. Sind bei mir dann erst die nächsten Schritte, erstmal muß das Grundgerüst stehen. Es sollen dann noch mehr gimmicks angeschlossen werden, wenn die Ressourcen reichen. ;)

  • Hallöle mmi ... Nachtgeist oder Frühaufsteher :)

    fyi: wir haben jetzt im Microcontroller-Subforum zum Thema ESP-Modul einen oben angepinnten Thread, der laufend aktualisiert wird.

    cheers und viel Spass noch beim Lesen ...
    -ds-

  • Servus Dirk, bei Dir ja eher eine ungewöhnliche Zeit! :-/


    fyi: wir haben jetzt im Microcontroller-Subforum zum Thema ESP-Modul einen oben angepinnten Thread, der laufend aktualisiert wird.

    Ja prima, eigentlich bräuchte der ESP ja längst zumindest ein eigenes Subforum.
    Oder noch besser: Der Tod des Cubieboard-Forums ist aus meiner Sicht eigentlich abzusehen, da wäre es ja ideal ... :)

    Gruß nach RO!

  • Hallo zusammen,
    für die Spannungsversorgung im "outside" Betrieb hab' ich mir intensiver Gedanken gemacht.

    Der AMS1117 Spannungsregler, der bei joh auch im DeepSleepMode (Stromaufnahme nur ca. 0,00003 A) so gut läuft, hat mich hellhörig werden lassen - obwohl es dem Datenblatt (minimal load current > 6 mA) krass widerspricht. :s

    Dieser "altmodische" Analogregler (aber immerhin LowDrop) produziert bei 12V Eingangsspannung und 40mA Durchschnittsverbrauch im Normalbetrieb eine Verlustleistung von stolzen 350 mW, das ergibt einen Wirkungsgrad von nicht mal 25%. Grottenschlecht, wenn der ESP solar im Aussenbereich betrieben werden soll. Selbst mit einer 6V Anlage (die ich verwenden würde) hat man dann noch über 50% Verlust. :(
    Allerdings scheint es nach meinen Erkundungen keinen modernen DropDown Regler für solch geringe Ströme zu geben !?

    Wesentlicher Vorteil des AMS ist aber erstmal:
    Der DeepSleepMode funktioniert bei joh und jetzt auch bei mir gut, wirkliches Vertrauen schafft aber wohl erst ein Langzeittest in verschiedenen Umgebungstemperaturen. :daumendreh2:


    Aber mal unabhängig von diesem Regler - meine Idee für den möglichst stromsparenden Dauerbetrieb (24 h) draussen ist eigentlich:

    - kleines Solarmodul in 6 Volt Ausführung
    - LiFePo-Akku (nicht LiPo), der hat direkt die Betriebsspannung des ESP :thumbs1:

    Offen bleibt bis jetzt noch die Suche nach einem möglichst effizienten und für LiFePo's passenden Solarladeregler :s
    Falls da jemand eine Idee hat ...


    Gruß, mmi

  • Hallöle mmi,
    jetzt wollte ich gerade die Segel streichen, da hab' ich Dich noch gelesen ...
    Ich hatte mal nach Akkus gesucht und dabei sind mir -> die hier <- untergekommen.
    Wäre das evtl. auch was für Deinen Einsatzzweck?

    so,
    ich bin jetzt mal weg.
    Viele Grüsse nach Franken ...
    -ds-

  • Servus ds,
    so einfach ist das nach meinen Vorstellungen nicht.
    Klar könnte man solche Akkus nehmen, aber 3.7 V ist schon überm Limit. Ok, über Diode der Einfachheit halber auf 3 V runter. Könnte so klappen, ist aber (für mich) keine saubere Lösung. ;)

    Das Ladeproblem bleibt. Warum also nicht gleich den passenden LiFePo statt den LiPos?

  • Habe mir jetzt ein 6V 5W monokristallines Solarmodul besorgt.
    Dazu prima passend, da nur 30 uA Eigenverbrauch, dieser Laderegler.
    Ich würde dann nur einen simplen 6V Bleigel Akku verwenden und den ESP regelt der AMS.

    Es könnte ja so einfach sein, aber leider hab' ich für den Solarregler noch keinen Händler gefunden, mal sehen ...

  • Hello,


    Bei Deinem DS18B20 Skript sieht's natürlich anders aus, da muß auf das Auslesen des Sensors gewartet werden...


    Nein. Die Wartezeit ist wirklich nur dafür da das der ESP genug Zeit hat sich mit dem WLAN Netzwerk zu verbinden.

    --
    Ich hab jetzt auch nochmal nachgemossen, die Spannung am Ausgang vom AMS1117 bleibt stabil. Auch nach 30 Minuten Tiefschlaf.
    Aber länger wie 35 Minuten kann man den ESP zumindest mit NodeMCU eh nicht in den Tiefschlaf versetzen. Dauertiefschlaf ausgenommen.
    Diese Zeit müsste sich doch sonst auch mit einem hinreichend großen Kondensator überbrücken lassen.?

    --
    An den Solarbetrieb habe ich auch schon gedacht. Das wäre natürlich ideal. :)

    Ich hab mich jetzt auch nochmal umgeschaut und hab dieses interessante Base/Carrier Board für XBEE Module entdeckt. Der Stromverbrauch bei den XBEE Modulen ist in etwa der selbe wie beim ESP. Wobei es recht große unterschiede in den verschieden Varianten gibt.
    Aber das Teil währe doch ideal. Oder was meinst du? Ist auch OpenSource d.h. man findet im Wiki unter anderem auch den Schaltplan und das Layout(brd).

    Das Board kostest gerade mal 16€ und die Beschreibung klingt (zumindest für mich) richtig gut.
    * On-Board Charge Controller CN3063 (Li-ion / LiPo )
    * On-Board 3.3V LDO Lownoise Micropower Regulator - RT9167A_33PB (500mA) (wieso wird denn hier wieder keine Minimum Current Load angegeben :huh: )
    und sogar ein FT232RL ist noch drauf.

    Anstatt dem XBEE Modul würd ich den ESP auf einem Stück Lochraster draufstecken.
    Am genialsten wär aber wenn man sich eine kleine Platine fertigen lassen würde auf der der ESP samt Beschaltung sitzt und die direkt darauf passt.

    Mir gefällt das Board echt super.
    Es gibt für nur knapp 4€ mehr sogar ein komplettes Set mit diesem Board +Solarzelle(0.5 W - 55x70 mm), LiPo Akku(500mA) und Case
    http://www.seeedstudio.com/depot/Wireless…-Kit-p-919.html


    Wenn ich mir aber deinen Beitrag durchlese scheint mir das viel zu unterdimensioniert zu sein.
    Denkst du das ich damit nicht weit kommen würde?

    Muss eigentlich nur für einen einfachen Temperatur-/Luftfeuchtigkeits-/Helligkeit-/... Sensor reichen der alle paar Minuten (max jede Minute) die Daten zum Pi schickt.
    Wie oft er das schlussendlich macht könnte man ja auch davon abhängig machen wie voll der Akku ist.

    Schöne Grüße,
    Joh

    DON'T PANIC!


  • Nein. Die Wartezeit ist wirklich nur dafür da das der ESP genug Zeit hat sich mit dem WLAN Netzwerk zu verbinden.


    Ah, ok. Was ich mit dem DeepSleepMode noch nicht so ganz verstanden habe:
    Im standalone Betrieb mit 'gebrücktem' reset pin (wie empfohlen) wird nach Ablauf dann auch der reset durchgeführt. Ohne diese "Brücke" wacht der ESP nicht mehr auf. Ich war bei diesen Versuchen allerdings auch nur über telnet eingeloggt - standalone eben. Bei Deinem Script läuft aber ja alles (nach Reaktivierung des Wlans) weiter, welche Voraussetzungen müssen dafür dann gelten?


    Ich hab jetzt auch nochmal nachgemossen, die Spannung am Ausgang vom AMS1117 bleibt stabil. Auch nach 30 Minuten Tiefschlaf. Aber länger wie 35 Minuten kann man den ESP zumindest mit NodeMCU eh nicht in den Tiefschlaf versetzen. Dauertiefschlaf ausgenommen.
    Diese Zeit müsste sich doch sonst auch mit einem hinreichend großen Kondensator überbrücken lassen.?


    Ja, mit Superkondensatoren wie z.B. diesen geht's. Allerdings können die üblicherweise nur 2,3 V, man müsste also zwei in Reihe schalten - womit sich die Kapazität wieder halbiert. 4,6V will man aber ja auch nicht haben. Lädt man Sie nur bis 3.6V auf, geht wieder einiges an Kapazität flöten. Abgesehen davon, daß man eine Ladestrombegrenzung bräuchte, denn die saugen anfangs sehr kräftig. Ich hab' diesen 50F Typ mit 400 mA Strombegrenzung geladen, das dauert dann schon 2 Minuten, wobei etwa eine Min. lang 400 mA fliessen. Also auch nicht so einfach, wie es zunächst aussieht. :-/
    Geht man mal davon aus, daß bei lediglich 3,6 V (statt 4,6) mit 2 x 50F in Reihe noch mind. 10F Kapazität da sind, dann würde der ESP bei 30 uA Stromaufnahme locker 2 Tage lang schlafen - wenn ich jetzt richtig gerechnet habe. Die Spannung wäre dann allerdings auf 3 V eingebrochen (was ja noch ok ist und für die Reaktivierung der Stromversorgung etc. noch reichen sollte).


    An den Solarbetrieb habe ich auch schon gedacht. Das wäre natürlich ideal. :)


    :thumbs1: :)


    Ich hab mich jetzt auch nochmal umgeschaut und hab dieses interessante Base/Carrier Board für XBEE Module entdeckt.


    Da hast ein gutes Stück gefunden - hast halt einfach das bessere Internet. :)
    Aber Du hast recht, angepasst für den ESP wäre das board eine recht kompakte Lösung.

    Der Spannungsregler dürfte lt. DB schätzungsweise bei ca. 80 uA minimum load current liegen - im Diagramm sieht es (fast?) wie 0 aus. Die Kapazitäten an In- und Output können recht kritisch werden, wie weiter unten im DB auch gut beschrieben wird. Da hab' ich beim AMS mit simplen 100 uF Elkos scheinbar Glück gehabt. :shy:

    Dazu der Charge Controller, mit dem Regler alles eine Einheit, sehr schön. Der FTDI Chip schadet natürlich auch nicht - wenn er im standalone kaum Strom frißt, aber man kann ihn dann ja auch abklemmen.


    Es gibt für nur knapp 4€ mehr sogar ein komplettes Set mit diesem Board +Solarzelle(0.5 W - 55x70 mm), LiPo Akku(500mA) und Case
    ...
    Wenn ich mir aber deinen Beitrag durchlese scheint mir das viel zu unterdimensioniert zu sein.
    Denkst du das ich damit nicht weit kommen würde?


    Aus meiner Sicht schon, das müsste man halt durchrechnen. Aber mir erscheinen 500 mAh zu knapp und eine Solarzelle mit lediglich 0,5 W? Es gibt trübe und kurze Wintertage, möglicherweise liegt mal länger Schnee auf den Zellen, Alterungsprozess des Akkus, usw. Kommt jetzt halt drauf an, was man anschliesst und welche Arbeitszyklen man haben möchte. Also mit einer 5 W Solarzelle mit 3 Ah Akku fühle ich mich deutlich wohler.
    Ich will einfach genug Luft haben, um evtl. doch noch einiges anschliessen zu können und eine Sonnenfinsternis muß es auch aushalten. :D


    ... könnte man ja auch davon abhängig machen wie voll der Akku ist.


    Ich möchte bestimmen, wann was zu machen ist - nicht die Sonne und der Akku - jawosammadenn (würde ds jetzt sagen) :lol:

    Bis dann und beste Grüße!

  • Hi und Danke für deine ausführliche Antwort. :)

    Bei Deinem Script läuft aber ja alles (nach Reaktivierung des Wlans) weiter, welche Voraussetzungen müssen dafür dann gelten?


    :s Nein. Der ESP wird ganz normal resettet und beginnt wieder am Anfang der init.lua. Das geht soweit ich weiß auch nicht anders. Oder wie meinst du das?

    Ja, mit Superkondensatoren wie z.B....


    Danke. Sehr Interessant. Wieder was gelernt. :thumbs1:

    Der FTDI Chip schadet natürlich auch nicht - wenn er im standalone kaum Strom frißt, aber man kann ihn dann ja auch abklemmen.


    Der wird eh nur mit Strom versorgt wenn das Board über USB angeschlossen ist. Stört also überhaupt nicht.

    Der Spannungsregler dürfte lt. DB schätzungsweise bei ca. 80 uA minimum load current liegen - im Diagramm sieht es (fast?) wie 0 aus. Die Kapazitäten an In- und Output können recht kritisch werden, wie weiter unten im DB auch gut beschrieben wird.


    Ui stimmt. Glatt übersehen. :^^: :thumbs1:


    ...Kommt jetzt halt drauf an, was man anschliesst und welche Arbeitszyklen man haben möchte...


    Also bei mir wären das nur eine handvoll Sensoren die da angeschlossen werden und die brauchen alle kaum Strom. Ich hab vor damit eine kleine "Wetterstation" zu bauen.
    Folgende Sensoren sind geplant (Und auch schon bestellt. :) )

    Sensor - Strom aktiv - Strom Standby
    dht22 - 2,5mA - 50uA
    ds18b20 - 1,5mA - 1uA
    bmp180 - 1mA - 0.1uA
    bh1750 - 190uA - 1uA

    Was die Arbeitszyklen angeht bin ich mir nicht sicher.
    Aber ich hätte jetzt grob gesagt jede Minute einmal aufwachen.

    Ich werd die nächsten Tage einfach mal versuchen durchzurechnen wie weit ich mit dem Kit(0.5 Watt Solarzelle, 500mA LiPo) kommen würde.


    Danke nochmal und schöne Grüße,
    Joh

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (27. April 2015 um 02:42)

  • Hallo und sorry, daß es etwas gedauert hat - es gab viel anderes - da hat mein ESP dann erstmal Pause.


    :s Nein. Der ESP wird ganz normal resettet und beginnt wieder am Anfang der init.lua. Das geht soweit ich weiß auch nicht anders.


    So ist auch meine Erfahrung. Der ESP schaltet bis auf den timer alles ab und hat dann auch alles 'vergessen', da kommt man um den reset nicht herum. Will man das nicht, dann "tmr" statt "deepsleep" Funktion mit entsprechend höherem Stromverbrauch - denke ih mal.
    Warum ich das bei Deinem Script anders gesehen habe - hmm, keine Ahnung mehr. Wahrscheinlich hab' ich irrtümlich zu später Stunde 'deepsleep' und 'tmr' Funktion(en) auf derselben Ebene gesehen - was natürlich Quatsch ist. :wallbash:


    Also bei mir wären das nur eine handvoll Sensoren die da angeschlossen werden und die brauchen alle kaum Strom. Ich hab vor damit eine kleine "Wetterstation" zu bauen ...


    Ne Handvoll? Das wäre bei meinen Händen nicht gerade wenig :lol:
    Aber so habe ich es auch vor - 'step 1' ist jedoch erstmal, das Teil mit einem DS18B20 zu bestücken und die Zuverlässigkeit im mehrtägigen Dauerbetrieb zu beobachten. Viele Versuche sind noch offen, z.B.: kann man das Wlan im lfd. Betrieb aus- und einschalten und wenn, was bringt es an Stromersparnis? Vielleicht hat's ja schon jemand getestet - da ist natürlich Deine Linksammlung im anderen thread Klasse! Ich hab' noch nicht alles gelesen, but keep up the good work!! :)


    Ich werd die nächsten Tage einfach mal versuchen durchzurechnen wie weit ich mit dem Kit(0.5 Watt Solarzelle, 500mA LiPo) kommen würde.


    Ohne durchgängigen Nachtbetrieb könnte es schon reichen.

    Was dafür aber auch noch zu lösen wäre:
    Vin < 3V --> abschalten, andernfalls undefinierter Zustand mit hässlichen Effekten
    Vin > mind. 3V --> wieder einschalten, wofür zusätzliche Elektronik gebraucht wird

    Auch ein Grund, warum ich es lieber etwas größer dimensioniere. Oder ein intelligenter Laderegler übernimmt das. Apropos Laderegler, den ich oben von dem Schweizer Hersteller erwähnt hatte: 200,- € zzgl. Mwst. :-/ Vermutlich die Rolex unter den Ladereglern.:lol:

    Gruß und schönen Feiertag,
    mmi

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!