A temperature controlled fan to help boost airflow in a central air duct.
I noticed that my computer room was awfully hot even with the air conditioner running. It turns out that the airflow coming out of the central air duct was not very strong. This inspired me to look for ways to try and improve it without spending a fortune.
My idea was to use a small hobby dc motor to spin a propeller, which would increase the airflow in the duct. While it was possible to purchase an airflow booster, such as this one from amazon, I was really looking to build something on my own. Plus the vents in the room were oval, which would not allow for a cylindrical type of booster fan that seemed to be the type that was typically sold.
Enter Arduino! I have been looking for ways to integrate it into a project for some time, and thought this would be the perfect opportunity. After doing some research and figuring out what I wanted to do, I decided to purchase an arduino uno board.
Another one of my goals was to have the fan turn on and off with the central air system. There are ones on the market with that capability, however it typically requires tapping into the thermostat. I wanted this to be a stand alone project that could fit inside a single duct.
In order to do this, I purchased a Grove shield from Seeed Studio. It came with an array of sensors that can be used to gather data, including a temperature sensor. My plan was to take the input from the temperature sensor and write a small function that would turn the motor on and off at certain temperatures.
This was the temperature sensor supplied with the Grove shield. It uses a thermistor to measure the ambient temperature.
Another piece of the puzzle was to find a way to drive the hobby motor. Since the arduino board only outputs 3.3-5 volts, it typically does not have the capacity to drive a dc motor or allow for precise control.
I decided to purchase a motor driver shield from Sain Smart. I really liked this one since it allows you to drive up to 4 dc motors, 2 servo motors, and 2 stepper motors with an external power source. It also allows finite control over the motor such as rotational direction, speed, and turning it on and off.
A picture of the Arduino Uno stacked with the Grove sensor shield and the motor driver shield. One of the things that I really like about Arduino is its ability to add more shields depending on the specific project.
My part collection continued with a small, 3 blade hobby propeller used for model aircraft along with a 3 volt hobby motor.
Since the space in the duct is fairly small (about 10"x6") I decided to use a 3 blade propeller, which would allow for a little more clearance since only one of the blades would be perpendicular to the edge of the duct opening at any given time during rotation.
A picture of the front of the stack. The ability to add an external power source was essential when driving the motor since current loads could peak without warning.
I made a small coupling by taking a small paintbrush and drilling a hole through the middle with a dremel. This allowed for the motor shaft to slip on snugly. The other side was inserted into the propeller with a bit of glue to hold it for good measure.
I also mounted the motor on a small L-shaped piece of plastic that would allow me to screw it onto the back of the duct.
I wanted to get a baseline reading of the ambient temperature in the duct before I created the code. I had an infrared thermometer that I had purchased on amazon a while back, so I decided to break it out and take some readings. I read about 74 degrees, which my home thermometer also said, so I knew I was in a good range.
This was the arduino sketch I created to activate the fan between certain temperatures. I used a template supplied by Seeed Studio for the temperature sensor, which converted the thermistor input into Celsius and Fahrenheit. It then displayed the readings through the serial monitor with a one second delay.
Since the motor shield I purchased was very similar to the one available on www.adafruit.com, I was also able to use the AF Motor library for the motor control.
I wrote a small function called 'motoron' which used a boolean function to check if the temperature was either less then 70 or greater than 80 degrees. I decided on these values after taking additional temperature measurements when the air conditioner and heat was turned on.
If either of these was true, the motor would turn on. Once the sensor read that it was between 70-80 degrees, the motor would turn off.
View PDF
I proceeded to mount the motor with the propeller attached to the back of the duct, and hooked up all the electronics. I ran the serial monitor in Arduino and turned on the AC. Sure enough, once the temperature hit below 70 degrees, the motor started up!
You can see the propeller spinning better in this picture. And even with it's small size, I felt a noticeable difference in the airflow. I would like to reduce the amount of shields that were required by replacing some of the parts, so that they can be built on a breadboard.
Besides that I was pretty happy that it worked, and I'm looking forward to seeing what other projects I can come up with using some of the other sensors with Arduino!
gLike
Arduino Powered Airflow Booster
A temperature controlled fan to help boost airflow in a central air duct.