Forum: Mikrocontroller und Digitale Elektronik ESP32 mit Schaltnetzteil Stabilitätsproblem


von Klaus K. (klkl)


Lesenswert?

Hallo zusammen

Ich bin auf der Suche nach Hilfe bei einem Stabilitätsproblem mit meinem 
ESP32 Projekt. Nach 1-7 Tagen Dauerbetrieb hängt das System.
WLAN ist ständig an. Der freie Heap-Speicher wird kontrolliert und ist 
stabil.
Die Stromversorgung (12-24V) läuft über einen R-78B05-1.0, 22uF Elko am 
Eingang, und ein 100uF Tantal am Ausgang, vor dem ESP32. Gemessen habe 
Ich dort ein Ripple von ca 30mV. Der Regler kann 1A, sollte eigentlich 
ausreichend sein um die allgemein beschriebenen 500mA zuverlässig zu 
liefern.

Im Beitrag "ESP32 mit 3x AA Batterie" ist ja schon einiges 
diskutiert worden, ich habe dann doch ein eigenes Thema angefangen weil 
das Thema nicht ganz passt.

Hat jemand Erfahrungen mit einem Schaltnetzteil für die ESP Versorgung? 
Ist das überhaupt eine gute Idee oder sollte z.B einen R-78B9.0-1.0 mit 
einem Längsregler dazwischen legen?

Gruß Klaus

: Bearbeitet durch User
von Klaus R. (klara)


Lesenswert?

Der ESP32 hat doch einen Längsregler.
mfg Klaus

von Klaus K. (klkl)


Lesenswert?

Den kann Ich aber nicht mit meinen 24V belasten.

Mir geht es mehr darum ob der Schaltregler negativen Einfluss auf die 
Stabilität hat.

Hat jemand Erfahrungen mit so einem Schaltnezteilregler am ESP? 
Vielleicht suche Ich ja auch in der falschen Richtung.

Gruß Klaus

von Guest (Gast)


Lesenswert?

Was soll das für ein Schaltregler sein? Unter der Bezeichnung findet man 
nichts. Der Art der Bezeichnung nach ist es wohl ein RECOM das wäre dann 
aber der R-78B9.0-1.0

Ich bezweifle, dass dein Schaltregler das Problem ist. Allein aus 
Effizienz Gründen ist der sinnvoll. Und es ist ja nicht so als wären 
Schaltregler was neues und die RECOM sind sehr gut. Was zu Instabilität 
führen kann ist eine zu große Lastkapazität, im Datenblatt steht aber 
was er kann.

Sicher das es nicht ein Software Problem is?

von Oscar K. (sieges)


Lesenswert?

Hallo,
deshalb spendiere ich meinem Gateway einen Hardware Watchdog !
Auch mein Esp32 System bleibt manchmal hängen.
cheers
Sigges

von Klaus K. (klkl)


Lesenswert?

Sorry, Bauteilname ist geändert.

>Sicher das es nicht ein Software Problem is?

Was ist schon sicher?

  -Ich überwache den Heap ohne Auffälligkeiten
  -Der interne Watchdog ist in Verwendung, wird nur an einer Stelle 
zurueckgesetzt an der der Controller im abgestürzten Fall nicht vorbei 
kommt.
  -die Aufgabe des ESP ist immer die gleiche
  -der Prozessor hängt sich komplett weg, auch über USB kommt keine 
Ausgabe mehr

Die mir bewussten Sonderfälle wie
  WLAN weg, MQTT weg, kein 485 Empfang
sind vielfach getestet und ohne Auffälligkeiten.

Deswegen die Hoffnung auf ein Hardware-Problem

Gruß Klaus

von Klaus K. (klkl)


Lesenswert?

das mit dem HW-Watchdog ist der nächste Punkt auf der Eskalations-Liste.

Viele Beiträge beschreiben wie stabil Ihre ESP Projekte laufen.
Da wollte Ich ersteinmal klären ob dazu schon Erfahrungen vorhanden 
sind.

von W.S. (Gast)


Lesenswert?

Klaus K. schrieb:
> Hat jemand Erfahrungen mit so einem Schaltnezteilregler am ESP?
> Vielleicht suche Ich ja auch in der falschen Richtung.

Also was hast/willst du eigentlich: einen Schaltregler oder ein 
Schaltnetzteil?

Das ist ein Unterschied. Bedenke mal, daß alles, was schaltet, auch 
HF-Störungen produziert.

