Arduino stürzt beim Ausschalten des 230-V-Relais ab

Hier ist mein Schaltplan:Geben Sie hier die Bildbeschreibung ein

Ich muss einen 230-VAC-Lüfter mit einem Relais ein- und ausschalten. Das Relais wird von einer 5-V-DC-Stromversorgung versorgt. Digitaler Pin auf der Arduino-Platine öffnet oder schließt den Stromkreis in PNP, da er HIGH oder LOW ist; Wenn es HIGH ist, ist das Relais eingeschaltet, ansonsten ist es ausgeschaltet. Es gibt auch eine Snubber-Diode, um Strom durch Relaisinduktion zu vermeiden.

Der digitale Pin wird durch die RX-Nachricht gesteuert.

Dies funktioniert sehr gut, wenn 230 V AC ausgeschaltet sind, aber wenn es eingeschaltet ist, stürzt der Arduino ab und kann keine RX-Nachrichten empfangen.

Ich glaube, in meiner Schaltung stimmt etwas nicht. Kannst du mir bitte helfen?

Bearbeiten

Hier ist mein neuer Schaltplan: Ich habe den Transistor und die Snubber-Diode entfernt. Der digitale Pin ist direkt mit dem Befehlspin des Relais mit 2,2 kWiderstand und einer einfachen LED verbunden

Geben Sie hier die Bildbeschreibung ein

RX/TX stürzt immer noch ab und das Arduino scheint sehr langsam zu agieren

Zuerst sollten Sie die 5VDC-Masse mit der Arduino-Masse verbinden. Die 1N4007-Diode ist zu langsam, um Überspannungen richtig zu vermeiden, aber das scheint nicht mit Ihrem Problem zusammenzuhängen. Können Sie besser erklären, was Sie mit "Abstürzen" meinen? Und ich bin mir ziemlich sicher, dass Sie einen NPN-Transistor verwenden oder Ihr Schaltplan falsch ist oder Ihr BJT magisch ist.
Sie brauchen den Transistor oder die Diode nicht wirklich, beide sind auf dem Relais integriert (dies ist das eine, oder? proton.cz.avg.com/plan/31399/?detail=746216654982669497 ). Sie müssen die 5-V-Masse mit der Arduino-Masse verbinden.
Sie haben Recht, es ist ein NPN-Transistor, Entschuldigung, ich meine mit "Abstürzen", dass ich nicht mit der Platine kommunizieren kann und die RX / TX-LEDs immer an sind. Wie Sie mir avakar gesagt haben, habe ich den Transistor aus meiner Schaltung entfernt (das ist was ich auch dachte, alles ist integriert) und beide Masse zusammengelegt, aber das gleiche Problem ist aufgetreten. Sollte eine LED zwischen Digitalstift und Relais gesteckt werden?
Versuchen Sie versuchsweise, den Lüfter vom Relais zu trennen. Sie benötigen dort einen Snubber, um induktive Spitzen vom Lüfter zu unterdrücken, die zu Lichtbögen über den Relaiskontakten und auch zum Zurücksetzen nahegelegener Schaltkreise führen können. Siehe diese Antwort auf ein ähnliches Problem: electronic.stackexchange.com/a/101879/25328
Wenn der Lüfter getrennt ist, funktioniert der Relaisbefehl vollständig. In der Tat habe ich das gleiche Problem, also muss ich den Snubber zwischen "-" und "+" auf dem Relaisstromkreis platzieren?
Nein, der Dämpfer ist für den Lüfter und die beste Position ist parallel zum Lüfter. Siehe die Anwendungsinformationen im Red Lion SNUB0000-Datenblatt

Antworten (2)

Da Ihr Problem verschwindet, wenn der Lüfter getrennt wird, scheint Ihr Problem auf die induktive Spitze zurückzuführen zu sein, die durch das Abschalten des Lüfters verursacht wird. Wenn es sich um einen Gleichstromkreis handeln würde, wäre die Lösung eine Freilaufdiode. Da es sich jedoch um einen Wechselstromlüfter handelt, benötigen Sie einen Snubber und/oder eine Hochspannungsklemme wie eine bidirektionale TVS-Diode (Transient Voltage Suppressor) oder einen MOV ( Metalloxid-Varistor). Die induktive Spitze kann nicht nur einen "unregelmäßigen Betrieb" verursachen, sondern auch zu einer kürzeren Lebensdauer Ihrer Relaiskontakte führen.

