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.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Abbildung 1. Seriell-zu-Relais-Board-Schnittstelle.
Diese Schaltung sollte funktionieren.
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.
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.
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.
Transistor
JMain