Verwenden von Raspberry Pi zum Lesen von Open-Collector-Ausgängen vom Tally-Anschluss

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?

  1. Verbinden Sie Pin 9 mit GROUND auf dem Raspberry Pi.
  2. Angehängter Pin 1-6 an 6 einzelne GPIO-Pins, die als "Eingang" auf Raspberry Pi eingestellt sind
  3. Senden Sie 3,3 V von einem Raspberry Pi GPIO an Pin 7.
  4. Ergebnis: Meine GPIO-Eingangsstifte (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.

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.

Pinbelegung des Panasonic HS300G Tally

EDIT: Wie verdrahte ich die 3,3 V richtig in den Stromkreis? Was vermisse ich?

Geben Sie hier die Bildbeschreibung ein

Alle zusammen, eure Antworten waren eine enorme Hilfe. Ich habe einige Widerstände in der Post und werde es nach den Feiertagen versuchen und Sie wissen lassen, wie es läuft. Dieses Forum ist super einladend für einen Anfänger, vielen Dank.
Ich habe vergessen, zurückzukommen und die Antwort als Lösung zu markieren. Alle 3 Antworten enthielten unterschiedliche Informationen, die mir geholfen haben, es zum Laufen zu bringen. Wie entscheide ich mich für die Lösung? (und vielen Dank an alle ... das endgültige Projekt funktioniert wunderbar!)

Antworten (3)

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).

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

OK, das macht Sinn, aber ich kann mir nicht vorstellen, wo die 3,3 V in die Schaltung eingegeben werden? Ich habe ein Diagramm hochgeladen, das mein bisheriges Verständnis zeigt.
@ Rastographics ich auch ;)

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:

Teilschema aus der Frage

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.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wie soll ich die 3,3 V an die Ausgänge anschließen? Bitte beziehen Sie sich auf das neue Diagramm, das ich in meiner Frage hochgeladen habe.
Siehe oben. Die 470R-Widerstände sind optional, aber sie verhindern, dass die OC-Ausgänge die RPi-GPIOs ernsthaft „bekämpfen“, wenn Sie sie als Ausgänge falsch konfigurieren.