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.
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.