Hallo zusammen,
ich nutze aktuell einen Arduino Mega und habe dort aktuell 2 Buttons, 2 Servos, ein separates 5V Netzteil für die Servos und ein 5V Relais im Einsatz.
Beim Drücken eines Knopfes soll der zum Knopf gehörige Servo öffnen und auch das Relais aktivieren, was dann eine Steckdose aktiviert. Drücke ich den Knopf nochmal geht der Servo wieder zu und auch das Relais deaktiviert sich. Drücke ich Knopf 1 und dann Knopf 2, geht Servo 1 zu und Servo 2 öffnet sich. Das Relais bleibt aktiv.
Das funktioniert soweit auch alles (und prinzipiell will ich 4-5 Buttons und Servos damit steuern).
Jetzt hatte ich aber schon 2 mal in kurzer Zeit das Phänomen, dass das Relais ohne Drücken eines Knopfes aktiv geworden ist, was schlecht ist, weil an der Steckdose ein recht starker Verbraucher dran ist, der nicht unnötig laufen soll, sondern wirklich nur, wenn jemand den Knopf drückt.
Der Button ist mit GND und einem Steuerpin auf dem Arduino verbunden. Das Relais hängt an einem separaten Steuerpin am Arduino. Der Servo hängt mit 5V an dem separaten Netzteil, GND und Steuerpin am Arduino, bzw. GND ist gemeinsamer GND vom Arduino und separatem 5V Netzteil.
Noch ein Hinweis: ein Button ist ca. 3,5m vom Arduino entfernt, hat also ein entsprechend langes Kabel. Das Relais ist direkt neben dem Arduino in einem kleinen Schaltschrank.
Code hängt an.
PS. Ich bin Anfänger also gut möglich, dass ich irgendwo etwas übersehen habe, aber ich weiß leider nicht wo. Eventuell habt ihr noch eine Idee?
Setze Deinen Code bitte in Codetags. Wie das geht, steht hier.
Grober Ansatz für 3,5 m Leitung: Geschirmte Leitung und ein kleinerer Widerstand nach +5V (z.B. 1 kOhm) oder gleich eine 20 mA Stromschleife bauen.
Beim Relais fehlt ein Bild der Leiterplatte, ob diese überhaupt für 230V geeignet ist. Der Aufdruck auf dem Relais gilt nur für dieses allein.
@christian_ffm Vor Zweijahren wurde dir schon geschrieben was für Schrot die Relais sind wen es geht um Spannug höher als 48V, und trotzdem nutzt du die für schalten von 230V.
Damit dir mit deiner Frage hier geholfen wird, teste mal, ob das Relais auch spinnt, wenn gar nichts auf der Last-Seite angeschlossen ist.
Ausserdem ist mir nicht klar, wie die Relais-Spule angesteuert wird:
Ich sehe eine Freilaufdiode, eine LED mit Vorwiderstand und zwei Schraubklemmen. Das reicht nicht, an diese zwei Klemmen 5V und einen Signalpin des Arduino anzuschrauben.
Ich hatte das Relais gut 1 Woche in Betrieb mit nur einem Button, wo das Kabel nur knapp 30cm lang ist und da gab es keine Probleme oder die Selbststarts.
Es ist auch jemand mit dabei, der eine entsprechende Ausbildung hat und an 230V arbeiten darf, aber er kennt sich mit dem Arduino leider nicht aus. Er meinte für ihn ist es auch ungewöhnlich, dass der Button am Arduino über GND angeschlossen wird. Daher konnte er mir da nicht helfen
Wir haben auch ein zweites Relais (eltako R12-100-230V), das über das erste Relais gestartet wird, aber das ließ sich leider nicht mit 5V ansteuern.
Die Idee des aktuellen Setups war, dass es einfacher sein sollte als das Konzept vor 2 Jahren, da wir nun nicht mehr messen, ob ein Verbraucher läuft und dann die Absaugung einschalten, sondern arbeiten mit den Buttons als "Starter"
Wieso ist das ungewöhnlich ?
Ein Button kann an GND oder 5Volt abeschlossen werden. Wichtig dabei ist, die Abfrage im Controller muss dazu passen.
Eine passende Lösung dazu wurde dir ja schon in Post #2 geschrieben.
In Post #5 wurde dir die Frage zur Relaisansteuerung gestellt. Da gehst du garnicht drauf ein. Fakt ist, ein Arduino Pin liefert nicht genug Strom, um dein Relais sicher zu schalten. Wenn es doch funktioniert, dann ist es Zufall und wird über kurz oder lang den Pin des Arduino killen.
Das ist gut, denn der hat dann auf jeden Fall ein Multimeter, wenn Du keins haben solltest.
Bitte miß mal den Strom, der auf der Spulenseite (5 V) fließt, am Besten ohne Arduino. In der Beschreibung finde ich dazu
Spulenleistung: 0,53 W
0,53 W / 5 V = 106 mA
Dieser Strom übersteigt den für den Arduino Mega2560 zulässigen Strom an einem Pin deutlich!
Du benötigst daher ein stromverstärkendes Bauteil wie einen Transistor, egal ob bipolar oder FET. Ich hoffe, Dein erfahrener Kumpel kann Dir die Details erläutern
Fakt ist, ein Arduino Pin liefert nicht genug Strom, um dein Relais sicher zu schalten. Wenn es doch funktioniert, dann ist es Zufall und wird über kurz oder lang den Pin des Arduino killen.
Ahh, das ist ja mal eine wichtige Info. Dann brauch ich ja gar nicht weiter zu versuchen das irgendwie mit dem Arduino hinzubekommen, oder verstehe ich was falsch? Gibt es denn noch andere Alternativen als mit dem Arduino?
Das Relais hängt mit dem Minus Pol am GND und der Plus Pol am Steuerpin des Arduino.
Auf der unteren Seite sind die Schraubklemmen eingelötet. Der Abstand zwischen den Leiterbahnen ist für 230V zu schmal. (braucht mindestens 5mm Kriechstrecke) Etwas mehr Abstand ist zwischen dem Kontakt und der Spule aber auch hier reicht dieser nicht den Normativen Vorgaben.
Wenn man 230 Verbraucher schalten will sind Funksteckdosen die beste Wahl. Man greift die 230V Seite überhaupt nicht an.
Nicht alle im Handel erhältlichen Funksteckdosen sind mit einem 433 MHz Sender bzw RCSwitch Bibliothek ansprechbar. Zeig den Link was Du kaufen möchtest.
Mit einem Waveshare ESP32_C6 konnte ich verschiedene 433-MHzFunksteckdosentypen in die Smarthome-Funktion der Fritzbox integrieren. Die älteren per RCSwitch und die neueren (irgendwann mal sehr günstig bei Action gekauft) mit der NewRemoteSwitch. Die Codes ermittelt man am einfachsten mit den Empfänger-Beispielen der jeweiligen Libraries.
Das ist für Laien auf jeden Fall der sicherste Weg.
Ansonsten bietet sich zum Ansteuern eines Relais z.B. auch der ULN2803 an; einfach zu handhaben, integrierte Freilaufdiode, externe Spannungsversorgung:
Das klingt interessant. Also kann ich auf die ganzen Relais verzichten und steuere die Steckdose über Funk.
2 Fragen dazu:
ich vermute ich muss dann trotzdem erstmal das 3,5m lange Kabel zu meinem Button austauschen und den Widerstand dazwischen löten, damit das als Fehlerquelle für unbeabsichtigte Starts ausgeschlossen werden kann. Ich stelle mir hier die Frage, wie ich das testen kann, ob der Fehler weg ist? Weil ein paar Tagen warten und schauen, ob es wieder auftritt erscheint mir nicht so sinnvoll
bei der Funksteckdose muss ich dann aber auch drauf achten, dass die mit der Last der Absaugtonne (~2,2kW) klar kommt?
Den Widerstand brauchst du def. Aber nicht dazwischen, sondern direkt am Controller vom Pin gegen +5Volt (wenn der Taster gegen GND schaltet). So etwas nennt sich "Pullup Widerstand".
Nimm einen 1k Widerstand, das funktioniert meistens.
Schaltest du den Taster gegen +5Volt, geht der Widerstand auf der anderen Seite auf GND und nennt sich dann Pulldown-Widerstand.
Zum "Testen" kannst du in der Nähe des Controllers einen Verbraucher mit hoher Leistung mehrfach ein und aus schalten. Das sollte den aktuellen Zustand schon stören. Mit dem Widerstand darf es kein Problem mehr geben.