Electronic – arduino mosfet solenoid

arduinomosfetsolenoid

I'm trying to drive a solenoid with an arduino pro. I've assembled the typical MOSFET approach with a protection rectifier:

Diagram

The circuit works, and the solenoid is triggered, but very weakly. In other words: it moves, but as soon as I attach what I want it to move, it doesn't have enough force to move it anymore. It works perfectly fine if I connect it straight to 12V, though. What might I be doing wrong?

The MOSFET is a BUZ91A.

The Solenoid is a 12 V ZYE1-0530Z (there seems to be 12V and 24V versions with the same part number). I couldn't find any specs regarding the impedance of this things, but I've measured 5 of them and they were all between 10.5 and 11 Ohms.

R2 is 2Mohm, no complaints there.

D1 is an 1N4001

I've tried increasing the voltage up to 16V and it gets better, but still weaker than directly supplying 12V from my PSU.

I suspect I'm not providing enough current, probably related to picking the wrong MOSFET?

I've tried a similar approach but using a TIP122 darlington array pretty much with the same results.

Best Answer

Assuming the MOSFET is being fully turned on, you have an ON resistance of around 1Ω.

The solenoid has a resistance of around 11Ω.

Add the two together you get a total resistance of 12Ω.

Powered from 12V you get \$I=\frac{V}{R}=\frac{12}{12}=1A\$.

That ties in nicely with the google results I get which include "Brand New DC12V 1A 10mm Stroke Push Type Open Frame Solenoid Electromagnet".

The voltage drop across the MOSFET would be \$V=R{\times}I=1{\times}1=1V\$. The solenoid would therefore be getting just 11 of the 12 volts it needs to work properly.

When you increase the voltage to 16V the sums change a little.

  • Current is \$I=\frac{V}{R}=\frac{16}{12}=1.33A\$
  • Voltage drop is \$V=R{\times}I=1{\times}1.33=1.33V\$

So the coil gets \$16-1.33=14.67V\$.

If the MOSFET isn't switching on fully, which may be the case since the threshold voltage could be as high as 4V, the resistance would be considerably more. However you mention you have tried driving the gate with 12V and it makes no difference. So we assume it must be fully switching on.

You should consider finding a MOSFET that has a much lower on resistance. 1Ω is a relatively high value by current standards. An on resistance of a few mΩ is better for this kind of application. Also look for one with a lower max threshold voltage, say nearer the 3V mark or below. They are often termed "Logic level" MOSFETs.