Ansteuern eines Relais mit Transistor und Optokoppler

7

Geben Sie hier die Bildbeschreibung ein Ich bin sehr neu in der Elektronik. Ich steuere ein Relais mit stm32 Mikrocontroller. Für die Isolierung habe ich einen 4N33 Opto-Isolator verwendet. Da meine Relaisspule ca. 250 mA benötigt, habe ich einen MPPS222-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 nur einen Klimmzug verwendet und das andere Ende des LED-Teils mit dem GPIO verbunden. Gpio ist offener Abfluss, ich werde ca. 3mA in den Pin ablassen. Ich habe den R2-Widerstand derzeit nicht geerdet. Mein Problem ist, wenn mein Stm getrennt wird, wird mein Relais eingeschaltet - was ich vermeiden möchte. Könnte mir bitte jemand sagen, ob das Hinzufügen dieses R2 das Problem beheben wird?

Geben Sie hier die Bildbeschreibung ein

Robin Clarke
quelle
Gibt es ein Problem beim Invertieren des Relaisantriebs? Tauschen Sie R4 vom Kollektor von Q1 zum Emitter von Q1 (trennen Sie natürlich die Verbindung zur Erde)
Löffel
1
Warum müssen Sie das Mikro von der Spulenseite des Relais isolieren? Relais sorgen bereits für eine Isolation zwischen der Spulenseite und den Schaltern. Mit anderen Worten, warum nicht GPIO an das linke Ende von R4 anschließen und das Opto komplett eliminieren? Sie müssten den GPIO-Level von dem oben gezeigten invertieren, aber das ist eine geringfügige Firmware-Änderung.
Olin Lathrop
@RobinClarke also ist es Push-Pull oder Open Drain Ausgang? Sie geben Push Pull im Schaltplan an und öffnen Drain im Text.
Mäuse

Antworten:

6

Sie können 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 einer HF von mehr als 250 mA / 12 mA = 20 MPS2222 scheint eine Hfe von 75 bei einem Basisstrom von 10 mA zu haben, daher sollten Sie in Ordnung sein.

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

schematisch

simulieren Sie diese Schaltung

Bearbeiten im MCU-Pin-Modus

Aus Ihren Kommentaren geht hervor, dass Sie nicht genau wissen, wie Push-Pull- und Open-Drain-Ausgangsstufen funktionieren. Während es in dieser Frage besprochen wird , werde ich nur eine kurze Beschreibung geben.

Bitte beachten Sie, dass in den meisten stm32-MCUs die Ausgänge als Open Drain oder Push Pull und als ganze Kombination aus internen Pull-Ups und Pull-Downs konfiguriert werden können. Dies ist vielseitig und nützlich.

Was nun offener 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 den Strom umschalten möchten . Es kann nur Strom aufnehmen, nicht quellen.

Wenn der offene 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, wird er nur mit dem Boden verbunden, unabhängig davon, an was er angeschlossen ist.

schematisch

simulieren Sie diese Schaltung

Wenn etwas außerhalb des Pins die Spannung lesen möchte (z. B. ein hochohmiger Eingang), lösen Sie dies, indem Sie einen Pull-up-Widerstand anschließen, um den Drain zu öffnen. Während der Pin ausgeschaltet ist, ist der Ausgang hoch, während der Widerstand daran zieht. Wenn der Pin eingeschaltet ist, schlägt 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 - Strom fließt in ihn. Normalerweise verwenden Sie keine Pullups oder Pulldowns mit Push-Pull-Ausgabe.

schematisch

simulieren Sie diese Schaltung

Mäuse
quelle
Was ist der Zweck von R3?
Wouter van Ooijen
Oh ja, R3 wird nicht benötigt, da das Relais den Strom durch Q2 begrenzt. zu früh am Morgen war es.
Mäuse am
@miceuz, Danke für deine Antwort. Daher invertiere ich immer noch das Signal. Da Q2 nur funktioniert, wenn ich kein Nullsignal in meiner MCU habe. Sie haben Recht, MPS222 kann 600 mA. Mir sollte es gut gehen. Ich hatte gehofft, die Schaltung so zu betreiben, dass sie eingeschaltet ist, wenn ich eine hohe Leistung habe. Vielen Dank für Ihre nette Erklärung, wirklich großartig!
Robin Clarke
@RobinClarke du solltest ohne Inversion gut sein. Während die MCU startet, ist der Ausgang wahrscheinlich hochohmig und der Strom fließt nicht durch D1, wodurch die Transistoren nicht eingeschaltet werden. Wenn Sie hoch am Pin ausgeben, leitet der Mosfet am Ausgang des Pins, D1 leuchtet auf und schaltet alles ein. Oh. Vorausgesetzt, Sie haben einen offenen Drain-Ausgang. Bitte klären Sie das auf.
Mäuse
@miceuz, Entschuldigung für die Verwirrung. Ich benutze sicher den offenen Abfluss. Ich habe den Push-Pull-Modus nur erwähnt, wenn ich die Abbildung ganz oben verwende, in der der Ausgangspin die Spannung für D1 liefert. Danke fürs klarstellen!
Robin Clarke
4

Nein, das Hinzufügen eines R2, wie Sie zeigen, löst Ihr Problem nicht.

Ein nicht verbundener Prozessor entspricht (in diesem Fall) einem Prozessor, der den Pin NICHT nach unten zieht (Ausgabe einer logischen 1). Daher müssen Sie Dinge verkabeln, damit das Relais mit Strom versorgt wird, wenn eine 0 angelegt wird, und nicht mit Strom, wenn eine 1 angelegt wird. Das Programm Ihres Prozessors muss mit dieser Inversion 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. Dies macht den Optokoppler unbrauchbar.

Wouter van Ooijen
quelle
@ Wouter van danke für deine Antwort. Ich werde die Erdung der linken Seite des Okto-Isolators ändern. Sie sind der Meinung, dass es eine hohe Logik ist, wenn der Mikrocontroller irgendwie getrennt wird und der Stromkreis ausgeschaltet wird. Danke! @ Nick Ich benutze ein 50-Ampere-Relais, um 240 V zu schalten, also dachte ich, ich würde eine Isolation verwenden, um mein Mikro zu schützen.
Robin Clarke
Hallo zusammen, ich habe mich gefragt, ob das Bild, das ich oben hinzugefügt habe, funktioniert. Scheint, als könnte ich die Inversion loswerden. Bitte lassen Sie mich wissen, was Sie denken. Als Wouter darauf hinwies, dass eine gemeinsame 5-V-Erdung nicht funktioniert, könnte ich erden Die geringste Seite des Optokopplers zum Mikro als Mikro-Pin ist 3,3V. Ich weiß Ihre Hilfe wirklich zu schätzen. Ich war bis jetzt alle ohne Hilfe. Danke!
Robin Clarke
@RobinClarke R3 loswerden, das war mein Fehler.
Mäuse
@miceuz, es tut mir wirklich leid, dass ich nicht früher antworten konnte. Es macht wirklich Sinn. Du hast es sehr deutlich gemacht. Ich werde dieses Wochenende die Strecke machen. Vielen Dank! Ich schätze deine Hilfe wirklich sehr.
Robin Clarke