ESP8266 – Reset Probleme lösen und Relais stabil schalten

Mit dem ESP8266 Mikrocontroller kann man sehr günstig und einfach Anwendungen im WLAN realisieren und steuern oder messen. Bei einigen Aufbauten hatte ich Stabilitätsprobleme und das Netz steht voll von Problemschilderungen um neustartende oder crashende ESPs. Mit den folgenden drei Methoden habe ich bisher alle Schaltungen stabil bekommen, so dass die ESPs auch monatelang ohne Reboot laufen.

Problem 1 – die Reset-Leitung ist ein Sensibelchen
Die Reset Leitung des ESP ist ungewöhnlich sensibel. Man sollte die Reset Leitung des ESP auf jeden Fall über einen Widerstand (z.B. 10kOhm) auf 3.3V ziehen. Das langt aber nicht immer. Es hängt von der konkreten Boardversion ab, wie der ESP sich verhält. Insbesondere die etwas älteren Module sind sehr empfindlich, weil hier offenbar keine Stützkondensatoren für die Resetleitung auf den Boards eingebaut sind. Der Test ist einfach: Mit einem Schraubenzieher oder Stück Draht einfach mal an die Reset Leitung gehen, während der ESP läuft. Wenn ein instabiles Board vorliegt, kann man so einen Neustart auslösen – auch wenn man die Reset Leitung mit 10k an 3.3V gelegt hat. Klingt ungewöhnlich, liegt aber daran, dass der ESP sehr hochohmige Eingänge hat und auf sehr kurze Pulse mit geringer Amplitude reagiert.
Die Lösung ist ein 100nF Stützkondensator, der möglichst nahe am Reset-Eingang angelötet wird in Kombination mit 10k auf 3.3 Volt. Minimale Kabellängen zum Kondensator sind Pflicht, weil der ESP „nervig“ sensibel ist. Das folgende Bild zeigt als Beispiel zwei 100nF Kondensatoren, die direkt an einem ESP8266-12 angelötet sind. Die Metallabschirmung liegt auf Masse. Der linke Kondensator stützt die Reset Leitung. Der rechte die 3.3V Versorgungsspannung.

ESP12_stabilized
Mit den Stützkondensatoren sollte die Sensitivität der Reset-Leitung auf Berühungen behoben sein.

Problem 2 – instabile Versorgungsspannung
Der ESP8266 hat recht hohe Anforderungen an die Versorgungsspannung. Im Mittel werden 80mA benötigt, kurzfristig zieht der ESP aber bis zu 250mA. Deshalb sollte die 3.3V Versorgungsspannung mit einem großen Elko gestützt werden. Ich nehme mindestens 470 Mikrofarad, meistens aber 3300 Mikrofarad. Ich habe mit einen Satz Elkos mit 3300Mikrofarad für maximal 6.3V besorgt. Diese sind noch relativ klein und günstig zu bekommen.
Mit einem solchen Elko und einen zusätzlichen 100nF Stützkondensator direkt am 3.3V Eingang des ESP, ist ein Spannung bei einem typischen Handynetzteil (5V) und einem LM1117-3.3 als Spannungsregler stabil genug.

Problem 3 – Relaisboard stabil schalten
Genau wie oft im Netz beschrieben hatte auch ich das Problem, dass das Schalten von 230V über ein Relaisboard den ESP ziemlich zuverlässig gecrasht oder neu gestartet hat. Dabei habe ich über ein übliches Relaisboard mit Optokoppler einen Klingeltrafo geschaltet.

Markise_Relaisboard

