How to monitor 24VAC furnace call for heat.

Thread Starter

Bryceo

Joined Feb 3, 2014
2
I would like to monitor and record when my furnace thermostat calls for heat. It is a 24VAC circuit that needs to be monitored and from my understanding an opto isolator could be used to provide a 0 or 1 output signal (on/off) for an Arduino Uno or similar. That is about as far as my understanding goes and hope someone could provide some assistance with designing this.
As an extension to this eventually I would like to monitor the furnace for calls for the circulation fan, heat and/or cool.... but let's work on the heat first.
I am open to learning ore about the design if someone has some sample diagrams/ applications.
Cheers.
 

MaxHeadRoom

Joined Jul 18, 2013
28,686
Normally the thermostat circuit picks up a SP relay, you could put a small relay in parallel and use the contact as input.
If yours has a spare contact then you could use that instead.
Max.
 

GopherT

Joined Nov 23, 2012
8,009
You could get an arduino board and a thermistor and set it next to your radiator or warm air vent. Than record a datapoint every minute. Once you transfer the data to excel, you should be able to easily see the frequency and duration of each cycle (hot or cold) and no risk of damaging your expensive furnace board (or thermostat).
 

wayneh

Joined Sep 9, 2010
17,498
The optoisolator is a good idea, since it frees you from making even a ground connection between the arduino and the furnace. You'll need a resistor in series with the emitter LED to limit its current to a safe level. On the receiver side, you need to supply the "1" voltage to the input. On the output you could use an RC tank to smooth the ripple. The resistor will quickly drain the capacitor when the signal goes off, but the cap will hold nearly full "1" voltage while the AC signal is applied.

A lower rent solution (that requires a common ground) would be to use a diode to rectify the AC power, followed an RC tank to act as a peak detector. Divide down the voltage on the capacitor by using 2 resistors in series for the "R" in RC. Feed the lower voltage to the Arduino.
 

Thread Starter

Bryceo

Joined Feb 3, 2014
2

sirch2

Joined Jan 21, 2013
1,037
If it's controlled by a relay, what about a hall-effect sensor glued to the relay case. Saw this done once on a safety critical circuit where they wanted to monitor activity but the regulatory hoops for modifying the circuit were too onerous.
 

wayneh

Joined Sep 9, 2010
17,498
I'm wondering if it wouldn't be easier somehow to get the signal you need at the thermostat. You can take for granted that the furnace is under control of the thermostat, so if you know one you know the other. Inside the thermostat, there's almost certainly a DC on/off voltage you could watch. I believe some thermostats even light an LED when they turn the system on.
 

BillB3857

Joined Feb 28, 2009
2,570
One thing to consider if you put a relay coil in parallel with the relay in the furnace.....
Many of the simpler thermostats have a system called an "anticipator" which uses the current driving the furnace relay to generate a small amount of heat that the thermostat detects. This heat, added to the rising room heat helps to prevent temperature overshoot. By adding a second relay to the circuit, the anticipator may require a small adjustment. Usually just sliding a wiper along the resistance elelment is all that is needed.

http://home.howstuffworks.com/home-thermostat2.htm
 
FWIW;
I just did a project like this, I took 24AC from the T-stat (when calling for heat) built a rectifying and filter circuit and used that to power a 7805 (you could also do a zener setup, but I had a 7805 here).
I than used my 7805 as a switch for my Arduino, I used the "state change detection" example sketch with my arduino, this spits out (serial output) data to HyperTerminal and at the end of the day I can see how much my boiler ran.
Theory:
when the T-stat calls for heat it turns on the switch (7805) triggering the software in the Arduino than send in a msg to HyperTerminal (or the Arduino serial monitor) that say" Boiler on" "count: 1"............."Boiler off" Count:1".........
 

#12

Joined Nov 30, 2010
18,224
I'm wondering if it wouldn't be easier somehow to get the signal you need at the thermostat. You can take for granted that the furnace is under control of the thermostat, so if you know one you know the other. Inside the thermostat, there's almost certainly a DC on/off voltage you could watch. I believe some thermostats even light an LED when they turn the system on.
A lot of thermostats don't have a ground wire or any DC in them. If this is a simple, SPST or a 4 wire heat&cool, you'll have to go to the air handler to get a ground.
 
This http://www.gravitech.us/buacinbo.html isn't a bad board, but it would have to modified for 24 VAC use.

Assuming the furnce is not a heat pump and is not multi speed and not a Carrier with ath ABCD bus, the standard connections are:

C - Common (Now required, wasn't used in older stats) May not be labeled. It's the free end of the secondary transformer in the furnace. The side not connected to R. By "wasn't used, I mean it wasn't necessaey to run to the stat since the stat was purely mechanical.

R - The blower

Y - Call for cool - thermostat controls the fan

W - Call for heat - furnace controls the fan

So, the thermostat places contact closures wit R as the common terminal.
R,Y,G - runs the AC
R,W - runs the heat
R, G runs the fan

C to R is 24 VAC at all times at the stat, if used.

At the furnace, monitoring C to R - monitors the fan (24 VAC)
C to W = ?
C to Y = ?
 
Top