8-fach Relay über ESPHome gesteuert schaltet unzuverlässig

Hallo,

Hilfäääääää, ich bräuchte mal einen Technikexperten für Relays…

Bevor ich mit der Gartenbewässerung über ESPHome und Relays anfange, dachte ich mir, fange ich erst einmal mit einer 8-fach Steckdose an. Leider funktioniert das Ganze bisher nicht wirklich zuverlässig, besonders wenn eine Last an den Relays hängt (eigentlich dürfte die 220V AC Seite doch keine Einfluss auf die Steuerseite haben oder?).

Ich habe das Relay-Board über ein PCF8574 GPIO-Extender-Board angeschlossen, welches über den I2C Bus mit einem D1-Mini verbunden ist. Jedes ca. zehnte Mal schaltet das angesprochene Relay sofort wieder aus obwohl es laut ESPHome-Logging und Homeassistant-Schalter eingeschaltet ist. Meistens schalten alle anderen eingeschalteten Relays dann auch aus. Schalte ich das fehlgeschaltete Relay wieder aus, so gehen die fehlerhaft ausgeschalteten Relay wieder an…

…Es gibt auch (selten) den Fall, dass ein eingeschaltetes Relay sich erst wieder ausschalten lässt, wenn alle anderen Relays auch ausgeschaltet wurden.

Ich habe bereits das Relayboard ausgetauscht und auch das PCF8547-Board und mit verschiedenen Kondensatoren und Freilaufdioden an der Relayboard-Versorgung experimentiert => leider kein Erfolg.

Hat jemand Erfahrung mit diesen Relay-Boards? Irgendwelche Ideen wie ich weiter vorgehen könnte?

(Der D1-Mini ist komplett ausgelastet, es hängt an jedem Bein was. PIR, LDR, PIR-Board, DF-Player, LED-Stripe, 433MHz Sender und Empfänger, am I2C ein BME280 und ADS1115)




2024-07-16T22:00:00Z

So aus der Ferne betrachtet hört sich das für mich an nach:

  • einem defekten Relais ( oder dessen Ansteuerung )
  • oder Stromversorgung.

Ich hab recht viel Erfahrung mit den Relaisboard, u.a. die 16-fach Version davon, bei mir stecken aber direkt ESP auf dem Board drauf ( über den Stecksockel ), die funktionieren einwandfrei.

Zudem nutze ich bei den 8-Fach Board auch Modelle, welche direkt einen ESP auf dem Board haben und auch damit gibt es keine Probleme.

Hast Du mal einen bereinigten Testaufbau versucht?
Es hängt ja ziemlich viel an dem kleinen D1-Mini.

Zum Experimentieren habe ich auch sowas, aber für den Regelbetrieb taugt das nicht viel. Schon wegen der Dupont-Steckverbinder. Die sind entweder direkt störrisch oder leiern nach ein paar Mal stecken schon aus.

Ich habe eine 8er-Platine mit ESP32 im Einsatz und eine mit 4 Relais, da ist sogar ein Netzteil mit drauf. Ok, es entfällt der Vorteil, noch ein halbes Dutzend Sensoren dranzustecken, aber dafür gehts stabil.
Ich bin ja sonst auch der Meinung, ein unbenutzter GPIO ist Verschwendung, aber was solls, manchmal gehts nicht anders.

Nachtrag: (Das kreiselte schon in meinem Schädel)
Könnte mal jemand einen GPIO-Shelly entwickeln an dem man einen Haufen GPIos zur Verfügung hat?

Bist du sicher, dass du keinen Level Shifter benötigst? Der ESP hat 3.3V Pins und die Relaiskarte wird 5V erwarten, oder?
Frage mal im ESPHome oder Tasmota Forum nach.

Das sieht für mich aus, als wenn es Kommunikationsprobleme zwischen ESP und Interfaceboard gibt, nach deiner Beschreibung.

Das ist ein guter Einwand.
Die Eingänge sind bei dem Relaisboard mit Optokoppler ausgestattet, die einen Spannungsrbereich von 3,3 bis 12 V haben - sollte nicht das Problem sein

Ich tippe immer noch auf die Spannungsversorgung

@ LutzHB
Hast du ein Messgerät um die Spannungen mal zu messen, wenn die Relais an sind.

Ich würde auch auf einbrechende Versorgung tippen.
Als Levelshifter fungiert hier eigentlich schon der Extender, laut Schaltplan ist der an 5V.
Einfach mal einen Elko 100uF mit einbauen und testen was passiert.

Evtl würde es sogar reichen, den PCF8574 an 3,3V zu betreiben - zumindest zum testen.
Lt. Datenblatt kann er das und die Relaiskarte kann mit 3,3 am Eingang auch arbeiten.

Hallo,

vielen Dank für eure Antworten bis jetzt (Leider komme ich erst jetzt zum Antworten, da ich noch mit einer missglückten Silikonfuge im Bad kämpfe). Ich hatte irgendwie auf so eine Art Rundum-Sorglos-Kondensator oder ähnliches gehofft aber es muss wohl wieder die harte Tour werden…

Als Erstes hatte ich auf fehlerhafte Dupont-Steckverbinder getippt und alle Kabel fest angelötet und schön mit Schrumpfschläuchen überzogen, was sich für weitere Messungen als nicht so vorteilhaft erwiesen hat. Im nächsten Schritt wurden von mir zwischen 10nF und 1000uF jede Menge Kondensatoren parallel zur Stromversorgung geklemmt, wieder ohne das Problem zu beheben.