Das Problem läßt sich lösen, wenn man einen Entstörkondensator parallel zum Verbraucher schaltet. Wichtig: Der Kondensator muss mit dem Verbraucher verbunden bleiben, auch wenn das Relais abschaltet. Sonst wirkt der Kondensator nicht.
relais_supp
Ohne Kondensator entstehen beim Abschalten von induktiven Lasten leicht einige tausend Volt. Diese hohe Spannung sorgt in Kombination mit den sehr hochohmigen Eingängen des ESP für die Probleme. In der Praxis scheinen schon sehr kleine Induktivitäten auszureichen, um den ESP zu „ärgern“.
Bitte keinen einfachen Kondensator von der Stange nehmen, sondern einen sogenannten X2 oder FX2 Kondensator (EN132400). Diese sind zur Entstörung geeignet und bis zu einigen kV durchschlagsfest. Ein geeigneter 0.47 Mikrofarad FX2 Kondensator ist im folgenden Foto abgebildet. Mit einem solchen Kondensator konnte ich bisher alle Probleme lösen.

x2_capacitor

11 Gedanken zu „ESP8266 – Reset Probleme lösen und Relais stabil schalten

  1. Jem

    Hi, danke schön für die Infos. Ich lese sehr gerne deinen Blog. Kannst du für den letzten Punkt nochmal eine Schaltplanskizze angeben, damit man auch wirklich keinen Fehler macht? Danke, Gruß Jem

    Antworten
    1. ST Artikelautor

      Hallo Thomas,

      sieht ok aus. Ich habe noch nie welche mit 250V gesehen, immer nur 275V. X2 Kondensatoren mit dieser Spannungsfestigkeit sind in den meisten kommerziellen Schaltungen verbaut. Der 440V Kondensator lag rum und ist so auf das Foto gekommen 🙂

      Gruss Stefan

      Antworten
    1. ST Artikelautor

      Hallo Thomas,

      der C1 ist ein Elko. Dieser bleibt drin. ggf kannst Du den Wert erhöhen. Es macht Sinn, sehr nahe am Esp8226 noch einen 100nF Keramikkondensator einzubauen.
      Grund: Elkos haben eine nicht zu vernachlässigende Induktivität und sind deshalb nicht sehr „schnell“. Diese Störungen erwischst Du am besten mit dem zusätzlichen Keramikkondensator. Der Kondensator soll nahe am Esp sitzen, damit auf der Strecke zwischen Kondensator und Esp nichts einkoppeln kann.

      Gruss Stefan

      Antworten
  2. Kevin

    Hallo Stefan,

    ich hätte mal noch eine Frage zu deinen Hinweisen bezüglich des RESET-Pins.
    Auf dem Bild kann ich es leider nicht genau erkennen.
    Ich habe bis jetzt immer nur den 10k Pullup zwischen dem RESET-Pin und 3,3V liegen.
    Muss jetzt der Stützkondensator in Reihe dazu? oder parallel? Oder muss der zwischen RESET und GND?
    Könntest du dazu eventuell eine kleine Schaltungsskizze anfertigen, um mich zu erleuchten?

    Außerdem verwendest du da ja ein Breakout-Board (wie man es auf ebay kriegen kann).
    Dort sind schon einige Widerstände integriert. Leider finde ich nirgends eine Angabe, welche Größe diese haben und an welcher Stelle genau diese sind. Sind das nur Pull-Ups? Für welche Pins denn? Könntest du dazu vielleicht noch etwas sagen?

    Vielen Dank schon einmal.
    MfG Kevin

    Antworten
    1. ST Artikelautor

      Hallo Kevin,

      Stützkondensatoren kommen eigentlich immer zwischen den fraglichen Pin und Masse. Den Pullup verbindest Du dann vom Pin nach 3.3v.
      Bzgl des Breakout Boards handelt es sich typischerweise um Widerstände, die die Bootmode definieren. Kannst Du eigentlich ignorieren. Falls es Dich interessiert, schau im Datenblatt mal bzgl der Festlegung des Bootmodus.

      Gruss Stefan

      Antworten
  3. Marcus

    Das ist ein sehr schöner Beitrag. Damit habe ich heute meine Schaltung ertüchtigt, die alle paar Wochen einen Neustart durchführt. Mal sehen, ob es jetzt stabiler ist.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.