Beruflich Dokumente
Kultur Dokumente
Existing System
There is no proper system for measuring the stability of the buildings hence we go for the
proposed system.
Proposed System
In this project we have MEMS accelerometer to sense the shaking of the building which
in sends to the microcontroller which in turn sends to the monitoring section through Zigbee
wireless technology. Here we have three sections, the two floor sections has PIC microcontroller,
Zigbee device and MEMS accelerometer. The monitoring section has PC and a Zigbee wireless
device, which will collect the data from the floor sections and analyze the stability of the
building.
Block Diagram
Floor 1:
2.4GHZ
MEMS Accelerometer
PIC
Micro
Controller
LCD
Floor 2:
2.4GHZ
MEMS Accelerometer
PIC
Micro
Controller
LCD
Monitoring Section:
2.4GHZ
PC with .Net
No. of Units:
1. Power supply unit
The supply of 5V DC given to the system, which is converted from 230V AC supply.
Firstly, the step down transformer used here is for converting the 230V AC into 12V AC. The
microcontroller will support only the DC supply, so the AC supply is converted to DC using the
bridge rectifier. The output of the rectifier will have ripples so we are using the 2200uf capacitor
for filtering those ripples. The output from the filter is given to the 7805 voltage regulator, which
will convert the 12V DC into 5V DC. The output from the regulator will be filtered using the
1000uf capacitor, so the pure 5V DC is getting as the output from the power supply unit.
2. Microcontroller Unit
2. PIC 16F877A Microcontroller:
The PIC16F877A CMOS FLASH-based 8-bit microcontroller is upward compatible with
the PIC16C5x, PIC12Cxxx and PIC16C7x devices. It features 200 ns instruction execution, 256
bytes of EEPROM data memory, self programming, an ICD, 2 Comparators, 8 channels of 10-bit
3. Communication Unit
ZIGBEE module
Node 1 and Node 2 Zigbee transmit the vibration parameters. Monitoring section receives
4. Display Unit
LCD
A liquid crystal display (LCD) is a flat panel display, electronic visual display, or video
display that uses the light modulating properties of liquid crystals (LCs). LCDs do not emit
light directly. Here the LCD is used to display the condition of the Building.
PC
PC is used to monitor the building status and intimate the status to the human.
5. Software Unit
Software is used to compile the coding of the desired application for the corresponding
embedded system.
MPLAB IDE:
MPLAB IDE (Integrated Development Environment) is used for editing, compiling codes
as well as simulating them using an inbuilt simulator.
MPLAB X Integrated Development Environment brings many changes to the PIC
microcontroller development tool chain. Unlike previous versions of MPLAB which were
developed completely in-house, MPLAB X is based on the open source Net Beans IDE from
Oracle. Taking this path has allowed us to add many frequently requested features very quickly
and easily while also providing us with a much more extensible architecture to bring you even
more new features in the future.
Given
Given Input:
230V AC supply is given as the input to the power supply unit.
Expected Output:
The 5V DC supply is getting as the output from the power supply unit.
Microcontroller Unit
PIC 16F877A Microcontroller:
Given input
The floor 1 and floor 2 MEMS is the input of the microcontroller.
Expected output
Zigbee device transmit information to the control unit.
Display unit
LCD:
Given input
The microcontroller gives input to the LCD module.
Expected output
Communication unit
Zigbee:
Given input
ZigBee device receive information from the floor 1 and floor 2.
Expected output
Zigbee device transmit information from the PIC to the control section.
PC:
Given input
Zigbee is given as input to the PC to monitor the data.
Expected output
The control signal is given to the microcontroller via Zigbee.
The power supply section is the important one. It should deliver constant output regulated
power supply for successful working of the project. A 0-12V/1 mA transformer is used for this
purpose. The primary of this transformer is connected in to main supply through on/off switch&
fuse for protecting from overload and short circuit protection. The secondary is connected to the
diodes to convert 12V AC to 12V DC voltage. And filtered by the capacitors, which is further
regulated to +5v, by using IC 7805.
PIC Microcontroller:
Analog Applications:
10-bit, up to 8-channel Analog-to-Digital Converter (A/D), Brown-out Reset (BOR), Analog Comparator
module with, Two analog comparators
Programmable input multiplexing from device inputs and internal voltage reference, Comparator outputs
are externally accessible
of EEPROM Data Memory, Pinout compatible to other 28-pin or 40/44-pin PIC16CXXX and
PIC16FXXX microcontrollers
Peripheral Details:
Timer0: 8-bit timer/counter with 8-bit prescaler, Timer1: 16-bit timer/counter with prescaler, can be
incremented during Sleep via external crystal/clock, Timer2: 8-bit timer/counter with 8-bit period register,
prescaler and postscaler, Two Capture, Compare, PWM modules, Capture is 16-bit max, resolution is 12.5
ns Compare is 16-bit max, resolution is 200 ns, PWM max, resolution is 10-bit Synchronous Serial Port
(SSP) with SPI (Master mode) and I2C (Master/Slave), Universal Synchronous Asynchronous Receiver
Transmitter (USART/SCI) with 9-bit address detection, Parallel Slave Port (PSP) 8 bits wide with
external RD, WR and CS controls (40/44-pin only), Brown-out detection circuitry for Brown-out Reset
(BOR).
CMOS Technology:
Low-power, high-speed Flash/EEPROM technology, Fully static design, Wide operating voltage range
(2.0V to 5.5V), Commercial and Industrial temperature ranges, Low-power consumption.
The power supply section is the important one. It should deliver constant
output regulated power supply for successful working of the project. A 0-12V/1 mA
transformer is used for this purpose.
The primary of this transformer is connected in to main supply through on/of
switch& fuse for protecting from overload and short circuit protection. The
secondary is connected to the diodes to convert 12V AC to 12V DC voltage. And
filtered by the capacitors , Which is further regulated to +5v, by using IC 7805.
INTRODUCTION OF PIC16F877A:
The PIC16F877A CMOS FLASH-based 8-bit microcontroller is upward compatible with
the PIC16C5x, PIC12Cxxx and PIC16C7x devices. It features 200 ns instruction
execution, 256 bytes of EEPROM data memory, self programming, an ICD, 2
15 Interrupt Sources
35 single-word instructions
Peripheral Features
10-bit PWM
SPI Master
Analog Features
Brown-Out Reset
2 analog comparators
Pin
Data Memory This is RAM memory type, which contains a special registers
like SFR (Special Faction Register) and GPR (General Purpose Register). The
variables that we store in the Data Memory during the program are deleted
after we turn of the micro.
These two memories have separated data buses, which makes the access to
each one of them very easy.
Each one of them has a diferent role. Program Memory and Data Memory two
memories that are needed to build a program, and Data EEPROM is used to save
Program Counter (PC) keeps track of the program execution by holding the address
of the current instruction. It is automatically incremented to the next instruction
during the current instruction execution.
The PIC16F87XA family has an 8-level deep x 13-bit wide hardware stack. The stack
space is not part of either program or data space and the stack pointer is not
readable or writable. In the PIC microcontrollers, this is a special block of RAM
memory used only for this purpose.
The CALL instruction is used to jump to a subroutine, which must be terminated with
the RETURN instruction. CALL has the address of the first instruction in the
subroutine as its operand. When the CALL instruction is executed, the destination
address is copied to the PC. The PC is PUSHed onto the stack when a CALL
instruction is executed, or an interrupt causes a branch. The stack is POPed in the
event of a RETURN, RETLW or a RETFIE instruction execution.
The stack operates as a circular bufer. This means that after the stack has been
PUSHed eight times, the ninth push overwrites the value that was stored from the
first push. The tenth push overwrites the second push (and so on).
Each time the main program execution starts at address 0000 - Reset Vector. The
address 0004 is reserved for the interrupt service routine (ISR).
If we plan to use an interrupt, our program will begin after the Interrupt Vector; and
if not we can start to write from the beginning of the Reset Vector.
Some of the memory is divided into the pages that are designed for write/burn the
program into them; the remaining memory (Stack, Interrupt Vector, and Reset
Vector) is hardware registers.
Attention!
Program Memory is divided into the pages, where the program is stored. Data
Memory is divided into the banks. The banks are located inside the RAM, where the
special registers and the data located.
Each bank extends up to 7Fh (128 bytes). The lower locations of each bank are reserved for the
Special Function Registers. Above the Special Function Registers are General Purpose Registers,
implemented as static RAM. While program is being executed, it is working with the particular
bank. The default bank is BANK0.
To access a register that is located in another bank, one should access it inside the program.
There are special registers which can be accessed from any bank, such as STATUS register.
In most cases, this register is used to switch between the banks (Register Bank Select), but also
has other capabilities.
IRP - Register Bank Select bit, used for indirect addressing method.
RP1:RP0: - Register Bank Select bits, used for direct addressing method.
To distinguish between the two methods, at this point, the will use the definition of fundamental
concepts. Later on, the two methods will be studied in detail.
When the IRP Equal to 0, the program will work with banks 0, 1.
When the IRP Equal to 1, the program will work with banks 2, 3.
The following table demonstrates, which of the Banks the program is working with, based on the
selection of the RP0 and RP1 bits:
RP1:RP0
BANK
00
01
10
11
In the first line, we are in changing/setting the 5th bit, RP0, in the STATUS register to 1, and
thus, base on the table we are switching/selecting Bank 1. After PortB was set as output in the
second line, we switched back to Bank 0 by in changing/setting the 5th bit, RP0, in the STATUS
register to 0, in the third line.
C: Carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions)
1 = A carry-out from the Most Significant bit of the result occurred
0 = No carry-out from the Most Significant bit of the result occurred
An example of using STATUS register and Carry/borrow bit:
1. Movlw 200
2. Addwf 100, 0
In this example, we are assigning value of 200 to the W (working) register. Then, we are adding
the value of 100 and the W register together. The result is stored in W register and should be 300
(200+100).
However, the maximum value is 256, resulting in carry out. The C (bit 0) of the STATUS register
becomes 1 (C = 1). Register W will contain the reminder: 44.
DC: Digit carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions) (for borrow,
the polarity is reversed)
1 = A carry-out from the 4th low order bit of the result occurred
0 = No carry-out from the 4th low order bit of the result
Z: Zero bit
1 = The result of an arithmetic or logic operation is zero
0 = The result of an arithmetic or logic operation is not zero
The bits 3 and 4 are used with WDT - Watchdog Timer.
PD: Power-down bit
1 = After power-up or by the CLRWDT instruction
0 = By execution of the SLEEP instruction
TO: Time-out bit
1 = After power-up, CLRWDT instruction or SLEEP instruction
0 = A WDT time-out occurred
PORT register
The role of the PORT register is to receive the information from an external source (e.g. sensor)
or to send information to the external elements (e.g. LCD). The 28-pin devices have 3 I/O ports,
while the 40/44-pin devices, like PIC16F877, have 5 I/O ports located in the BANK 0.
1. PORTA is a 6-bit wide, bidirectional port. The corresponding data direction
register is TRISA.
Setting a TRISA bit (= 1) will make the corresponding PORTA pin an input.
Clearing a TRISA bit (= 0) will make the corresponding PORTA pin an output.
2. PORTB is an 8-bit wide, bidirectional port. The corresponding data direction
register is TRISB.
Setting a TRISB bit (= 1) will make the corresponding PORTB pin an input.
Clearing a TRISB bit (= 0) will make the corresponding PORTB pin an output.
3. PORTC is an 8-bit wide, bidirectional port. The corresponding data direction
register is TRISC.
Setting a TRISC bit (= 1) will make the corresponding PORTC pin an input.
Clearing a TRISC bit (= 0) will make the corresponding PORTC pin an output.
4. PORTD is an 8-bit port with Schmitt Trigger input bufers. Each pin is
individually configurable as an input or output.
5. PORTE has three pins (RE0/RD/AN5, RE1/WR/AN6 and RE2/CS/AN7) which are
individually configurable as inputs or outputs. These pins have Schmitt
Trigger input bufers.
TRIS register
The TRIS register is data direction register which defines if the specific bit or whole port will be
an input or an output. Each PORT has its own TRIS register. Here's a map of the locations:
BANK0
BANK1
PORTA
TRISA
PORTB
TRISB
PORTC
TRISC
PORTD
TRISD
PORTE
TRISE
The default mode of each TRIS is input. If you want to set a specific port as exit you must
change the state of the TRIS to 0.
Keep in mind: to change a specific port to an output, one should first move to the BANK1, make
the change, and then return to BANK0. The default state of the banks is BANK0.
The running program is working only with one bank at all time. If not set otherwise, then as
stated, the default bank is BANK0. Part of the registers located inside BANK0, and some are not.
When we need to access a register that is not located inside BANK0, we are required to switch
between the banks.
For example, the access to PORT registers is done inside BANK0. However, to change port from
an input to an output and vice versa, we need to access TRIS register that is located inside
BANK1. From the moment we moved to the BANK1, the program will always work with
BANK1; at this time, to access registers inside BANK0, we will have to return to the situation in
which our program will work with BANK0.
Direct and Indirect addressing
Direct Addressing: Using this method we are accessing the registers directly by detecting
location inside Data Memory from Opcode and by selecting the bank using bits RP1 and RP0 of
the STATUS register.
Indirect Addressing: To implement indirect addressing, a File Select Register (FSR) and indirect
register (INDF) are used. In addition, when using this method we choose bank using bit IRP of
the STATUS register. Indirect addressing treated like a stack pointer, allowing much more
efficient work with a number of variables. INDF register is not an actual register (it is a virtual
register that is not found in any bank).
Dont be confused! There is SFR (Special Function Register) - special registers of RAM, and
there is FSR (File Select Register).
It's easy to understand, that direct addressing method means working directly with the variables.
In the second line we put the number 5 into the working register W, and in the line 3, the content
of the W passes to the TEMP variable.
In the second line, we put a value into the W register. In the third line, the value passes to the
FSR register, and from this moment FSR points to the address of the TEMP variable. In the
fourth line, the number 5 passes to the W register, and in the fifth line, we move the contents of
W register (which is 5) to the INDF. In fact INDF performs the following: it takes the number 5
and puts it in the address indicated by FSR register.
When interfacing to the data memory block, EEDATA holds the 8-bit data for read/write and
EEADR holds the address of the EEPROM location being accessed. These devices have 128 or
256 bytes of data EEPROM (depending on the device), with an address range from 00h to FFh.
On devices with 128 bytes, addresses from 80h to FFh are unimplemented.
A few important points about Data EEPROM memory:
You can read the data memory during the programming and use it
At this point there is no need to learn how to use this memory with special registers, because
there are functions (writing and reading) that are ready.
To write to an EEPROM data location, the user must first write the address to the EEADR
register and the data to the EEDATA register. Then the user must follow a specific write
sequence to initiate the write for each byte.
BSF STATUS, RP1 ;
BSF STATUS, RP0 ; Bank 3
BTFSC EECON1, WR ;Wait for write
GOTO $-1 ;to complete
BCF STATUS, RP0 ;Bank 2
MOVF DATA_EE_ADDR, W ;Data Memory
MOVWF EEADR ;Address to write
MOVF DATA_EE_DATA, W ;Data Memory Value
MOVWF EEDATA ;to write
BSF STATUS, RP0 ;Bank 3
BCF EECON1, EEPGD ;Point to DATA memory
BSF EECON1, WREN ;Enable writes
BCF INTCON, GIE ;Disable INTs.
MOVLW 55h ;
MOVWF EECON2 ;Write 55h
MOVLW AAh ;
MOVWF EECON2 ;Write AAh
BSF EECON1, WR ;Set WR bit to begin write
PIC Timer0:
Many times, we plan and build systems that perform various processes that depend
on time.
Simple example of this process is the digital wristwatch. The role of this electronic
system is to display time in a very precise manner and change the display every
second (for seconds), every minute (for minutes) and so on.
To perform the steps we've listed, the system must use a timer, which needs to be
very accurate in order to take necessary actions. The clock is actually a core of any
electronic system.
In this PIC timer module tutorial we will study the existing PIC timer modules. The
microcontroller PIC16F877 has 3 diferent timers:
PIC Timer0
PIC Timer1
PIC Timer2
We can use these timers for various important purposes. So far we used delay
procedure to implement some delay in the program, that was counting up to a
specific value, before the program could be continued. "Delay procedure" had two
disadvantages:
we could not say exactly how long the Delay procedure was in progress
we could not perform any further steps while the program executes the
"delay procedure"
Now, using Timers we can build a very precise time delays which will be based on
the system clock and allow us to achieve our desired time delay well-known in
advance.
In order for us to know how to work with these timers, we need to learn some things
about each one of them. We will study each one separately.
PIC Timer0
The Timer0 module timer/counter has the following features:
8-bit timer/counter
1:2
1:4
1:8
1:16
1:32
1:64
1:128
1:256
What is the output frequency - Fout, when the external oscillator is 100kHz and Count=8?
Calculation:
First, lets assume that the frequency division by the Prescaler will be 1:256. Second, lets set
TMR0=0. Thus:
PIC Timer1:
The Timer1 module, timer/counter, has the following features:
TMR1H
TMR1L
It increments from 0000h to the maximum value of 0xFFFFh (or 0 b1111 1111 1111
1111 or 65,535 decimal). The TMR1 interrupt, if enabled, is generated on overflow
which is latched in interrupt flag bit, TMR1IF (PIR1<0>). This interrupt can be
This flag marks the end of ONE cycle count. The flag need to be reset in the
software if you want to do another cycle count. We can read the value of the
register TMR1 and write into. We can reset its value at any given moment (write) or
we can check if there is a certain numeric value that we need (read).
Prescaler Frequency divider.
We can use Prescaler for further division of the system clock. The size of the register
is 2-bit only, so you can make four diferent division. The options are:
1:1
1:2
1:4
1:8
You can choose whether to use an internal system clock (crystal) or external
oscillator that can be connected to a pin RC0.
external oscillator).
Count - A numeric value to be placed to obtain the desired output frequency - Fout.
(256 - TMR1) - The number of times in the timer will count based on the register TMR0.
If using EXTERNAL clock source (oscillator), the division is performed as follow:
Suppose we want to create a delay of 2 second in the our program using Timer1. What is the
value of Count?
Calculation:
First, lets assume that the frequency division by the Prescaler will be 1:1. Second, lets set
TMR1=0, which means the TMR1 will count 65,536 times. Thus:
PIC Timer2:
The Timer2 module has the following features:
two 8-bit registers (TMR2 and PR2)
readable and writable
prescaler and a postscaler
connected only to an internal clock - 4 MHz crystal
Interrupt on overflow
Lets explain the features we have listed above:
Timer2 has 2 count registers: TMR2 and PR2. The size of each registers is 8-bit in
which we can write numbers from 0 to 255. The TMR2 register is readable and
writable and is cleared on any device Reset. PR2 is a readable and writable register
and initialized to FFh upon Reset.
Register TMR2 is used to store the initial count value (the value from which it
begins to count). Register PR2 is used to store the ending count value (the
maximum value we need/want to reach). ie: using Timer2 we can determine the
started count value, the final count value, and the count will be between these two
values. The Timer2 increments from 00h until it matches PR2 and then resets to 00h
on the next increment cycle.
Prescaler and Postscaler - Timer2 is an 8-bit timer with a prescaler and a
postscaler. Each allows to make additional division of the frequency clock source.
Prescaler divides the frequency clock source BEFORE the counting take place at the
register TMR2, thus the counting inside the TMR2 register is performed based on the
divided frequency clock source by the Prescaler
The match output of TMR2 goes through a 4-bit postscaler (which gives a 1:1 to
1:16 scaling inclusive) to generate a TMR2 interrupt (latched in flag bit, TMR2IF
(PIR1<1>)).
Postscaler divides the frequency that comes out of the Comparator again for the
last time.
TIMER2 Prescaler and Postscaler
As we can see, the size of the register is 8 bits. Lets explore the relevant bits:
T2CKPS1:T2CKPS0: Timer2 Clock Prescale Select bits
The input clock (FOSC/4) has a prescale option of 1:1, 1:4 or 1:16, selected by
control bits T2CKPS1:T2CKPS0 (T2CON<1:0>).
00 = Prescaler is 1
01 = Prescaler is 4
1x = Prescaler is 16
=
=
=
=
1:1 postscale
1:2 postscale
1:3 postscale
1:16 postscale
Max323 Driver/Receiver
We will show how to set USART in order to allow communication between PIC to PIC
or between PIC to a personal computer. We will start with the definition of media
concepts. There are two options to diferentiate when speaking about transmission
of information on the transmission lines:
serial communication
parallel communication
In order to understand what serial communication is, and emphasize the diference
between serial communication and parallel communication, lets take a look at the
following example:
We have a multi-bit word, and we want to transmit it from one computer to the
second computer.
Using the serial communication:
When using the serial communication we transmit the multi-bit word bit after bit
(when at any given moment only one bit will pass).
Synchronous communication
Asynchronous communication
Synchronous communication
in sequence
That means that the transmitter and the receiver are synchronized between them
by the same clock frequency. The clock frequency can be transmitted along with the
information, while it is encoded in the information itself, or in many cases there is
an additional wire for the clock.
This type of communication is faster compare to the asynchronous communication
since it is "constantly transmitting the information, with no stops.
Asynchronous communication
When using the asynchronous communication - the transmitter and the receiver refraining to
transmit long sequences of bits because there isn't a full synchronization between the transmitter,
that sends the data, and the receiver, that receives the data.
In this case, the information is divided into frames, in the size of byte. Each one of
the frame has:
To enable the serial communication with PIC micro we must set diferent parameters
within two registers: (click the links for the explanation of each bit)
1. TXSTA - Transmit Status and Control Register
Display unit
Liquid crystal displays:
The LCD standard requires 3 control lines and 8 I/O lines for the data bus.
8 data pins D7:D0
Bi-directional data/command pins.
Alphanumeric characters are sent in ASCII format.
The 8 data lines are connected to PORT 1 of 8051 microcontroller. The three control
lines( RS,RW and EN ) are connected to PORT 3.5,3.6 and 3.7 respectively.
ZIGBEE
ZigBee is a wireless technology developed as an open global standard to address the
unique needs of low-cost, low-power, wireless sensor networks. The standard takes full
advantage of the IEEE 802.15.4 physical radio specification and operates in unlicensed bands
worldwide at the following frequencies: 2.4002.484 GHz, 902-928 MHz and 868.0868.6 MHz
1. The power levels (down from 5v to 3.3v) to power the Zigbee module.
2. The communication lines (TX, RX, DIN and DOUT) to the appropriate voltages.
The Zigbee module acts as both transmitter and receiver. The Rx and Tx pins of ZIGBEE are
connected to Tx and Rx of 8051 microcontroller respectively. The datas from microcontroller is
serially transmitted to Zigbee module via UART port. Then Zigbee transmits the data to another
Zigbee. The datas from Zigbee transmitted from Dout pin. The Zigbee from other side receives
the data via Din pin.
Application Profile
ZigBee Stack
IEEE 802.15.4
Compliant
Platform
Overview
ZigBee is a low-cost, low-power, wireless mesh networking proprietary
standard. The low cost allows the technology to be widely deployed in
wireless control and monitoring applications, the low power-usage
allows longer life with smaller batteries, and the mesh networking
provides high reliability and larger range.
The ZigBee Alliance, the standards body that defines ZigBee, also
publishes application profiles that allow multiple OEM vendors to create
interoperable products. The current list of application profiles either
published or in the works are:
Home Automation
ZigBee Smart Energy
Commercial Building Automation
Telecommunication Applications
Personal, Home, and Hospital Care
Toys
The relationship between IEEE 802.15.4 and ZigBee is similar to that
between IEEE 802.11 and the Wi-Fi Alliance. The ZigBee 1.0
specification was ratified on 14 December 2004 and is available to
members of the ZigBee Alliance. Most recently, the ZigBee 2007
specification was posted on 30 October 2007. The first ZigBee
Application Profile, Home Automation, was announced 2 November
2007.
ARCHITECTURE:
Though WPAN implies a reach of only a few meters, 30
feet in the case of ZigBee, the network will have several
layers, so designed as to enable intrapersonal
communication within the network, connection to a
network of higher level and ultimately an uplink to the
Web.
DEVICE TYPES
There are three diferent ZigBee device types that
operate on these layers in any self-organizing application
network.
These devices have 64-bit IEEE addresses, with option to
enable shorter addresses to reduce packet size, and work
in either of two addressing modes star and peer-to-peer.
TECHNOLOGY COMPARISONS
The Why ZigBee question has always had an implied, but never quite
worded follower phrase when there is Bluetooth. A comparative
study of the two can be found in ZigBee: 'Wireless Control That Simply
Works' .
The bandwidth of Bluetooth is 1 Mbps, ZigBee's is one-fourth of this
value. The strength of Bluetooth lies in its ability to allow
interoperability and replacement of cables, ZigBee's, of course, is low
costs and long battery life.
In terms of protocol stack size, ZigBee's 32 KB is about one-third of the
stack size necessary in other wireless technologies (for limited capability
end devices, the stack size is as low as 4 KB).
Most important in any meaningful comparison are the
diverse application areas of all the diferent wireless
technologies. Bluetooth is meant for such target areas as
wireless USB's, handsets and headsets, whereas ZigBee is
meant to cater to the sensors and remote controls market
and other battery operated products.
In a gist, it may be said that they are neither
complementary standards nor competitors, but just
essential standards for diferent targeted applications.
The earlier Bluetooth targets interfaces between PDA and
other device (mobile phone / printer etc) and cordless
audio applications.
ZIGBEE CHARACTERISTICS
The focus of network applications under the IEEE 802.15.4 / ZigBee
standard include the features of low power consumption, needed for only
two major modes (Tx/Rx or Sleep), high density of nodes per network,
low costs and simple implementation.
These features are enabled by the following characteristics:
2.4GHz and 868/915 MHz dual PHY modes. This represents three
license-free bands: 2.4-2.4835 GHz, 868-870 MHz and 902-928 MHz.
The number of channels allotted to each frequency band is fixed at
sixteen (numbered 11-26), one (numbered 0) and ten (numbered 1-10)
respectively. The higher frequency band is applicable worldwide, and
the lower band in the areas of North America, Europe, Australia and
New Zealand .
Low power consumption, with battery life ranging from months to
years. Considering the number of devices with remotes in use at present,
it is easy to see that more numbers of batteries need to be provisioned
every so often, entailing regular (as well as timely), recurring
expenditure. In the ZigBee standard, longer battery life is achievable by
either of two means: continuous network connection and slow but sure
battery drain, or intermittent connection and even slower battery drain.
Maximum data rates allowed for each of these frequency bands are
fixed as 250 kbps @2.4 GHz, 40 kbps @ 915 MHz, and 20 kbps @868
MHz.
High throughput and low latency for low duty-cycle applications
(<0.1%)
Channel access using Carrier Sense Multiple Access with Collision
Avoidance (CSMA - CA)
Addressing space of up to 64 bit IEEE address devices, 65,535
networks
50m typical range
Fully reliable hand-shaked data transfer protocol.
Different topologies as illustrated below: star, peer-to-peer, mesh
Licensing
For non-commercial purposes, the ZigBee specification is available free
to the general public. An entry level membership in the ZigBee Alliance,
called Adopter, provides access to the as-yet unpublished specifications
and permission to create products for market using the specifications.
The click through license on the ZigBee specification requires a
commercial developer to join the ZigBee Alliance. "No part of this
specification may be used in development of a product for sale without
becoming a member of ZigBee Alliance." The annual fee conflicts with
the GNU General Public License. From the GPL v2, "b) You must cause
any work that you distribute or publish, that in whole or in part contains
or is derived from the Program or any part thereof, to be licensed as a
whole at no charge to all third parties under the terms of this License."
Since the GPL makes no distinction between commercial and noncommercial use it is impossible to implement a GPL licensed ZigBee
stack or combine a ZigBee implementation with GPL licensed code. The
requirement for the developer to join the ZigBee Alliance similarly
conflicts with most other Free software licenses.
Uses
ZigBee protocols are intended for use in embedded applications
requiring low data rates and low power consumption. ZigBee's current
focus is to define a general-purpose, inexpensive, self-organizing mesh
network that can be used for industrial control, embedded sensing,
medical data collection, smoke and intruder warning, building
automation, home automation, etc. The resulting network will use very
MEMS Accelerometers
Micro electromechanical systems (MEMS) is a technology of miniaturization that
has been largely adopted from the integrated circuit (IC) industry and applied to the
miniaturization of all systems not only electrical systems but also mechanical, optical, fluid,
magnetic, etc.
Micro Electromechanical systems or MEMS, represent an extraordinary technology that
promises to transform whole industries and drive the next technological revolution. These
devices can replace bulky actuators and sensors with micron-scale equivalent that can be
produced in large quantities by fabrication processes used in integrated circuits photolithography.
This reduces cost, bulk, weight and power consumption while increasing performance,
production volume, and functionality by orders of magnitude. For example, one well known
MEMS device is the accelerometer (its now being manufactured using mems low cost, small
size, more reliability). Furthermore, it is clear that current MEMS products are simply precursors
to greater and more pervasive applications to come, including genetic and disease testing,
guidance and navigation systems, power generation, RF devices( especially for cell phone
technology), weapon systems, biological and chemical agent detection, and data storage. Micro
mirror based optical switches have already proven their value; several start-up companies
specializing in their development have already been sold to large network companies for
hundreds of millions of dollars. The promise of MEMS is increasingly capturing the attention of
new and old industries alike, as more and more of their challenges are solved with MEMS.
Inertial sensors:
Accelerometers:
On these diagrams, we can see a micro accelerometer device and the chip
including associated electronics, made by Analog Device. This is a two axis micro accelerometer.
This means it is able to measure accelerations in two directions at a time (in the directions of the
plane).
Micro accelerometers were the first MEMS device to flood the market. Micro
accelerometers measure variation of translational speed. So acceleration, deceleration, even very
high deceleration, likeshock! The sensor that detects a shock and launches the airbag is a
micro accelerometer combined with a electronic circuit able to decide whether or not the shock
was an accident or just your car passing a pothole. There are lots of applications, like navigation,
micro accelerometers can help in increasing precision. There are more and more to say about
micro accelerometers, they are still the spearhead of MEMS industry.
Gyroscopes:
Micro gyroscopes are newer in the market compared to micro accelero meters.
Some devices have appeared on the market for navigation application. The key point in these
devices is sensitivity.
MAX 232:
Max 232
CIRCUIT
Hardware Requirements:
PIC Microcontroller
Zigbee
MEMS Accelerometer
Max232
LCD
Software Requirements:
MPLab Compiler
Embedded C
.Net
Advantage
Using Zigbee technology, the control is easily transmitted with individual address.
Its response time is higher than other wireless communications.
Application
Used in Industries and Homes
Controlling all the industrial equipments and monitoring the status of all the
Equipments from a remote place is possible.
CONCLUSION
As the existing system has the above mentioned drawback we need a system to overcome
those drawbacks so we go for the proposed system. This system has modules like Zigbee which
can transmit data few meters where we can monitor from remote place.
FUTURE ENHANCEMENT
The presented wireless system for building monitoring takes advantage of the unique
features of custom-developed MEMS sensors and read-out ASIC combined with an optimized
network and module architecture, to realize a solution which offers long battery lifetime and
potentially low cost in manufacturing, installation and maintenance, while providing high-quality
sensor data at the right time.
REFERENCES
[1] M. Pozzi, D. Zonta, W.Wang, and G. Chen, A framework for evaluating the impact of
structural health monitoring on bridge management, in Proc. 5th Int. Conf. Bridge
Maintenance, Safety Manage., Philadelphia, PA, Jul. 2010, p. 161.
[2] J. P. Lynch and K. J. Loh, A summary review of wireless sensors and sensor networks for
structural health monitoring, Shock Vibrat. Dig.,vol. 38, no. 2, pp. 91128, 2006.
[3] D. Zonta, M. Pozzi, and P. Zanon, Managing the historical heritage using distributed
technologies, Int. J. Arch. Heritage, vol. 2, no. 3, pp. 200225, 2008.
[4] M. Kruger, C. U. Grosse, and P. J. Marron, Wireless structural health monitoring using
MEMS, Key Eng. Mater., vols. 293294, pp. 625634, Sep. 2005.
[5] A. Amditis, Y. Stratakos, D. Bairaktaris, M. Bimpas, S. Camarinopolos, and S. FrondistouYannas, Wireless sensor network for seismic evaluation of concrete buildings, in Proc. 5th
Eur. Workshop Struct. Health Monitor., Sorrento, Italy, Jun.Jul. 2010.
[6] J. Santana, R. van den Hoven, C. van Liempd, M. Colin, N. Saillen, and C. Van Hoof, A 3axis accelerometer and strain sensor system for building integrity monitoring, in Proc. 16th Int.
Conf. Solid-State Sensors, Actuat., Microsyst., Beijing, China, Jun. 2011, pp. 3639.
[7] A. Amditis, Y. Stratakos, D. Bairaktaris, M. Bimpas, S. Camarinopolos, and S. FrondistouYannas, An overview of MEMSCON project: An intelligent wireless sensor network for afterearthquake evaluation of concrete buildings, in Proc. 14th Eur. Conf. Earthquake Eng., Aug.
Sep. 2010.
[8] D. Trapani, D. Zonta, F. Larcher, A. Amditis, N. Bertsch, M. Bimpas, A. Garetsos, N. Saillen,
J. Santana, T. Sterken, Y. Stratakos, T. Torfs, and D. Ulieru, Laboratory validation of MEMSbased sensors for postearthquake damage assessment, in Proc. 8th Int. Workshop Struct. Health
Monitor., Stanford, CA, Sep. 2011, pp. 21652172.