Beim Schalten der Relais sinkt die Versorgungsspannung pro Relais um ca. 120 mV, also wenn alle Relais geschaltet sind ist ca. 1V weniger vorhanden, sie werden zum Schalten allerdings eh auf 0V gezogen…

Die Gesamtversorgung wurde temporär durch ein Labornetzteil ausgetauscht. An der Versorgung wird es wohl nicht liegen.

Danach wurden von mir das Relais-Board und das PCF8574 Board ausgetauscht => gleiches Problem.

Ich werde noch einmal getrennt das 8-fach Relais vom Labornetzteil und die restliche Schaltung vom geplanten Netzteil versorgen lassen und schauen was passiert…

…Einen zusätzlichen Level-Shifter vor dem PCF8574 für SDA und SCL hatte ich auch schon eingebaut aber mit dem ging überhaupt nichts mehr (muss ich nochmal genauer untersuchen und Messkabel dran löten), hab ihn per Jumper wieder deaktiviert…

Da die Schaltungen auf dem Relais-Board wirklich sehr einfach sind und keinerlei Gedächtnis enthalten können (pro Relais Optokoppler, zwei Transistoren, Freilaufdiode, Leuchtdiode und zwei Widerstände) tippe ich auf irgendeine Form von Störung des PCF8574 Boards.

Ich habe mir ein Oszilloskop gekauft, so leicht gebe ich mich nicht geschlagen, aber bis ich damit die I2C Bus Kommunikation analysieren kann, wird es wohl noch ein paar Wochenenden dauern (sofern die Frau mich lässt)…

Das Oszilloskop behauptet, dass es trotz Freilaufdiode enorme Spannungsspitzen gibt, besonders wenn ein Relais fehl-schaltet (bis zu 10V) aber das muss ich wohl auch noch einmal überprüfen (könnte ne Fehlmessung sein, hab das Oszilloskop erst zwei Wochen (ein paar Stunden effektiv) und es hat wirklich viele Knöpfe…)

Bereinigter Testaufbau ist als Letztes dran, ich hoffe, dass sich das vermeiden lässt…

Gruß Lutz

Update: Die Störungen scheinen hin und wieder beim Schalten eines Relais vom Relais erzeugt zu werden (sporadisch von verschiedenen Relais).Wenn ich mehrmals hin und her schalte, dann gibt es laut Oszilloskop manchmal plötzlich Spannungsspitzen von -8,6V bis + 16V (ca. 400ns lang), was zur Störung des PCF 8547 Boards führt.

Bei vollständiger galvanischer Trennung, wenn die Versorgung der Relais über mein Labornetzteil läuft und der Rest der Schaltung über das verbaute Netzteil, dann funktioniert alles wesentlich besser.

Ich habe das Labornetzteil wieder raus genommen und eine zusätzliche Freilaufdiode und einen 1000uF Kondensator parallel zur Versorgung geklemmt aber das löst das Problem leider nicht. Momentan mache ich das Gerät durch eine Softwarekrücke lauffähig (Ich wiederhole jeden Schaltbefehl vier mal in 20ms Abstand. Bisher hat die Steckdosenbox so immer zuverlässig geschaltet, es verbleibt bei mir aber ein mieses Gefühl…).

Mit ziehen auf 0V werden die Relais eingeschaltet, mit schalten auf 5V ausgeschaltet. Jedes geschaltete Relais führt zu einem Spannungsabfall von ca. 200mV bei den restlichen Relais. Nach dem Einschalten von mehr als drei Relais ließen sich einige Relais nicht wieder ausschalten (ich denke aufgrund der zu niedrigen Schaltspannung von nur noch 4,6V. Durch 10 k Ohm Pull-Up Widerstände konnte ich dieses Problem lösen. Ausschalten tun alle Relais seit dem Einbau bisher fehlerfrei.

Hat jemand eine Idee, wie ich die Spannungsspitzen wegbekommen könnte?

Sind da Freilaufdioden parallel zu allen Relaisspulen verbaut ?
Die würde ich mal durchmessen, ob da nicht eine kaputt ist,

Ich zwei 16er von den Relaiskarten, allerdings mit 12V zusammen an einem Steckernetzteile und zwei ESP32 drauf gesteckt, die funktionieren einwandfrei, selbst wenn alle Relais schalten

Letzten Stand: Das Auswechseln des PCF8574T Moduls hat den Erfolg gebracht. Bisher Schalten alle Relais perfekt. Kein Fehlschalten mehr und kein „Kleben“ am Kontakt!

Zum ersten Mal hat mit da wohl ein Aliexpress-Shop Müll verkauft. (Bilder der beiden Module im Anhang. Auf dem OK-Modul steht „kn2125“ drauf, auf dem bösen Modul RIC21484). Ich hatte zwei Module aus der RIC21484 Charge getestet und beide zeigten die gleichen Probleme.


1 „Gefällt mir“

Nachtrag: Es gab doch (relativ selten) ein Kleben des Relais, an dem mein Denon Receiver hängt. Nachdem ich an diesem Relais einen RC-Snubber eingebaut habe (siehe AC/DC 5V-400V RC Schutzwiderstand Überspannungsabsorption/Schrubber Modul Relais Kontaktschutz Widerstand - AliExpress), um Stromspitzen abzufangen, ist bis jetzt kein Kleben mehr aufgetreten.