AZ-Delivery D1 mini ESP8266 geht nicht zuverlässig in Deepsleep

OP #6923258
Lesenswert?

Ich habe auf einen AZ-Delivery D1 mini ESP8266 die Firmware Tosmata 
geflasht und für MQTT konfiguriert.
Es liest einen Temperatursensor aus, sendet die Temperatur über MQTT und 
geht für 5 Minuten in Deepsleep.
Hardwareaufbau:
Versorgung mit einer 18650 LiIon Zelle mit LDO auf 3,3V.
Auf 3,3V habe ich auch noch einen 22uF Tantal gehängt.
Grundsätzlich funktioniert es.
Allerdings einmal 5 Tage, dann wieder nur 3 Tage.
Mittlerweile habe ich auch den USB-Seriell-Converter IC runtergelötet, 
weil der im Deepsleep einen relativ hohen Stromverbrauch verursacht 
hatte.
Also am Stromverbrauch liegt es definitiv nicht mehr.
Immer wenn es nicht mehr geht, hat der Akku nur mehr knapp über 2V.
Bei der letzten funktionierenden Datenübertragung werden aber noch >3,3V 
gemessen.
Für mich schaut das so aus, wie wenn er sich aufhängt bzw. nicht mehr in 
den Deepsleep geht und dann den Akku leer saugt.
Aber wie kann ich das verhindern?
Gibt es so etwas wie einen Watchdog, der aber dann im Deepsleep nicht 
auslöst?
Gast #6923354
Lesenswert?

Irgendwie häufen sich diese Anfragen in letzter Zeit.

Das Wemos D1 Mini Board wurde mal so weit verbessert, dass es im 
Deep-Sleep nur noch etwa 300 µA aufnimmt.

Möglicherweise ist das Board von AzDelivery mit einem anderen 
Spannungsregler bestückt, der mehr Ruhestrom aufnimmt. Da nützt es dir 
dann auch nichts, das Board von extern zu versorgen.

> Für mich schaut das so aus, wie wenn er sich aufhängt
> bzw. nicht mehr in den Deepsleep geht und dann den Akku leer saugt.

Das kann auch durchaus der Fall sein.

Ist denn dein LDO überhaupt genug belastbar? 500 mA sollte er liefern 
können. Wenn nicht, dann provoziert man damit Abstürze.

> Aber wie kann ich das verhindern?

Stabile Stromversorgung ist am allerwichtigsten.

> Gibt es so etwas wie einen Watchdog, der aber dann im Deepsleep
> nicht auslöst?

Ja, der ist standardmäßig auch aktiv. Aber wenn der Chip hängt, dann 
versagt der Watchdog leider manchmal.
OP #6923395
Lesenswert?

Stefan ⛄ F. schrieb:
> Das Wemos D1 Mini Board wurde mal so weit verbessert, dass es im
> Deep-Sleep nur noch etwa 300 µA aufnimmt.
>
> Möglicherweise ist das Board von AzDelivery mit einem anderen
> Spannungsregler bestückt, der mehr Ruhestrom aufnimmt. Da nützt es dir
> dann auch nichts, das Board von extern zu versorgen.

Original bin ich im Deepsleep auf 1,7mA gekommen, wenn man nicht über 
USB sondern direkt auf den 3,3V Pins versorgt.
Nachdem ich den USB-Seriell-Converter IC entfernt habe, bin ich jetzt 
auf 200uA im Deepsleep.

>Ist denn dein LDO überhaupt genug belastbar? 500 mA sollte er liefern
können. Wenn nicht, dann provoziert man damit Abstürze.

LDO habe ich den TC1262-3.3VDB genommen. Also ein 500mA Regler.

> Stabile Stromversorgung ist am allerwichtigsten.
Zusammen mit dem 22uF Tantal sollte die Spannung stabil genug sein.

Ein 2. Modul, welches aber nur alle 60 Minuten die Werte überträgt, 
läuft seit 2 Wochen durch.
Irgendwie habe ich keine Idee, wie ich das Problem näher eingrenzen 
kann.
Gast #6923434
Lesenswert?

