Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Solenoid Valve Control

Status
Not open for further replies.

jhn.nguyen

New Member
I'd like to control 24 single coil latching solenoid valves using just 12 digital outputs from my micro. The valves actuate at +/- 5V and 110 mA. I have a power supply of 5V up to 200 mA. I have tried setting up an 3x8 array with each line using 1/4 74HCT125, but it could not provide enough current. I plan to go to my last resort of using a single DPDT to change polarity of the supply voltage, and then for each valve in series with a SPST relay which would connect it to the circuit, with all valves in parallel as I only need to actuate one valve at a time.

This results in 25 relays, and certainly not ideal for space. I could not find another solution that would give a smaller footprint, and lesser costs. Any help is appreciated, thanks.
 
hi,
You could consider this S/R as an alternative solution.
 
You could control each solenoid with a transistor H-bridge. This allows polarity reversal across the solenoid to generate the set and reset signal. If you want to minimize parts count you could use an integrated bridge such as **broken link removed**. With two added control transistors the bridge will have two inputs, one to set the solenoid and one to reset. You can use a matrix to control the signals.

Note: Remember to add protection diodes across all four bridge transistors.

Eric: I couldn't open your attachment for some reason.
 
Duplicate post
 
Last edited:
Eric: I couldn't open your attachment for some reason.

hi Carl,
I cant either, Pommie aka Mike has also reported this problem with attachments..
I will try again, also zipped it.
 

Attachments

  • TPIC6595.pdf
    0 bytes · Views: 0
  • carlzip1.zip
    175.6 KB · Views: 216
Eric:

Was able to open the zip file, but not the pdf. When I tried to download the pdf it said it was a gif file, but it appears blank.
 
How would I implement the shift register? As for using H-bridges, integrated H-bridges are fairly pricey and would still require one for each valve, a similar predicament I have now. Also this would result in 4 protection diodes per valve which would mean 96 diodes for the entire set up. For the relay set up, are diodes still necessary?
 
As for using H-bridges, integrated H-bridges are fairly pricey and would still require one for each valve, a similar predicament I have now. Also this would result in 4 protection diodes per valve which would mean 96 diodes for the entire set up. For the relay set up, are diodes still necessary?
You might be able to get by without diodes with a relay but it would tend to burn the contacts which could cause them to eventually fail.

How often will these solenoids operate?
 
Their use would vary depending on the users in my group, it could be a few times per hour to frequencies of 100 Hz. So maybe diodes are necessary. If I am going to only be actuating one valve at a time is it possible to somehow use 4 diodes for all of the valves, possibly by connecting to common terminals?

Also I am thinking of using a 8 ch source driver in combination with an 8 ch sink driver. This would effectively give me a h-bridge, but am worried about the difference in delay times, causing an unexpected short. I was thinking of the UDN2981 source driver and the ULN2803 sink driver.

UDN2981: http://www.datasheetcatalog.org/datasheet/allegromicrosystems/2981.pdf

ULN2803: http://www.datasheetcatalog.org/datasheets/105/366825_DS.pdf
 
You could use two SN754410NE H-Bridges. One driving columns and one driving rows giving you the ability to drive 16 solenoids in a 4x4 matrix. Plus, they have the diodes built in.

Actually, that wont work as you can't Hi-Z each output separately. You could however only use outputs 1 and 3 on the columns. This would mean that by using 2 chips on the rows (8 rows) and 2 chips on the columns (4 columns) you can control 32 solenoids. This would however require 16 outputs - 8 rows, 4 column polarities and 4 column enables but would only cost $20.

Edit, you can join all column polarities together therefore requiring only 13 outputs. Loose a column and you can control 24 solenoids with 12 outputs.

Mike.
 
Last edited:
You are on the right track with the source driver and the sink driver. You set it up in your original configuration with 3 source drivers x 8 sink drivers. You don't need to make an H drive configuration unless 12 lines is too many.

Just hook it up in the standard 3x8 array like everybody uses for common anode LEDs, remembering that you do need a diode in series with each solenoid. The diode across each solenoid is also needed.

The remaining problem is that the 2981 family won't give you the full 5V for a 5V input, and the 2803 doesn't go to a perfect 0V. You'll probably need a 7V supply to get a real 5V on the solenoids.
 
You are on the right track with the source driver and the sink driver. You set it up in your original configuration with 3 source drivers x 8 sink drivers. You don't need to make an H drive configuration unless 12 lines is too many.

Just hook it up in the standard 3x8 array like everybody uses for common anode LEDs, remembering that you do need a diode in series with each solenoid. The diode across each solenoid is also needed.

The remaining problem is that the 2981 family won't give you the full 5V for a 5V input, and the 2803 doesn't go to a perfect 0V. You'll probably need a 7V supply to get a real 5V on the solenoids.

How can you have a diode in series with each solenoid when you have to drive them both ways? Or across them? Maybe I've misunderstood something somewhere.

Mike.
 
Wasn't clear to me that driving both ways was a requirement. I thought the solenoids just worked on either polarity.

[edit] I see now where that's the problem. It's not as easy as I thought.... makes the SN754410 very attractive.
 
Last edited:
You could use two SN754410NE H-Bridges. One driving columns and one driving rows giving you the ability to drive 16 solenoids in a 4x4 matrix. Plus, they have the diodes built in.

Actually, that wont work as you can't Hi-Z each output separately. You could however only use outputs 1 and 3 on the columns. This would mean that by using 2 chips on the rows (8 rows) and 2 chips on the columns (4 columns) you can control 32 solenoids. This would however require 16 outputs - 8 rows, 4 column polarities and 4 column enables but would only cost $20.

Edit, you can join all column polarities together therefore requiring only 13 outputs. Loose a column and you can control 24 solenoids with 12 outputs.

Mike.

Thanks to everyone for their help. How would I be able to control each solenoid independently? For example if I wanted to drive solenoid (Row, Column) 3,2, I would drive all of row 3 high and all of column 2 low, to reverse I would drive row 3 low and column 2 high - I would have also to ensure all other rows are of the opposite level as row 3 correct? This would ensure that the other solenoids are not also actuated by mistake.

Edit, Would it be better to use a 4 x 6 matrix instead? That way I could tie row polarities together, column polarities together and then have 10 independent enables? This would just mean one more chip. I'm sorry but I can't see how to control independently without enables for the 8 rows.
 
Last edited:
Sneak paths through a matrix can be a problem. You can not apply the opposite signal to other rows or columns to eliminate this. That just creates other sneak paths. For unipolar signals you can sometimes use diodes but that won't work in this case. Not clear what the solution is.

You may just have to use one-half 754410 switch for each solenoid for a total of twelve chips and use two 4:16 decoders to drive the enable switch inputs. The two directional control inputs can then all be driven in parallel. The 754410's are about $2 so that's only a buck per solenoid.
 
Shortcuts through the matrix config is definitely a problem. The footprint of a circuit using 12 quad drivers, 2 multiplexers and 4 hex inverters would be very large. I realize that an h-bridge is likely the only way to do this, but would definitely like a lower part count.
 
If you put two zeners in series with each solenoid and use twice the voltage that will fix the shortcut problem.

Edit, just to clarify, shortcuts involve multiple solenoids and so the zeners use up all the available voltage in the shortcut paths.

Mike.
 
Last edited:
Latching relay

Here is a cheap and dirty driver. If you look around you might be able to find a npn/pnp pair with built in resistors.
 

Attachments

  • ltch.PNG
    ltch.PNG
    45.2 KB · Views: 202
If I put a zener diode on either side of each solenoid, wouldn't the diodes consume the voltage required to actuate the desired solenoid too?
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top