Grundlegende Fragen zu einer einfachen Schaltung (GPIO-gesteuertes Relais auf RaspberryPi)

Ich möchte ein 8-Port-Sainsmart-Relais von einem Raspberry Pi aus steuern (über die GPIO-Pins) und versuche, ein paar Dinge über die vorgeschlagene Schaltung zur Integration der beiden zu verstehen. Hier ist die Schaltung:

Geben Sie hier die Bildbeschreibung ein

Wie der erklärende Text sagt, ist das Relais "aktiv niedrig", aber aus mehreren Gründen möchte ich es vom RPi aus als "aktiv hoch" -Gerät steuern (dh einen GPIO-Pin auf hoch setzen, um das Relais zu aktivieren, und senken Sie ihn auf Null, um ihn zu deaktivieren).

Ich habe es funktioniert und ich verstehe, was es tut, aber ich habe ein paar Fragen:

  1. Wie wird die Dimensionierung der Widerstände bestimmt?
  2. Was ist der Zweck des 10K-Widerstands?
  3. Dieses Design impliziert für mich, dass das RPi und das Relais eine gemeinsame Masse teilen müssen. Ist das wahr? Bedeutet das, dass sie sich auch dieselbe Stromversorgung teilen müssen?

Antworten (3)

Wie der erklärende Text sagt, ist das Relais "aktiv niedrig", aber aus mehreren Gründen möchte ich es vom RPi aus als "aktiv hoch" -Gerät steuern (dh einen GPIO-Pin auf hoch setzen, um das Relais zu aktivieren, und senken Sie ihn auf Null, um ihn zu deaktivieren).

Der begleitende Text erklärt Ihnen, dass der GPIO High (3,3 V) den Transistor einschaltet, der den Kollektor mit dem Emitter verbindet, wodurch das Relais auf Low gezogen wird. Dies ergibt Ihr gewünschtes Verhalten.

Wie wird die Dimensionierung der Widerstände bestimmt?

Der Basis-Emitter-Übergang des Transistors verhält sich eher wie eine Diode und hat einen Abfall von 0,7 V, wenn Strom durch ihn fließt. Damit bleiben 3,3 - 0,7 = 2,6 V über dem Basiswiderstand.

Der 2,2-kΩ-Basiswiderstand ist so gewählt, dass er genügend Basisstrom liefert, um den Transistor in "Sättigung" einzuschalten. dh der Kollektor-Emitter-Spannungsabfall ist so niedrig wie möglich gegangen. Im Beispiel wird der Basisstrom angegeben durch ICH = v R = 2.6 2 k 2 = 1.2   mA . Wenn der Transistor eine hohe Stromverstärkung hat, kann dies ausreichen.

Was ist der Zweck des 10K-Widerstands?

Es hilft, den Transistor ausgeschaltet zu halten, wenn Ihr Mikrocontroller hochfährt und der GPIO nicht im Ausgabemodus ist, weil das Programm noch nicht gebootet hat.

Dieses Design impliziert für mich, dass das RPi und das Relais eine gemeinsame Masse teilen müssen. Ist das wahr?

Richtig.

Bedeutet das, dass sie sich auch dieselbe Stromversorgung teilen müssen?

Nein. Die Relais können und werden oft von einer höheren Spannungsversorgung gespeist. Dies ist einer der Gründe, warum das Open-Collector-Design so beliebt ist, da es ein Mittel zur Spannungsumsetzung zwischen Schaltungen bietet.

  1. Sie wird durch die GPIO-Ausgangsspannung, die Transistorbasisspannung und den erforderlichen Basistreiberstrom bestimmt.

  2. Der 10k-Widerstand soll den Transistor ausschalten, wenn der GPIO-Pin aus irgendeinem Grund kein Ausgang ist, z. B. beim Hochfahren oder als Eingang falsch konfiguriert.

  3. Ja, der Emitter des Transistors muss mit der Masse des Raspberry Pi verbunden werden, da sonst keine Schleife für den Stromfluss vorhanden ist. Sie müssen sich keine Stromversorgung teilen, sie können unterschiedliche Spannungen haben, solange die Masse gemeinsam ist.

Dieses Design impliziert für mich, dass das RPi und das Relais eine gemeinsame Masse teilen müssen. Ist das wahr?

Die Relaisspule muss eine gemeinsame Masse haben. Die Relaiskontakte - überhaupt nicht :)