Temperature Controlled Fan using Arduino
Automatic Temperature
Controlled Fan Project using Arduino
In
this arduino based project, we are going to control DC fan speed according
to the room temperature and show these parameter changes on a
16x2 LCD display. It is accomplished by the
data communications between Arduino, LCD, DHT11 sensor Module and DC fan that
is controlled by using PWM. PWM is
a technique by using which we can control voltage.
Circuit Components
1.
Arduino UNO
2.
DHT11 sensor
3.
DC Fan
4.
2n2222 transistor
5.
9 volt battery
6.
16x2 LCD
7.
1K resistor
8.
Connecting wires
This
project consists of three sections. One
senses the temperature by using humidity and temperature sensor namely DHT11. Second section reads the dht11 sensor
module’s output and extracts temperature value into a suitable number in Celsius
scale and control the fan speed by using PWM. And last part of system shows humidity and
temperature on LCD and Fan driver.
Here
in this project we have used a sensor module namely DHT11 that
are already have discuss our previous project namely “Humidity
and Temperature Measurement using Arduino”. Here we have only used this DHT sensor for sensing
temperature, and then programmed our arduino according to the requirements.
Working
of this project is very simple. We
have created PWM at pwm pin of arduino and applied it at base
terminal of transistor. Then transistor creates a
voltage according to the pwm input.
Fan
speed and PWM values and duty cycles values are showing in given table
Temperature
|
Duty
Cycle
|
PWM
Value
|
Fan
Speed
|
Less
26
|
0%
|
0
|
Off
|
26
|
20
%
|
51
|
20%
|
27
|
40%
|
102
|
40%
|
28
|
60%
|
153
|
60%
|
29
|
80%
|
204
|
80%
|
Greater
29
|
100%
|
255
|
100%
|
What is PWM? PWM is a technique by using we can control the voltage or power. To understand it more simply, if you are applying
5 volt for driving a motor then motor will moving with some speed, now if we
reduces applied voltage by 2 means we apply 3 volt to motor then motor
speed also decreases. This concept is used in the
project to control the voltage using PWM. (To understand more about PWM, check this circuit: 1
Watt LED Dimmer)
The
main game of PWM is digital pulse with some duty cycle and this duty cycle is
responsible for controlling the speed or voltage.
Suppose
we have a pule with duty cycle 50% that
means it will give half of voltage that we apply.
Formula
for duty cycle given below:
Duty
Cycle= Ton/T
Where
T=
total time or Ton+Toff
And
Ton=
On time of pulse (means 1 )
And
Toff=
Off time of pulse (means 0)
Circuit Description
Connections
of this temperature controlled fan circuit is very
simple, here a liquid crystal display is used for displaying temperature and
Fan speed Status.
LCD is directly connected to
arduino in 4-bit mode (Check this tutorial for more details: LCD
Interfacing with Arduino Uno). Pins of LCD namely RS, EN, D4, D5, D6 and D7 are
connected to arduino digital pin number 7, 6, 5, 4, 3 and 2. And a DHT11 sensor module is also connected to
digital pin 12 of arduino.
Digital pin 9 is used for controlling fan speed trough transistor.
Code Description
First
we include the library for lcd and dht sensor and then define pin for lcd,
dht sensor and for fan.
Then
initialize all the things in setup loop. And in loop by using dht function reads DHT sensor and then
using some dht functions we extract temperature and display these on LCD.
After
this we compare the temperature with pre define temperature digit and then
generate PWM according to the temperature value.
For
generating PWM we have used “analogWrite(pin, PWM value)” fuction in 8 bit. Mean if PWM value is equivalent of analog
value.
So if we need to generate 20% of duty cycle then we passes 255/5 value as PWM in “analogWrite” Function.
Temperature Controlled Fan using Arduino
Reviewed by XXX
on
สิงหาคม 27, 2560
Rating:
ไม่มีความคิดเห็น