Electronic – arduino – Controlling Solenoid Valves with ULN2003A, Inrush Current, Arduino

arduinosolenoid-valveuln2003

I want to control a total of five solenoid valves with my Arduino. The solenoid walves operate at 12 volts and have a power consumption of 5 watts per solenoid valve, which equals a current of roughly 420 milliamps.

My idea is to use a ULN2003A transistor array to do this. The ULN2003A datasheet says it supports voltages of up to 50 volts and a maximum current of 500 milliamps per output.

My question is: Is the ULN2003A with its 500 milliamps maximum current rating per output sufficient to reliably switch the solenoid valves? I'm asking because solenoid valves are inductive loads and if I'm not mistaken, they are subject to inrush current that far exceeds the normal current.

Best Answer

You need to read the data sheet carefully- the maximum current per output can be closer to 50mA than 500mA, depending on the conditions. See figures 4 and 5 in the datasheet.

Surge is not an issue with DC solenoids, but you do need to connect the COM to the supply voltage.

For such high current I would recommend discrete MOSFETs (logic level) and diodes across the solenoids. For example, AO3400A and 1N40005/M5.