TMS aims at monitoring the
temperature statistics in a factory, room etc, and controlling peripheral
systems. It uses embedded technology from Intel Corporation and built for
application in highly sensitive and critical systems. ( you can Download Full project report at bottom)
Through the system we try to
bring down the overhead involved in monitoring the temperature statistics in
various fields such as factory, air condition areas etc. With the obvious and
immediate usage as a system controller it is a complete implementation of
dynamic system management.
The system is aimed to meet
the following prerequisites:
•
To sense the temperature
•
To display the temperature
•
To display the date and time
•
To set temperature limits
•
To control the connected systems
•
To save the history of limit crossings
Advantages
In a dynamic scenario wherein the breed and nature of
real time systems are subjected to promising changes TMS is aimed at adding the
fundamental functionality of interfacing them with varying ambience enabling
them to be stable and reliable.
Signal conditioning circuit
consists of two temperature transducers and an Analog to Digital Converter. The
transducer converts the temperature to proportional electrical signal. The
Temperature sensor used here is LM35 which has a resolution of
1 ° Celsius.
ANALOG TO
DIGITAL CONVERTER:
An 8 Channel ADC is used
since there is more than one sensor output that should be converted into
digital format before feeding to the Micro Controller.
INTERFACING
OF GSM UNIT: -
Interfacing of GSM unit
through a serial communication link with microcontroller 89S51. Whatever data
is to be sent to GSM unit is done through this RS 232 link.
LEVEL
TRASLATOR: -
Level
translator Translates TTL voltage level to RS-232 compatible level. It is
realized with MAX 232.
SIGNAL
CONDITIONING CIRCUIT:
Signal conditioning is widely
used in the word of data acquisition. Signal conditioning circuit have two
parts- two temperature transducers and an analog to digital converter.
Transducer
Section (Temperature Sensor) LM 35:
+VS g VOUT
|
VCC LM35D
1—A
Transducers
convert physical data such as temperature, light intensity, flow and speed to
electrical signals. Depending on the transducer the output produced is in the
form of voltage, current, resistance or capacitance.
The
temperature transducers convert temperature into electrical parameters, e.g.:
thermistor, thermocouple. A thermistor responds to temperature change by
changing resistance but its response is not linear. Simple and widely used
temperature sensors include the LM 34 and LM 35 series.
The LM 35 series sensors are 3 pin precision
integrated circuit temperatures whose output voltage is linearly proportional
to the Celsius (centigrade) temperature. The LM35 thus has an advantage over
linear temperature sensors calibrated in 0 Kelvin, as the user is
not required to subtract a large constant voltage from its output to obtain
convenient Centigrade scaling. The LM35 does not require any external
calibration or trimming to provide typical accuracies of ±1/4°C at room
temperature and ±3/4°C over a full -55 to +150°C temperature range. It can be
used with single power supplies, or with plus and minus supplies. As it draws
only 60 uA from its supply, it has very low self-heating, less than 0.1 °C in
still air.
Features:
>
Calibrated directly in ° Celsius (Centigrade)
>
Linear + 10.0 mV/°C scale factor
>
Rated for full -55° to +150°C range
>
Suitable for remote applications
>
Operates from 4 to 30 volts
>
Less than 60 uA current drain
Analog to Digital Converter 0808:
Analog to digital converters are among the most widely
used devices for data acquisition. Microcontrollers use binary (discrete)
values, but in the physical world everything is analog (continuous). Here the
output of LM 35 is an analog signal in the form of voltage. Therefore, we need
an analog to digital converter to translate the analog voltage to digital form
so that the microcontroller can read and process them.
An 8 Channel ADC is used
since there is more than one sensor output that should be converted into
digital format before feeding to the Micro Controller.
Both the sensor outputs are fed to the two different
channels of ADC 0808.The channels are selected using the select pins which are
controlled according to the signals from micro controller.
The
ADC0808 is a monolithic CMOS device with an 8-bit Analog-to-Digital converter,
8-channel multiplexer and microprocessor compatible control logic. The 8-bit
A/D converter uses successive approximation as the conversion technique. The
converter features a high impedance chopper stabilized comparator, a 256R
voltage divider with analog switch tree and a successive approximation
register. . The 8-channel multiplexer can directly access any of 8-single-ended
analog signals. The device eliminates the need for external zero and full scale
adjustments. Easy interfacing to microprocessors is provided by the latched and
decoded multiplexer address inputs. The ADC0808 offers high speed, high
accuracy, minimal temperature dependence, excellent long-term accuracy and
repeatability, and consumes minimal power. These features make this device
ideally suited to applications from process and machine control to consumer and
automotive applications.
In ADC 0808. Vref (+) and
Vref (-) set the reference voltage. If Vref (-) = GND and Vref-(+) = 5V, the
step size is 5v/256 = 19.53mv. Therefore to set a lOmv step size we need to set
Vref (+) = 2.56v and Vref (-) = GND.
SC is for Start Conversion. SC is
the same as the WR pins in other chips. EOC is for End Of Conversion and OE is
for Output Enable (READ). The EOC and OE are the same as INTR and RD pins
respectively.
The ADC
0808 has no self clocking. So the clock must be provided from an external
source to the CLK pin. Although the speed of conversion depends on the
frequency of the clock connected to the CLK pin, it cannot be faster than
lOOmicrosecs.
Features:
> Easy interface to all
microprocessors
> 8-channel multiplexer with
address logic
> OV to 5V input range with
single 5V power supply
> Outputs meet TTL voltage
level specifications
> Resolution 8 Bits
> Single Supply 5 VDC
> Conversion Time 100 ms
CLOCK
GENERATOR:
An astable
multivibrator using IC 555 is used here for providing the clock signals. The
frequency of the clock signal is 500Hz. NE 555 is a timer IC configured as the
frequency running oscillator provides the clock for ADC. It is basically
switching circuit that has two distinct output levels. As a result the circuit
continuously switches back and forth between two unstable states. In other
words, circuit oscillates and output is a periodic rectangular waveform. Since
neither output
state is stable, then circuit
is said to be astable and is often referred to as free running or astable
multivibrator.
In the
circuit, the capacitor, the timing capacitor is charged towards +Vcc through Rl
and R2. The charging time Tl is given as
T1=0.693(R1+R2)C1.
This is the time during which
output is high. The timing capacitor CI is then discharged towards GND through
the resistor R2. The discharge time T2 is gives as
T2=0.693R2.C1
This is the time during which
the time is low. The period T of the oscillating clock is the sum of Tl and T2.
Thus
T= Tl+T2= 0.693(R1+2R2).C1
The frequency oscillation is
then found as
F=1/T=1.44/(R1+2R2)C
MICROCONTROLLER
89S51:
The AT89S51 is a low-power, high-performance CMOS
8-bit microcontroller with 4K bytes of downloadable Flash programmable and
erasable read-only memory. The on-chip downloadable Flash allows the program
memory to be reprogrammed In-System through an SPI serial interface or by a
conventional nonvolatile memory programmer. The AT89S51 provides the following
standard features: 4K bytes of downloadable Flash. 128 bytes of RAM, 32 I/O
lines, programmable watchdog timer, two data pointers, three 16-bit
timer/counters, a six-vector two-level interrupt architecture, a full duplex
serial port. In addition, the AT89S51 is designed with static logic for
operation down to zero frequency and supports two software selectable power
saving modes. The Idle Mode stops the CPU while allowing the RAM,
timer/counters, serial port, and interrupt system to continue functioning. The Power-down
mode saves the RAM contents but freezes the oscillator, disabling all other
chip functions until the next external interrupt or hardware reset.
Features:
> 4K Bytes of In-System
Reprogrammable Downloadable Flash Memory
> 4V to 6V Operating Range
> Fully Static Operation: 0 Hz
to 24 MHz
> 128 x 8-bit Internal RAM
> 32 Programmable I/O Lines
> Three 16-bit Timer/Counters
> SPI Serial Interface
AT 89S51
Serial Programming
The microcontroller AT 89S51
can be programmed in both serial mode and parallel mode. The Serial programming
was carried out as it does not required extra burning module. The serial
programming of AT 89S51 is done using the personal computer, through the
printer port. The AT89S51 in its serial mode programming mode is shown in the
figure.
The microcontroller AT 89S51
is serially programmed using the software ATMEL ISP Flash Programmer Version
3.0 through the printer port of the computer.
Serial Programming Algorithm
To program and verify the
AT89S52 in the serial programming mode, the following sequence is recommended:
1. Power-up sequence: Apply
power between VCC and GND pins. Set RST pin to "H". If a crystal is
not connected across pins XTAL1 and XTAL2, apply a 3 MHz to 33 MHz clock to
XTAL1 pin and wait for at least 10 milliseconds.
2. Enable serial programming by
sending the Programming Enable serial instruction to pin MOSI/P1.5. The
frequency of the shift clock supplied at pin SCK/P1.7 needs to be less than the
CPU clock at XTAL1 divided by 16.
3. The Code array is programmed
one byte at a time by supplying the address and data together with the
appropriate Write instruction. The write cycle is self timed and typically
takes less than 1 ms at 5V.
4. Any memory location can be
verified by using the Read instruction which returns the content at the
selected address at serial output MISO/P1.6.
5. At the end of a programming
session, RST can be set low to commence normal device operation.
The connection diagram with
the pins of the serial port for serial programming of AT 89S51 is as shown in
the figure below
LIQUID
CRYSTAL DISPLAY:
Liquid state have been called
the fourth state of matter(after solids, liquids and gases) because they have
certain crystal properties normally found in solids, yet flow like liquids.
Unlike LEDs and other electronic devices, LCDs do not generate light energy,
but simply alter or control existing light to make selected areas appear bright
or dark.
There are two fundamental
ways in which liquid crystal are used to control properties of light and
therefore after its appearance. In the dynamic scattering method, the molecules
of the liquid crystal acquire a random orientation by virtue of an extremely
applied electric potential. As a result light passing through the material is
reflected in many different directions and has a bright frosty appearance as it
emerges.
■
In the absorption method the
molecules are oriented in such a way that then after the polarization of light passing through the material.
Polarizing filters are used 2 absorb or pass the light depending on the polarization
it has given, so light is visible only in those regions where it cam emerge
from the filter.
In recent years, LCD is
finding wide spread use of replacing LEDs. This is due to the following
reasons:
1. The declining prices of LCDs.
2. The ability to display
numbers, characteristics and graphics. This is in contrast to LEDs which are
limited to numbers and a few characteristics.
3. In corporation of a
refreshing controller into the LCD, thereafter relieving the CPU of the task of
refreshing the LCD. In contrast, the LED must be refreshed by the CPU to keep
displaying the date.
4. Ease of programming for
characteristics and graphics.
The 8-bit data pins, D0-D7,
are used to send information to the LCD or read the contents of the LCDs internal
registers. To display letters and numbers, we send ASCII codes for the letters
A-Z, a-z and numbers 0-9 to these pins while making RS=1( to select data
registers).
There are also instruction
command codes that can be sent to the LCD to clear the display or force the
cursor to the home position or blink the cursor.
We also use RS=l(to select
command register) to check the flag bit if the LCD is ready to receive
information. The flag is D7 and can be read when R/W=l and ■ RS=0. When D7=l
(flag=l), the LCD is taking care of internal operation and will not accept any
new information. When D7=0, the LCD is ready to receive new information.
RS 232
INTERFACE:
„..:... + 85 v
..... -........ ► -3.5 V
C4'X^ 1 uF
EIA-232 Output EIA-232 Output EIA-232 input EIA-232
Input
I 15 GND
Serial port is harder to interface than parallel port.
In most cases, any device you connect to serial port will need the serial
transmission converted back to parallel so that it can be used. This can be
done using a UART. On the software side of things, there are many more
registers that you have to attend then on a standard parallel port (SPP).
Serial cables can be longer than parallel cables. They also do not need as many
wires as parallel transmission.
RS 232 stands for Recommended
Standard 232. RS 232 is the most widely used serial I/O interfacing standard.
This standard is used in PCs and numerous types of equipment.
In RS 232, a l is represented
by -3 to -25V while a 0 is represented by +3 to +25V,making -3 to +3 undefined
where as a serial port transmits a 0 as 0V and l as 5V. This standard was set
long before the advent of the TTL family, its input and output voltage levels
are not TTL compatible. For this reason to connect any RS 232 to a
microcontroller system we must use voltage converts such as MAX 232 to convert
the TTL logic levels to the RS 232 levels and vice versa.
MAX 232:
The 8051 has two pins that
are used specifically for transferring and receiving data serially. These two
pins are TxD and RxD which are TTL compatible. Therefore this requires a line
driver to make their RS 232 compatible. One such line driver is the MAX 232
chip from maximum co-orperation.the MAX 232 converts from RS 232 voltage levels
to TTL voltage levels and vice versa. One advantage of the MAX 232 chip is that
it uses a +5V power source which is the same source voltage for the 8051. In
other words with a single +5v power supplies we can power both 8051 and MAX
232, with no need for the dual power supplies that are common in many older
systems.
The MAX 232 has two sets of
line drivers for transferring and receiving data. The line drivers used for TxD
are called Tl and T2 which the line drivers for RxD are designated as Rland R2.
In many applications only one of each is used. Here also used only one set of
transmitter and receiver Tl and Rl.MAX 232 requires four capacitors ranging
from 1 to 22microF.the most widely used value for these capacitors is 22microF.
GSM EQUIPMENT: Introduction to GSM:
GSM (Global System for Mobile
Communications) is world's most famous Mobile platform. Mobile phones with SIM
cards use GSM technology to help you communicate with your family, friends and
business associates.
GSM
systems have following advantages over basic land line telephony systems:
1. Mobility
2. Easy availability
3. High uptime
We use communication feature
of Telephone landlines for internet, e-mail, data connectivity, remote
monitoring, computer to computer communication, security systems. In the same
way we can use GSM technology and benefit from its advantages.
Uses GSM technology for
following applications:
1. Access control devices: Access control devices can
communicate with servers and security staff through SMS messaging. Complete log
of transaction is available at the head-office Server instantly without any
wiring involved and device can instantly alert security personnel on their
mobile phone in case of any problem.
2. Transaction terminals: EDC (Electronic Data
Capturing) machines can use SMS messaging to confirm transactions from central
servers. The main benefit is that central server can be anywhere in the world.
3. Supply Chain Management: With a central server in your
head office with GSM capability, you can receive instant transaction data from
all your branch offices, warehouses and business associates with nil downtime
and low cost.
GSM UNIT:
The GSM Modem supports
popular "AT" command set so that users can develop applications
quickly. The product has SIM card holder to which activated SIM card is
inserted for normal use. The power to this unit can be given from UPS to
provide uninterrupted operation. This product provides great feasibility for
devices in remote location to stay connected which otherwise would not have
been possible where telephone line do not exist.
"AT"
COMMANDS:
AT commands, also called Hayes AT commands, are based
on the Hayes Modem de facto standard, ATTENTION Commands for modems. They are
used to communicate with your modem. These commands modify your modem's behaviour
or instruct the modem to do something specific, such as dialling a telephone
number. The "AT" refers to getting the Attention of your modem.
To send a command to modem,
we need to start a terminal program such as Windows Hyper Terminal .No matter
which terminal program you use, it should be configured to communicate with the
COM port that your modem is attached to. You then type commands in the Terminal
window. The modem executes the command and responds appropriately. One set of
AT commands will identify your modem and version information.
Eg: -ATD [<dial_string>][;]
Dials the
phone number specified in the <dial string>parameter.
INTERFACING OF GSM UNIT:
Interfacing of GSM modem is
done through a serial communication link between the modem and microcontroller
89S51. Whatever data is to be sent to GSM modem is done through this RS 232
link. The different initialising signals and commands are sent as data packets.
APPLICATIONS
OF GSM MODULE:
1. Remote Condition Monitoring:
Wire free telemetry allows the early identification of
a problem and can save expensive down time and repair costs. Automated data
collection means the information is available at any time, any place, saving
costly visits to site. In a typical remote industrial monitoring application, when
perhaps a cellular solution is being used to check the status of a machine
using GSM, then the use of a wireless monitor comes into its own.
2. Data Capture for Remote People Counting:
Remote monitoring techniques used in conjunction with
suitable sensors are used capture data and count people in retail outlets. By
knowing how many people have entered or left each establishment then the
effectiveness of sales and marketing campaigns can be monitored. When used in
conjunction with RFID then the movement of staff can be monitored which is
particularly appropriate in areas where there are a lot of staff and relatively
few customers. By monitoring footfall remotely the data can be viewed
centrally, so you could look at many stores across regions to compare
effectiveness geographically.
3. Wire Free Security Alarms:
Wire free security alarms
using cable free motion detectors and GSM capable communication devices for
sending text messages are well suited to building sites, temporary offices. The
lack of cable means that the can be installed very quickly, location of sensors
can be quickly altered to suit the changing needs of the building and alarms
can be quickly and easily configured to be sent to mobile phones. The remote
alarm system can also works without mains power.
POWER SUPPLY SECTION:
►f
The power section consists of
a transformer, bridge rectifier and voltage regulator. This project uses a
transformer of 230V ac primary to 0-9V, 1A secondary. A transformer isolates dc
supply from ac main. The bridge rectifier converts AC signal into DC and is
filtered using capacitor filter. Its output voltage changes when load current
or line voltage varies. An electronic circuit which keeps the output voltage
constant irrespective of the variation in the load current, line voltage and
temperature is an electronic voltage regulator. This is added at the output of
the unregulated power supply.
The voltage regulator is a
circuit that provides a precision output voltage under varying load condition
and possibly varying input voltage. Here we need a +5V so that the output of
the filter is fed to LM 7805, a voltage regulator which gives an output voltage
of +5v dc.
Voltage
Regulator LM7805C:
The LM78XXC monolithic
3-terminal positive voltage regulators employ internal Current-limiting,
thermal shutdown and safe-area compensation, making them essentially
indestructible. If adequate heat sinking is provided, they can deliver over 1
.OA output current. They are intended as fixed voltage regulators in a wide
range of applications including on-card regulation for elimination of noise and
distribution problems associated with single-point regulation. In addition to
use as fixed voltage regulators, these devices can be used with external
components to obtain adjustable output voltages and currents.
SOURCE
CODE:
/* PORT ASSFNGMENT:-
P0->LCD DATA LINES P1->ADC DATA P3.4->SELECT
LINE A P3.5->SELECT LINE B P3.6->SELECT LINE C P2.5->LCD RS
P2.6->LCD E P2.7->LCD R/W */
ORG 0000H AJMP 0020H; ORG 0020H
MAINE
MAINE
LOC:
MOV P1.#0FFH; ACALL DISPINIT; MOV A,#80H; ACALL CWRT; ACALL DORG; MOV
A,#0C0H ACALL CWRT; ACALL DORG1; ACALL ADCREAD; MOV R5,#0FFH; ACALL DELAY; MOV
R5,#0FFH; ACALL DELAY; MOV R5.#0FFH; ACALL DELAY; JMP MAIN1 ;
PORT 1 AS I/P
FIRST LINE OF LCD
INITIALIZING ;SECOND LINE OF LCD
CLR A;
MOV DPTR,#8F8H; ACALL DSEND; MOV R5,#02H;
LOADING; CALL DELAY;
clr a;
mov dptr,#911h; acall dsend; ret;
load gsm
temp
I* ****************** display
initialisation* * *******************/
dispinit:
mov a,#38h; acall cwrt; mov a,#14h;
acall cwrt; mov a,#0ch;
acall cwrt; mov a,#01h; acall cwrt; ret;
lcd 5*7&2lines
display on curser not blink
display on curser not blink
display clear
mov p0,a; clr p2.5; setb p2.6; acall sdelay; clr p2.6; acall sdelay;
setb p2.6; ret;
rs->0 e->1
e->0
e->1
/********************q^'t'^ write to
lcd*************************/ dwrt:
mov p0,a;
setb
p2.5; rs->1
setbp2.6; e->1
acall sdelay;
acall sdelay;
clr p2.6; e->0
acall sdelay;.
acall sdelay;.
setb
p2.6; e->1
acall sdelay;
ret;
short delay*******************/
sdelay:
MOV r3,#10h;
LOCI: djnz r3,LOCl;
LOCI: djnz r3,LOCl;
ret;
/*************************l)ata send to
lcd**************/ dsend:
clr a;
acall sdelay; movc a,@a+dptr; cjne a,#00h,loc4; ret;
loc4:
acall dwrt; inc dptr; sjmp
dsend;
delay: mov r4, #0ffh;
here: djnz r4, here;
djnz r5, delay;
ret;
adcread:
mov p1,#0ffh; port 1 as i/p
clr p3.4;
clrp3.5; add select
clr p3.6;
clr p3.7;ale
acall sdelay;
setb p3.7;
acall sdelay;
clr p3.7;
mov r5,#010h;
call delay;
mov a,p 1; reading adc
anl a,#1fh;
mov r7.a;
setb p3.5;
clr p3.7;ale
acall sdelay;
setb p3.7:
acall sdelay;
clrp3.7;
mov r5,#010h;
call delay;
mov a,p1;
anl a,#1fh;
add a,r7
rrc a;
mov r6.#030h; jc five;
carry: mov r7,a;
clrc
subb a,#018h; jnc alarm; mov a.r7; acall conve; mov
a,r0; acall dwrt; mov a,r1; acall dwrt; mov a.r2; acall dwrt; mov a,#02eh;
acall dwrt;
mov a,r6; adding decimal point &
display
acall
dwrt;
loc3: ret;
loc3: ret;
^**si:********h<******i_jc7^ to f3CD (conversion***********************/
conve:
mov r(),#30h; mov r1,#30H; mov r2,#30h mov b,#02h; mul
ab; mov b,#64h
LOC2:
DIV AB; ADD A?R0 MOV RO.A; MOV A,B; JZ LOC2; MOV B.#0AH; DIV
AB; ADD A.Rl; MOV Rl.A; MOV A,B JZ LOC2; ADD A,R2; MOV R2,A; RET;
ALARM* * *************
**/
ALARM:
MOV A,#01H; ACALL CWRT; MOV R5,#02H; ACALL DELAY; MOV A,#80H; ACALL
CWRT; MOV R5,#02H; ACALL DELAY; CLR A;
MOV DPTR,#91BH; ACALL DSEND; CALL SERIALROUTINE; JMP
LOC3;
CALL DELAY;
CALL DELAY;
y***************** * *S£RiALROUTINE* *
*******************************/
SERIALROUTINE:
UARTINIT:
MOV
TMOD,#020H;#10H
MOV TH1,#0FDH MOV SCON,#050H;#10H SETB TR1 CLRTF1
MOV PCON,#070H
TIMER1 IN MODE [(ADC)JIMERO IN MODE 2(RS232) BAUD RATE
SET SERIAL MODE
RUN TIMERO
•
******************************************************************!(:*
;TX_CHAR TRANSMIT ONE CHAR. THRO' SERIAL INTERFACE
;INPUT CHAR. TO BE TRANSMITTED IN ACC.
TX CHAR:
TRANS 1:
SKIP:
HERE2:
MOV DPTR,#800H
MOV R5,#010H ACALL DELAY CLR A
MOVC A,@A+DPTR; CINE A,#00H,SKIP JMP OVE;
INC DPTR; MOV SBUF, A
JNB Tl, HERE2 CLR Tl
SKIPTX: OVE:
JMP TRANS 1; RET:
/
DATA TO BE
DISPLAYED**********
ORG 800H
ORG 900H
END
DB "ATD9995238051;" DB ODH: DB 00H
DB " INITIALIZING " DB 00H;
DB "GSM TEMP:"; DB
00H;
DB " ALARM!!!"; DB 00H;
Download full project here