Arduino interface with Heating Valve Control

Hi! I am working on a small project to monitor my home heating cycles. I have a Taco ZVC405-4 zone valve that controls my radiant hydronic heating in my home. The basics are that the zone valve control watches for remote wired thermostats to make calls (close the circuit from a 24v 2 wire line) when the temp goes below a certain setting.

My goal is to track the calls that are being made to the valve control unit. I have conceived of a few ways to do this, but wanted to ask for some advice/help from this group on ways to think about it and solving for it electrically. Not as much looking for help on the coding for this.

  1. Somehow tie into the thermostat lines coming to the unit to watch for circuit closing.
  2. Tie into the Zone Valves control lines (4 line 24V circuit) to watch for calls
  3. Monitor the LED's on the unit which indicates states.

I have already done #3 - I created a simple setup with 5 photocells to watch for each LED turning on or off. Essentially I would have it check once a minute and simply write to a csv file which LED was on at what time. While this worked, it felt a bit clunky and required I mask the LED's on the valve control, which limited my real world awareness of the system states.

I was hoping to find a simple way to tie into the lines that are controlling all of the system in a SAFE and simple way. For instance, the valve control calls to the plumbing valves to turn on and off through a 24v simple circuit (as far as I understand), perhaps that would be a good option (#2 in my list).

Or perhaps the board on the valve has some kind of state access control I am not aware of. Any help appreciated, this is a fun project puzzle, not wanting to get too crazy, but would love to have some stats on my heat usage in my home. Thanks!

Here is a link to the Zone Valve wiring details

And here are images for the Valve Circuit Board and Housing for reference

I am guessing you mounted the photo cells on top of the LEDs, perhaps using pieces of drinking straws. The pictures and drawings seem to show empty space next to the LEDs. You can attach the photo cells there and see the light from the side of the LEDs. Are you using ADC for the photo cells?

Paul

Do you know what current the 24V circuits can handle? I'm thinking opto-couplers from them
would be a neater method - some modification, but retaining full isolation...

If you log, just log when something changes - then you can sample much more timely
fashion and only produce a minimum output.

Thanks @Paul_KD7HB, but I am hoping to find an alternative to the photocell approach altogether if possible.

Thanks for the tip @MarkT - I can definitely modify my logging to make it more efficient, was going to move onto that when I thought about wanting to change to a non-photocell method.

As for the current on the 24V - I can check with my volt meter, what specifically are you looking for, the Amperage? I not familiar with a opto-coupler specifically, but sounds interesting. Also, I have 24V to the themos (top terminals in on the board) and 24V out to the control valves.

I was mostly thinking I could design some kind of "listening circuit" that could somehow detect when states from the board in the valve control - without impacting its performance. I know I need to be careful, because for instance, if the 24v to the thermostats is effected (often called power stealing) then it can impact the valve controls response (it can call for heat when the thermo is not actually calling). So I wanted to know if there is a way to "watch" a circuit without affecting it somehow electronically (not via the photocell method). Or perhaps I can "listen in" on the LED circuitry as a way to avoid the 24v systems.

Thanks for your response and help!

@MarkT I did some research on octo-couplers and agree that might be the ticket, thanks for the pointer! I assume you were asking about the current on my 24v Thermostat lines to determine the proper configuration for the circuit to support this case? I can test for later today. My main question on this options:

It seems like most applications I found of an octo-coupler depicted a low power DC circuit (i.e. Arduino) switching the LED "transmitting" side of the coupler to trigger a switch to a higher powered AC circuit. That makes sense for creating an Arduino approach to turn high powered things on/off. I imagine its possible to do the reverse off the 24v line to provide the LED "transmission" to provide a signal to the "receiver" side for my Arduino to detect the Thermostat call?

Let me know if I should move this topic to the "Home Automation and Networked Objects" forum under Topics if this is the wrong location for my specific questions. Thanks again, appreciate the help.

I made a setup to monitor my Taco Zone valves (for the same purpose) I used a Fairchild FOD814A300,

With 20K in series with the input and a 1µF on the output (to remove the ripple).

It has worked fine for me.

@JohnRob awesome - thanks for the pointers. I assume youre listening in on your thermostat lines and not the lines to your zone valves? Any other details on your circuit design would be appreciated, thanks.

Current doesn’t matter...

Even if you have antique thermostats with anticipator settings, wiring the LED of an optocoupler in parallel with the the thermostat contacts isn’t going to cause an imbalance in the thermostats control of the space. I did this back in the early seventies on all the Honeywell mercury pool switch thermostats in my parents house, back when LED’s were new and different.

A 3mm red LED, 1N4001 diode and appropriate resistor all in series across the thermostat contacts provided a indication of heat demand. Bump the tstat lever up until the LED went out and the zone was on. This was back way before programmable thermostats...

The point here is that the few milliamps required by the LED of the opto will not cause any issues. Just about any opto will work although the FOD814A300 mentioned has back to back emitters so you don’t need a blocking diode and you get better form factor output which allows a lower value capacitor to be used. The H11AA1 is another possibility.

Thanks for the response @Watt - good to know the current isn't a factor.

I am not an electrical engineer, so would love some thoughts on my circuit design attached, not sure if I am close or way off. The other thing I could use some help with is determining the resistor values (R1 & R2) on each side of the optocoupler. @JohnRob said "With 20K in series with the input and a 1µF on the output (to remove the ripple)" on his post earlier, but I am not sure if that would work with this design. Any feedback appreciated!