Electronic – Irrigation Valve (24VAC Solenoid) Multiplexing

multiplexersolenoid

I have a fairly extensive sprinkler system in which I have used all of the available wires. I've added new landscaping that requires irrigation, but without available wires to use for the valve control, I need to come up with a creative solution (I don't want to dig another 100' of trench). My control box has plenty of available zones, it's just a matter of moving the electrons out to the valves. One thing working in my favor is that these systems only ever power one "zone" at a time.

There are some expensive solutions for multiplexing that use one wire pair (http://www.smarthome.com/3139/DuWa-8ZEXT-Irrigander-8-2-Pro-Irrigation-Sprinkler-System-Zone-Expander/p.aspx) but I think something simpler will work for me.

I want to make a little box that sits on the end of the existing pair of wires and toggles between two or more solenoids each time power is applied to the wire. This will work since the solenoids are normally closed, and only stay open while power is applied. I'll program the controller to hit the same zone twice (or more) to toggle the power to each solenoid in turn.

So, to the electronics question: What do I need to think about to make this work. I'm a rank amateur. I think I need:

  • Some kind of "memory" to know which solenoid to turn on next
  • Relays to route the 24VAC to the right solenoid
  • Parasitic power for whatever logic is needed
  • Copious use of diodes to prevent magic smoke escaping

I'm doing well to get an MSP430 to light LEDs, so some tips on how to make this work would be very greatly appreciated.

Best Answer

This isn't too hard to implement. I can see the box and controller getting out of sync, but if the controller hits the zone twice and it doesn't matter what order the two sub-zones come on in, then that seems fine.

You are right in that you need some kind of memory. Since the unit will have no power to it between uses, that memory needs to be non-volatile. A microcontroller with built in EEPROM would do fine. EEPROMs are only good for a finite number of writes, but that's 100s of 1000s at least so no issue there.

When the power to the switch box turns on, all it really does is run the micro. The micro then turns on one of N relays to route the power to one of the sub-zones. It also writes the new state to its EEPROM so that it will power the next sub-zone in sequence next time.

A tiny micro running at slow clock speed can easily handle this. The 5V current will be small so a linear regulator will do well enough and be simple. Get relays that can run directly from the full wave rectified AC so there are no power conversion issues. 24V AC after full wave bridge with filter cap should be around 30-32 Volts. "24V" DC relays would work but get a little warm. Genuine 30V relays may be harder to find, so you could get 24V relays and put a resistor in series with the coil. A reverse catch diode accross the coil and a NPN transistor with base resistor to the micro is all you need per sub-zone output.

Another thing to consider is that the micro needs to see one power up each time the main controller turns on the zone. This should be as simple as putting a little low pass filtering on the micro's reset input so that it doesn't start running until a 100 ms or so after power is applied. By that time glitches and switching transients should be over.

The main controller also needs to leave some off time between powering this zone so that it toggles to the next sub-zone. It will take some time for the voltage to drop before the micro loses power or is shut down by the reset circuit. It could be a second or two depending on what values are chosen.

The more I think about it, the more I'm realizing the trickiest part of this is the reset circuit. You want to make sure the micro runs cleanly once per power up, and that it goes into reset cleanly once on power down and not too long after power down. This is all quite doable, but something that needs to be considered.