ESP8266 Reset bei Schaltvorgang durch Relais

Gast #4383033
Lesenswert?

Hallo,

im Zusammenhang mit Relais an Mikrocontrollern habe ich ja schon viel 
erlebt und gelesen und dachte bisher, ich kenne die meisten Probleme 
(Spannungsabfall beim Befeuern des Relais, fehlende Freilaufdiode etc.), 
aber das folgende stellt mich vor ein Rätsel.

Diesmal ist die Relais-Spule nicht mit der Schaltung verbunden, sondern 
völlig unabhängig. Es handelt sich um ein 230V-Relais, welches an einem 
Wandtaster angeschlossen ist. Beim Betätigen des Tasters zieht das 
Relais an und schaltet einen Kontakt auf Masse. Also liegen an der Spule 
230V und am Schaltkontakt 5V und Masse.

Der Schaltkontakt ist kein GPIO des ESP8266, sondern der I/O eines 
PCF8574, der am ESP8266 handelt, also logisch sogar noch von diesem 
entkoppelt.

Warum resettet der ESP8266 nun, sobald ich den Taster betätige, obwohl 
doch die Relaisspule völlig unabhängig von der Stromversorgung des uC 
ist? Kann hier überhaupt ein Spannungsabfall stattfinden? Findet ein 
Spannungsabfall durch das Schließen des Schaltkontakts statt? Wenn ja, 
warum? Oder gibt es durch die magnetische Induktivität irgendwelche 
komischen Spikes auf der Signalleitung des PCF8574, die den ESP8266 zum 
Reset zwingen können?

Dazu muss ich noch sagen, es ist beim ESP8266 kein üblicher "Crash", wo 
über die serielle Konsole noch der Reset-Grund und der Stack ausgegeben 
werden, es kommt kurz Müll über die serielle Leitung und das Programm 
startet neu.

Hoffe, jemand hat eine Antwort oder zumindest eine begründete Vermutung 
:-)

Liebe Grüße,
Sascha
Gast #4383052
Lesenswert?

Klar besteht eine elektrische Verbindung, sonst würde das Relais in der 
Schaltung ja keinen Sinn machen :-)

Ich war nur der (zugegeben etwas naiven) Annahme dass am Schaltkontakt 
ebensowenig Störungen auftreten können als würde ich dort einen 
Pushbutton anschließen.

Anbei der Schaltplan, der zeigt, wie das Relais mit Netz und Schaltung 
(PCF8574) verbunden ist. Den Rest habe ich erstmal außen vor gelassen, 
bitte sagen wenn noch was fehlt.
Angehängte Dateien:
Gast #4383064
Lesenswert?

Der PCF wird mit 5V versorgt, der ESP8266 über ein AMS1117 mit 3,3V. 
Habe je einen 100uF Elko an der 5V und der 3,3V Seite, zusätzlich einen 
100nF an der Versorgung des ESP8266.

Hat der PCF8574 nicht interne Pullups? Wenn ich den Port des PCF einfach 
per Steckbrücke auf Masse ziehe, geschieht übrigens kein Reset.
Gast #4383094
Lesenswert?

Beim Einschalten einer induktiven Last gibt es im ersten Moment einen 
gewaltigen Peak im E-Feld, weil der Spule der plötzliche Stromfluss 
überhaupt nicht gefällt und sie gegeninduziert.
Ich hatte ein ähnliches Problem mit einem PIC, der jedesmal neu bootete, 
wenn ich den Trafo der Halogen-Schreibtischlampe einschaltete. 
Elektrische Verbindungen gabs keine, der PIC lief sogar mit einer 
Batterie. Die Lösung bestand aus einer kleinen Kondensatorgruppe 
1n-10n-100n jeweils 2mal und keramisch ganz nahe am Prozessor. Große 
Elkos helfen vermutlich wenig, die können keine scharfen Peaks 
wegbügeln.
#4383165
Lesenswert?

Du könntest mal versuchen, die Zuleitungen zum Relais zu verdrillen. 
Wenn die Leitungen "weit" auseinander liegen, gibt es ein kräftiges 
magnetisches Feld, das auch den Controller beeinflussen kann.
Ferner kann auch der Funke im Schalter beim Ein- und Ausschalten ein 
kräftiges EM-Feld erzeugen, welches deinen Controller stört. Ist das ein 
in z. B. Eagle erstelltes Layout oder einzelne zusammen gesteckte 
Platinen in einer Art Arduino-Style?
Gast #4383187
Lesenswert?

Stromversorgung und Relaisplatine sind (getrennte) Aufbauten auf 
Lochraster, ESP8266 und PCF8574 sind Module, die an die erstere Platine 
drangesteckt werden. Die Relaisplatine ist separat und per Jumper Wire 
mit dem PCF-Modul verbunden.

Ich versuche mal verdrillen sowie Kerkos vor dem Sockel zum ESP-Modul.

Könnte ich denn alternativ irgendwie einen 230V-Stromstoßschalter (also 
mit Wandschalter den Port auf Masse ziehen) ohne Relais realisieren?

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