Manuel F. schrieb:
> Als LDO habe ich den TC1262-3.3VDB genommen. Also ein 500mA Regler.

Manuel F. schrieb:
> Versorgung mit einer 18650 LiIon Zelle mit LDO auf 3,3V.

Der hat bei 500 mA bis zu 650 mV Drop-Out. Der Akku muss also 4 Volt 
haben, damit das stabil funktioniert. Nimm lieber einen 3,0 Volt Regler, 
wenn kein anderer Grund dagegen spricht.

Manuel F. schrieb:
> Zusammen mit dem 22uF Tantal sollte die Spannung stabil genug sein.

Ich empfehle 100 oder 200 µF. Mit 10 µF lief das ESP-12 Modul bei mir 
nicht stabil.

Manuel F. schrieb:
> Irgendwie habe ich keine Idee, wie ich das Problem näher eingrenzen
> kann.

Überprüfe die Stromversorgung mit einem Oszilloskop an einem fast leeren 
Akku (3,6V).
OP #6923559
Lesenswert?

Ich habe mir das jetzt mit Oszi, Labornetzteil und einem 3V leeren Akku 
angeschaut.
Ab 3,2V bleiben sämtliche Spannungseinbrüche über 3,0V und sollten somit 
kein Problem sein.
Mit dem 3V Akku bricht die Spannung auf 2,8V ein. Aber selbst da läuft 
es seit über einer Stunde fehlerfrei obwohl ich die Deepsleep Zeit auf 
1min verkürzt habe.
Ob das wirklich an der Versorgung liegt?
Ich werde mal als Gegentest einen LiFePo4 auf 3,5V aufladen und direkt 
ohne LDO anhängen.
Vorher lasse ich es aber noch länger mit den 3,2V laufen.
Gast #6923583
Lesenswert?

> Ich empfehle 100 oder 200 µF. Mit 10 µF lief das ESP-12 Modul bei mir
> nicht stabil.

Also ich empfehle ja eher Oszi und Gehirn einzuschalten. Wofuer hat man
das schicke Teil denn? Ansonsten den Kondensator am Ausgang nicht 
unnoetig gross machen weil es gerade Aufgabe des Reglers ist die 
Spannung richtig zu regeln. Es ist eher sinnvoll am Eingang des Reglers 
einen groesseren Kondensator zu haben weil das dem Regler bei einer leer 
werdenden Batterie mit groesserem Innenwiderstand mehr Headroom bei 
impulsfoermiger Last bietet.

> Ich habe mir das jetzt mit Oszi, Labornetzteil und einem 3V leeren Akku
> angeschaut.

Ah..Gehirn geht schon. :-) Dreh mal an deinem Labornetzeil den 
Maximalstrom langsam runter bis du siehst wie deine Schaltung Probleme 
bekommt weil der kurze Sendepuls die Spannung zusammenbrechen laesst. 
Und dann machst du mal einen Elko vor deinem Regler und schaust mal wie 
weit du damit runter kommst.

Der naechste Punkt, miss bitte mal direkt an deinem ESP-Baustein. Also 
z.B an einem Stuetzkondensator auf der Platine. Und schau mal ob die 
Spannung dort auch stabil sind. Ein Strom von 500mA ist ja nicht ohne. 
Wenn da deine Verkabelung zu duenn ist oder ein Pfostenstecker etwas 
viel Uebergangswiderstand hat dann summierst sich da auch etwas 
Spannungsabfall. Eventuell kann es dann sinnvoll sein direkt auf deinem 
Modul noch eine Kapazitaet aufzuloeten wenn du dort ein Problem 
nachweisen kannst.

> Ob das wirklich an der Versorgung liegt?

Du hast doch ein Oszi, also nutze es! Und verwende nach moeglichkeit 
kein Pigtail sondern die Massefeder.

Olaf
Gast #6923606
Lesenswert?

Manuel F. schrieb:
> Ab 3,2V bleiben sämtliche Spannungseinbrüche über 3,0V und sollten somit
> kein Problem sein.

Das kenne ich anders. Der ESP8266 reagiert empfindlich auf schnelle 
Schwankungen in seiner Stromversorgung. Er funktioniert ab 2,8V aber 
dass heißt nicht, dass die Einbrüche so weit gehen dürfen.

