Wie steuere ich ein 12-V-Magnetventil mit einem Mosfet?

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

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

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

Der MOSFET ist dauerhaft beschädigt, denn wenn ich die LED wieder anschließe, funktioniert sie nicht mehr.

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

Wie viel Strom zieht dein Solenoid? Sie müssen einen MOSFET in geeigneter Größe auswählen, und wir können diese Frage unmöglich beantworten, ohne die aktuellen Anforderungen zu kennen.
Kannst du das Datenblatt des Magneten verlinken? Oder zumindest mit einem Amperemeter an 12V anschließen und uns den Strom mitteilen, den es zieht?
Wird der MOSFET heiß?
markrages: ebay.com/itm/290655223999 Rocketmagnet: Ja, das tut es.
Schlechte Antriebsspannung. Verwenden Sie einen universellen bipolaren NPN-Transistor, um Ihre Steuerspannung auf 12 V zu bringen, und treiben Sie damit einen P-Kanal-MOSFET 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 Pullup-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 eine Ausblendung mit einem integrierten RC-Glied im Eingang erstellen.

Antworten (1)

Lesen Sie meinen Blog-Eintrag „Byte und Switch“ – er deckt genau dieses Szenario ab.

Die kurze Antwort lautet, dass Sie eine Freilaufdiode benötigen, um den Strom zu leiten, wenn der MOSFET abschaltet. Das Solenoid hat eine Induktivität, die Energie im Magnetfeld speichert, und wenn Sie den MOSFET ausschalten, erzeugt die Induktivität so viel Spannung, wie erforderlich ist, um diesen Stromfluss fortzusetzen. Der resultierende Spannungsimpuls verursacht einen Zusammenbruch des MOSFET, was den Schaden verursacht, den Sie sehen.

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

Geben Sie hier die Bildbeschreibung ein


Bearbeiten: Ich habe gerade bemerkt, dass Sie einen BS170-MOSFET verwenden. Hast du dir das Datenblatt angesehen? Dies ist eine schlechte Wahl für einen MOSFET, der als Leistungsschalter von einem Mikrocontroller verwendet wird.

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

Noch wichtiger ist, dass es sich um einen kleinen TO-92-MOSFET handelt, der auf 5 Ohm max Rdson bei 10 V Vgs spezifiziert ist. Dieser MOSFET eignet sich gut für sehr kleine Lasten wie LEDs, die einige Milliampere ziehen. Solenoide ziehen jedoch im Allgemeinen Dutzende 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 nicht überhitzt. Sehen Sie sich den Wärmewiderstand R Theta JA auf dem Datenblatt an und Sie können abschätzen, wie stark der Temperaturanstieg im Teil ist.

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

Eine Freilaufdiode ist hier unbedingt erforderlich, aber das ist nicht die Ursache für die Ausfallart "Ausfall nach wenigen Sekunden".
Vielen Dank für Ihre schnelle Antwort! Blöd von mir, dass ich das Ventil nicht angegeben habe. Dies ist das eine: ebay.com/itm/290655223999 Es hat einige Daten, einschließlich des Stroms: 500 mA. Also verwende ich den falschen Mosfet? Übrigens, wo sehen Sie, dass es für 10 V Vgs ausgelegt ist? Auf dem Datenblatt sehe ich "+-20" in der VGss-Zeile.
Ich habe gerade "bewertet für" in "angegeben bei" geändert. Sie können eine Gate-Source-Spannung von bis zu +/-20 V ohne Beschädigung verwenden, aber wenn Sie möchten, dass der MOSFET einen garantierten Drain-Source-Widerstand hat, müssen Sie an diesem Punkt 10 V Gate-Source bereitstellen Der Einschaltwiderstand beträgt höchstens 5 Ohm, typischerweise 1,2 Ohm, bei 200 mA Last (siehe Rds(ON) auf Seite 2). Bei 5 V Gate-Source wird es ein höherer Widerstand sein, also sprechen Sie ein oder zwei Watt Verlustleistung von I2R ... alles, was Sie wissen, ist, dass es wahrscheinlich um ein Vielfaches höher ist als 1,2 * (0,5 A) ^ 2 = 0,3 W ... bis das Gerät überhitzt und ausfällt.
Ich würde eine Zenerdiode hinzufügen, um die Gate-Source des MOSFET zu schützen. Wäre es ein Overkill?
@JasonS: Die Freilaufdiode hat es geschafft! Also mein Problem ist gelöst! Zu Ihrem letzten Kommentar, die Ventile werden nie länger als ... sagen wir 10 Sekunden (normalerweise nur wenige Sekunden) mit Strom versorgt. Also denke ich, dass ich mit diesem Setup sicher bin? Schön, dass es jetzt auf jeden Fall funktioniert :-)) Vielen Dank für die Hilfe.
hmmm... nun, im Moment hast du Glück. Wenn Sie möchten, dass dies lange Zeit erfolgreich läuft, wechseln Sie zu einem MOSFET mit Logikpegel und niedrigerem Einschaltwiderstand.
@abdullah: Nicht übertrieben, aber 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.
@JasonS: Was schlagen Sie als Wert für den R2-Widerstand in Ihrem Diagramm vor? Auch im Bereich 100-1Kohm? Vielen Dank!
10K ist eine Art Standard-Widerstandswert beim Schaltungsdesign auf Logikebene - er ist groß genug, um den Stromfluss niedrig zu halten, aber niedrig genug, um zu verhindern, dass EMI- und Leckstromeffekte ein Problem darstellen. Wir verwenden in unseren Designs im Allgemeinen 10K-Pullup- oder Pulldown-Widerstände, und das wäre hier angemessen. Sie könnten wahrscheinlich mit einem 100K-Pulldown davonkommen. Ich würde nicht unter 10K gehen, es sei denn, Sie benötigen eine superschnelle Abschaltzeit für den MOSFET im Falle eines Stromausfalls.
@Dyte - MOSFET MUSS mit 3 V oder niedrigerem Logikpegel vollständig eingeschaltet sein, um ordnungsgemäß mit 3V3-Versorgungsmikrocontrollern zu funktionieren. Zener von Gate zu Source SEHR empfehlenswert, besonders bei induktiven Lasten. Sperrdiode (oder gleichwertig) über induktiven Lasten ist absolut erforderlich.
Russell: In 16 Jahren Design musste ich noch nie einen Zener vom Gate bis zur Quelle verwenden. Ich nehme an, wenn das Layout eine große parasitäre Induktivität zwischen der MOSFET-Source und der Masse des Mikrocontrollers aufweist, könnte dies die Gate-Ansteuerwellenform durcheinander bringen, und ein Zener würde helfen, das MOSFET-Gate zu schützen, aber dort gibt es ein größeres Problem als Schwingungen in der Gate-Ansteuerung könnten sehr große Schaltverluste verursachen.