Przeczytaj mój wpis na blogu „Bajt i zmień” - opisuje dokładnie ten scenariusz.
Krótka odpowiedź brzmi: potrzebujesz diody gaszącej, aby przewodzić prąd, gdy MOSFET się wyłączy; solenoid ma indukcyjność, która magazynuje energię w polu magnetycznym, a gdy wyłączysz MOSFET, indukcyjność wygeneruje jednak tyle napięcia, ile potrzeba, aby kontynuować przepływ tego prądu. Wynikowy impuls napięcia spowoduje uszkodzenie MOSFET-u, co spowoduje widoczne uszkodzenia.
Powinieneś również dodać kilka rezystorów, jeden od wyjścia mikrokontrolera do masy, aby upewnić się, że jest wyłączony, gdy mikrokontroler jest resetowany, a drugi od mikrokontrolera do bramki MOSFET, aby dodać rezystywną izolację między przełącznikiem zasilania a twoim mikrokontroler.
edycja: Właśnie zauważyłem, że używasz MOSFETU BS170. Czy spojrzałeś na arkusz danych? To zły wybór dla MOSFET-a używanego jako wyłącznik zasilania z mikrokontrolera.
Przede wszystkim MOSFET jest określony przy 10 V Vgs. Zasilasz go z mikrokontrolera 5 V. Musisz upewnić się, że używasz tranzystorów MOSFET, które mają „poziom logiczny” i mają rezystancję określoną na 4,5 V lub 3,3 V Vgs. (Sugeruję, aby nie używać tranzystorów MOSFET o bardzo niskim napięciu, ponieważ istnieje możliwość słabego włączania się, gdy myślisz, że jest wyłączony.)
Co ważniejsze, jest to mały MOSFET TO-92 określony przy maks. 5 omach Rdson przy 10 V Vgs. Ten MOSFET nadaje się do bardzo małych obciążeń, takich jak diody LED pobierające kilka miliamperów. Ale elektromagnesy generują zwykle dziesiątki lub setki miliamperów i musisz obliczyć stratę I2R w MOSFET-ie dla pobieranego prądu i upewnić się, że nie spowoduje to przegrzania tranzystora. Spójrz na opór cieplny R theta JA w arkuszu danych i możesz oszacować, jak duży jest wzrost temperatury w części.
Użyj MOSFET w zakresie 20 V-60 V, który ma niższą oporność na zwarcie - jak powiedziałem w moim komentarzu, musimy wiedzieć, ile prądu pobiera twój elektromagnes, jeśli chcemy ci pomóc.