BHARAT INSTITUTE OF TECHNOLOGY ,PRATAPUR BY-PASS
MEERUT ,U.P
NOVEMBER, 2010
Project Report
on
Embedded System
Submitted in partial fulfillment of
Award of the Degree of
[Link].(ECE) (2009–10)
Submitted to: Submitted by:
Amit Bindal NISHANT GAUTAM
(Assistant Pofessor) S(0612831051)
ACKNOWLEDGEMENT
This is to say that Nishant Gautam has worked on the project Embedded
technologies and robotics under the guidance of Mr. Neeraj Kumar .
I am thereby thankful to the faculty for their guidance and support.
Certificate
This is to certify that Nishant Gautam, Student of [Link] (ECE) Program (Batch
2009–10) of this institute has successfully completed their project titled Embedded
technologies and robotics under the guidance of Mr. Neeraj Kumar as a part of
the course curriculum of B. Tech(ECE) Program affiliated to U.P. Technical
University, Lucknow.
To the best of my knowledge this project is an authentic record of
student’s own work. During the execution of this project student’s sincerity
and devotion was found par excellence.
I wish her success at every stage of his career.
Mr. Neeraj Kumar
(Assistant Professor)
INTRODUCTION TO EMBEDDED TECHNOLOGIES AND ROBOTIS
An Embedded System is a microprocessor based system that is embedded as a
subsystem, in a larger system (which may or may not be a computer system).
I
Automotive electronics
Aircraft electronics
Trains
Telecommunication
INTRODUCTION TO TRAINER KIT
The Embedded Development Board provided to you has been designed keeping in
mind the needs of engineering students and enthusiasts so that they can match up
to the present industry standards on latest developments in the rising field of
Embedded Systems Design/Development and is better than any existing boards
available in the market.
The board has been intensively designed to cover all existing features of AVR
microcontrollers and is ready-to-use with its supporting equipment mounted in the
periphery.
FEATURES :
AT mega 16 & 8 microcontrollers with facility of
On-board serial programmer.
Option for In System Programming (ISP) based on externally provided
STK500 platform.
On-board Digital and Analog IR sensors.
RS232 serial interface for establishing connections between the mcu and
computer system.
On-board LED arrays, keypad and external connections for interfacing a
number of devices.
On-board motor driver circuits etc.
PHYSICAL STRUCTURE OF TRAINNER KIT
Microcontroller Module: Primary
Features an ATmega16 microcontroller with
Connectors for Ports A,B,C & D
Aref (reference voltage)
SPI
16MHz external crystal oscillator UART Slave select
Reset switch
Ext. GND
Microcontroller Module: Secondary
Features an Atmega 8 microcontroller with
Connectors for Ports B,C & D
SPI (pin 6,7,8,9,10,11)
16MHz external crystal oscillator
UART
Slave select
Reset switch
Ext. GND
Serial Programmer Module
RS232 Serial Port
Connector for SPI
Serial Interface Module
RS232 Serial port .
Connector for UART.
MAX232 IC & circuitry.
ICs and Microcontrollers Related To The Trainer Kit and
Their Explanations:
Introduction to Atmega 16 Microcontroller
Features
Advanced RISC Architecture
Up to 16 MIPS Throughput at 16 MHz
16K Bytes of In-System Self-Programmable Flash
512 Bytes EEPROM
1K Byte Internal SRAM
32 Programmable I/O Lines
In-System Programming by On-chip Boot Program
8-channel, 10-bit ADC
Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and
Capture
Four PWM Channels
Programmable Serial USART
Master/Slave SPI Serial Interface
Byte-oriented Two-wire Serial Interface
Programmable Watchdog Timer with Separate On-chip Oscillator
External and Internal Interrupt Sources
Pin Descriptions
VCC: Digital supply voltage. (+5V)
GND: Ground. (0 V) Note there are 2 ground Pins.
Port A (PA7 - PA0)
Port A serves as the analog inputs to the A/D Converter. Port A also serves as an 8-
bit bi-directional I/O port, if the A/D Converter is not used. When pins PA0 to PA7
are used as inputs and are externally pulled low, they will source current if the
internal pull-up resistors are activated. The Port A pins are tri-stated when a reset
condition becomes active, even if the clock is not running.
Port B (PB7 - PB0)
Port B is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for
each bit). Port B also serves the functions of various special features of the
ATmega16 as listed on page 58 of datasheet.
Port C (PC7 - PC0)
Port C is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for
each bit). Port C also serves the functions of the JTAG interface and other special
features of the ATmega16 as listed on page 61 of datasheet. If the JTAG interface
is enabled, the pull-up resistors on pins PC5(TDI), PC3(TMS) and PC2(TCK) will
be activated even if a reset occurs.
Port D (PD7 - PD0)
Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for
each bit). Port D also serves the functions of various special features of the
ATmega16 as listed on page 63 of datasheet.
RESET: Reset Input. A low level on this pin for longer than the minimum pulse
length will generate a reset, even if the clock is not running.
XTAL1: External oscillator pin 1
XTAL2: External oscillator pin 2
AVCC: AVCC is the supply voltage pin for Port A and the A/D Converter. It
should be externally connected to VCC, even if the ADC is not used. If the ADC is
used, it should be connected to VCC through a low-pass filter.
AREF: AREF is the analog reference pin for the A/D Converter
ATMEGA 16 DATASHEET AND SPECIFICATION:
• High-performance, Low-power AVR® 8-bit Microcontroller
• Advanced RISC Architecture
– 130 Powerful Instructions – Most Single-clock Cycle Execution
– 32 x 8 General Purpose Working Registers
– Fully Static Operation
– Up to 16 MIPS Throughput at 16 MHz
– On-chip 2-cycle Multiplier
• High Endurance Non-volatile Memory segments
– 8K Bytes of In-System Self-programmable Flash program memory
– 512 Bytes EEPROM
– 1K Byte Internal SRAM
– Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
– Data retention: 20 years at 85°C/100 years at 25°C(1)
– Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
– Programming Lock for Software Security
• Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode
– One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
– Real Time Counter with Separate Oscillator
– Three PWM Channels
– 8-channel ADC in TQFP and QFN/MLF package
Eight Channels 10-bit Accuracy
– 6-channel ADC in PDIP package
Six Channels 10-bit Accuracy
– Byte-oriented Two-wire Serial Interface
– Programmable Serial USART
– Master/Slave SPI Serial Interface
– Programmable Watchdog Timer with Separate On-chip Oscillator
– On-chip Analog Comparator
• Special Microcontroller Features
– Power-on Reset and Programmable Brown-out Detection
– Internal Calibrated RC Oscillator
– External and Internal Interrupt Sources
16 x 2 Character LCD
FEATURES
• 5 x 8 dots with cursor
• Built-in controller (KS 0066 or Equivalent)
• + 5V power supply (Also available for + 3V)
• 1/16 duty cycle
• B/L to be driven by pin 1, pin 2 or pin 15, pin 16 or A.K
(LED)
• N.V. optional for + 3V power supply
NE555
LOW TURN OFF TIME
MAXIMUM OPERATING FREQUENCY
GREATER THAN 500kHz.
TIMING FROM MICROSECONDS TO HOURS OPERATES IN BOTH
ASTABLE AND MONOSTABLE MODES
HIGH OUTPUT CURRENT CAN SOURCE OR SINK 200mA.
ADJUSTABLE DUTY CYCLE.
TTL COMPATIBLE
TEMPERATURE STABILITY OF 0.005% PERoC
DESCRIPTION
The NE555 monolithic timing circuit is a highly stable controller capable of
producing accurate time delays or oscillation. In the time delay mode of operation,
the time is precisely controlled by one external resistor and capacitor. For a stable
operation as an oscillator,the free running frequency and the duty cycle are both
accurately controlled with two external resistors and one capacitor. The circuit may
be triggered and reset on falling waveforms, and the output structure can source or
sink up to 200mA. The
NE555 is available in plastic and ceramic minidip package and in a 8-lead
micropackage and in metal can package version.
L293:
Featuring Unitrode L293 and L293D
Products Now From Texas Instruments
Wide Supply-Voltage Range: 4.5 V to 36 V
Separate Input-Logic Supply
Internal ESD Protection
Thermal Shutdown
High-Noise-Immunity Inputs
Functional Replacements for SGS L293 and SGS L293D
Output Current 1 A Per Channel (600 mA for L293D)
Peak Output Current 2 A Per Channel(1.2 A for L293D)
Output Clamp Diodes for Inductive
Transient Suppression (L293D)
SOFTWARE USED AND THEIR DISCRIPTION
CODEVISION AVR
The purpose of this application note is to guide the user through the preparation of
an example C program using the CodeVision AVR C compiler. The example,
which is the subject of this application note, is a simple program for the Atmel
AT90S8515 microcontroller on the STK500 starter kit.
Compiler / IDE (Integrated Development Environment)
Atmel Microcontrollers are very famous as they are very easy to use. There are
many development tools available for them. First of all we need an easy IDE for
developing code. I suggest beginners to use CVAVR (Code Vision AVR)
Evaluation version is available for free download from the website. It has
limitation of code size. It works on computers with Windows platform that is
Windows XP & Vista.
Some famous compilers/development tools supporting Windows for Atmel
Microcontrollers are:
WINAVR (AVRGCC for Windows)
Code Vision AVR (CVAVR)
AVR Studio (Atmel's free developing tool)
AVRGCC is a very nice open source compiler used by most of the people.
Docklight
To communicate with the computer, we need a terminal where you can send data
through keyboard and the received data can be displayed on the screen. There are
many softwares which provide such terminal, but we will be using Docklight. Its
evaluation version is free for download on internet, which is sufficient for our
purpose.
Docklight is a test, analysis and simulation tool for serial communication
protocols (RS232, RS485/422 and others). It allows you to monitor the
communication between two serial devices or to test the serial communication
of a single device. Docklight is easy to use and runs on almost any standard PC
using Windows Vista, Windows XP, Windows 2000, Windows NT or Windows 98
Operating system.
Docklight Scripting provides an easy-to-use program language and a built-in
editor to create and run automated test jobs. Docklight Scripting is network-
enabled and allows TCP or UDP connections.
ATPROG
ATPROG is a software which burns the program on the microcontrollers
and execute the program on [Link] has following features:
Programs AVR's in the Low-voltage Serial Programming Mode
In-system Programming
Connects via Parallel- or Com-Port
Write, readback and verify Flash- and EEProm Memory
Direct connection between Parallel Port and AVR
Loads files with Intel- and Readback-Format
To ensure TTL-compatibility, the supply voltage to the AVR chip
being programmed must be close to 5 V.
APPLICATIONS
Embedded system have a various application in different fields ,
so these are :
Automotive Electronics.
Aircraft electronics.
Trains.
Telecommunications.
Military Systems.
Medical Systems.
Military Systems
In the military ststems like RADAR , MISSILE TELEMETRY
Embedded system plays very vital role in the defence activity.
Using embedded system , varios chips have been made which
can produce different operations .
Aircraft Electronics
Embedded in aircraft systems is used in highly complex
RADAR equipment due to which there is ease of working for
the pilots to have a complete control over the flying machine.
Telecommunications
Chips made using embedded technologies have been using in
the telecommunication services to increase the quality of service
of the signals .
It also helps in the factor of congestion , means in determining
the number of users.
Congestion is defined as the situation in which the number
of users over the communicating channel.
Medical Systems
In the medical areas this embedded technology is very important
as in the uses of the working out in different machines like MRI(
Megnatic Resonance Imaging) , X-ray and other medical
equipments.
CLASSIFICATION OF EMBEDDED SYSTEMS
Embedded systems can be mainly classified as
Distributed and non Distributed
Reactive and transformational.
Control Dominated and Data Dominated.
ROBOTICS AND AUTOMATION
Motors and Motor Drivers
Introduction to Motors
Device used to convert electrical energy into mechanical energy is called a motor.
A motor is very useful in robotics and embedded systems to give movement and
designing control systems.
Some Motors used in embedded systems and robotics are described as below:
i. Stepper motors
ii. Servo motors
iii. Geared DC Motors
Stepper motors
A motor which divides its full rotation into a large number of steps is called a
stepper motor. These steps help in precise, step by stepmovement of the rotor
giving precise control over movement.
The shaft of stepper motor has permanent magnets attached to it. The rotor is
surrounded by series of coils which can be turned on and off and the magnetic field
change causes the rotor to [Link] the movement is controlled by turning coils on
or off, it is easier to program the movements of stepper motor using
microcontrollers.
These motors are also called open loop systems and do not have any feedback
mechanism. These have very simple design and are often less [Link] motors
are used in variety of devices like linear actuators, printers etc.
Servo motors
A servo motor is defined as the motor that allows more precise control of position,
velocity, or torque using feedback loops. These feedback loops help in stability
analysis and give better control over movement. These are also called closed loop
systems.
These motors cannot rotate continually and hence cannot be used for driving
wheels. These motors usually have a 90-180 degree movement. Servo motors are
normally used in machine tools and automation robots.
Programming these motors is more complex.
Geared DC motors
Gear motors are motors with an integrated gearbox. The function of gearbox is to
increase torque generating capacity of the motor reducing its output speed.
Hence, the need for speed reducing arrangement is eliminated. Geared motors
have a variety of applications. Some of its uses are as in wheelchairs, stair wheels
etc.
STEPPER MOTOR
SERVOMOTOR
GEARED DC MOTOR
H- Bridge:
It is an electronic circuit which enables a voltage to be applied across a load
in either direction.
It allows a circuit full control over a standard electric DC motor. That is,
with an H-bridge, a microcontroller, logic chip, or remote control can
electronically command the motor to go forward, reverse, brake, and coast.
H-bridges are available as integrated circuits, or can be built from discrete
components.
A "double pole double throw" relay can generally achieve the same
electrical functionality as an H-bridge, but an H-bridge would be preferable
where a smaller physical size is needed, high speed switching, low driving
voltage, or where the wearing out of mechanical parts is undesirable.
The term "H-bridge" is derived from the typical graphical representation of
such a circuit, which is built with four switches, either solid-state (eg, L293/
L298) or mechanical (eg, relays).
Bibliography
Papers:
1- IEEE standard for embedded systems and technologies.
Websites:
1- [Link]
2- [Link]
3- [Link]
4- [Link]
5- [Link]