Mit einem Schaltregler machst du aus deiner 24 Volt die Versorgung für 
deine Baugruppe. Wenn du diesen ordentlich abblockst (davor und 
dahinter), dann wird das ganze auch funktionieren. Immerhin sind die 
geschalteten Spannungen noch im Kleinspannungsbereich und vom Stromnetz 
(als unfreiwillige Sende-Antenne) erstmal einigermaßen getrennt.

Mit einem Schaltnetzteil hängst du hingegen direkt am Stromnetz, hast 
10x größere geschaltete Spannungen und produzierst erheblich mehr 
HF-Störungen als bei einen Kleinspannungs-Schaltregler.

Für alle HF-Geräte würde ich im Zweifelsfall immer zu einem klassischen 
Netztrafo raten und ggf. danach einen kleinen gut entstörten 
Schaltregler setzen, wenn ein rein analoger Regler unpassend erscheint.

W.S.

von Klaus K. (klkl)


Lesenswert?

W.S. schrieb:
> Also was hast/willst du eigentlich: einen Schaltregler oder ein
> Schaltnetzteil?

Ist das noch nicht rüber gekommen?
Ich habe eine 12-24V DC Versorgung über die Ich meinen ESP (braucht 5V 
DC) versorgen will ohne zuviel Wärme zu produzieren.

>
> Das ist ein Unterschied. Bedenke mal, daß alles, was schaltet, auch
> HF-Störungen produziert.

Deswegen der Thread und die Frage nach den Auswirkungen auf den ESP 
Betrieb.

>
> Mit einem Schaltregler machst du aus deiner 24 Volt die Versorgung für
> deine Baugruppe. Wenn du diesen ordentlich abblockst (davor und
> dahinter), dann wird das ganze auch funktionieren. Immerhin sind die
> geschalteten Spannungen noch im Kleinspannungsbereich und vom Stromnetz
> (als unfreiwillige Sende-Antenne) erstmal einigermaßen getrennt.
>
> Mit einem Schaltnetzteil hängst du hingegen direkt am Stromnetz, hast
> 10x größere geschaltete Spannungen und produzierst erheblich mehr
> HF-Störungen als bei einen Kleinspannungs-Schaltregler.

Nein, der R-78B5.0-1.0 ist ein Schaltnetzteil das an den 12-24V hängt.

>
> Für alle HF-Geräte würde ich im Zweifelsfall immer zu einem klassischen
> Netztrafo raten und ggf. danach einen kleinen gut entstörten
> Schaltregler setzen, wenn ein rein analoger Regler unpassend erscheint.

Ich will kein HF, Ich will einen ESP betreiben.

Gruß Klaus

: Bearbeitet durch User
von Klaus R. (klara)


Lesenswert?

Klaus K. schrieb:
> Ich will kein HF, Ich will einen ESP betreiben.

Ein ESP32 braucht eine relativ saubere Spannung. Ein plötzlicher 
Einbruch von 300 mV könnte der ESP32 schon übel nehmen. Die ESP32 - 
Boards haben gewöhnlich einen Spannungsregler. Ich denke, den kann man 
bis zu 5V betreiben. Die nötige Betriebspannung des ESP32 liegt zwischen 
2,3V und 3,6V. Wenn Du mit dem Schaltnetzteil nur 3,3V zur Verfügung 
hast, dann geh damit auf den LDO. Der wird den ESP32 dann noch mit 
mindestens 3,0V versorgen. Das ist mehr als genug.
mfg Klaus

von Stefan F. (Gast)


Lesenswert?

Zeige mal Fotos vom Aufbau, wo man den Verlauf aller Leitungen von der 
Stromversorgung sehen kann.

von Stefan F. (Gast)


Lesenswert?

Ich benutze meine ESP-01 Module fast immer mit alten Handy-Netzteilen, 
gefolgt von einem linearen Spannungsregler. Das geht ohne Probleme.

Du hast wohl eine Komponente mehr:
1
Netzteil -> Step-Down Wandler -> linearer Spannungsregler -> ESP Chip
2
         |                    |                           |
3
        22µF                 100µF                      ?? µF

Ich habe hier öfters gelesen, dass zwei Schaltwandler hintereinander 
sich manchmal fies stören. Ist dein Netzteil ein Schaltnetzteil?

Ich hätte die beiden Kondensatoren aus dem Bauch heraus umgekehrt herum 
dimensioniert.

von Klaus K. (klkl)


Angehängte Dateien:

Lesenswert?

