View Single Post
Old 01-29-13, 02:22 PM   #1
Supreme EcoRenovator
AC_Hacker's Avatar
Join Date: Mar 2009
Location: Portland, OR
Posts: 4,004
Thanks: 303
Thanked 723 Times in 534 Posts
Default Arduino CO2 Sensor Controls PWM Fans in HRV

(* The title of this thread should have been "Arduino CO2 Sensor Controls PWM Fans in HRV, not "PCM" Fans. My bad. *)

EDIT (2014-06-09): For those who may doubt the need for a HRV, or a CO2 controlled HRV, here is some interesting reading. Thanks to BBP.

A new EcoRenovator from Ireland, cerberus, tipped me off to some inexpensive CO2 sensors. In the past, CO2 sensors had been pretty expensive, but the attractive price (about $10) got me started. Thanks, cerberus!

* * *

My project idea is that HRVs are used to provide fresh air and at the same time minimize home heat loss. The heat loss from the outgoing air can be reduced, but never reduced to zero.

A 'smart' HRV would sense the level of CO2 and when the level of CO2 reached a predetermined allowable level, it would run the fans. If the CO2 level was higher, it would run the fans at a higher speed, if the CO2 was lower, it would run the fans at a lower speed, and if the CO2 was acceptably low, the fans would not run at all.

EDIT: My thinking has changed on this part of the project. I'm now considering using the varying voltage from pin 4 of the CO2 sensor as an input to one of the Analog in pins on the Arduino... and controling the Arduino's PWM pin with that. I found some examples of that HERE and HERE.

This would increase the overall efficiency because the HRV heat loss would only be incurred when required.

So far, petty simple.

This project will use an Arduino to read a CO2 Sensor (Telair 6004) and then use the CO2 readings as input to control PWM fans in the HRV.

Here is a photo of one of the CO2 monotoring boards, measuring about 2" x 2" in all it's twinkling, gold-toned beauty:

Wow! $10 CO2 Sensor, pretty cute!

An here is a diagram of the 12 pins that seen at the bottom of the photo above...

And some documents:
So the Telaire 6004 is capable of either analog output (pretty good) or digital output (pretty accurate). But so far as I have been able to determine, the digital output is not so easy to implement.

I was able to locate the following code to read the analog output pin (pin 4) on the Telaire 6004 and to blink an LED that is connected to Arduino digital output (pin 13).

Analog Input
Demonstrates analog input by reading an analog sensor on analog pin 0 and
turning on and off a light emitting diode(LED) connected to digital pin 13.
The amount of time the LED will be on and off depends on
the value obtained by analogRead().
int sensorPin = A0; // select the input pin for the potentiometer
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin); 
// sensorValue is the variable that stores what the CO2 reading is
// Send the value back to the computer
* * *

Since I am barely able to make an Arduino blink it's little light (which is the most basic exercise in the Arduino House of Chops), I can use help.

So, I'm open to any ideas from any of you Arduino dudes & dudettes on this project. I ain't proud.



Attached Images
I'm not an HVAC technician. In fact, I'm barely even a hacker...

Last edited by AC_Hacker; 06-09-14 at 01:54 PM..
AC_Hacker is offline   Reply With Quote