Single Chip Temperature Data Logger
Single Chip Temperature Data Logger
Rajendra Bhatt
Williamsburg, VA
rajbex [@] yahoo.com
Introduction
A data logger is a device that records measurements over time. The measurements
could be any physical variable like temperature, pressure, voltage, humidity, etc.
This project describes how to build a mini logger that records surrounding
temperature values. It has following features:
• Uses just one 8‐pin chip, so very compact size circuit.
• Temperature range: 0 to +125°C.
• Can store up to 254 measurements.
• Sampling interval options: 1 sec, 1 min, 10 min
• Reset feature to clear all previous measurements.
• Serial transfer of recorded measurements to a PC
• Three tactile switches for user inputs and a LED indicator.
Description
The beauty of this project is that it uses just a single chip for logging. It is
PIC12F683, an 8‐pin microcontroller from Microchip. PIC12F683 has six general‐
purpose I/O (GP0‐GP5, GP3 is input only) pins, and 2K x 14 Flash program memory
with 256 bytes of internal EEPROM.
Temperature will be measured with a DS1820 temperature sensor. DS1820 is a one‐
wire digital temperature sensor from Dallas Semiconductor (now MAXIM). The
operating temperature range of the device is –55°C to +125°C with an accuracy of
±0.5°C over the range of –10°C to +85°C. The temperature sensor output is 9‐bit
Celsius temperature measurement, and so the temperature resolution corresponds
to the least significant bit, and which is 0.5°C. But in this project we will use only the
most significant eight bits. Therefore, the temperature resolution will be 1°C. The
measured temperatures will be recorded into the internal EEPROM memory of
PIC12F683.
The first location of the internal EEPROM will store the sampling interval of data
logger. Sampling interval defines the time gap between two successive
measurements. This project will have 3 options for sampling time: 1 sec, 1 min, and
10 min. These are user selectable. The second location of EEPROM will store the
number of measurements recorded so far. And the remaining 254 EEPROM
locations will store 8‐bit temperatures. So, using 10 min sampling interval, 254
bytes of EEPROM will provide data logging for 42 hours. The recorded
measurements can be sent to PC at any time through a serial link at 9600 baud.
User Inputs
There will be three tact switches for user inputs, namely Start, Stop, and Send/Reset.
The three switches will be able to accept the following 4 user requests.
LED Indicator
Every time the user presses input buttons, LED glows for a moment to indicate that
the input is accepted. It also blinks thrice every time EEPROM Write operation takes
place. It also blinks at the beginning when the power is turned ‘ON’. It also glows
when the EEPROM memory is full.
Circuit Diagram
The complete circuit diagram for this project is shown below.
Pictures:
This is how my finished product looks like.
Transferring data to PC
Hyperterminal receiving window