Arduino HVAC Servo ThermostatController
Arduino HVAC Servo ThermostatController
Table of Contents
File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
http://www.instructables.com/id/Arduino-HVAC-Servo-ThermostatController/
Intro: Arduino HVAC Servo Thermostat/Controller
Welcome to my 'green' instructable! I am going to show you how to use an Arduino, two servo motors a temperature sensor and some metal (or wood) to make a digital
thermostat for a through-wall HVAC unit.
According to CB Richard Ellis (a major real estate firm), New York City is a renters market, with only about 1/3 of the population owning their home (versus almost 70%
home ownership for the rest of the US). This means over 5mm people in NYC live in rented apartments or homes. It is very rare for rental units to have any form of
central air conditioning or even a thermostatically-controlled system.
Many apartments have permanent through-wall units like the one seen in the video below. Unfortunately, these units have no ability to regulate the temperature and can
only be forced into heat, cold, or off.
According to the Consumer Energy Center, Heating and Cooling accounts for about 45 percent of your energy bill. The federal government estimates that the average
homeowner spends more than $10,000 for heating and cooling over a ten-year period.
The cooling capacity of room air conditioners is measured in BTUs, or British Thermal Units, per hour. To cool a 700-1,000 sq ft apartment (a one bedroom or maybe a
small 2bedroom), you need about 20,000 BTU's. This is the equivalent of 1.7 tons or 5,861 watts. At $0.15 per kWh, that means it costs $0.88/hour to run your HVAC
unit!
Because HVAC units use a lot of energy (particularly when in 'air conditioning' mode during hot summer months) and renters do not have the ability to easily implement
energy star (i.e. more efficient) units or to regulate their tempature, I wanted to find a way, without making permanent changes, to control an HVAC unit like a thermostat!
Implementing this device can not only save you money, but can help maintain a more steady-temperature in your apartment, reduce energy consumption and help
reduce the strain placed on our nations power grid during the hot summer months!
1) Two Servo's. I used Hitec HS-311 ( http://www.hitecrcd.com/servos/show?name=HS-311 ) which can be purchased for under $10 per servo. The SparkFun servo (
http://www.sparkfun.com/commerce/product_info.php?products_id=9064 ) should also work.
2) Temperature Probe: http://www.sparkfun.com/commerce/product_info.php?products_id=245
3) Arduino (I used the Duemilanove - http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=50)
4) I used the Adafruit ProtoShield ( http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=51 ) but you can also just use a small
breadboard ( http://www.sparkfun.com/commerce/product_info.php?products_id=8802 )
5) a 4K7 resistor for the Temperature Probe: http://www.radioshack.com/product/index.jsp?productId=2062346
6) 9V Wall adapter: http://www.adafruit.com/index.php?main_page=product_info&cPath=17_22&products_id=63
Tools:
1) I used a drill (can be a hand drill or drill press) and a hacksaw.
2) If you'd rather glue the servo's to the aluminum mount (in lieu of drilling and tapping the holes), I would recommend using JBWeld or Gorilla Glue
Arduino Library:
In addition to the servo library (included with the Arduino softwre), you need the OneWire library.
You can read more about the library here (optional): http://www.arduino.cc/playground/Learning/OneWire or just download the library via this link:
http://homepage.mac.com/wtpollard/Software/FileSharing7.html
http://www.instructables.com/id/Arduino-HVAC-Servo-ThermostatController/
Step 3: Arduino Code
A txt file below contains the Arduino code. You can open this file to view the code and then copy/paste it into your Arduino software to run the program.
File Downloads
Future Ideas:
Once you have the servo's in place, there are some great ways you can expand on this project. Here are just a few:
1) Put the Temperature Sensor on a wire so that it can be strategically placed within the room
2) Add buttons to the Arduino in order to have four modes: Off, A/C, Heat, or Temperature Probe mode (i.e. allows you to force the unit off, into heat or A/C or allows the
unit to act according to the temperature probe reading)
3) Use a 7-segment LED or an LCD to display the current temperature
4) Use an Ethernet Shield to enable Internet control or to publish your current temperature (i.e. through twitter). This idea is inspired by Adafruit's "Tweet-a-Watt" (
http://www.adafruit.com/index.php?main_page=index&cPath=32 )
5) Use a third servo for to control the hot/cold potentiometer (note: using three servo's on the arduino requires the use of softwareservo's - see here for more:
http://www.arduino.cc/playground/ComponentLib/Servo)
6) Wireless temp probe via Xbee or RF (for RF, see http://www.sparkfun.com/commerce/product_info.php?products_id=8946 and
http://www.sparkfun.com/commerce/product_info.php?products_id=8949 )
7) Set temperature threshold ranges at the device using a keypad or a potentiometer
8) Setting the unit to automatically cool the apartment at certain times (i.e. before you arrive home at work) or to go into a "pulse" mode at night, alternating between off &
cool in order to keep the apartment cool but not have the AC on all night
9) Use Evil Mad Scientist or ITP Boarduino for a cheaper & smaller unit!
See http://evilmadscience.com/tinykitlist/74-atmegaxx8 for the Evil Mad Scientist Boards which you can purchase as a kit which includes the PCB & ATMEL chip and a
16Mhz crystal & caps for ~$12
Or
Read the NYU ITP tutorial on how to create a breadboard arduino! http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard
http://www.instructables.com/id/Arduino-HVAC-Servo-ThermostatController/
Related Instructables
Comments
18 comments Add Comment
I used a relay and temperature sensor and a PIC micro. Later i added a pot and display to be able to dial in my settings.
http://www.instructables.com/id/Arduino-HVAC-Servo-ThermostatController/
Woodwave says: Apr 17, 2009. 1:21 AM REPLY
An alternative to the One Wire Digital temperature probe is a LM35 precision linear temperature sensor. They are cost about $1.75 from BGmicro or Jameco
and require only one line of code to read the temp from an analog input pin.
An example of a project that uses the LM35 sensor can be found here.
http://solderintheveins.co.uk/?p=298#more-298
http://www.instructables.com/id/Arduino-HVAC-Servo-ThermostatController/
tikka308 says: Apr 15, 2009. 3:18 PM REPLY
No idea why that happened; i just placed the link and it appears to be working now
http://www.instructables.com/id/Arduino-HVAC-Servo-ThermostatController/