Multiple solenoids (with adjustable timing) on one arduino

This is my first time using Arduino, although I have some microcontroller exposure with the Basic HomeWork board. I am interested in powering multiple (6-8) very miniature solenoid valves to fill small, tubular balloons. I want timing to be flexible, although generally the filling/emptying of each balloon will follow a wave-like function. I may choose to connect the solenoid valves to a manifold or similar device, along with a pressurized air source. I have not selected a particular solenoid valve, although I am considering 3-way valves, as I can allow the balloons to deflate as they would regularly. I was wondering which Arduino product would be optimal, and whether the I/O pins can deliver enough voltage to solenoid valves of a miniature size. If not, would I have to design a driver circuit for each solenoid valve?

Thank you for the help in advance!

" I was wondering which Arduino product would be optimal" Any will work. 8 IO for the valves, leaves 12 free for serial and buttons or whatever.

"and whether the I/O pins can deliver enough voltage to solenoid valves of a miniature size" Certainly not - 20-25mA is the max you should go to avoid long term damage.

"would I have to design a driver circuit for each solenoid valve?" Yes. If the valves need you to drive a coil to open, and are spring loaded to close, then a simple N-channel MOSFET such as AOI510 or AOI514 will do. http://www.digikey.com/product-search/en?keywords=aoi514

I see. Thank you for the response! This was very helpful!

CrossRoads: " I was wondering which Arduino product would be optimal" Any will work. 8 IO for the valves, leaves 12 free for serial and buttons or whatever.

"and whether the I/O pins can deliver enough voltage to solenoid valves of a miniature size" Certainly not - 20-25mA is the max you should go to avoid long term damage.

"would I have to design a driver circuit for each solenoid valve?" Yes. If the valves need you to drive a coil to open, and are spring loaded to close, then a simple N-channel MOSFET such as AOI510 or AOI514 will do. http://www.digikey.com/product-search/en?keywords=aoi514

Quick question: would I require separate power supplies to power the arduino and the solenoids, or could I hook them up in parallel to a single power supply? Thanks!

michael6795: Quick question: would I require separate power supplies to power the arduino and the solenoids, or could I hook them up in parallel to a single power supply? Thanks!

That depends on the power requirements of the solenoid valves. They might cause power dips or spikes which can reset the Arduino. I think a filter capacitor across the Arduino power inputs would help. If the solenoids need more than 12V you should put a buck regulator between the solenoid power and the Arduino to drop the voltage to something like 7V (to the power jack or Vin pin) or 5V (to the +5V pin).

johnwasser: That depends on the power requirements of the solenoid valves. They might cause power dips or spikes which can reset the Arduino. I think a filter capacitor across the Arduino power inputs would help. If the solenoids need more than 12V you should put a buck regulator between the solenoid power and the Arduino to drop the voltage to something like 7V (to the power jack or Vin pin) or 5V (to the +5V pin).

I see. Thank you for the input. If I were to use a separate power supply for the solenoid valve array (rated at 24V DC), is there a particular circuit configuration I should use so that I can power up to 6 of the valves simultaneously? I want the order of valve activation to be reprogrammable to create different functions. Is there a way to wire so that the wiring remains static and I can alter the order strictly by programming? Thanks!

michael6795: If I were to use a separate power supply for the solenoid valve array (rated at 24V DC), is there a particular circuit configuration I should use so that I can power up to 6 of the valves simultaneously?

Wire them in parallel. Just make sure that the power supply can provide enough current to drive six simultaneously (plus an extra 500 to 1000 mA for the Arduino). You have not provided a specification for the solenoids so only you can determine their current needs.

michael6795: I want the order of valve activation to be reprogrammable to create different functions. Is there a way to wire so that the wiring remains static and I can alter the order strictly by programming?

Yes. With each solenoid controlled by a separate I/O pin you can use a sketch (program) to activate them in any sequence you like.

Is there a way to wire so that the wiring remains static

Sure because ther is no other way to wire things.

johnwasser: Wire them in parallel. Just make sure that the power supply can provide enough current to drive six simultaneously (plus an extra 500 to 1000 mA for the Arduino). You have not provided a specification for the solenoids so only you can determine their current needs. Yes. With each solenoid controlled by a separate I/O pin you can use a sketch (program) to activate them in any sequence you like.

I currently have a separate power supply for the Arduino. We have altered our design a bit, and we will be using 12 of these solenoid valves:

http://www.electricsolenoidvalves.com/1-8-12v-dc-electric-plastic-solenoid-valve/

There seems to be no power/current rating and only the voltage rating is given. Is there any way for me to determine if a single 12V power supply will be sufficient? Thank you for the help.

The spec says "12V DC Coil (5 watts)". Since Watts is Volts times Amps you can divide 5W by 12V to get Amps: 0.41666... or about 417 mA.

All 12 acting together would draw 5 Amps.

The full voltage may not be required for a full stroke, depending on the load. The power applied on the solenoids can be controlled by PWM, either all together or individually. Details depend on the actual application.

johnwasser: The spec says "12V DC Coil (5 watts)". Since Watts is Volts times Amps you can divide 5W by 12V to get Amps: 0.41666... or about 417 mA.

All 12 acting together would draw 5 Amps.

Ah I see, I missed that! I actually called the company and the guy didn't bother to check, telling me 6 amps. Thanks.

Hello, we have decided to use the following transistors to control the solenoid valves:

http://www.digikey.com/product-detail/en/fairchild-semiconductor/KSD5041RTA/KSD5041RTAFSCT-ND/3478163

In addition, I believe we should incorporate a flyback diode to dissipate excess voltage when the valves are turned off. Am I correct on this? If so, what type of diode/specs would be optimal for my setup?

We expect to have a maximum of ~4-6 solenoid valves powered at once, although there will also be fewer powered at times. The same valves are planned to activate within 10-15 seconds of the prior activation.

Thank you all for the glorious help! :)

The 50 cent MOSFET I recommended to start this thread will perform better than the 47 cent NPN you've selected. Diode - yes, across the coil of each solenoid. 1N4001 should do if 400mA is being drawn, the coil will create a 400mA current pulse when the transistor turns off.

CrossRoads: The 50 cent MOSFET I recommended to start this thread will perform better than the 47 cent NPN you've selected. Diode - yes, across the coil of each solenoid. 1N4001 should do if 400mA is being drawn, the coil will create a 400mA current pulse when the transistor turns off.

I had figured so. Sadly, my work partner has gone ahead and purchased the NPN transistors that I specified. However, I can always make a change of plans. We are using a 2,000 mA power supply, and when the first solenoid valve is activated (alone), it should draw the full 2,000 mA. Is there any way I should try to limit the current to a single solenoid valve if activated alone? Thanks CrossRoads.

" Is there any way I should try to limit the current to a single solenoid valve if activated alone?"
You can’t limit the current for a solenoid, it will not actuate. It has to draw what it needs to draw.
Your code will have to ensure that only one at a time is activated with the small power supply.

Hi there, How did your project turn out? I'm looking to make something very similar. Would love to know if it was successful and share some expertise?