Ich bin ganz neu in der Elektronik. Ich steuere ein Relais mit einem stm32-Mikrocontroller. Zur Isolation habe ich einen 4N33 Opto-Isolator verwendet. Da meine Relaisspule etwa 250 mA benötigt, habe ich einen mps222-Transistor verwendet. Ich dachte mir, dass die Logik invertiert wird, wenn ich das gpio als Quellenspannung für die Opto-Isolator-LED verwende. Ich habe stattdessen einfach einen Pull-Up verwendet und das andere Ende des LED-Teils mit dem GPIO verbunden. Gpio ist Open Drain, ich werde ungefähr 3 mA im Pin ablassen. Ich habe den R2-Widerstand in diesem Moment nicht geerdet. Mein Problem ist, falls mein Stm getrennt wird, dann wird mein Relais eingeschaltet - was ich vermeiden möchte. Kann mir bitte jemand sagen, ob das Hinzufügen dieses R2 das Problem beheben wird?
Du kannst es so machen. Denken Sie daran, dass der BJT-Transistor ein stromgesteuertes Gerät ist, deshalb können Sie sie übereinander stapeln, um ein Darlington-Paar zu bilden.
Ihr Optokoppler hat ein Stromübertragungsverhältnis von ~ 400 % bei 3 mA LED-Strom, wodurch 12 mA durch Q1 laufen. Für Q2 benötigen Sie einen Transistor mit einem hfe von mehr als 250 mA / 12 mA = 20 MPS2222 scheint einen hfe von 75 bei einem Basisstrom von 10 mA zu haben, also sollten Sie in Ordnung sein.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Bearbeiten Sie im MCU-Pin-Modus
Aus Ihren Kommentaren geht hervor, dass Sie nicht genau verstehen, wie Push-Pull- und Open-Drain-Ausgangsstufen funktionieren. Während es in dieser Frage diskutiert wird , werde ich nur eine kurze Beschreibung geben.
Bitte beachten Sie, dass die Ausgänge der meisten stm32-MCUs als Open Drain oder Push Pull und als ganze Kombination aus internen Pull-Ups und Pull-Downs konfiguriert werden können. Das ist vielseitig und nützlich.
Nun, was Open Drain ist - es ist nur ein Transistor, dessen Drain (Kollektor) nicht angeschlossen ist - Sie können Ihre Last an diesen Drain anschließen (D1 in meinem Schaltplan). Sie verwenden Open Drain, wenn Sie Strom schalten möchten . Es kann nur Strom aufnehmen, nicht liefern.
Wenn der Open-Drain-Pin ausgeschaltet ist, fließt kein Strom in den Pin, die Spannung an ihm ist undefiniert, er wird als "schwebend" bezeichnet. Wenn der Stift eingeschaltet ist, verbindet er sich einfach mit dem Boden, was auch immer damit verbunden ist.
Simulieren Sie diese Schaltung
Wenn etwas außerhalb des Pins Spannung lesen möchte (wie ein hochohmiger Eingang), lösen Sie dies, indem Sie einen Pull-up-Widerstand an Open Drain anschließen. Während der Pin ausgeschaltet ist, ist der Ausgang hoch, da der Widerstand ihn zieht, wenn der Pin eingeschaltet ist, knallt der interne Transistor die Unterseite des Pullup-Widerstands auf Masse.
Der Push-Pull-Ausgang liefert und senkt aktiv Strom, wenn er eingeschaltet ist - Strom fließt aus dem Pin, wenn er ausgeschaltet ist - fließt Strom hinein. Normalerweise verwenden Sie keine Pullups oder Pulldowns mit Push-Pull-Ausgang.
Nein, das Hinzufügen eines R2, wie Sie es zeigen, wird Ihr Problem nicht lösen.
Ein getrennter Prozessor entspricht (in diesem Fall) einem Prozessor, der den Pin NICHT auf Low zieht (und eine logische 1 ausgibt). Daher müssen Sie Dinge verdrahten, damit das Relais mit Strom versorgt wird, wenn eine 0 angelegt wird, und nicht mit Strom versorgt wird, wenn eine 1 angelegt wird. Mit dieser Umkehrung muss das Programm Ihres Prozessors leben.
Eine einfache Möglichkeit, dies zu erreichen, besteht darin, den Q1 mit R3 in Reihe zu schalten. R4 kann weggelassen werden, aber Sie benötigen möglicherweise einen Widerstand von der Basis von Q2 zu seinem Emitter, um zu vermeiden, dass der Transistor durch den Leckstrom von Q2 eingeschaltet wird.
PS: Ihre Schaltung zeigt eine gemeinsame Masse (und gemeinsame 5 V?) Für beide Seiten des Optokopplers. Das macht den Optokoppler unbrauchbar.
Löffel
Olin Lathrop
Mäusez