Hier der Teil aus dem Layout, das kann man besser nachverfolgen.
Die 12-24V kommen an J2 1/2
Oben rechts der ESP
An der 3V3 Versorgung hängt sonst noch ein 485 Treiber MAX3078 mit max 
250mA.... das hatte Ich noch nicht bedacht.

Gut das wir drüber gesprochen haben.....
Das werde Ich ändern. Erstmal vielen Dank fürs mitdenken.

Gruß Klaus

von Klaus K. (klkl)


Lesenswert?

Die 22u kommen aus dem Datenblatt des Recom.
Die ESP Platine ist eine Heltec WIFI, die hat nochmal 10u hinter dem 
Spannungsregler.

Die Spannungsversorgung ist aktuell ein 12V Steckernetzteil.

Gruß Klaus

von Stefan F. (Gast)


Lesenswert?

Klaus K. schrieb:
> Die ESP Platine ist eine Heltec WIFI, die hat nochmal 10u hinter dem
> Spannungsregler.

Das wäre zumindest für den ESP8266 zu wenig. Direkt vor den ESP gehören 
100 oder 220 µF, wie beim NodeMCU Board.

Heltec und Qualität sind zwei Dinge, die vermutlich nie zusammen kommen 
werden. Bisher hatte jedes Heltec Board von dem ich hörte erhebliche 
Kunstfehler.

Ist das so eins mit OLED? Dann verringere mal die Pull-Up Widerstände 
vom I²C Bus auf 3,3 kΩ.

Deine Leitungen sehen sehr dünn aus. GND ist hoffentlich eine 
durchgehende Fläche.

von Klaus K. (klkl)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das wäre zumindest für den ESP8266 zu wenig. Direkt vor den ESP gehören
> 100 oder 220 µF, wie beim NodeMCU Board.

Dann macht es evtl mehr Sinn die schon verbauten 100u an die 3V3 des 
Heltec zu hängen. Das hatte Ich bisher anders verstanden.

>
> Heltec und Qualität sind zwei Dinge, die vermutlich nie zusammen kommen
> werden. Bisher hatte jedes Heltec Board von dem ich hörte erhebliche
> Kunstfehler.

Eigentlich funktioniert es nicht schlecht. Das Display ist sau cool.
Insgesamt habe Ich nicht das Gefühl das dieses Ding stabilitätsmässig an 
meine Silabs heranreichen wird die Ich sonst verwende, aber Ich lasse 
mich auch eines Besseren belehren.

>
> Ist das so eins mit OLED? Dann verringere mal die Pull-Up Widerstände
> vom I²C Bus auf 3,3 kΩ.

Halte Ich im Gedächnis, bisher habe Ich nichts weiter am SPI und keine 
Display-Probleme.

>
> Deine Leitungen sehen sehr dünn aus. GND ist hoffentlich eine
> durchgehende Fläche.

jup, die Unterseite ist Masse.

Die 3V3 des 485 Treiber baue Ich jetzt separat und dann schauen wir mal 
weiter.

Dank und Gruss
Klaus

von Stefan F. (Gast)


Lesenswert?

Klaus K. schrieb:
> an die 3V3 des Heltec zu hängen.

Möglichst nahe an den Chip.

von Stefan F. (Gast)


Lesenswert?

Klaus K. schrieb:
> Halte Ich im Gedächnis, bisher habe Ich nichts weiter am SPI und keine
> Display-Probleme.

I²C oder SPI? Um welches Board geht denn eigentlich?

Aber du hast geschrieben, dass das Modul instabil läuft. Zu hohe 
Widerstände am I²C Bus (man bedenke die starken HF Einflüsse aus 
direkter Nähe) können zu dessen Blockierung führen.

von Klaus K. (klkl)


Lesenswert?

Stefan ⛄ F. schrieb:
> Möglichst nahe an den Chip.

> Aber du hast geschrieben, dass das Modul instabil läuft. Zu hohe
> Widerstände am I²C Bus (man bedenke die starken HF Einflüsse aus
> direkter Nähe) können zu dessen Blockierung führen.

Ja da hast du Recht, ich will aber möglichst nicht das Modul verändern.
Der Fehler mit dem hohen Strom des 485 Treibers kann für mein Problem 
schon ausreichend sein.

Gruß Klaus

von Stefan F. (Gast)


Lesenswert?

Klaus K. schrieb:
> ich will aber möglichst nicht das Modul verändern.

Die I²C Pins sind sicher auch von außen zugänglich.

Was den Kondensator angeht: Da findest du vielleicht günstige Punkte auf 
der Platine oder an Bauteilen, wo du ihn auflöten kannst.

Um welches Board ging es nochmal?