Mit 3,3V und 300mV Einbrüchen läuft er definitiv nicht mehr stabil, das 
weiß ich aus durchgeführten Testreihen. 100mV scheint hingegen noch zu 
gehen.

Manuel F. schrieb:
> Ob das wirklich an der Versorgung liegt?

Erfahrungsgemäß lagen gefühlt 95% aller Instabilitäten an mangelhafter 
Stromversorgung. Mit der Korrektur der Stromversorgung endet hier fast 
jeder entsprechende Thread. Insofern halte ich es für eine gute Idee, da 
anzusetzen wenn man keinen gezielteren Plan hat.
Gast #6923610
Lesenswert?

Olaf schrieb:
> Also ich empfehle ja eher Oszi und Gehirn einzuschalten. Wofuer hat man
> das schicke Teil denn?

Da bin ich voll bei dir. Ich hatte den Elko empfohlen weil ich dachte 
dass der TO kein Oszilloskop hat. Dachte er hätte es sonst benutzt und 
davon berichtet.

Die Idee hinter dem Kondensator ist, dass Spannungsregler nicht 
unendlich schnell nachregeln können. Gerade LDO sind davon tendenziell 
mehr betroffen, als normale Spannungsregler. Die Stromaufnahme des 
ESP8266 ist aber extrem sprunghaft. Der Kondensator soll die Trägheit 
des Spannungsreglers ausgleichen.

Du hast absolut Recht, dass zu viel Kapazität sich wiederum negativ auf 
die Funktion des Spannungsreglers auswirken kann.

Das bewährte NodeMCU Board hat übrigens 100 µF. Das Wemos D1 Mini hat 
für den bestückten LDO manchmal zu wenig, das ist hier im Forum schon 
einige male aufgefallen. Problem: Es gibt viele Varianten von dem Board 
und die auch noch mit unterschiedlichen Spannugsreglern bestückt.

Ich habe allerdings zur Kenntnis genommen, dass der TO einen externen 
Spannungsregler benutzt. Wie viel Kapazität der braucht, um den ESP8266 
zu bedienen, weiß ich nicht.

Olaf schrieb:
> Dreh mal an deinem Labornetzeil den
> Maximalstrom langsam runter bis du siehst wie deine Schaltung Probleme
> bekommt weil der kurze Sendepuls die Spannung zusammenbrechen laesst.

Bei mir würde das nichts nützen, denn mein Labornetzteil hat 440 µF an 
den Ausgangsklemmen.

Olaf schrieb:
> Eventuell kann es dann sinnvoll sein direkt auf deinem
> Modul noch eine Kapazitaet aufzuloeten wenn du dort ein Problem
> nachweisen kannst.

Ja, auf jede Fall direkt ans ESP Modul (der Teil mit dem Blech-Deckel). 
Nur da tut er, was er soll.
OP #6923651
Lesenswert?

Danke erstmal für den ganzen Input.
Die Versuche mit dem Labornetzteil habe ich nach 2 Stunden abgebrochen.
Da ist das Problem nicht aufgetreten obwohl die Spannung wirklich schon 
nicht mehr schön aussieht. (200mV Spannungseinbruch)
Strombegrenzung beim Labornetzteil zurück drehen, hat in dem Fall nichts 
geändert, weil am Ausgang vom Labornetzteil ziemlich große Elkos verbaut 
sind (nach der Strombegrenzung).
Mit Akkuversorgung habe ich auch nochmal gemessen.
Da sind die Spannungseinbrüche bei unter 20mV.
(beide Messungen mit Massefeder)

Der 22uF ist natürlich direkt am Modul aufgelötet.
Zuvor hatte ich es ohne den 22uF in Verwendung. Da ist es auch immer 3-5 
Tage gelaufen.

Ich werde jetzt mal jeden Tag die Akkuspannung messen und schauen, ob es 
bei den Ausfällen einen Zusammenhang gibt.
Ev. gibt es mit dem LDO bei einer bestimmten Spannung einen komischen 
Effekt.
Im 2. Schritt werde ich es dann mit dem LiFePo4 ohne LDO versuchen.
Beitrag #6925626 wurde von einem Moderator gelöscht.
#6925976
Lesenswert?

