Hi,
bin neu hier und bastel gerade eine Steuerung zur Anschaltung von 4 Relais über eine Funkfernbedienung.
Dabei darf der Strom erst dann fließen (das Relais schalten), wenn ich den Schalter an der Funke umlege.
Ich habe diese Relais:
Jetzt habe ich hier wahrscheinlich einen Denkfehler. Pro relais sind drei Pins:
Stromlos geschlossen
GND
Stromlos offen
Wenn ich meinen Verbraucher an die ersten beiden Pins anschließe, ist das Relais auf Durchgang geschaltet und das will ich nicht. Erst wenn ich den Signalpin anlege, öffnet das Relais, so dass der Stromfluss unterbrochen ist. Das ist das was ich brauche.
Wenn ich den Verbraucher an 2+3 anschließe, ist kein Durchgang. Das ist das was ich brauche. Wenn allerdings der Singnalpin anliegt, schaltet das Relais und das brauche ich wiederum nicht....
Das Relais muss also im stromlosen Zustand und auf der Signalleitung offen sein, wenn kein Signal anliegt.
Das Relais schaltet auch, wenn ich den Signalpin auf GND setze oder auf einen Ausgang, der auf LOW liegt.
Wer kann mir da helfen oder wie kann ich das realisieren das mein Verbraucher (in diesem Fall ein 'Bühnenblitz') erst dann gezündet wird, wenn ich an meiner Fernbedienung den Schalter umlege?
Du möchtest NC und NO benutzen - Das steht für
NC - normaly close (normal geschlossen, also ein Öffner)
NO - normaly open (normal offen, also ein Schließer)
Du möchtest den NO-Kontakt für Deine Spielerei - wenn das Signal kommt, soll COM->NO geschaltet werden.
Das macht's ja auch schon - nur kommt jetzt ein kleiner Denk-Fehler:
Die Relais-Platinen schalten bei LOW.
Ein aktiv anliegendes LOW ist für das Relais der Schaltbefehl.
(deshalb im Setup auch erst digitalWrite(relaispin,HIGH) und danach erst pinMode(relaispin,OUTPUT) - verhindert Klappern beim Anschalten des Arduino).
Selber habe ich zwei #define im Code, womit ich mir AN und AUS eben auf LOW und HIGH 'umbiege'.
So kann ich im Sketch digitalWrite(relaispin,AN); schreiben und es kommt ein digitalWrite(relaispin,LOW); im Kompiler an - Beide können's lesen, Beide sind zufrieden.
Das Relais ist ein Wechsler.
Also ist ein Kontakt NO und der andere NC.
Damit sollte sich das doch erreichen lassen, oder?
Die Ansteuerung auf der Platine invertiert des Signal.
Wenn dir das nicht passt, wirst du noch einen Inverter davor setzen müssen, oder die Platine modifizieren.
kschi:
......
Wer kann mir da helfen oder wie kann ich das realisieren das mein Verbraucher (in diesem Fall ein 'Bühnenblitz') erst dann gezündet wird, wenn ich an meiner Fernbedienung den Schalter umlege?
Kannst du mal bitte genauer definieren, was es heißt "Schalter umlegen" .
postmaster-ino:
Selber habe ich zwei #define im Code, womit ich mir AN und AUS eben auf LOW und HIGH 'umbiege'.
So kann ich im Sketch digitalWrite(relaispin,AN); schreiben und es kommt ein digitalWrite(relaispin,LOW); im Kompiler an - Beide können's lesen, Beide sind zufrieden.
MfG
Okay, das hab ich verstanden. Ich hatte gedacht, dass ich das Relais in reihe mit einer LED schalte. Wenn LED an dann Relais an. Ich könnte natürlich auch 4 weitere Ausgänge definieren, die das Relais schalten.
Es ist aber noch eine weitere Logik dahinter: Wenn Kanal1 an UND zündung, dann LED und Relais. Ist es sinvoll, dafür weitere Ausgänge zu belegen oder besser das zusammen mit der LED zu verschalten?
Suchst Du nun eine Lösung für Dein Problem, oder willst Du uns nur Dein Leid klagen?
Die Dinger schalten bei LOW - wenn Deine andere Schaltung HIGH anzeigt, können die Relais da recht wenig für.
Kneif die LEDs raus und Alles ist gut - kein störendes (oder falsch leuchtendes) Licht und die Relais lassen sich per Programm befehligen - sogar AN, wenn man AN will - sch*** egal, was dafür als Ansteuerung dienen musste.
noiasca:
wenn du nicht die Logik im Programm ändern willst/kannst,
es gibt auch Module die sind high active:https://amzn.to/32Daxqi
Dort bin ich über eines der Bilder gestolpert - Titel 'Connected by Soldering'.
Unter den Relais queren wohl zwei Leiterbahnen, keweils GND und +5V.
Man müsste Mal einen Zollstock dran halten um abschätzen zu können, ob die Abstände zwischen den Schaltkontakten und der Logik-Spannung dort passen KANN.
Schön: Der COM-Kontakt ist ausgefräst - hilft aber nicht viel, wenn auf der anderen Platinenseite die Kupferbahnen nur knapp an den dort durchgesteckten Pins vorbei geht.
Auch wird zwischen Relais und Platine kondensierendes Wasser z.B. eher zu den Kontakten finden, als auf der offenen Unterseite (Oberflächenspannung des Wasser - das Zeug 'saugt' sich in den Spalt unter dem Relais und dort sind die Leiterbahnen und die Pins dann nicht mehr weit).
Zumindest das GND-Pad scheint seitlich kontaktiert zu sein - das +5V-Pad, Welches auch noch näher an COM liegt, verschwindet zumindest links unter dem Relais - die rechte Seite ist auch auf den anderen Fotos nicht so, daß man mehr erkennen könnte.
Sonst ein schöner Fund - auch wegen der steckbaren Schraubklemmen - Die mag ich
Das geht auch während des Schreibens in den Denkpausen Ich labe mich gerade an Leitungswasser mit Zitronenscheiben.
Spekulativ, da Uwe keine Glaskugel für mich rausrückt: Karsten hat ein fertiges Programm auf dem Arduino, das nach dem Einschalten ein LOW ausgibt. Das paßt aber nicht zur Relaishardware, denn da ist HIGH der Ruhezustand. Somit steht die Antwort schon in #1 und bedarf nur der Umsetzung. Da ich kein Programmlisting sehe, nur allgemein:
digitalWrite(pin, wert); // alt
digitalWrite(pin, !wert); // neu, bitte auf das Ausrufezeichen achten