Wie steuere ich ein 12V Magnetventil mit einem Mosfet?

11

Ich versuche, ein 12-V-DC-Magnetventil über einen MOSFET (BS170) zu steuern, der sein Steuersignal (5 V) von einem Arduino-Mikrocontroller empfängt. Dies ist das Grundschema: Geben Sie hier die Bildbeschreibung ein

Wenn ich den MOSFET teste und eine LED mit einem 1,5-kOhm-Widerstand als Last einsetze (siehe Bild), funktioniert dies einwandfrei und ich kann den 12-V-Strom problemlos mit dem 5-V-Signal steuern.

Aber dann schließe ich mein Magnetventil anstelle der LED an. Es arbeitet einige Sekunden lang, dann hört es auf zu arbeiten und der MOSFET leitet permanent Strom, unabhängig vom Zustand des 5-V-Steuerstifts.

Der MOSFET ist dauerhaft beschädigt, da er beim erneuten Anschließen der LED nicht mehr funktioniert.

Zu viel Strom? Aber wenn ich vor dem Ventil einen Widerstand hinzufüge, funktioniert dieser nicht mehr ... Vielleicht brauche ich einen schwereren MOSFET / Transistor?

Dyte
quelle
2
Wie viel Strom zieht Ihr Magnet? Sie müssen einen MOSFET geeigneter Größe auswählen, und wir können diese Frage möglicherweise nicht beantworten, ohne die aktuellen Anforderungen zu kennen.
Jason S
2
Können Sie das Datenblatt des Magneten verknüpfen? Oder schließen Sie es zumindest mit einem Amperemeter an 12V an und teilen Sie uns den Strom mit, den es zieht?
Markrages
Wird der MOSFET heiß?
Raketenmagnet
markrages: ebay.com/itm/290655223999 Raketenmagnet : Ja, das tut es.
Dyte
Schlechte Ansteuerspannung. Verwenden Sie einen universellen bipolaren NPN-Transistor, um Ihre Steuerspannung auf 12 V zu bringen, und treiben Sie dann einen P-Kanal-MOSFET damit an (da die Polarität durch den zusätzlichen Transistor geändert wird). Verwenden Sie wie gewohnt einen Strombegrenzungswiderstand für die Basis und einen Pull-up-Widerstand für den Kollektor. Schließen Sie auch eine Filterkappe zwischen D und S des MOSFET an, da eine Diode selbst möglicherweise nicht schnell genug ist, um die Spitze von der Spule abzufangen. Wenn die Induktivität sehr groß ist, möchten Sie möglicherweise ein Ausblenden mit einem integrierten RC-Element im Eingang erstellen.
Zdenek

Antworten:

18

Lesen Sie meinen Blogeintrag "Byte and Switch" - er behandelt genau dieses Szenario.

Die kurze Antwort lautet, dass Sie eine Freilaufdiode benötigen, um den Strom zu leiten, wenn der MOSFET ausgeschaltet wird. Der Magnet hat eine Induktivität, die Energie im Magnetfeld speichert. Wenn Sie den MOSFET ausschalten, erzeugt die Induktivität jedoch die erforderliche Spannung, um den Stromfluss fortzusetzen. Der resultierende Spannungsimpuls verursacht einen Durchschlag im MOSFET, der den Schaden verursacht, den Sie sehen.

Sie sollten auch ein paar Widerstände hinzufügen, einen vom Mikrocontrollerausgang zur Masse, um sicherzustellen, dass er ausgeschaltet ist, wenn Ihr Mikrocontroller zurückgesetzt wird, und den anderen vom Mikrocontroller zum MOSFET-Gate, um eine Widerstandsisolation zwischen Ihrem Netzschalter und Ihrem hinzuzufügen Mikrocontroller.

Geben Sie hier die Bildbeschreibung ein


edit: Mir ist gerade aufgefallen, dass du einen BS170 MOSFET verwendest. Haben Sie sich das Datenblatt angesehen? Dies ist eine schlechte Wahl für einen MOSFET, der als Leistungsschalter von einem Mikrocontroller verwendet wird.

Zunächst wird der MOSFET mit 10 V Vgs spezifiziert. Sie liefern es von einem 5V-Mikrocontroller. Sie müssen sicherstellen, dass Sie MOSFETs verwenden, die "Logikpegel" haben und einen Einschaltwiderstand von 4,5 V oder 3,3 V Vgs haben. (Ich schlage vor, dass Sie keine Ultra-Niederspannungs-MOSFETs verwenden, da die Möglichkeit besteht, dass sie sich schwach einschalten, wenn Sie glauben, dass sie ausgeschaltet sind.)

Noch wichtiger ist, dass es sich um einen kleinen TO-92-MOSFET handelt, der bei maximal 5 Ohm Rdson bei 10 V Vgs spezifiziert ist. Dieser MOSFET eignet sich für sehr kleine Lasten wie LEDs, die einige Milliampere ziehen. Magnetspulen ziehen jedoch im Allgemeinen zehn oder Hunderte von Milliampere, und Sie müssen den I2R-Verlust in Ihrem MOSFET für die Stromlast berechnen, die er zieht, und sicherstellen, dass Ihr Transistor dadurch nicht überhitzt. Schauen Sie sich den Wärmewiderstand R theta JA im Datenblatt an und Sie können abschätzen, wie stark die Temperatur im Teil ansteigt.

Verwenden Sie einen MOSFET im Bereich von 20 V bis 60 V mit einem geringeren Einschaltwiderstand. Wie ich in meinem Kommentar sagte, müssen wir wissen, wie viel Strom Ihr Magnet verbraucht, wenn wir Ihnen helfen wollen.

Jason S.
quelle
1
Eine Catch-Diode wird hier unbedingt benötigt, aber das ist nicht die Ursache für einen Fehler vom Typ "Fehler nach einigen Sekunden".
Markrages
Vielen Dank für Ihre schnelle Antwort! Dumm von mir, dass ich das Ventil nicht spezifiziert habe. Dies ist die folgende: ebay.com/itm/290655223999 Es enthält einige Daten, einschließlich des Stroms: 500 mA. Also benutze ich den falschen Mosfet? Übrigens, wo sehen Sie, dass es für 10V Vgs ausgelegt ist? Auf dem Datenblatt sehe ich "+ -20" in der VGss-Zeile.
Dyte
Ich habe gerade "bewertet für" in "angegeben bei" geändert. Sie können bis zu +/- 20 V Gate-Source-Spannung ohne Beschädigung verwenden. Wenn Sie jedoch möchten, dass der MOSFET einen garantierten Drain-Source-Widerstand aufweist, müssen Sie 10 V Gate-Source-Spannung bereitstellen Der Einschaltwiderstand beträgt höchstens 5 Ohm, typischerweise 1,2 Ohm, bei einer Last von 200 mA (siehe Rds (ON) auf Seite 2). Bei einer 5-V-Gate-Quelle wird es einen höheren Widerstand geben, also sprechen Sie von ein oder zwei Watt Verlustleistung von I2R ... Sie wissen nur, dass sie wahrscheinlich um ein Vielfaches höher als 1,2 * (0,5 A) ^ 2 ist = 0,3 W ... bis das Gerät überhitzt und ausfällt.
Jason S
Ich würde eine Zenerdiode hinzufügen, um die Gate-Quelle des MOSFET zu schützen. Wäre es ein Over-Kill?
Abdullah Kahraman
1
@abdullah: Nicht übertrieben, wird jedoch nur selten benötigt, es sei denn, es besteht die Gefahr von Rauschen, das dazu führt, dass die Gate- / Source-Spannung die sicheren Werte überschreitet.
Jason S