Product categories

Have You Seen

Samsung 18650 2600mah Li-ion Battery

Samsung 18650 2600mah Li-ion Battery

Samsung ICR18650-26J 2.6Ah BatteryOriginal Samsung 18650 2600 mah Lithium-ion BatteryThis is or..

Rs.275.00 (inc GST)

Arduino Mega 2560 Pro Mini

Arduino Mega 2560 Pro Mini

Mega Pro 2560 Development Board Mega 2560 Pro a  Atmega2560 based compact Arduino MegaThis..

Rs.973.50 (inc GST)

PC based Temperature controller


PC based Temperature controller



The aim of the project is to accurately control process/system temperature without extensive operator involvement.


A temperature control system relies upon a controller, which is connected to a temperature sensor. It compares the actual temperature to the desired control temperature, or set point, and provides an output to a control element. Mostly the control element is a heater.

The controller is connected to a Personal Computer using RS232 protocol. The Current Temperature can be seen on the PC. Whereas the Temperature Set Point can also be changed through the PC. The relay is used to Turn ON/OFF a Relay. When the current temperature is less than the Set Temperature the relay is turned ON which in turns ON the heater. When the Current Temperature rises above the Set Temperature the relay is Turned OFF.

There are three basic types of controllers:

  1. On-off
  2. Proportional
  3. PID.
Depending upon the system to be controlled, the operator will be able to use one type or another to control the process.

On/Off  Control:


An on-off controller is the simplest form of temperature control device. The output from the device is either on or off, with no middle state. An on-off controller will switch the output only when the temperature crosses the setpoint.


For heating control, the output is on when the temperature is below the setpoint, and off above setpoint.


Since the temperature crosses the setpoint to change the output state, the process temperature will be cycling continually, going from below setpoint to above, and back below. In cases where this cycling occurs rapidly, and to prevent damage to contactors and valves, an on-off differential, or “hysteresis,” is added to the controller operations. This differential requires that the temperature exceed setpoint by a certain amount before the output will turn off or on again. On-off differential prevents the output from “chattering” or making fast, continual switches if the cycling above and below the setpoint occurs very rapidly.


On-off control is usually used where a precise control is not necessary, in systems which cannot handle having the energy turned on and off frequently, where the mass of the system is so great that temperatures change extremely slowly, or for a temperature alarm. One special type of on-off control used for alarm is a limit controller. This controller uses a latching relay, which must be manually reset, and is used to shut down a process when a certain temperature is reached.

Proportional Control:

Proportional controls are designed to eliminate the cycling associated with on-off control. A proportional controller decreases the average power supplied to the heater as the temperature approaches setpoint. This has the effect of slowing down the heater so that it will not overshoot the setpoint, but will approach the setpoint and maintain a stable temperature.


This proportioning action can be accomplished by turning the output on and off for short time intervals. This "time proportioning" varies the ratio of “on” time to "off" time to control the temperature. The proportioning action occurs within a “proportional band” around the setpoint temperature. Outside this band, the controller functions as an on-off unit, with the output either fully on (below the band) or fully off (above the band). However, within the band, the output is turned on and off in the ratio of the measurement difference from the setpoint. At the setpoint (the midpoint of the proportional band), the output on:off ratio is 1:1; that is, the on-time and off-time are equal. if the temperature is further from the setpoint, the on- and off-times vary in proportion to the temperature difference. If the temperature is below setpoint, the output will be on longer; if the temperature is too high, the output will be off longer.


PID Control:

The third controller type provides proportional with integral and derivative control, or PID. This controller combines proportional control with two additional adjustments, which helps the unit automatically compensate for changes in the system. These adjustments, integral and derivative, are expressed in time-based units; they are also referred to by their reciprocals, RESET and RATE, respectively.


The proportional, integral and derivative terms must be individually adjusted or “tuned” to a particular system using trial and error. It provides the most accurate and stable control of the three controller types, and is best used in systems which have a relatively small mass, those which react quickly to changes in the energy added to the process.


It is recommended in systems where the load changes often and the controller is expected to compensate automatically due to frequent changes in setpoint, the amount of energy available, or the mass to be controlled. OMEGA offers a number of controllers that automatically tune themselves. These are known as autotune controllers.

Block Diagram:

Figure  shows the block diagram of system.

Application consists of the following section:

Microcontroller :


The controller is the heart of entire system, and the whole system should be analyzed in selecting the proper controller. The following items should be considered when selecting a controller:

  1. Type of input sensor (thermocouple, RTD) and temperature range
  2. Type of output required (electromechanical relay, SSR, analog output)
  3. Control algorithm needed (on/off, proportional, PID)
  4. Number and type of outputs (heat, cool, alarm, limit)

We will be using ATMEL’s AT89S52 microcontroller. It is a 40 pin microcontroller with 128 bytes RAM & 4kb flash memory.

It performs all the functions like getting data from ADC, Comparing the current temperature to set temperature, Turning ON/OFF the relay & displaying the temperature & Set Point on the LCD.



The output of the temperature sensor is an analog signal & cannot be directly given to the microcontroller. We need to convert this analog signal into digital so we will be using MCP3201 which is a successive approximation 12-bit ADC. The controller communicates with this device using SPI Protocol.

Temperature Sensor:

We are using LM 35 as temperature sensor. LM 35 is a precision temperature sensor whose output is linearly proportional to Celsius Temperature. The LM35 is rated to operate from -55° Centigrade to 150° Centigrade with a linear scale factor of +10mv/° C.

MAX 232:


Microcontroller communicates with the PC using its inbuilt Serial Port. The voltage levels are 0 & 5 Volts, but for the controller to communicate with the PC we are using RS232 protocol so for converting the CMOS (0-5) voltage levels into RS232 (±12) voltage levels we will be using MAX 232.

The MAX232 is an integrated circuit that converts signals from an RS-232 serial port to signals suitable for use in TTL compatible digital logic circuits. The MAX232 is a dual driver/receiver and typically converts the RX, TX, CTS and RTS signals.

The drivers provide RS-232 voltage level outputs (approx. ± 7.5 V) from a single + 5 V supply via on-chip charge pumps and external capacitors. This makes it useful for implementing RS-232 in devices that otherwise do not need any voltages outside the 0 V to + 5 V range, as power supply design does not need to be made more complicated just for driving the RS-232 in this case.

The receivers reduce RS-232 inputs (which may be as high as ± 25 V), to standard 5 V TTL levels. These receivers have a typical threshold of 1.3 V, and a typical hysteresis of 0.5 V.


The PC is used to display the Set/Current Temperature as well as edit the set temperature. VB based software is used to display & edit the information.

Relay Driver:


The Relays require suitable ‘PULL IN’ current or ‘HOLDING’ current (around 70ma) to turn it ON. Moreover the Relay coil voltage (12volts) is more that what the controller can handle. So to provide the necessary current & at the required voltage a relay driver circuit is required.




Relays are components which are basically used to turn ON/OFF high current or Voltages devices. A relay is TURNED ON when a sufficient holding current is passed through its coil. We are using 12v SPDT relay i.e. the voltage required to energize the coil is 12v and of Single Pole Double Throw (SPDT) type i.e. it consists of one common Pole & two outputs namely the Normally Open (NO) & Normally Closed (NC) outputs.

Power Supply:


We require regulated 5 volts for microcontroller, ADC, Temperature Sensor, LCD & approximately 12 volts for the Relay. These voltages are generated from 230v line voltage.

Hardware Requirement:


  1. Microcontroller 89s52
  2. ADC: MCP3201
  3. MAX232
  4. Temperature Sensor: LM 35

Software Requirement:

  1. Keil Software as Compiler.
  2. Proteus for Circuit Designing
  3. Protel for PCB Designing.
  4. VB for PC side software to display & change Temperature Set Point




  1. Air Conditioners
  2. Water Heaters

Text Books:

  1. Muhammad Ali Mazidi –“THE 8051 MICROCONTROLLER AND EMBEDDED SYSTEMS”, Pearson education,






  1. Electronics for you
  2. Electrikindia
Written by Amol Shah

Amol Shah

Founder of DNA Technology an Electronic Engineer by choice. Started working on this website as an Hobby and now its a full time venture. Very passionate about Electronics and like to learn new stuff. Want to make DNA Technology one of the best Online Store for Electronics Components in India.
Follow Me Twitter | Facebook | Google Plus | Instagram