Sie können Ihren eigenen Snubber herstellen oder einen handelsüblichen wie den Red Lion SNUB0000 kaufen. Anwendungsinformationen finden Sie im Red Lion SNUB0000-Datenblatt . Der Dämpfer wird am besten parallel zum Lüfter angeschlossen.

Der Snubber allein wird wahrscheinlich ausreichen, aber wenn Sie eine Spannungsklemme wie eine bidirektionale TVS-Diode oder MOV bereitstellen, muss sie bei einer Spannung klemmen, die größer ist als die maximale Spitzenspannung Ihrer 230-V-Leitung. Denken Sie daran, die Tatsache zu berücksichtigen, dass Ihre Netzspannung nicht reguliert ist und höher werden kann und 230 V ein Effektivwert (kein Spitzenwert) ist.

Danke für deine Antwort, das ist wirklich hilfreich für mich! :) Leider habe ich nicht die Komponenten, um den RC-Snubber selbst zu machen ... Sind die Kapazität und der Widerstandswert für diese Schaltung wichtig? (Sollten 0,1 µF und 100 Ohm schön sein?)
Diese Komponenten sind wahrscheinlich in Ordnung, Sie müssen jedoch auf die Nennspannung des Kondensators und die Nennleistung des Widerstands achten. Schauen Sie sich diese Antwort von Russell McMahon an . Für einen Lüfter (wenn nicht zu groß) wahrscheinlich ein Kondensator mit 1000 V oder mehr (0,1 µF. Ein 1-Watt-Widerstand ist wahrscheinlich in Ordnung). Eine niedrigere Wattzahl wäre wahrscheinlich in Ordnung, aber stellen Sie sicher, dass es nicht heiß wird.
Ich habe einen Test gemacht, und das Problem verschwindet, wenn ich die serielle Kommunikation nicht verwende, um die Relaisplatine zu befehlen, die ich in dieser Antwort von Prabhat Singh "optoisolate RX and TX" gesehen habe ... Was bedeutet das?
Hast du es mal mit einem Snubber versucht? Wenn es um „unregelmäßigen Betrieb“ aufgrund induktiver Spannungsspitzen geht, können viele Dinge dazu führen, dass der „unregelmäßige Betrieb“ aufhört, ohne das Problem wirklich zu beheben. Verschieben von Schaltkreisen, Ändern von Masseverbindungen, Verschieben von Kabeln usw. Die beste Lösung besteht darin, das Problem tatsächlich zu beheben. Alles andere ist nur ein "Pflaster". Wenn Sie es nicht beheben, werden Sie hier oder in etwas anderem wahrscheinlich einen "unregelmäßigen Betrieb" erleben; und es ist immer noch wahrscheinlich, dass Ihre Relaiskontakte beschädigt werden. Ich bleibe bei meiner Antwort!
Ich habe die Snubbers noch nicht erhalten, und ich bin ganz deiner Meinung. In der Zwischenzeit teile ich meine Schaltung und lasse jeden Teil separat arbeiten und versuche, die meisten möglichen Probleme zu lösen. 1) Das Arduino schaltet das Relais normalerweise ohne RX-Dateneingabe EIN/AUS 2) Das Arduino schaltet das Relais normalerweise EIN/AUS, wenn eine Dateneingabe vorhanden ist, benötigt jedoch eine große Verzögerung zwischen Serial.read() und digitalWrite() 3 ) Das Arduino sendet normalerweise TX-Daten, wenn es die einzige Arbeit ist, die zu erledigen ist
Ich bin mir ziemlich sicher, dass die Antwort, die Sie geteilt haben, mein Problem ist

Sie müssen den Snubber von "-" auf "+" auf der Relaisspule setzen. Problem wird bestimmt gelöst.

Geben Sie hier die Bildbeschreibung ein