Arduino bleibt hängen und überspringt Phasen?
Hallo miteinander,
ich habe eine Ampelanlage zu Hause, die ich mit einem Arduino verschalten habe. Da die Lampen einen Strom von 10V benötigen, der Arduino aber nur 5V ausgeben kann, habe ich für jede Lampe ein Relais verbaut, das vom Arduino angesteuert wird. Das Problem ist nur, dass ab und zu Phasen übersprungen werden (von rot-gelb direkt ohne grün wieder zu gelb) oder sich das Programm aufhängt. (Endlos Gelb). Wenn ich normale LEDs an den Arduiono anschließ, funktioniert alles. Die Störungen treten komplett zufällig auf, am Programmcode kann es also nicht liegen. Schon mal vielen Dank für eure Antworten!
LG Kilian
Die verbauten Relais:
2 Antworten
Sind die Relais mit Freilaufdioden gebückt? Wenn nicht, können induktive Spannungsspitzen beim Schalten des Relais die Elektronik beeinflussen und ggf. auch beschädigen.
LG H.
Das Relais das du hast besitzt keine integrierte Freilaufdiode. Eine Freilaufdiode schützt den Rest der Schaltung, bei dir den Arduino, vor Spannungsspitzen beim Abschalten, die durch Selbstinduktion in der Relaisspule entstehen. Die Diode wird antiparallel zur Relaisansteuerung geschaltet (Google mal nach Freilaufdiode Relais). Nehmen kannste theoretisch jede 0815 Diode wie die 1N4007. Sollte halt mit ihrer Nennspannung über der maximalen Induktionsspannung des Relais liegen
Wenn die Freilaufdiode funktioniert, braucht ihre Sperrspannung nur etwas größer zu sein als die Erregerspannung des Relais. Im Abschaltmoment fällt in kürzester Zeit die Stromstärke im Relais vom Nennwert auf Null ab. Die Freilaufdiode wird also in Flussrichtung kurzzeitig mit dieser Stromstärke belastet.
Habe doch auch nie etwas geschrieben was dem entgegensteht... In meinem Kommentar ging es um die Nennspannung
Ich habe etwas von maximaler Induktionsspannung gelesen. Diese wird aber von der Freilaufdiode gebückt.
Richtig, die Selbstinduktionsspannung erreicht im Abschaltmoment des Relais nur die Flussspannung (ca. 0,7 V) der Diode.
Müssten die Störungen wenn es an der Freilaufdiode liegt dann nicht regelmäßig auftreten?
Die Störungen sind zufällig; sie treten ergo sporadisch auf.
Nein, sind sie nicht. Was genau ist das und wie muss die Diode angeschlossen werden? Bei einer anderen Ampel habe ich das aber auch schon mal genau so gemacht. Da hat alles sofort funktioniert. Übrigens Danke für die schnelle Antwort!
Die Freilaufdiode ist zur Erregerspule des Relais parallel und in Sperrrichtung zur Erregerspannung zu schalten.
Poste den Schaltplan und was du drauß gebastelt hast.
Die Formulierung
Da die Lampen einen Strom von 10V benötigen
von dir, lassen bei mir ein paar Alarmglocken schrillen.
Ich tippe entweder auf fehlende Freilaufdioden, hast du hier ja schon gehört, oder du betreibst den Arduino außerhalb seiner Spezifikationen. Wieviel Ampere ziehen die Ampeln, dass du ein Relais nimmst? Das geht durchaus "moderner".
Wenn die Ausfälle zufällig und nicht reproduzierbar sind, wird eine Komponente wirklich außerhalb der Spezifikationen betrieben. Hast du an eine gemeinsame Masse gedacht?
Hast du die Angaben im Datenblatt der Relais beachtet, meistens ist da auch ein Schaltbeispiel?
Reiche Infos nach und wir können dir besser helfen.
Je nachdem wie er die Schaltung zusammengebastelt hat beziehen die Lampen ihren Strom vielleicht auch immer noch vom Arduino bei dem dann die Schutzschaltung greift