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.
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.
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.
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.