Driving a 9V latch solenoid with Arduino

Hi!

For a personal project, I need to be able to control a 9V/DC latch solenoid that will open and close a water valve that will be a part of a temperature controlled cooling system in a winery.

These are the specs of the solenoid (Bermad S-392-2W):

Voltage Range: 6-20 VDC Coil Resistance: 6 Ω Coil Inductance: 90 mH Pulse Width: 20-100 mSec. Required Capacitor: 4700µF

The advantage of a latch type solenoid is that it consumes power only when switching positions, using a very short electric impulse in either forward or reverse polarity to open and close it.

Being a noob, I don't really know how to implement this, i.e. how to interface the solenoid with the arduino, in the simplest possible way. A TIP120/102 is NOT an option as it doesn't address the need of reversing polarity. Would an H-bridge be an option? In that case, how should it be wired?

Also, where should the "required capacitor" be placed?

Any help would be greatly appreciated.

I don't know what the "required capacitor" means.

This is the manufacturers page : http://www.bermad.com/en/product/product=solenoid-actuator-s-392-2w-ir/cat=54437

A H-bridge is possible, but also a single transistor (or mosfet) with a relay will do. The relay switches the polarity.

With a relay : I suggest to use a logic level mosfet. Without a relay : Very good H-bridge drivers are not very expensive.

This is a H-bridge driver : http://www.pololu.com/product/1212 This is another one : https://www.sparkfun.com/products/9457 There are many more.

That's an odd part (electrically speaking). 9V / 6 Ohms is 1.5 Amps, but it s short* pulse into an inductor so maybe it doesn't need that much current. It's a bit odd they say it needs a capacitor, but I assume that's to make sure you're getting plenty of current.

Yes. An H-bridge can be used to reverse the voltage. Make sure your H-bridge is rated for 1.5Amps, even though the current might not "build-up" to 1.5 Amps in a few milliseconds.

Or, you could also use a pair of relays. One DPDT relay to reverse polarity and another relay to pulse the power.

For a personal project, I need to be able to control a 9V/DC latch solenoid that will open and close a water valve that will be a part of a temperature controlled cooling system in a winery.

I assume you are planning some sort of feedback or monitoring/alarm in case you send an "open" or "close" command and for some reason it doesn't happen?

  • 20-100mS isn't that "short" in the electronics world, but it's fast in the mechanical world. ;)

Wow, thank you for your quick replies, much appreciated.

DVDdoug: I assume you are planning some sort of feedback or monitoring/alarm in case you send an "open" or "close" command and for some reason it doesn't happen?

Yes, that would be a good thing to have. I'm not yet at that level though. I've dabbled in programming for a long time but I'm very, very new to electronics. Learning as I go!

Lot's of info about driving solenoids out there, not so much about the latching kind though...

Another question...

Is it such a good idea to power the solenoid from the arduino board by stepping up the voltage? I figured it would be as the solenoid draws energy only when opening/closing, which will be no more than 4-5 times per day at the very most, during the peak period of harvest which is around 4-6 weeks per year.

I guess my question is, would it be more energy efficient to let the arduino control the solenoid but let the power come from an external source?

Hi, the 4700uF cap is suggested because the solenoid is built to be used on a battery powered system.

Not a lot of info about it but I would say that they use a capacitor discharge system to toggle the solenoid.

Store energy in the cap and discharge it through the coil, that way you place minimum load on the power supply. If it takes 30 seconds or a minute to charge it, fine, as long as its going to discharge all its energy into the coil at once when needed.

Tom...... :)

You could use a 12V battery, and two DC-DC converters. One for the 9V (with capacitor) and one for the Arduino of about 7.5V.