Elektronisch, wie man diese 5-V-Relaisplatine im Arduino-Stil von einem seriellen PC-Anschluss aus steuert

Ich habe die folgende Relaisplatine (siehe Abbildung unten), und um eines der Relais zu aktivieren, verbinden Sie einfach einen der IN1-IN8-Pins mit Masse. Einfach. Der Strom zwischen gnd und INx ist aufgrund der bereits auf der Platine befindlichen Transistoren vernachlässigbar, sodass der Strom, der durch die serielle Schnittstelle des PCs fließt, kein Problem darstellt.

Wie kann ich die serielle Schnittstelle elektronisch verwenden, um ein Relais auf dieser Platine zu aktivieren? Um den Software-Aspekt mache ich mir keine Sorgen. Der serielle Standardanschluss hat DTR und RTS (Pin 4 und 7), die per Software hoch oder niedrig gesetzt werden können. Ich glaube, dass "hoch" an einer seriellen Schnittstelle -3 bis -25 Volt und "niedrig" an einer seriellen Schnittstelle +3 bis +25 Volt beträgt.

Gibt es eine einfache Möglichkeit, IN1 auf GND zu setzen? Schauen Sie sich das Schema unten an und sehen Sie, ob es eine einfache Möglichkeit gibt, dies zu erreichen:

Übrigens sind VCC und JD-VCC mit dem Jumper verbunden, ich mache keine Hochspannung oder mache mir Sorgen um die Isolierung.

http://i.stack.imgur.com/xmruD.jpg

Das ist nicht wirklich eine gute Lösung. Sie suchen eine Stromsenke für die Opto-LED. Die serielle Schnittstelle ist möglicherweise nicht in der Lage, dies zu tun. "_ Der Strom zwischen gnd und INx ist vernachlässigbar ..._". Es muss etwa 5 mA betragen, um die LED anzusteuern. Das ist für eine serielle Schnittstelle nicht zu vernachlässigen. " Übrigens, VCC und JD-VCC werden zusammen mit dem Jumper verbunden ... ". Möglicherweise müssen Sie modellieren, wie sich dies auf die serielle Schnittstelle auswirken würde. Gibt es kein USB-Breakout-Board, das Sie stattdessen verwenden könnten?
"Gibt es kein USB-Breakout-Board, das Sie stattdessen verwenden könnten?" Sicher, ich könnte so etwas wie eine serielle oder USB-Relaisplatine verwenden und damit fertig sein, und das muss ich vielleicht tun, aber ich versuche, die Hardware auf ein Minimum zu beschränken, und diese Platine hat bereits viele Relais, die ich bin Verwendung mit anderen Geräten, die einen Trockenverschluss durchführen. Der PC wird ohne zusätzliche Hardware keinen trockenen Abschluss machen, es sei denn, wie ich gehofft hatte, dass die serielle Schnittstelle den Eingang irgendwie niedrig ziehen könnte.

Antworten (3)

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Abbildung 1. Seriell-zu-Relais-Board-Schnittstelle.

Diese Schaltung sollte funktionieren.

  • Wenn die serielle Ausgangsleitung positiv wird, wird Q1 über R1 eingeschaltet. Dadurch wird die Opto-LED auf der Relaisplatine eingeschaltet.
  • Wenn die serielle Ausgangsleitung negativ wird, wird Q1 ausgeschaltet und D1 verhindert, dass die Basis von Q1 mehr als 0,7 V negativ gezogen wird.

GND der Relaisplatine muss mit GND des seriellen Ports verbunden werden - Pin 5 am 9-poligen PC-Port oder Pin 7 am 25-poligen Port.

Q1 kann ein beliebiger Kleinsignal-NPN-Transistor mit einem Vce sein, der größer ist als die Versorgungsspannung Ihrer Relaisplatine, die dem darunter liegenden Basisstrom unterliegt.

+/-25 V scheint für eine serielle Schnittstelle vom Typ RS232 extrem zu sein. Ich dachte immer, es wären +/- 12 V. Die meisten Geräte verwenden so etwas wie die MAX232-Chips, um die 5-V-Versorgung zu verdoppeln, um 8 oder 9 V aus Gründen der Zuverlässigkeit auszugeben. Wenn Sie an +12 V an Ser-Out arbeiten, erhalten Sie 12 mA in die Basis von Q1, was für etwas wie den 2N2222 in Ordnung sein sollte. D1 wird den Rückstrom problemlos bewältigen. Wenn Sie wirklich Ser-Out > 12 V erwarten, erhöhen Sie den Wert von R1 entsprechend.

Das sieht so aus, als würde es die Antwort sein. Welchen Wert hat Q1? Bestätigen Sie außerdem, dass Ihre Schaltung Spannungen von -25 bis +25 Volt verarbeiten kann.
Update: zwei weitere Absätze hinzugefügt.
Ich denke, Sie haben Recht, dass die meisten seriellen Schnittstellen wahrscheinlich nur etwa 12 Volt liefern, aber die offiziellen RS232-Spezifikationen geben "bis zu 25" Volt an, entweder + oder -.

Wenn Sie mit elektronisch Software meinen, ja, Sie können eine bestimmte serielle Leitung programmgesteuert umschalten. In LabVIEW würde dies wie folgt aussehen:

Schalten Sie eine bestimmte serielle Leitung in LabVIEW um

In Python können Sie die pySerial Library verwenden, wo der Code so aussehen würde:

__init__(port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=False, rtscts=False, write_timeout=None, dsrdtr=False, inter_byte_timeout=None),

wobei rtscts=False RTS auf Low und drsdtr=False DTR auf Low setzt.

Und Sie haben Recht, die Spannungen der seriellen Schnittstelle können von -25 bis +25 Volt reichen, aber in den meisten Fällen werden es etwa -10 bis 10 Volt sein.

"Ich mache mir keine Sorgen um den Softwareaspekt."

Dies ist ein 8 Realy Board. Eine standardmäßige (9-polige) serielle Schnittstelle hat keine 8 Ausgänge. Werden Sie (mindestens) 2 serielle Ports verwenden?

Die schnellste Lösung wäre, einen Arduino (Uno oder Nano) zwischen Ihren PC und die Relaisplatine zu stecken. Oder, für die Abenteurer: ein FT245RL USB-zu-Parallel-Chip.

Wenn Sie wirklich serielle Ports verwenden möchten: Verwenden Sie die Pins, die Ausgänge sind. Mein Bauchgefühl ist, dass sie Ihre Optokoppler direkt ansteuern können (VCC-JDvcc trennen, VCC mit der seriellen Masse verbinden).

Wenn dies die Relais nicht aktiviert, verwenden Sie einen Transistor pro Eingang, wie "Transistor" vorschlägt (wie könnte er etwas anderes vorschlagen!), Oder einen ULN2803 für 8 Leitungen.

Nicht 8, nur 1: "Gibt es eine einfache Möglichkeit, damit IN1 auf GND zu setzen?"
OK, das würde meinen ersten Satz hinfällig machen. Der Rest ist noch gültig.