Professional Documents
Culture Documents
CHAPTER 1
INTRODUCTION
Autonomous robots are electromechanical devices that are programmed to achieve
several goals. They are involved in a few tasks such as moving and lifting objects,
gathering information related to temperature and humidity, and follow walls. From a
systems engineering point of view, a well designed autonomous robot has to be adaptable
enough to control its actions. In addition, it needs to perform desired tasks precisely and
accurately.
The overall objective of this project is to follow a wall on its left and maintain a constant
distance with it. (Left sides and right sides are considered from robots point of view
unless it is specified.) In general, the robotic chassis are designed carefully, so that they
are balanced. After loading this chassis with the battery packs and other electronics, the
chassis become unbalanced. In addition, the plane on which the robot is moving could
also be uneven. These result in a veering of the robot. This may cause the robot either to
run into a wall, or go farther away form the wall. Therefore, a decent control technique is
required to tackle this problem.
So, an embedded system must perform the operations at a high speed so that it can be
readily used for real time applications and its power consumption must be very low and
the size of the system should be as for as possible small and the readings must be accurate
with minimum error. The system must be easily adaptable for different situations.
Based on the performance of the Microcontroller they are also classified into
(i) Small scaled embedded system
(ii) Medium scaled embedded system and
(iii) Large scaled embedded system.
Stand Alone Embedded Systems : A stand-alone embedded system works by itself. It
is a self-contained device which do not require any host system like a computer.. It takes
either digital or analog inputs from its input ports, calibrates, converts, and processes the
data, and outputs the resulting data to its attached output device, which either displays
data, or controls and drives the attached devices. Temperature measurement systems,
Video game consoles, MP3 players, digital cameras, and microwave ovens
are the
functional
multiple chips which can perform distributed jobs is considered as a Large scale
embedded system.
4
Embedded System
Home Appliances
Application
Dishwasher, Washing Machine, Microwave, Set-Top
Box, Security System, HVAC System, DVD,
Answering Machine, Garden Sprinkler Systems Etc..
Office Automation
Fax, Copy Machine, Smart Phone System, Modem,
Scanner, Printers.
Security
Face Recognition, Finger Recognition, Eye
Recognition, Building Security System , Airport
Security System, Alarm System.
Academia
Smart Board, Smart Room, OCR, Calculator, Smart
Cord.
Instrumentation
Signal Generator, Signal Processor, Power Supplier,
Process Instrumentation
Telecommunication
Router, Hub, Cellular Phone, IP Phone, Web Camera
Automobile
Fuel Injection Controller, Anti-Locking Brake System,
Air-Bag System, GPS, Cruise Control.
Entertainment
MP3, Video Game, Mind Storm, Smart Toy.
Aerospace
Navigation System, Automatic Landing System, Flight
Attitude Controller, Space Explorer, Space Robotics.
Industrial automation
Assembly Line, Data Collection System, Monitoring
Systems on Pressure, Voltage, Current, Temperature,
Hazard Detecting System, Industrial Robot.
Personal
PDA, iPhone, Palmtop, Data Organizer.
Medical
CT Scanner, ECG , EEG , EMG ,MRI, Glucose
Monitor, Blood Pressure Monitor, Medical Diagnostic
Device.
Banking & Finance
ATM, Smart Vendor Machine, Cash Register ,Share
Market
Miscellaneous
Elevators, Tread Mill, Smart Card, Security Door etc.
Table 1.4 Applications of Embedded Systems
, the present day embedded systems are provided with higher memory
capabilities ,so that most of them are based on tiny operating systems like android etc.
Communication Interfaces : Most of the present day embedded systems are aimed at
internet based applications. So, the communication interfaces like Ethernet, USB,
wireless LAN etc. have become very common resources in almost all the embedded
systems. The developments in memory technologies also helped in porting the TCP/IP
protocol stack
embedded systems can provide a link between any two devices anywhere in the globe.
Operating Systems: With recent software developments ,there is a considerable growth
in the availability of operating systems for embedded systems. Mainly new operating
systems are developed which can be used in real time applications. There are both
commercial RTOS like VX Works , QNX,WIN-CE
RTOS
like
RTLINUX etc. The Android OS in mobiles has revolutionized the embedded industry.
Programming Languages: There is also a remarkable development in the programming
languages. Languages like C++, Java etc. are now widely used in embedded application
programming. For example by having the Java virtual machine in a mobile phones ,one
can download Java applets from a server and can be executed on your mobile.
In addition to these developments, now a days we also find new devices like ASICs and
FPGAs in the embedded system market. These new hardware devices are popular as
programmable devices and reconfigurable devices.
CHAPTER 2
BLOCK DIAGRAM DESCRIPTION
CHAPTER 3
ARDUINO
3.1 Introduction to Arduino Microcontroller
9
10
Simple, clear programming environment - The Arduino Software (IDE) is easy-touse for beginners, yet flexible enough for advanced users to take advantage of as well.
For teachers, it's conveniently based on the Processing programming environment, so
students learning to program in that environment will be familiar with how the Arduino
IDE works.
11
Open source and extensible software - The Arduino software is published as open
source tools, available for extension by experienced programmers. The language can be
expanded through C++ libraries, and people wanting to understand the technical details
can make the leap from Arduino to the AVR C programming language on which it's
based. Similarly, you can add AVR-C code directly into your Arduino programs if you
want to.
3.4 Communication
The Arduino Uno has a number of facilities for communicating with a computer,
another Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V)
serial communication, which is available on digital pins 0 (RX) and 1 (TX). An
ATmega8U2 on the board channels this serial communication over USB and appears as a
virtual com port to software on the computer. The '8U2 firmware uses the standard USB
COM drivers, and no external driver is needed. However, on Windows, an *.inf file is
12
3.6 Programming
The Arduino Uno can be programmed with the Arduino software (download).
Select "Arduino Uno w/ ATmega328" from the Tools > Board menu (according to the
microcontroller on your board). For details, see the reference and tutorials. The
ATmega328 on the Arduino Uno comes preburned with a boot loader that allows you to
upload new code to it without the use of an external hardware programmer.
It communicates using the original STK500 protocol (reference, C header files).
You can also bypass the bootloader and program the microcontroller through the ICSP
(In-Circuit Serial Programming) header; see these instructions for details. The
ATmega8U2 firmware source code is available . The ATmega8U2 is loaded with a DFU
bootloader, which can be activated by connecting the solder jumper on the back of the
board (near the map of Italy) and then resetting the 8U2. You can then use Atmel's FLIP
software (Windows) or the DFU programmer (Mac OS X and Linux) to load a new
firmware. Or you can use the ISP header with an external programmer.
13
14
15
Features
Technical Specification:
4.2 L293D IC
The driver IC L293D is quad push-pull drivers capable of delivering output
currents to 1A per channel respectively. Each channel is controlled by a TTL-compatible
logic input and each pair of drivers (a full bridge) is equipped with an inhibit input
available at pin 1 and pin 9. The motor will run only when chip inhibit is at high logic i.e.
chip inhibit is enabled. The connection diagram is shown below:
17
18
19
5.2 Motors
Motors are arguably one of the most important parts of a mobile robotics platform.
Overpowered motors cause inefficiency and waste the already limited supply of power
from the on-board batteries, while undersized motors could be short on torque at critical
times. The optimal rotation speed and the available speed range of the motor must also be
taken into consideration. Too high of an output rpm from the motor shaft will cause the
robot to operate at a fast, uncontrollable speed. Too low of an output and the robot will
not be able to attain a suitable speed to meet the users needs. The torque output of the
motor also plays a role in the performance because if the torque is not sufficient,
locomotion may not occur in certain situations. Therefore, much consideration was put
into the selection of the proper motor for the platform.
Motors come in many shapes and sizes. There are electromagnetic direct current
(DC) motors and electromagnetic alternating current (AC) motors and a number of
variations of each. AC motors are typically used for large applications, such as machine
tools, washers, dryers, etc., and are powered by an AC power line. Since the typical
power supply for mobile robotic is a DC battery, and technology for transforming DC to
AC is very expensive in both terms of monetary cost and power cost, AC motors where
ruled out as an option for the robot.DC motors are commonly used for small jobs and
suited the purposes of the platform very well. Figure shows the 12V DC motor use in
wheelchair.
20
5.3 Battery
This batterys are used to run the dc motors of 150 rpm which we use for the
moment and they are connected to the arduino board as well as l293d ic circuit which we
use in the project.
21
CHAPTER 6
IR SENSORS
Infrared is a energy radiation with a frequency below our eyes sensitivity, so we cannot
see it. Even that we can not "see" sound frequencies, we know that it exist, we can listen
them.
Even that we can not see or hear infrared, we can feel it at our skin temperature sensors.
When you approach your hand to fire or warm element, you will "feel" the heat, but you
can't see it. You can see the fire because it emits other types of radiation, visible to your
eyes, but it also emits lots of infrared that you can only feel in your skin.
6.1 INFRARED IN ELECTRONICS
Infra-Red is interesting, because it is easily generated and doesn't suffer electromagnetic
interference, so it is nicely used to communication and control, but it is not perfect, some
22
23
Those IR demodulators have inverted logic at its output, when a burst of IR is sensed it
drives its output to low level, meaning logic level = 1.
The TV, VCR, and Audio equipment manufacturers for long use infra-red at their remote
controls. To avoid a Philips remote control to change channels in a Panasonic TV, they
use different codification at the infrared, even that all of them use basically the same
transmitted frequency, from 36 to 50 KHz. So, all of them use a different combination of
bits or how to code the transmitted data to avoid interference.
RC-5
24
2 start bits,
1 control bit,
5 address bits,
6 command bits.
The start bits are always logic 1 and intended to calibrate the optical receiver automatic
gain control loop. Next, is the control bit. This bit is inverted each time the user releases
the remote button and is intended to differentiate situations when the user continues to
hold the same button or presses it again. The next 5 bits are the address bits and select the
destination device. A number of devices can use RC5 at the same time. To exclude
possible interference, each must use a different address. The 6 command bits describe the
actual command. As a result, a RC5 transmitter can send the 2048 unique commands. The
transmitter shifts the data word, applies Manchester encoding and passes the created onebit sequence to a control carrier frequency signal amplitude modulator. The amplitude
modulated carrier signal is sent to the optical transmitter, which radiates the infrared light.
In RC5 systems the carrier frequency has been set to 36 kHz. Figure below displays the
RC5 protocol.
The receiver performs the reverse function. The photo detector converts optical
transmission into electric signals, filters it and executes amplitude demodulation. The
receiver output bit stream can be used to decode the RC5 data word. This operation is
25
6.3 IR Transmitter
Infrared Transmitter is a light emitting diode (LED) which emits infrared radiations.
Hence, they are called IR LEDs. Even though an IR LED looks like a normal LED, the
radiation emitted by it is invisible to the human eye.
Fig 10 IR transmitter
There are different types of infrared transmitters depending on their wavelengths, output
power and response time. A simple infrared transmitter can be constructed using an
infrared LED, a current limiting resistor and a power supply. The schematic of a typical
IR transmitter is shown below.
26
Different types of IR receivers exist based on the wavelength, voltage, package, etc.
When used in an infrared transmitter receiver combination, the wavelength of the
receiver should match with that of the transmitter.
A typical infrared receiver circuit using a phototransistor is shown below.
27
28
CHAPTER 7
WORKING
Here our mini project we have designed a wall follower which detects the walls and
moves along the wall. The components which we use in our project are ir sensors,
29
CONCLUSIONS
Wall-Follower achieved its target on demo day. When approaching the wall, it is working
fine. After it gets closer to a wall and starts to follow it, due to the slow response of ir
sensor, the speed of the robot is a little bit slow. However, it works pretty good to detect
the wall and then follow it. A comprehensive introduction to the hardware and software
30
REFERENCES
[1] Out Of The Box robotics, http://ootbrobotics.pixelgeko.com/store/products/epiphanydiy/
[2] ATMEGA 328 microcontroller
http://www.atmel.com/Images/doc8067.pdf
31
32