Manuel F. schrieb:
> Ich habe das jetzt nochmal getestet.
> Es ist wirklich so. Sobald ich WLAN ausschalte, geht der ESP8266 nicht
> mehr in Deepsleep.
> Kann man das irgendwie einstellen, dass er es nur 1x versucht oder so?

mir war so das idR ein loop läuft

Also prüfe ob die Verbindung noch steht while connected
sonst mache ein disconnect denn woher soll der esp wissen das der Router 
weg ist?

Für Versuche 1x lasse ein Counter (Variable) mitlaufen!
OP #6925994
Lesenswert?

Peter D. schrieb:
> Gute Labornetzteile haben möglichst <=1µF am Ausgang, damit bei
> Kurzschlüssen die Kondensatorladung keinen großen Schaden anrichtet.

Ja ich weiß.
Da bin ich aber erst nach dem Kauf drauf gekommen, dass das ziemlich 
suboptimal ist.
Wobei ich mir das eh hauptsächlich zum Akku laden gekauft habe und dafür 
funktioniert es gut.
Ich werde aber bald ein neues Netzteil kaufen.
OP #6926024
Lesenswert?

Joachim B. schrieb:
> mir war so das idR ein loop läuft
>
> Also prüfe ob die Verbindung noch steht while connected
> sonst mache ein disconnect denn woher soll der esp wissen das der Router
> weg ist?
>
> Für Versuche 1x lasse ein Counter (Variable) mitlaufen!

Ja das wird sicher so sein.
Die Frage ist aber, wie man das umgehen kann.
Dieses Ding wird ja oft für diesen Einsatzzweck verwendet 
(Batteriebetrieb, Sensorwerte mit einem bestimmten Intervall übertragen, 
dazwischen Deepsleep)
Das kann ja nicht Sinn der Sache sein, dass immer wenn das WLAN ausfällt 
oder abgeschaltet wird, die Akkus leer gesaugt werden.
#6926049
Lesenswert?

Manuel F. schrieb:
> Die Frage ist aber, wie man das umgehen kann.
> Das kann ja nicht Sinn der Sache sein, dass immer wenn das WLAN ausfällt
> oder abgeschaltet wird, die Akkus leer gesaugt werden.

alles reine Software, lasse ihn schlafen, wenn er aufwacht erst mal ein 
Ping absetzen, dann weiss er ob er Daten absenden kann. Sollte er keinen 
connect haben, Versuche zählen, bei zu vielen Versuchen disconnect & 
wieder in den sleep
Beitrag #6926056 wurde von einem Moderator gelöscht.
OP #6926135
Lesenswert?

Joachim B. schrieb:
> alles reine Software

Genau das ist das Problem :-)
Ich komme aus der Hardware Welt.
Deshalb habe ich auf den D1 Mini die Tosmata Firmware geflasht und den 
Temperatursensor konfiguriert.
Dann habe ich noch das Intervall auf 5min gestellt und Mqtt 
konfiguriert.
Jetzt werden die Sensordaten alle 5min übertragen und dazwischen geht er 
in den Deepsleep.
Also soweit alles super, bis auf das Problem wenn kein WLAN da ist.
Ich wüsste jetzt auch gar nicht, wie und wo man da Programmcode einfügen 
könnte.
#6926372
Lesenswert?

Manuel F. schrieb:
> Ich wüsste jetzt auch gar nicht, wie und wo man da Programmcode einfügen
> könnte.

arduino ide installieren, esp und proggen lernen
so fing doch jeder mal an, auch manchmal Kinder und Jugendliche.
OK ich war beim Arduino und ESP schon älter aber habe von klein auf 
angefangen mit 12 den Logikus, mit 23 den PET2001.
Jede Reise beginnt mit dem ersten Schritt und heute gibts Internet falls 
Fragen auftauchen.
OP #6926528
Lesenswert?

