Temperature controlled fan using PIC 16F877A
You might have come across several applications where we need to control a specific device based on analog parameter. This Embedded system works in a similar concept where we are about to control the speed of a DC motor using based on the external temperature. The rise in temperature will result in increase in speed of the motor and vice versa. These type of Temperature controlled fan systems can generally be used to maintain temperature of a room or object automatically.
- The temperature is measured by means of a temperature sensor LM35.
- The output voltage of the sensor is fed to the A/D channel of the Microcontroller.
- Based on the sensed temperature the speed of the motor is controlled using PWM .
- Several temperature ranges was set in the code to vary the motor speed based on the level of temperature sensed.
- The speed of the motor is controlled by using PWM.
Lm 35 is used to sense the external temperature which is capable of sensing temperature ranges from -55 to 150 C. The output voltage is proportional to the temperature hence there is no need of trimmers to calibrate the reading. The output voltage of this sensor varies by 10mv per degree change in temperature.
We are using a 10 bit ADC and Vcc as Vref to the ADC module of the Controller. So in order to determine the step size we have to divide the Vref by our resolution that is 2^10 ( 1024 ).
Step Size = 5 / 1024 = 4.83mV
We obtain a change of 10mV with each rise or fall in temperature from the sensor. And value in the ADC register will alter by two steps with each degree change in the sensor since two increments of step size i.e 4.833mV * 2 = 9.96mV which is approximately equal to 10mV. So in order to obtain the original value we have to divide the contents in the ADC register by 2
For more detail: Temperature controlled fan using PIC 16F877A
We recommend EasyEDA for electronic circuit design.
From Schematic to PCB Production, Just Need One Tool
Free Circuit Design Software: learn to use Editor quickly and easily
Cheapest PCB: 10pcs 2-layers 10cm×10cm only $8.21, 3-day build time, 100% E-test
Current Project / Post can also be found using:
- reading ds18s20 with 16f877a and pbp
- Automatic temperature controller using pic 16f877
- temperature control using pic16f877a
- project related to temperature controlled application