"Byte and Switch" blog girişimi okuyun - bu tam senaryoyu kapsar.
Kısa cevap, MOSFET kapandığında akımı iletmek için serbest bir diyota ihtiyaç duymanızdır; solenoidin manyetik alanda enerji depolayan endüktansı vardır ve MOSFET'i kapattığınızda endüktans üretecektir, ancak bu akımın akışını sürdürmek için çok fazla voltaj gereklidir. Ortaya çıkan voltaj darbesi, MOSFET'te gördüğünüz hasara neden olan bozulmaya neden olacaktır.
Ayrıca, mikrodenetleyiciniz sıfırlandığında kapalı olduğundan ve diğeri mikrodenetleyiciden MOSFET geçidine bir miktar direnç eklemek için mikrodenetleyici çıkışından toprağa birkaç direnç eklemelisiniz. mikrodenetleyici.
edit: Sadece bir BS170 MOSFET kullandığınızı fark ettim. Veri sayfasına baktınız mı? Bu, bir mikrodenetleyiciden güç anahtarı olarak kullanılan bir MOSFET için kötü bir seçimdir.
Her şeyden önce, MOSFET 10V Vgs'de belirtilir. 5V mikrodenetleyiciden besliyorsunuz. "Mantık seviyesi" olan ve 4.5V veya 3.3V Vgs'de açık direnç belirtilmiş MOSFET'leri kullandığınızdan emin olmanız gerekir. (Ultra düşük voltajlı MOSFET'leri kullanmamanızı öneririm, çünkü kapalı olduğunu düşündüğünüzde zayıf bir şekilde açılma olasılığı vardır.)
Daha da önemlisi, 10V Vgs'de 5 ohm max Rdson'da belirtilen küçük bir TO-92 MOSFET. Bu MOSFET, birkaç miliamper çizen LED'ler gibi çok küçük yükler için iyidir. Ancak solenoidler genellikle onlarca veya yüzlerce miliamper çizer ve çizdiği mevcut yük için MOSFET'inizdeki I2R kaybını hesaplamanız ve transistörünüzün aşırı ısınmasına neden olmadığından emin olmanız gerekir. Veri sayfasındaki termal direnç R teta JA'ya bakın ve parçada ne kadar sıcaklık artışı olduğunu tahmin edebilirsiniz.
20V-60V aralığında daha düşük dirençli bir MOSFET kullanın - yorumumda söylediğim gibi, size yardımcı olacaksak solenoidinizin ne kadar akım çektiğini bilmemiz gerekiyor.