Es ist ja nicht so, dass ich in diese Richtung noch nichts getan habe.
Ich habe über 10 Arduino Nano im Einsatz.
Aber Tasmota kann man dann nicht mehr verwenden?
Ich habe es halt extrem praktisch gefunden, dass man sich in ein paar 
Minuten alles zusammen konfiguriert und dann läuft es schon.
Auch das mit dem Webserver ist extrem praktisch.
Mit der Arduino IDE müsste ich es wieder über USB flashen? Das ist schon 
wieder problematisch, weil ich den USB-Seriell Converter wegen dem 
Stromverbrauch im Deepsleep auslöten musste.
Gast #6926546
Lesenswert?

Ich selbst kenne Tasmota nicht, entsprechend der Homepage soll aber
das Flashen über WLAN möglich sein.
Zur Not temporär einen USB Adapter zum flashen direkt anschließen
und danach wieder entfernen.
Für die Arduino Gemeinde gibt es auch einige Beispiele - eventuell
lohnt es sich hier einzuarbeiten.
(Firma: matzetronics) #6926685
Lesenswert?

Stefan ⛄ F. schrieb:
> Folgende Beschaltung wird empfohlen, damit er zuverlässig aufwacht:
> http://stefanfrings.de/esp8266/index.html#deepsleep

Das meinte ich.

Stefan ⛄ F. schrieb:
> Das Wroom 02 Modul enthält (anders als ESP-12) am Reset Pin keine
> Bauteile.

Wollte mich auch nicht einmischen bzw. dazwischenfunken. Für meine 
Anwendung (WLAN Voltmeter für E-Auto) ist deep sleep eh nicht sinnvoll.
#6926688
Lesenswert?

Matthias S. schrieb:
> Wie war das denn mit dieser Brücke von einem GPIO nach Reset?

es gibt Zusatzschaltungen mit 10µF aus DTR? die an dem GPIO wackeln der 
nach GND muss um das Programmieren auszulösen.

Müsste mal nach Schaltbilder gegoogelt werden, 10µF EN ESP sind 
Suchworte!
Andere nutzen aus RxTx DTR? 2 Transistoren über Kreuz

unbequem mit Taster oder Schalter
https://www.ebay.de/itm/173657302076

Ich habe mich damit zu wenig beschäftigt, ausser das es Automatk Module 
für ESP8266-01(s) gibt viel angenehmer als die mit dem Schalter.

Diese Automatik Module sollte man auch gut adaptieren können, die 
Abwesenheit von GPIO 0 Brücke, Taster oder Schalter  lässt auf Automatik 
Betrieb hoffen
https://www.ebay.de/itm/402152440110

https://www.studiopieters.nl/esp8266-auto-program-reset/
#6926751
Lesenswert?

Stefan ⛄ F. schrieb:
> Joachim, ich glaube du verwechselt die Frage nach dem Deep-Sleep mit dem
> Flash-Upload.

du hast offensichtlich wieder mal nicht verstanden das die auch 
programmiert werden müssen und

Andreas S. schrieb:
> Zur Not temporär einen USB Adapter zum flashen direkt anschließen
> und danach wieder entfernen.

man will es auch bequem haben ohne Brücke nach GPIO 0

nichts nervt mehr als ein schlechter würgfloh
OP #6926850
Lesenswert?

Auch wenn es hier mittlerweile um ganz andere Themen geht.

Falls auch mal jemand das Problem hat:
Tasmota holt sich über NTP die richtige Zeit. Ohne WLAN geht das 
natürlich nicht und es gibt dann auch keine Funktion.
Als Lösung könnte man einen externen RTC verwenden.
https://tasmota.github.io/docs/DS3231/

Das muss ich aber erst testen, wie sich das auf den Stromverbrauch 
auswirkt.
OP #6950984
Lesenswert?

Das mit dem RTC hat auch nicht funktioniert. Er hat dann zwar die 
richtige Zeit, aber möchte dann trotzdem die Daten senden, was ohne WLAN 
natürlich nicht geht.
Langer Deepsleep über Nacht funktioniert auch nicht. Da dürfte es einen 
Bug geben.
Mit Easyesp geht das aber. Da gibt es sogar eine Option, dass es wieder 
in den Deepsleep geht, wenn keine Verbindung aufgebaut werden kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren