Electrical – Arduino + 6V Solenoid Valve

arduinosolenoid-valve

I'm wanting to control a 6V Solenoid valve from an Arduino using only a single power supply. To do this I was planning to use an external 9V power supply.

There are a few issues I am not quite sure how to resolve

1) Providing power to both components via a single power supply. Whilst the Arduino can accept up to 11V input it is not able to power "high" voltage external components. What would be the recommended route for this scenario? I have taken a look at the Motor Shield v2 however it does not appear suitable for this scenario.

2) Confirmation of Solenoid power requirements, the specification for the Solenoid valve only mentions a voltage and power consumption.

Solenoid Specifications:

Voltage: 6VDC (continuous), 6-12VDC subject to duty cycle
Power Consumption: 1.6 Watts – at 6VDC

Using the above specification I've calculated that a current of 267mA should be supplied to the Solenoid, using a 23 Ohm resistor (or whichever is nearest commercially available) would give the desired outputs.

3) Apart from a MOSFET used to control the on/off signal to the solenoid and a flyback Diode to reduce the change of voltage spikes reaching the Arduino. Are there any other components I would be missing?

Thanks,

Best Answer

  1. You don't power the solenoid by connecting it somehow to the arduino. You connect the circuit consisting of the solenoid, voltage limiting resistor, flyback diode and MOSFET in parallel with the arduino. You'd connect the +9 V to both the arduino DC positive and the solenoid, and you'd connect the ground to both the arduino DC negative and the MOSFET drain pin.

  2. A solenoid which dissipates 1.6 W at 6 V will indeed draw 1.6/6 = 267 mA. However, using a 23 ohm resistor for dropping the 9 V supply voltage to 6 V won't work; 23*0.267 = ~6 V. You calculated the resistance of the solenoid, not the extra resistance needed for 9 V operation (which is 11.25 ohms, 0.8 W).

  3. That should be all you need, but I'd add a capacitor (0.1 - 10 uF) between the 9 V supply and ground for good measure, to prevent voltage transients from coupling to the microcontroller on the arduino board. Be sure to use a "logic level" MOSFET with a gate threshold voltage (Vgsth) below 3.5 V.

In summary, the circuit I propose:

schematic

simulate this circuit – Schematic created using CircuitLab