Connect a MOSFET to an Arduino directly

arduinomicrocontrollermosfetresistorstransistors

I have the following electromagnet and plan on connecting it to the following MOSFET which will be controlled by an Arduino (I'm thinking analogue or PWM). Do I need any other parts (resistors etc.) I'm sorry about the vague question but I don't know much about electronics at all and am just starting. By the way, the aim is to be able to control the strength of the electromagnet (12v 300mA-1A) using the Arduino easily.

Best Answer

You can connect a MOSFET directly, even without a resistor if you like (though it's not nice to put such a heavy load on the output), but if the MOSFET fails with a Drain-Gate short your Arduino will be scrap. I strongly suggest using a higher voltage MOSFET than that one- it's only 12V and you will at least be subjecting it to at least 12.5-13V when the MOSFET turns off. It does have nice specs at 4.5V drive (good for an ampere or two), but Vds breakdown is too low.

If you want a modicum of protection, (Edit: Assuming 5V Arduino) put a 5.1V zener on the Arduino output and a 200 ohm metal film resistor to the gate. Put 10K across the 5.1V zener as well so if the output goes open it won't partly turn on.

You must put a catch diode across the coil. Something like a 1N5819 would be good. Otherwise the MOSFET will get very hot and may fail very quickly.

Edit: You should make sure the MOSFET you select is capable of handling the full current of the solenoid (1A you say).

schematic

simulate this circuit – Schematic created using CircuitLab