von Klaus K. (klkl)


Lesenswert?

ein heltec wifi kit 32

Ok, überzeugt. Dann hänge Ich an SDA/SCL nochmal 4k7 gegen Masse. Da 
sind bisher 10k verbaut.
Ich kann mir kaum vorstellen, das der Chip dadurch so hängt, das auch 
der WD Timer nicht mehr anspricht.
Aber "Vorsicht ist besser als Nachsicht" ...

Gruß Klaus

von Stefan F. (Gast)


Lesenswert?

Klaus K. schrieb:
> Ok, überzeugt. Dann hänge Ich an SDA/SCL nochmal 4k7 gegen Masse

Ich habe mit Absicht Pull-Up geschrieben, nicht Pull-Down!

> Ich kann mir kaum vorstellen, das der Chip dadurch so hängt,
> das auch der WD Timer nicht mehr anspricht.

Ich aber. Dafür ist I²C berüchtigt. Es gab alleine diese Woche 
mindestens 2 Threads, wo das thematisiert wurde.

von Klaus K. (klkl)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich habe mit Absicht Pull-Up geschrieben, nicht Pull-Down!

Sorry, das war auch gemeint.

Ich werde mal etwas bauen und die Erfolge berichten.

Gruß Klaus

von Klaus R. (klara)


Lesenswert?

Stefan ⛄ F. schrieb:
> Dafür ist I²C berüchtigt.

Meist versuchen dann die Anwender die I2C Spezifikationen bis auf das 
letzte auszureizen. Je schneller, desto besser und übersehen dann hier 
und da ein paar Kleinigkeiten. Wenn es nicht nötig ist, dann sollte man 
den I2C-Bus nicht mit 100 kHz, bzw. 400 kHz betreiben. Schon gar nicht 
mit 10 k Pullups. Bei mir im Heizungskeller laufen I2C Busse über 10 m 
seit Jahren problemlos.
mfg Klaus

von Klaus K. (klkl)


Lesenswert?

Hallo nochmal

Die ersten Tests waren soweit erfolgreich. Inzwischen 3 Tage ohne 
Absturz, das gab es noch nie.
Mein Problem war der zu hohe Stromverbrauch auf 3V3. Ein zweiter 
Prototyp, bei dem ich nur die Widerstände an I2c nachgerüstet hatte ist 
nach einem Tag wieder eingefroren.

Soweit so gut, nochmal vielen Dank fürs mitdenken....

Trotzdem habe Ich über einen externen Watchdog-Timer nachgedacht. Etwas 
wirklich passendes habe Ich noch nicht gefunden.
STWD100 scheint etwas schwierig beim Startup zu sein weil die Zeit 
maximal 1,6s sein darf, der ESP braucht aber ähnlich lange zu 
hochfahren...
der TPL5000 hat eigentlich zuviele Pins....
Was würdet Ihr empfehlen?

Gruß Klaus

von Stefan F. (Gast)


Lesenswert?

Klaus K. schrieb:
> Etwas wirklich passendes habe Ich noch nicht gefunden.

Etwas wirklich passendes müsste überprüfen, ob der ESP noch 
kommuniziert. Also mindestens eins anwendungs-spezifisch programmierter 
Mikrocontroller.

von Klaus K. (klkl)


Lesenswert?

Aktuell scheint mein ESP zuverlässig zu laufen. Wenn Ich das mit wenig 
Aufwand noch weiter verbessern kann würde Ich das auch machen.
Der zusätzliche Mikrocontroller erscheint mir zu aufwendig. Eigentlich 
müsste dann auch geprüft werden, ob die Kommunikation sinnvoll ist sonst 
habe ich noch nicht viel gewonnen. Mit so etwas enge Ich mich aber auch 
deutlich ein.

Für mich wäre es schon ein Schritt nach vorn, wenn ich dem externen WD 
durch einen Portpin mitteilen kann das Ich noch lebe.

von Klaus R. (klara)


Lesenswert?

Wie wäre es mit einem 555er Timer den Du mit dem ESP32 immer ein Reset 
verpasst.

von Klaus K. (klkl)


Lesenswert?

Ja, das mit dem 555 hatte Ich auch gesehen, z.B hier
https://arduinodiy.wordpress.com/2017/09/08/arduino-watchdog-timer/
Wird wahrscheinlich funktionieren.....

Lieber wäre mir ein dafür gedachter Chip, der z.B auch mit Brownout 
umgehen kann ohne das Ich die ganzen Eckwerte testen muss.

Gruß Klaus

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.