私のブログエントリ「Byte and Switch」をお読みください。このシナリオを正確にカバーしています。
簡単に言えば、MOSFETがオフになったときに電流を流すためにフリーホイールダイオードが必要です。ソレノイドにはインダクタンスがあり、磁場にエネルギーを蓄えます。MOSFETをオフにすると、インダクタンスが生成されますが、その電流を流し続けるには多くの電圧が必要です。結果として生じる電圧パルスは、MOSFETにブレークダウンを引き起こし、目に見える損傷を引き起こします。
また、マイクロコントローラーのリセット時にオフになるように1つはマイクロコントローラーの出力からグラウンドに抵抗を追加し、もう1つはマイクロコントローラーからMOSFETゲートに抵抗を追加して、電源スイッチとマイクロコントローラー。
編集:私はあなたがBS170 MOSFETを使用していることに気づきました。データシートを見ましたか?これは、マイクロコントローラからのパワースイッチとして使用されるMOSFETには適していません。
まず、MOSFETの仕様は10V Vgsです。5Vマイクロコントローラーから供給しています。「ロジックレベル」で、オン抵抗が4.5Vまたは3.3V Vgsで指定されているMOSFETを使用していることを確認する必要があります。(超低電圧MOSFETは、オフになっていると弱くオンになる可能性があるため、使用しないことをお勧めします。)
さらに重要なことに、これは10V Vgsで最大Rdsonが5オームに指定されている小さなTO-92 MOSFETです。このMOSFETは、数ミリアンペアを消費するLEDのような非常に小さな負荷に適しています。しかし、ソレノイドは一般に数十または数百ミリアンペアを消費します。ソレノイドが消費する電流負荷に対するMOSFETのI2R損失を計算し、トランジスタが過熱しないようにする必要があります。データシートの熱抵抗R theta JAを確認すると、成形品の温度上昇量を推定できます。
オン抵抗が低い20V〜60Vの範囲のMOSFETを使用します。私がコメントで述べたように、私たちがあなたを助けるためには、ソレノイドが消費する電流の量を知る必要があります。