Bitte verzeihen Sie meine Unwissenheit, ich bin ein Softwareprogrammierer, der neu auf der Elektro- und Hardwareseite ist.
Unser Videomischer Panasonic HS300G hat einen Tally-Anschluss. Unten ist das Pin-Diagramm und Schaltplan.
Pin 1-6 sagen mir, welcher Kameraeingang aktiv ist (Kamera 1-6).
Mit einem Raspberry Pi 3 muss ich erkennen können, welcher Pin "aktiv" ist, und meine Software verwendet diesen dann, um ein softwarebasiertes Tally-System auszuführen.
Ich habe versucht, so viel wie möglich selbst zu recherchieren, um zu verstehen, wie "Open-Collector-Ausgänge" funktionieren, aber ich bin immer noch verwirrt, und ich möchte nichts an diesem Videomischer braten, indem ich 3,3 V an einen falschen Pin sende .
Würde dieses Design wie folgt funktionieren?
Ich würde diese Theorie gerne testen, aber ich kann es mir nicht leisten, zu hohe Spannung zu senden und etwas an diesem Mixer durcheinander zu bringen! Bitte helfen Sie mir zu verstehen, was hier vor sich geht, wirklich zu schätzen.
Senden Sie 3,3 V von einem Rasberry Pi GPIO an Pin 7.
Nein. Pin 7 sollte einfach unbeschaltet bleiben. Die Ausgänge werden aktiviert, wenn Pin 7 offen gelassen wird.
Abgesehen davon ist ein einfacher Widerstand von 1k bis 10k als Pull-up auf 3,3 V an jedem Ausgang alles, was Sie brauchen. Sie haben die allgemeine Idee. Außer wie in einer anderen Antwort erwähnt, handelt es sich um aktive Low-Ausgänge. Offene Kollektoren werden auf VCC hochgezogen und zum Einschalten aktiv niedrig gezogen. Ihr RPi-Code erfordert also, dass Sie nach einer Änderung von hoch nach niedrig suchen, eine 0 für ein anstelle von 1. Dies ist eine invertierte Logik.
Dies ist das typische Verbindungsschema. Die 3,3 V sind mit den Widerständen verbunden, die die Leitungen nach oben ziehen (daher Pull-ups).
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Sie haben bereits gute Antworten auf einige Ihrer Punkte von Spehro Pefhany und Passerby erhalten , daher werde ich diese Teile nicht wiederholen.
Ich beantworte (und korrigiere) nur einen Ihrer Punkte, der bisher nicht erwähnt wurde:
Würde dieses Design wie folgt funktionieren?
[...]
4. Ergebnis: Meine GPIO-"Eingangs"-Pins (1-6) erhalten 3,3 V, wenn der entsprechende Kameraeingang ausgewählt wird. Dadurch erhält der GPIO einen "hohen" Messwert und meine Software erkennt, dass die Kamera aktiv ist.
Nein. Sehen Sie sich diesen (Teil-) Schaltplan an, den Sie freundlicherweise zur Verfügung gestellt haben:
Unter der Annahme, dass die in diesem Schema gezeigte Beispiel-LED eingeschaltet wird, wenn diese Kamera aktiv ist, leitet der gezeigte Transistor , um die relevante LED einzuschalten.
Das bedeutet, dass die Wahrheitstabelle wie folgt aussehen wird:
Ausgang AUS (Kamera nicht aktiv)
Transistor leitet nicht = Spannung am Anschlussstift ist dieselbe wie die Spannung, die für den Pull-up-Widerstand (intern oder extern zum Raspberry Pi) verwendet wird – sollte 3,3 V betragen (logisches Hoch am mit diesem Pin verbundenen Raspberry Pi-Eingang erkannt)
Ausgang EIN (Kamera aktiv)
Transistor leitet = Spannung am Anschlussstift ist 0 V (logisches Low am Raspberry Pi-Eingang erkannt, der mit diesem Stift verbunden ist)
Daher ist Ihr Punkt 4 genau falsch herum, dh Ihre GPIO-Eingänge (unter der Annahme von Pull-ups auf 3,3 V) sind logisch Low , wenn der Geräteausgang ausgewählt ist und diese Kamera aktiv ist, und andernfalls logisch High .
Sie können sie direkt anschließen, müssen aber den internen Pullup- Widerstand auf den entsprechenden GPIOs konfigurieren. Die Masse muss auch miteinander verbunden sein und es sollte nichts anderes (außer dem Raspberry Pi) mit diesen Pins verbunden sein.
Wenn Sie besonders vorsichtig sein möchten, schalten Sie einen 470-Ohm-Widerstand in Reihe mit jedem der Ausgänge. Da der Pullup bei etwa 50K liegt, wird er die Signale nicht stark beeinflussen.
Die internen Pullups sind ziemlich hochwertig. Wenn Sie also ein langes Kabel haben, kann es Rauschen aufnehmen - in diesem Fall könnte jeder Ausgang einen Widerstand von z. B. 4,7 K zur 3,3-V-Versorgung des Raspberry Pi haben.
Bearbeiten:
In deinem Diagramm.
Option 1: Konfigurieren Sie GPIO16/20/21 als Eingänge mit internen Pullups in Ihrem RPi-Code. Ersetzen Sie 10K-Widerstände durch etwas zwischen 0 und einigen hundert Ohm (z. B. 470 Ohm). Schließen Sie das 3.3 nirgendwo an (es wird intern von Switches im Broadcom SOC mit Pullups der Serie 50K versorgt).
Option 2: Interne Klimmzüge auslassen. Ersetzen Sie 10K-Widerstände durch (sagen wir) 470 Ohm. Schließen Sie einen separaten 10K-Widerstand zwischen jedem Open-Collector-Ausgang (D-Sub-Pins 1-4) und RPi-Pin 17 (+3,3 V) an. Sie können Kurzschlüsse anstelle von 470 Ohm verwenden.
Schematisch – zwei Ausgänge gezeigt.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Rastografie
Rastografie