banner image

I made my own air conditioner controller. It is a circuit that I designed and built to insert between a residential HVAC unit and a common thermostat unit. It uses an embedded PIC micro-controller, a ZigBee wireless radio for communication, and variety of discrete components all attached to a custom printed circuit board.

Why did you do this instead of just buying one of those smart thermostats that are available from various stores?

First, if you are really confused why I decided to craft my own solution to a problem in my world, there might not be any words that I can give that will explain what compels the Maker mentality. I will just tell you that no adequate solutions existed and that I wanted to do it for fun.

So, let us assume that you believe me that these two reasons are true and sufficient justification for forging ahead with a DIY project:

  1. there are no appropriate off-the-shelf solutions that I can just slap onto my wall and be done with it,
  2. there is a fun learning opportunity here.
assembled controller board

Controller board v2.0

Background

I live in Texas where air conditioning is a necessity in the summertime because we routinely reach 100°F (38°C) during day. When designing an HVAC system for a house, there are many variables that enter into some complex calculations and many contractors use rule of thumb estimations and standard practices when deciding upon the size and configuration of a system. In reality, every house is different because of its location, exposure to the sun, construction materials, and architecture. Since cooling in the summer is the biggest concern, there is a tendency to choose systems that are one size larger just to be sure it will have enough cooling capacity.

The problem with this next size up approach is that too much HVAC is a bad thing. An over-sized system causes higher electricity bills and is subject to short-cycling which causes inadequate conditioning and distribution of the air within the living spaces. This is the exact problem with my HVAC system.

My house actually has two HVAC units: one for the upstairs and one for the downstairs. The downstairs AC is too large while my upstairs AC is probably about right except that the design of the house allows all the hot air from downstairs to rise to the upstairs too easily.

In the summer, the downstairs AC ran for a few minutes (4-7) before shutting off and then stayed off for about 10 minutes before turning on again. Because it is over-sized it cools the air near the thermostat quickly and does not run long enough to actually pull moisture out of the air and get a good air exchange with the back rooms. So it stays cool by the thermostat with hot spots everywhere else and the air is humid. The counter-problem is that the hot air in the house rises and the upstairs AC runs most of the day to try and hit its target temperature.

In the winter, the upstairs system does okay in heat mode since the warm air rises. However, the downstairs still suffers from being over-sized and cycling too quickly.

It was clear to me that the thermostat needed to have some logic added to it that would attempt to use the fan more, run the AC longer when it decided to run it, and let the temperature float around within a wider range (i.e. let it get +1 deg from the target before running and run until -1 deg of the target)

The following graph demonstrates the short-cycling behaviour where the system ran the cooling function for about 5 minutes, turned off for about 10 minutes, and then began another cooling cycle.

graph of run times

 

Next: Building the controller

Copyright © 2015 by Eric Dey. All Rights Reserved.