Connect with us

How to control 700 solenoids?

Discussion in 'General Electronics Discussion' started by Deuce, Apr 14, 2015.

Scroll to continue with content
  1. Deuce

    Deuce

    7
    0
    Apr 14, 2015
    Hi,

    Just to set the tone - I'm a complete electronics novice, but I need to build something quite ambitious!

    Basically I need to build a driver box to power up to 700 solenoids (and ideally expandable for more), and to power and action each solenoid in time with signal from PC.

    The solenoids will be similar to these: http://docs-europe.electrocomponents.com/webdocs/001d/0900766b8001d64e.pdf

    So far, after an hours Googling, I have determined the following:

    PC runs software which sends signal to an attached digital output board/module. The digital outs carry a c5v low milliamp signal which I can use to power a mosfet per output, and off the load side of each mosfet my solenoid valves.

    SO: PC > Digital Output Module > MOSFET > Solenoid.

    The above would seem simple enough but how on earth do I expand it to operate several hundred solenoids? It seems crude to use individual outputs and mosfets for so many solenoids, a bit like using an individual circuit to power each pixel on a screen would be crude.

    Is there a better approach to this? In my head I'm imagining there should be some sort of component that can 'plot' a power signal across several hundred circuits and do the job of all the individual outputs and mosfets.

    Any help at all would be appreciated. I am a complete novice but also a quick learner and keen to make sense of all the finer details. I just want to get on the right track initially.

    David
     
  2. duke37

    duke37

    5,364
    772
    Jan 9, 2011
    You could use multiplexing where the positive line is switched as well as the negative line. The lines are made into grid. The number of connections is proportional to the square root of the devices, so 60ish.

    The problem here is that each solenoid only receives a signal for part of the time so will need a very high voltage to drive it. I think you are stuck with a FET for each solenoid, possibly multiplexed from your driver.
     
  3. Deuce

    Deuce

    7
    0
    Apr 14, 2015
    Multiplexing? Igs that similar to how pixels across a screen are controlled?

    I do need complete control of each solenoid, down to around 10ms. It's for a display similar to a rain curtain such as this:

    It just seems to be that there must be a better way than using 700 separate switches. Is there no sort of component that acts as 100 switches in one? Like a block that takes a digital signal and opens/closes switches across it's surface in response? That would enable me to run just a single switching '+' to each solenoid and run a common '-' across them all. (or vice versa).

    I'm probably massively oversimplifying this, but common sense tells me that there must be a more elegant solution than 700 separate switches.
     
  4. Viktory2k1

    Viktory2k1

    41
    3
    Apr 14, 2015
    I am trying to do the same thing but not 700 channels, only 96 and there is boards available for what I am trying to do. I don't know what those solenoids draw but do you already have a controlboard? If so, where did you find it?
    I don't think those signal amperage from control boards is enough(probably 20ma). I know of a huge solution: Just buy 44 Sainsmart clone 16 relay boards.lol I don't think they would switch fast enough. Maybe something like optoisolaters would work if demand isn't too much. I have no idea what they are but saw them on a multichannel output board. Search zebs boards to get an idea. Sheesh, what are you building, that think in the video? What is it. Maybe PWM would help or what ever makes ws2812 LED light strips work but more amperage.
    Sorry I couldn't help. I can already tell I am going to love this site!
    Vic
     
    Deuce likes this.
  5. Deuce

    Deuce

    7
    0
    Apr 14, 2015
    Basically the Sainsmart clone boards would be perfect if they used mosfet switching as opposed to relays. I googled to try and find the response times of the relays but nothing came up, but I can pretty much assume the relays will be too slow, and also to variable in their response times (at this level to create an effect similar to in video).

    I don't suppose you know of any such boards? Response time is vital - cost is not a huge problem for this project. I have a vague budget of 100 per solenoid incl control. So I could have a board like this for each 16/32/64 whatever solenoids. Obviously less board with more channels are preferable but if the right board had just 16 channels, it could still work.

    My plan would be to mount each board local to the set of solenoids it controls, and run data cables back down to main control station.
     
  6. Deuce

    Deuce

    7
    0
    Apr 14, 2015
    Some more research...

    I'm now worried that MOSFET may not be suitable due to the induction load of the solenoids (albeit quite small for these little solenoids). Reliability is important.

    Is there any type of switch that is is rapid as a mosfet but better suited to induction loading?
     
  7. BobK

    BobK

    7,682
    1,688
    Jan 5, 2010
    MOSFETs are fine for switching solenoids, you just need a diode put in reverse polarity across the coil to suppress the high voltage spike when the solenoid turns off.

    How many of these solenoids can be on at the same time? If it is 700 you will need 2800W of power for them which is more than a standard AC outlet can provide (at least in the US.)

    You say you need to control them at 10mS resolution, but the specs for the solenoid are 5-18mS to open and 8mS to close, so a cycle on / off for one solenoid is going to be 13 to 21mS.

    Bob
     
  8. hevans1944

    hevans1944 Hop - AC8NS

    4,615
    2,154
    Jun 21, 2012
    It will require a latch and a coil driver for each valve. To create the falling rain type display it is essential that all 700+ solenoid latches be updated at the same time. That means the data for each latch must be present when the latch is "clocked" to update the solenoid state. The solenoid valves you referenced can be switched (cycled) at up to 1000 cycles per minute or about 17 times per second. This implies cycle update every 60 ms (30 ms to actuate and 30 ms to deactuate) all 700 valves. Each valve is specified to open in 5 to 18 ms and close in 8 ms, so a complete cycle of any given valve can take as long as 26 ms or as little as 13 ms. Why do you need 10 ms resolution? Not that it is a problem.

    The valves can be mounted on off-the-shelf manifolds containing 10 valves on each manifold, so 70 manifolds are required. The plumbing must be carefully designed to provide sufficient fluid at sufficient pressure with all 700 valves open. Some means to accommodate hydraulic ram effects when simultaneously opening and closing 700 valves in rapid succession must also be planned.

    I would recommend that CMOS logic be used to address a matrix of D-type latches whose outputs connect to MOSFET valve drivers. Eight latches, clocked simultaneously with 8-bit data, and 128 groups of latches will provide 1024 valve outputs. Another 8-bits of address data will be used to select which of the 128 groups is being updated. It will be necessary to cycle through all 128 groups in 60 ms, or about 468 μs per group, a 2133 hz update rate. Faster updates are possible, but the valves may not respond. There are also advantages to adding logic that will turn all valves off or all valves on simultaneously, and this can be easily done by dedicating another data port to this function.

    Note that truly simultaneous actuation and de-actuation of 700+ valves requires two data latches per valve: one to accept the update data, and one to transfer (simultaneously) the updated states to 700 valve drivers. The reason of course is the impracticality of transferring 700+ bits of data from the controlling computer in one fell swoop. Three 8-bit output ports will be sufficient to get all the valves updated promptly.

    It is not necessary to physically locate the drivers with the solenoid valves. If this were my project, I would make provision for16 driver boards, but build only 11 initially, leaving room for expansion. Each board would have 64 valve drivers, driven by eight addressable sets of 8-bit latches (two D-flops per latch). Thus the initial build would have drivers for 11 x 64 = 704 valves, with expansion to 1024 valves by simply adding five more driver boards.

    But that's just one way to do it. I am sure there are other ways to organize and wire up 700+ valves.
     
    Last edited: Apr 14, 2015
  9. Gryd3

    Gryd3

    4,098
    875
    Jun 25, 2014
    This may be... over simplified or horribly thought out... but what about one of these things https://www.adafruit.com/datasheets/WS2811.pdf ?
    It's a ws2811, and is a driver IC for LEDs.
    It uses the same control scheme as the WD2812 addressable LEDs, and there are hoards of software's pre-made for controlling LED strips, matrixes, etc.
    Each IC could in theory control 3 solenoids/relays.
     
    hevans1944 and BobK like this.
  10. hevans1944

    hevans1944 Hop - AC8NS

    4,615
    2,154
    Jun 21, 2012
    So we would need only 234 of these chips to control 700 valves. Each chip forwards serial bit information at 800,000 bits per second, and each valve uses 8 bits, so the bit-rate per valve is 100,000 bits per second for a cycle time for all 702 valves of about 7 ms per valve... well within the 10 ms resolution the OP wants. Assuming this chip can actually drive the solenoids, this sounds like a simple solution. Elsewhere I read that an Arduino Uno can provide the variable pulse-width encoding for 1's and 0's at the 800,000 bits per second rate this chip will accept. So all you need is some way to get the data into the Arduino fast enough to keep up with whatever the real computer is sending for patterns.

    Good call, Gryd. Much easier to wire just one data communications line, daisy-chained through 234 chips, than wiring up three 8-bit ports on eleven separate boards, not to mention all those latches and MOSFETs and protective diodes... well, you might still need protective diodes at each valve, but still a heck of lot fewer parts overall.

    It's too bad the 8-bit data for each valve is going to be either all ones or all zeros, but who cares? I like the fact that all the data is latched until the 50 μs reset pulse occurs at the end of the string. Depending on how you get the valve wiring connected, there could be, say, 99 valves per board each board with just 33 of those chips. So, seven high-density SMT boards with appropriate connectors for real-world wiring.
     
  11. Gryd3

    Gryd3

    4,098
    875
    Jun 25, 2014
    Thanks hevans.
    I've seen the WS28XX leds and chips used in various projects with arduino. Some controlled with a PC and others controlled dynamically with a program. Some of these applications have actually been live video which is where I got the idea from... and agreed, it's too bad most of the signals will be all 1s or 0s.
    One such software I was thinking of in my previous post is : http://solderlab.de/index.php/software/glediator
     
  12. Viktory2k1

    Viktory2k1

    41
    3
    Apr 14, 2015
    Ok, this is very similar to what I want to do and will post it in this section. I think you will need 16 channel chips, TLC5940. I just found out the number on youtube. It is a 16 channel output used with a mosfet. Now, I really don't know what I am talking about but I will link the video and it may help. Maybe you can help me with what I want.
    Here is the youtube link:
    These are the pre-made boards that I want to build that I will start a new thread about:
    http://www.zebsboards.com/index.php...dwiz-control-boards/bare-bones-booster-detail
    http://www.zebsboards.com/index.php...iz-control-boards/virtual-output-kit-2-detail

    I want to build these due to a very strict budget and medical problems are preventing me from working. Just found out today I have "compression fractures" in my neck. I have been dealing with this for 17 years and now really having some problems. Had MRI 17 years ago and they never checked my neck, I also have blown disks in my mid back. This was all caused by a work injury from a faulty welder blasting me off the top of a trailer(tractor-trailer) and I went through work comp for a while and couldn't stand them telling me I was fine and a nuero surgeon telling me I need surgery. Makes sense that my left arm and neck have been in pain/numb for 17 years, now it's borderline ER pain. Sorry for all this but very fresh and worried about what my options are, this is from a nurse calling me 8 hours ago and she wouldn't tell me anything more.

    Enough about that. Notice the links I sent have the pics shown in a way so you can't see the numbers on the chips. These are exactly what I want to make but 96+ channels. This stuff is all for lighting and force feedback for a virtual pinball machine I am building. I would buy the boards but funds are near the end, I need either 6 of the 16 channel ones or 3 of the big ones. I would probably prefer the smaller ones so I can locate them in different locations but like I said, I will start a thread in this section, nobody responded in the projects section. I went as far as taking apart some old pc power supplies and de-soldering the mosfets. I don't even know if thats what they are called. Transistors attached to heat sinks. I looked up the part numbers and the big ones are $10 each on ebay so don't know what I need.

    Hope I helped some and speed is no problem with the linked boards. I still don't know exactly what you are building.
    Vic
     
    Deuce likes this.
  13. Deuce

    Deuce

    7
    0
    Apr 14, 2015
    Thanks for the comprehensive reply - this is great!

    In order:

    Can you show me a suitable type latch and coil driver? The 10ms response time is essentially just a target, as looking at available valves (I have since found lower power and faster acting than the ones I linked to) this seems attainable. It is a simple case of faster is better, as faster response times will make more complex operation possible. Hydraulically speaking, speed of operation will influence not just the definition of the final display, but also the composition of each water stream. Water has it's own physical properties, it may be that a closing time of 10-12ms produces a clean end to a shaft of water but that a closing time of 15-18ms is sufficiently slow to be overtaken by the surface tension across the waters surface, causing split droplets to occur. Precision is everything. I would prefer for that reason to pair switches and valves that between them have the lowest possible response time, but also a variation in response time of less than 4ms at most.

    The off the shelf manifolds will not work as the aperture is too small to allow for even pressure across all valves, whatever their position. The valves will be mounted on the underside of a c50mm id stainless box section 'pipe' with water cycled through the system constantly at low positive pressure. the pressure will be controlled via larger solenoids on the return side of the system. IE for each 100 small solenoids that open on the display, a single large solenoids snaps shut on the system return, the subsequent back pressure will act to stabilize system pressure. The pressure control solenoids can be choreographed via program to act ahead of the smaller valves, to also counter the hydraulic compression rate of the water. Existing displays of the type I posted the video of don't appear to have any method of balancing pressure and it is evident to me as I watch the displays, that more jets running does reduce pressure across each jet. Not a game killer but easily solvable so I'm going to tackle it.

    With regard to data processing and delivery, if I'm honest I'm very much at the point of researching component cost at present. I simply have a sum of cash reserved in the budget for someone to design and program (or at least define requirements of programming) of the final hardware. I build a lot of large scale water displays (see some of my work here: www.aquaticimpact.co.uk) and often automate parts of a display, the final programming is done by others but I do have some understanding of time and cost involved to bring this sort of system together in the final stages.


    I think I'd be disappointed if I couldn't build sufficient understanding myself to get at least as far as a proven small scale system running off a breadboard. I need to get at least that far just to test and make final choice on the solenoids and valves in fact. It's all a bit chicken and egg...
     
  14. Deuce

    Deuce

    7
    0
    Apr 14, 2015
    Well this is very promising! But also Viktory2k1 has subsequently kindly suggested these 16 channel mosfet boards that apear to be what I was originally searching for: http://www.zebsboards.com/index.php...dwiz-control-boards/bare-bones-booster-detail

    Borrowing tech from a pinball machine is clearly a good idea as the response times are beyond question, they have to be effectively instant, or at least beyond what a human can interpret as a delay.

    So between the ws2811 solution and the above from the pinball machine, which way would you lean?
     
  15. hevans1944

    hevans1944 Hop - AC8NS

    4,615
    2,154
    Jun 21, 2012
    Don't be so sure about that. Virtual pinball machines use high-resolution flat-screen displays and computers to simulate the "pinball experience" but rely on relatively "slow" electro-mechanical devices (knockers and what-have-you) to enhance that experience. I would not expect accessories sold to that market to perform at speeds required to update a falling-water graphics display.

    The zebsboards solution, with MOSFETs providing up to 5 A, may be overkill for operating small solenoid valves. The price is high at $55 for sixteen valves. The MOSFETs used on the booster board are rated 60 V at 50 A, although the seller recommends limiting current to 5A, probably because of current limitations of the connector. Optically isolated inputs are good for preventing "ground loops" that can interfere with digital signals, but there is no specification of how fast they are. This board needs latched input data from a computer, so it is not a total solution. Additional hardware with an appropriate computer interface is required.

    I prefer @Gryd3 WS2811 solution even though it also requires additional hardware, and it may not provide enough current (18.5 mA) to operate solenoid valves. If more current is required, a small external MOSFET and gate-drive resistor would be needed for each valve to convert the constant-current drive from the WS2811 to a voltage drive for the MOSFET gate. This is not a game changer because a custom PCB design is required to implement as array of WS2811 devices.

    It is unknown (at least to me) whether the WS2811 PWM constant-current driver will be effective driving an inductive solenoid instead of an LED, even though the "duty cycle" for the WS2811 will be either 0% (valve off) or 100% (valve on) for each of its three outputs. The datasheet for the WS2811 is silent on the subject of PWM output control. That may all be moot, because I believe an external MOSFET will be required to drive the solenoid valves fast enough for your purposes. The WS2811 holds the advantage of a relatively simple computer interface and latched outputs to drive the valves.

    Each valve needs at least one diode to protect its MOSFET driver from the back-emf the valve solenoid generates when it is deactuated. Diodes are best installed near the MOSFET rather than at the valve. In the diagram below replace "DC Motor" with "Solenoid Valve". The back-emf current will also slow the valve release by prolonging the current in the solenoid while said current is conducted through the diode. This can be somewhat alleviated by using a selected resistor (depends on solenoid inductance) in series with the diode to dissipate the energy stored in the electromagnetic field of the solenoid.

    [​IMG]

    Before any method of driving the solenoid valves can be suggested, it is essential that the actual valves, and their operating characteristics, be specified up front. It is a waste of time to "design" driver circuits without knowing what is being driven.
     
  16. BobK

    BobK

    7,682
    1,688
    Jan 5, 2010
    The WS2811 solutions sounds good at first, but if you think about it, what you have is 1 chip per 3 solenoids, whereas a latched shift register (74x595) will require 1 chip per 8 solenoids, and the interface is actually simpler, requiring 3 lines instead of 1, but no timing constraints. You could probably put 4 8-bit shift register chips + 32 MOSFETs on a small board and require 22 boards with 3 lines connecting them (5 with power and ground). And the data rate is reduced by a factor of 8, you need send only 1 bit per solenoid, not 8.

    I am still worried about the power, how do you plan to power this?

    Bob
     
    Last edited: Apr 16, 2015
    hevans1944 and Gryd3 like this.
  17. hevans1944

    hevans1944 Hop - AC8NS

    4,615
    2,154
    Jun 21, 2012
    Well, I knew there was more than one way to skin this cat. This is an even better solution!

    It has the dual-latches I mentioned in paragraph four of post #6, so updated data can be shifted in without changing the current state of the outputs. Then, after all the new data is present, a single clock pulse transfers the shift register contents to the output latches. What's not to like? It has tri-state outputs, too, which aren't needed for this application.

    Here is a link
    to the Fairchild Semiconductor version, the MM75HC595MTCX, available for less than eleven cents each in quantities of 2500 pieces, tape and reel put-up for pick-and-place automatic board assembly.

    The data-rate improvement by a factor of eight (sending one bit per valve instead of eight) is a significant advantage when scaling up the waterfall display to more valves.
     

    Attached Files:

  18. Deuce

    Deuce

    7
    0
    Apr 14, 2015
    I just found this: http://www.mtfx.com/shop/product/aquagraphics-pcb/

    Which appears to achieve the switching without individual switches, at my count there are 16 solenoids running from this board. Does this shed any further light on a better potential approach for something similar?
     
  19. hevans1944

    hevans1944 Hop - AC8NS

    4,615
    2,154
    Jun 21, 2012
    Well, it's certainly a more expensive approach at £480 for sixteen valves. In the quantities you need, a better target price would be closer to £48 for 64 valves per board. This is a rectal extraction for the price, but I think it is near the actual cost to manufacture a few hundred boards with SMT components and high-density, gold plated, edge connector. Maybe a little more if a connector is mounted on the board for better durability and reliability.
     
  20. mofy

    mofy

    46
    14
    Dec 19, 2014
    When switching solenoids you need a high initial current pulse followed by a smaller holding current. This greatly reduces the power consumption and will also extend the life of the solenoid.
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-