Driving a solenoid, MOSFETs aren't delivering much current.

Greetings,

I am trying to use an Arduino to control a pinball solenoid.

I am currently using a circuit based on the High Power Solenoid Circuit from:

and it works quite well. With a 6ms pulse I can get full activity from my solenoid.

This circuit is really bulky, the darlington TO-220 and BJT TO-247s are huge! And, there are lots of sites/blogs/forums online that suggest that a MOSFET would be a much better choice for this job.

So, I decided to try an IRL540N. According to the sheet, it has a RDS(on) of 0.063ohms at VGS of 4.0V. Should work fine with my Arduino.

I have a 10Kohm resistor between the gate and ground to prevent a floating gate from cooking the MOSFET, and a 100ohm resistor from the arduino pin to the gate to limit the inrush of current. Much simpler circuit.

However, a 30msec pulse on the arduino pin registers very little activity on the solenoid with this circuit. Does anyone have any ideas why this might be the case?

Miswired perhaps? Drain & source swapped?

spierepf: However, a 30msec pulse on the arduino pin registers very little activity on the solenoid with this circuit. Does anyone have any ideas why this might be the case?

Take a look at Fig 8 here (Max Safe Operating Area) ... could be hitting thermal limits. The BUK956R1-100E looks like a better choice.

CrossRoads: Miswired perhaps? Drain & source swapped?

Correct me if I am wrong, but if I swapped drain and source, wouldn't the intrinsic body diode conduct? With a (max) 10ohm load and a 48V supply, I'm assuming something catastrophic would happen.

At any rate, looking at the printed side of the device, with the pins pointed downward, the pins (from left to right) are gate, drain, source.

I've attached the Fritzing file that I used to generate the PCBs. But I am pretty sure that I've got the pins wired correctly. (Apparently Fritzing files are verboten. Sorry.)

Fritzing is not verboten. Just not liked by some. If it is what you have post it. But we prefer a circuit drawing, even hand drawn and photographed.

Weedpharma

Description of the pinout sounds correct, matches page 8 here: http://www.mouser.com/ds/2/200/irl540npbf-222936.pdf Yes, let's see a schematic & board design.

You've blown the device I think. Stick a 5V6 zener between gate and source to prevent it happening with the replacement.

For high power use its much better to use a normal non-logic level MOSFET and a gate-driver chip (run from 12V) to switch it. Your high current inductive load will have a very large dV/dt on switch off which capacitively couples back to the gate, taking it over 10V and blowing it up. This is why you want a low impedance gate drive on high power MOSFET circuits (50V is a big clue here).

The zener protection across gate/source is always wise if the output voltage is large. A 5V6 zener should prevent 10V getting to the gate even in extremis. Make sure its right across the terminals, though.

power MOSFETs generally don't have protection diodes and are static-sensitive, so always take care handling them.

This is a reference to a Solenoid Driver Board ... got it by backtracking through the link you've provided. The MOSFETs here are surface mount, 50W and probably 200V rated.

weedpharma:
Fritzing is not verboten. Just not liked by some. If it is what you have post it. But we prefer a circuit drawing, even hand drawn and photographed.

Weedpharma

CrossRoads:
Yes, let’s see a schematic & board design.

I’ve attached a png of the PCB view of the board design in Fritzing. I originally tried to post the actual Fritzing file itself, but the forum software balked.

So have you blown your MOSFET then?

Mesure the resistance between gate and source - should be infinite(!) Measure the resistance between drain and source with gate shorted to source - should be nearly infinite Measure the leakage current through drain at 50V with gate shorted to source - should be within bounds the datasheet says. Connect gate to 5V, source to 0V, measure resistance from drain to source - should be tiny.

The MOSFET itself should be perfectly capable of driving the load which is why I reckon its fried.

I've built a couple of these boards now, with the same results. That would be ten MOSFETs all exhibiting the same lacklustre performance.

If I have to add a source of 12V, zeners, and a bunch of gate drivers to my board to get these MOSFETs to work, I'm probably better off sticking with the BJTs.

Thanks for all your help.

You have access to an oscilloscope? Something is definitely wrong and its probably high voltage/current transients doing the damage. Did you do any control experiments to verify the MOSFETs weren't actually duds to start with (such as driving a 12V bulb or some LEDs or anything at a much lower voltage)? Did you buy the MOSFETs from a reputable supplier?

If I were driving such a high voltage load with a MOSFET I would definitely use a MOSFET driver chip at 12V to drive a non-logic-level MOSFET and add 15V zener across the gate/source.

Incidentally that shield design you link too has pretty poor layout - each MOSFETs gate+source drive should be low inductance pathways without loops to pick up magnetic interference - that alone could be destroying the devices.

You can get "smart MOSFET"s or something like that, which are a MOSFET + protection circuitry and gate driver all in one package, which might be much more robust for this application.