My furnace goes tweet!

| Comments (0)
So I probably should have spent my holidays getting my planes ready to fly, or my bike cleaned up and ready to ride (I have gained way to much weight since parking the bike at the end of October) - but instead, I worked on building a monitor for my furnace. I would like to know things like, how much money am I really saving by setting the thermostat back at night? How often does the furnace run? How long does it take the house to cool off at night before (or if) the furnace kicks in? and more!

I started a few weeks back and nearly had a permanent set back when one of the voltage regulator circuits I built blew up. Once I realized nothing vital was ruined, it was back at it. The circuits were completed - at least the prototype. Starting with the revamped power supply.

Power station

I made a few changes. Starting with the capacitor. Since blowing up a couple smaller ones, I researched proper sizing and most recommendations were to double the rating for safety - that is, 24VAC rectified into 35VDC meant the capacitor that filtered the DC supply should be rated for 70V. I actually had 1 cap that fit the bill. It is an old 330V 200uF cap from a camera flash I took apart almost 20 years ago (NEVER THROW ANYTHING OUT!). Next in the circuit was a voltage divider. With the 7812 damaged, I was down to a 7805 which would be working even harder to drop the voltage. Voltage dividers are a simple circuit consisting of 2 resisters in series. If the resisters have the same value, the voltage as measured in the middle is exactly half the supply voltage. I used 1.9K and 5.6K/3 (1.8K) - which results in a current draw of 10mA. Do not forget to take power dissipation into account! 10mA @ 35VDC is 1/3Watts. I used 1/2Watt resistors, and for the first resister I actually used 3 in parallel to share the load (the values where increased by 3 times). This circuit runs nice and cool.

Black box

The signal from the furnace / thermostat is also 24VAC. Not something to feed straight into a micro-controller. To isolate the signal and produce a more managable voltage, I used paper sensors from an old laser printer. These have an ir LED and photosensor nicely lined up. A resistor and LED in series with the line from the thermostat dropped the current to a safe level for the opto-coupler. I put a cap across the opto-coupler LED to try and smooth the pulses, but still needed to put code in place to handle the 60Hz flicker. This is packaged into a project box. The notation is C-common, Y-yellow (cooling/AC), W-white (heating), 5- +5VDC, G-ground.

Usage monitor

The microcontroller listens on a serial line for a poke (the 'A' character) from the PC and returns a 1 or 2 if the furnace is on or off (0/1 caused Perl to think NULL/1 - sigh). Perl scripts on my shop linux box poke the microcontroller every second, log the results, summarize the information and update the LCD display every minute. As a bonus, every hour a tweet is sent out. Both the LCD display and tweet contain the total runtime of the furnace and the approximate power consumed since midnight.

A note about the power consumption. The furnace is electric. It has 3 x 4,800 watt elements that come on one at a time 60 seconds apart. So the scripts take the staging into account. Often, during the day the furnace only runs for 180 seconds at a time or less. Also, here in Manitoba the cost of power is currently $0.063 / kWh (1/4/10). I believe I have the scripts using $0.06 / kWh.

Leave a comment