You are on page 1of 65

IV

ABSTRACT

Development of a voice recognition based intelligent wheelchair system for physically


handicapped people who are unable to drive the wheelchair by hand is represented in this
paper where the patient can operate the wheelchair using voice commands and the location of
patient can be traced using GPS module in the wheelchair that tracks and sends the
information to smartphone application (app) via Firebase. Voice module V3 is used to record
patient's voice and recognize that voice to follow the instructions of the patient. This kit
converts the voice commands to hexadecimal numbers and then the data is fed to the Wi-Fi
module to control the wheelchair. Wi-Fi module directs the motor driver IC to move the
wheels in desired direction. Motor speed can also be controlled in three stages-low, medium,
high. This system also offers obstacle detection automatically using IR sensor and a
smartphone app has been developed for the family members of patient to know about the
location of the patient. Use of firebase makes the system fast and android app offers low cost
and user friendly environment than the conventional GSM based navigation systems. As this
system simultaneously offers voice operated wheelchair, motor speed control, obstacle
detection and GPS tracking of patient using android app, hopefully it will be a fruitful system
for the handicapped people worldwide

IV
V

TABLE OF CONTENTS

CHAPTER TITLE PAGE


NO NO
ABSTRACT IV
ACKNOWLEDGEMENT V
TABLE OF CONTENTS VI
LIST OF FIGURES VII
ABBREVIATIONS IX
1 INTRODUCTION 1
2 LITERATURE SURVEY 5
3 SYSTEM ANALYSIS 10
3.1 Introduction 10
3.2 Existing System 10
3.3 Proposed System 11
3.4 System Details 12
3.5 Power supply Unit 24
3.6 Filters 25

5 HARDWARE RESULT 67

6 CONCLUSION & FUTURE WORK


6.1 CONCLUSION 70
6.2 FUTURE WORK 71

7 REFERENCES 72

V
VI

LIST OF FIGURES

FIGURE NO NAME PAGE NO


1 Block Diagram 7

2 Circuit Diagram 9

3 Electronics Shocking Circuit 51

VI
VII

ABBREVIATIONS

ACRONYMS ABBREVIATIONS

CPU - Central Processing Unit


ESC - Electronic Stability Control
ETSI - European Telecommunications Standards Institute
GA - Genetic Algorithm
GPS - Global Positioning System
GSI - Global Standard Initiative
GSM - Global System for Mobile communication
HWM - Household Waste Management
IC - Integrated Circuit
IDE - Integrated Development Environment
IoT - Internet of Things
ITS - Intelligent Transportation System
LCD - Liquid Crystal Display
LED - Light Emitting Diode

VII
1

CHAPTER 1

INTRODUCTION

1.1 OVERVIEW

Humans naturally use Voice to communicate. Head nods and head shakes are
natural Voices commonly used during face-to-face interaction. Human can interface
with the machine without any mechanical devices. Human movements are typically
analyzed by segmenting them into shorter and understandable format. It can be used
as a command to control different devices of daily activities, mobility etc. So our
natural or intuitive body movements or Voices can be used as command or interface to
operate machines, communicate with intelligent environments to control home
appliances, smart home, telecare systems, etc. Gestural interfaces have a number of
potential advantages and couple of potential disadvantages. There are varieties of
interfaces in the researches in the table like natural (using IR beam with black box),
large screen, PC/Laptop based, LED light, audio-visual, mobile handheld etc.

Powered wheelchairs play a vital role in bringing independence to the severely


mobility-impaired and allow people to get on with their activities of daily living.
Many people who suffer from mobility-impairments rely on powered wheelchairs to
get out and about. However, a substantial number of users find it difficult to operate
their chairs effectively; this can be due to a variety of physical, perceptive or cognitive
impairments. It needs the development of smart wheelchairs that would empower
people with mobility impairments to get on safely with their activities of daily living.
The disabled people can direct the wheelchair to the designation without any difficulty
and send a call to doctor. The helpers at home shall fulfill the basic requirements of
the disabled people by getting an alert. With this intelligent wheelchair, people with
disabilities can lead their life easily in any environment. Our goal is to equip computer

1
2

interfaces with the ability to similarly perceive visual feedback Voices, and to exploit
contextual information from the current interaction state when performing visual
feedback recognition.

There have been many researches to make wheelchairs autonomous or semi-


autonomous by adding Modules. Modules such as encoders and ultrasonic range
Modules are used to localize their own position and to detect obstacles. The
wheelchairs can navigate to a specified goal and/or avoid obstacles autonomously.
These researches mainly deal with “mobile robot navigation” aspects of the intelligent
wheelchairs. Advanced Interface to build simple and intuitive interfaces, multi-modal
information can be utilized. In some researches, voice information (speech
recognition) is utilized to give commands (such as “Start”, “Stop”, and “Turn Right”)
to wheelchairs. Instead of voice, utilized gaze information to select commands
displayed on the monitor of a notebook computer. Electrodes put on the face were
used to measure the EOG which corresponds to the gaze angle of the user. Other
researches utilized user’s face direction using CCD cameras. This information is used
to directly specify the direction to move. To build a smart human interface for an
intelligent wheelchair, it is important for the systems to know the user’s intention and
attention. The motion of a person’s head pose and gaze direction is deeply related with
his/her intention and attention, detection of such information can be utilized for a
natural and intuitive interfaces.

Currently, the robotic wheelchair supports two ways of controlling. The first way
is through the usual joystick or keypad control. The second way is through the
movements of head. Head movements control is particularly useful for severely-
handicapped people who have spinal cord injury or quadriplegia that cannot use their
hands to control the wheelchair. In the developed prototype, the head movement
control of the robotic wheelchair is achieved with the help of Voice regocnition or tilt
Module (Aleksandra and bronco 2013). The Voice regocnition senses head
movements which is based on Mobile Robots- Control Architectures, Bio-Interfacing,
2
3

Navigation, and Multi Robot Motion Planning on the predetermined direction of


movements, the robotic wheelchair can be controlled accordingly. The embedded
processor provides the decision making and motor control. All the Modules outputs
are processed by the embedded processor and it control the two DC motors as desired
by the user. Automatic reactions such as stop or avoid when obstacles are detected are
also handled by the embedded processor. The developed system provides enhanced
mobility for the elderly and disabled people who have very restricted limb movements
or severe handicaps. A robust HGI is designed for vision-based head Voice
recognition of the RoboChair user (Theo and Yang 2007).

1.2 MOTIVATION

This will be an effective method to eradicate the social problems faced by the
physiologically challenged persons. This is directly interfering with the social
relevance of the society. The mobility aid will help to an extend for the challenged
people for their locomotion. Usually these people are confined to bed and needs help
from others for the movements from the bed. It is very difficult to make them move
from one place to another. Smart wheelchairs are becoming a popular research
platform for adaptive systems and human robot interaction. Ultimately they aim to
help people who are suffering from mobility impairments (and often compound
disabilities) achieve a level of independence, so that they can get on with their
activities of daily living.

Moreover that a bystander should help the patient for this purpose. With the
help of this mobility aid, the user can move without the help of the bystander. The
main input to this mobility aid is the head movements and output will be in the form
of the movement of the wheelchair. The patient can move himself without the help of
the bystander and with the head movements of the user itself can drive the wheelchair.
It will reduce the manpower needed by the bystanders to help in the movement of the
patients.
3
4

1.3 OBJECTIVE

The main objective is to design and develop a smart wheelchair system for
physically challenged persons, paralyzed persons and blind people. Automated
wheelchairs are equipped with Modules and data processing unit are termed as Smart
Wheelchair. The designed system allows the user to robustly interact with the
wheelchair by providing Modules and different levels of the controls. To defeat the
challenges is also an another objective. Designing the wheelchair for the challenged
people can reduce the sufferings of the patients to an extent.

1.4 ORGANIZATION OF THE PROJECT


The organization of the report consists of different chapters which include:

Chapter 1 presents the overview, objective of the proposed work.

Chapter 2 which discusses the literature survey relevant to the proposed work. It
includes different survey papers related to the wheelchair interface systems.

Chapter 3 focuses the system description which includes the block diagram
representation and the details of the each system.

Chapter 4 comprises the result and discussion which includes the simulation result and
hardware result obtained.

Chapter 5 concludes the proposed work with future possibilities.

1.5 SUMMARY
Wheelchairs are used by the people who cannot walk due to physiological or
physical illness, injury or any disability. Hence, the smart wheelchair helps the patient
to being them independent to do their daily activities. This will serve as a helping
hand to people and society and allows the people to get on with their activities.

4
5

CHAPTER 2
LITERATURE SURVEY

2.1 INTRODUCTION

This chapter will detail about the review of literatures regarding the issue of
wheel chair control in the past researches and studies. Most of the papers reviewed
about the various controls and techniques used in the wheel chair. It consists of
various interfaces which can be interfaced to the wheelchair and its feasibility.

2.2 REVIEW OF WHEELCHAIR CONTROL

Yoshio et al(2020) have presented a novel wheelchair system which have a n


intuitive interface using head and gaze motion of a user .the user needs only to look
where he/she want to go and can start and stop by nodding and shaking his/her head.
Commercial electric wheelchair for computer control is installing on a compact
desktop PC in the back of the seat with a vision processing board in it. A stereo CCD
camera pair is mounted on the table of the wheelchair to capture the facial image of
the user. The user can select the computer control mode and the manual control mode
and the manual control mode by a switch next to the original joystick-type controller.
The facial representation can be regarded as patterns which are distinctive and suitable
for tracking based on template matching. The facial feature model depends on each
user and can e built by simply selecting the feature position in an image with a mouse.

Parvaneh saeedi et al (2020) have proposed vision based system for 3-D
localization of a mobile robot in a natural environment. This system includes a
mountable head with three on-board charge-coupled device cameras that can be
installed on the robot. The main emphasis of this system is on the ability to estimate
the motion of the robot independently from any prior scene knowledge, landmark or
extra Moduley devices. Distinctive scene features are identified using a novel
algorithm and their 3-D locations are estimated with high accuracy by a stereo
algorithm. Using new two-stage feature tracking and iterative motion estimation in a
5
6

symbiotic manner, precise motion vectors are obtained. The 3-D positions of scene
features and the robot are refined by a kalman filtering approach with a complete
error-propagation modeling scheme.

Sushmita mitra et al (2019) have proposed Voice recognition pertains to


recognizing meaningful expressions of motion by a human, involving the hands, arms,
face, head, and or body. It is of utmost importance in designing an intelligent and
efficient human-computer interface. The applications of Voice recognition are
manifold, ranging from sign language through medical rehabilitation to virtual reality.
In this system, they provide a Survey on Voice recognition with particular emphasis
on hand Voices and facial expressions. Applications involved hidden Markova
models, particle filtering and condensation. Finite-state machines, optical flow, skin
color and connectionist are discussed.

Vidas Raudonis et al (2018) have proposed a hand Voice tracking system.


This system uses 2D visual information, which is acquired from an ordinary web-cam
and controls the electrical drives of the mobility device by tracking and recognizing
the Voices of the hand. Hand tracking is achieved by using an algorithm, which
combines two methods: a statistical Gaussian method and a discrete Fourier
transformation. Proposed algorithm is adaptive and flexible allowing utilizing unique
Voice commands which depend on person’s motor abilities.
Rakhi et al (2018) have developed a system that allows the user to robustly
interact with the wheelchair at different levels of the control and sensing. Dependent-
user recognition is done by using head movements and infrared Module integrated
with the wheelchair that can be driven by using acceleration Module. The main
advantages of this wheelchair are increased mobility and disable people’s ability to
live independently. Handicap wheelchair basically works on the principle of
acceleration where the acceleration Module provides two axes whose output is analog
which vary according to acceleration applied to it. By applying simple formula we
calculate the amount of tilt and output of tilt will decide to move in which direction.
On the chair the obstacle Modules will be installed which is used to detect the
6
7

obstacle. The system is successfully implemented to move the wheelchair Left, Right,
Forward, Backward or Stay in same position. The main disadvantage is the time
complexity for the execution.

Shengli Zhou et al (2017) have proposed an algorithm for hand Voice tracking
and recognition based on the integration of a custom –built micro electrical systems
(MEMS)-based inertial Module and a low resolution imaging Module. This system
uses 2-D Voice recognition but the algorithm can be extended to 3-D motion tracking
and Voice recognition in the future. Since an inertial Module is better at tracking rapid
movements, while a vision Module is more stable and accurate for tracking slow
movements. A novel adaptive algorithm has been developed to adjust measurement
noise covariance according to the measured accelerations and the angular rotation
rates. Compensating for the time delay due to the visual data processing cycles, a
moving average filter is applied to remove the high frequency noise and propagate the
inertial signals. The major disadvantage of this system is that the vision Module
requires web cam and external tracking system.

Narender Kumar et al (2016) have proposed a two dimension head


movements based smart wheelchair using accelometer. This system introduces the
design and implementation of a novel hands free control system for intelligent
wheelchair. This system follow by wireless and 2D wheelchair and it works on real
basis. The major advantage of this system is the person whose limbs are not working
and who are blind can use the wheelchair with the help of head movements.
Sharon et al (2016) have suggested a wheel-mounted Voice regocnition to
continuously measure distance moved, and to continuously determine if the
wheelchair is moving. Validation of the system and algorithm has tested across typical
mobility-related activities of daily living, which included short slow movements with
frequent starts, stops, and turns, and straight, steady state propulsion. Accuracy has
found to be greater than 90% across wheelchair and wheel types, propulsion
techniques, speeds and everyday mobility-related activities of daily living. The use of
a commercial Voice regocnition -based activity monitor mounted to a wheel of a
7
8

manual wheelchair is validated. Planar accelerations were used to determine the


moving state of the wheel and the distance wheeled. A small, tri-axial, solid-state
MEMS Voice regocnition connected to a custom data logging system built around
Microchip’s PIC18LF2331 microcontroller. This algorithm will permit the study of
outcomes of rehabilitation interventions, the long-term effects of wheelchair
propulsion on shoulder health, and optimal wheelchair design.

Sudheer et al (2016) have developed a voice and Voice based system to


control a wheelchair using voice commands and movement of hand for instance.
MEMS Module is connected to hand and the system is divided into two main
components: speech recognition module with MEMS Module and wheelchair control
unit. In the speech recognition module, hidden Markov models are used as the main
method in recognizing voice commands. The MEMS Module senses the angle of the
hand and according to the tilt of hand it gives voltages to microcontroller. The
wheelchair control unit is developed using ARM controller. Implementation of this
proposed problem mainly involves three steps. They are voice recognition, Voice
recognition and controlling direction of wheelchair using microcontroller based
received on the received voice or Voice commands by making use of motors.

2.3 SUMMARY

A detailed literature survey has been done with respect to different operations
and control, from the literature survey it has confirmed that most of the wheelchair
concentrates on different methods to control the wheelchair such as by using the hand
and head Voices.

8
9

CHAPTER 3

SYSTEM DESCRIPTION
3.1 INTRODUCTION

The chapter has split into two systems: existing system and proposed system.
In this system,the existing system has

3.2 EXISTING SYSTEM

• The previous methods of communication for dumb people used a system where
buttons are used

• These buttons are connected to a controller system and based on each button
press, different lights of various colours are switched on

• These different coloured lights have a different meanings that would be


understood by the family

Power Supply LCD DISPLAY

PIC

MICROCONTROLLER

Button
WHEEL
CHAIR

9
10

3.3 PROPOSED SYSTEM

• Here the system uses an Voice recognition module connected to the


microcontroller.

• Here Arduino is used that coordinates and controls all the associated devices

• The voice recognition module is the key feature of this project that is used to
setup the desired voice command and output. It consists of three phases, which
is voice customization, voice capture and voice recognition. Voice
customization is the process of matching the desired voice recorded to the
desired output signal. Voice capture is the phase that records the desired
person’s voice command and saves the voice based on the customization
configuration. The voice recognition phase is the final phase where when voice
command has been recognized, this module will send a specific signal to the
microcontroller for the necessary operation

• This system includes location tracking using GPS and we view location using
nodemcu microcontroller it has in bulilt wifi through IOT

In this system the voice announcement unit is interfaced with the wheelchair
for persons who are Physically Challanged and the Flux Module will be used in the
hands of Physically Challanged people. When a person wants to express the emotion
he can use the flux Module. When he gives the input through flex Module, the
microcontroller will automatically encode his emotions and will announce through the
voice announcement unit. To assists the blind peoples, a keypad is provided which
consists of 4 buttons for forward, reverse, left, right directions. To assists the deaf and
dumb peoples, a flex Module is provided which has to be wear by the people like that.
According to the flex variations produced by the finger movement of the person, the
wheel chair will move to the four directions. A plug and play unit is attached to assist
the dumb peoples for generating the voice sequences according to their hand Voice by

10
11

the voice play board and speaker inbuilt in it So over all this system will cover the all
the needs in a wheel chair, which is designed for a differently able persons. Proteus
software is used for simulation.

WORKING

Here we use a voice recognition mobile to control performance of the micro controller
using bluetooth communication. Voice recognition app is trained by giving the many
commands. The commands are converted into hex file. These hex file points 5
address locations of microcontroller. When command is given the program in the
corresponding and thereby controls the movement or rotation of the motor. This is the
basic working principle of the ‘voice controlled wheel chair’. Voice is given to the
voice recognition module through address location is executed and chair moves
accordingly. The battery and battery charger unit is there for power supply. GPS is
connected it always give location coordinates to microcontroller user can monitor
through IOT

Figure 3.2 Block diagram of proposed system

11
12

3.4 SYSTEM DETAILS

3.4.1 CONTROLLER

The microcontroller used is ARDUINO ESP8266 is a high performance and


low power ARDUINO microcontroller. Here the ARDUINO core combines a rich
instruction set with 32 general purpose working registers. All the 32Registers are
directly connected to the arithmetic logic unit (ALU) and allowing two independent
registers to be accessed in one single line instruction executed in one clock cycle. The
resulting architecture is more code effective while achieving throughputs up to ten
times faster than conventional.

ARDUINO16 features are 16k bytes of In-system programmable flash program


memory With read-while-capabilitie,512 bytes EEPROM,1K byte SRAM,32 general
purpose I/O lines,32 general purpose working registers, a JTAG interface for
Boundary-scan, on-chip debugging support and programming, three flexible
timer/counter with compare modes, internal and external interrupts, a serial
programmable USART ,a byte oriented two wire serial interface, an 8 channel,10-bit
ADC with optional differential input stage with programmable gain. This also
contains a programmable watchdog timer with internal oscillator and serial port and
six software selectable power saving modes. The Idle mode stops the CPU while
allowing the USART, timer and interrupt system to continue functioning.

Controller is manufactured using Atmel’s high density nonvolatile memory


technology. Thus, the Atmel ARDUINO16 is a powerful microcontroller that provides
a highly-flexible and cost-effective solution to many embedded control
applications.The ARDUINO16 ARDUINO is supported with a full suite of program
and system development tools including: C compilers, macro assemblers, program
debugger/simulators, in-circuit emulators,and evaluation kits.

12
13

Figure 3.3 Pin Diagram of ARDUINO 16A

3.4.2.1. ANALOG TO DIGITAL CONVERTER

A 4 channel stereo multiplexed analog to digital converter WM8775SEDS is


used. An analog to digital converter is a device that converts a continuous quantity to
a discrete time signal representation. An ADC may also provide an isolated
measurement. The reverse operation is performed by using the digital to analog converter.
Typically, an ADC is an electronic device that converts an input analog voltage or current to
a digital number proportional to the magnitude of the voltage or current.

3.4.4 L293D DUAL H-BRIDGE MOTOR DRIVE

L293D is a dual H-Bridge motor driver, so with one IC it can interface two DC
motors which can be controlled in both clockwise and counter clockwise direction and
if the motor with fix direction of motion then make use of all the four I/Os to connect
13
14

up to four DC motors. L293D has output current of 600mA and peak output current of
1.2A per channel. Moreover for protection of circuit from back EMF output diodes are
included within the IC. The output supply (VCC2) has a wide range from 4.5V to
36V, which has made L293D a best choice for DC motor driver.

In the circuit, three pins are needed for interfacing a DC motor (A, B, Enable).
If y the o/p to be enabled completely then connect Enable to VCC and only 2 pins
needed from controller to make the motor work and there are always two options in
front of the designer whether to use a DC motor or a stepper motor. When it comes to
speed, weight, size, cost... DC motors are always preferred over stepper motors. There
are many things which can do with DC motor when interfaced with a microcontroller.
For example for controlling the speed of motor, direction of rotation of motor can be
control.

Usually H-bridge is preferred way of interfacing a DC motor. These days many


IC manufacturers have H-bridge motor drivers available in the market like L293D is
most used H-Bridge driver IC.H-bridge can also be made with the help of transistors
and MOSFETs etc. rather of being cheap, they only increase the size of the design
board, which is sometimes not required so using a small 16 pin IC is preferred for this
purpose.

le schematic for interfacing a DC motor using L293D is shown below.

14
15

3.4.4.1 WORKING OF H-BRIDGE

Power supply through the motor coil goes to ground via switch low side right.
Basically there are four switching elements in the H-Bridge. The four switching
elements are named as “High side left”, “High side right”,” Low side right”, “Low
side left”. When these switches are turned on in pairs motor changes its direction
accordingly. If High side left and Low side right is switched then motor rotate in
forward direction, as current flows from Power supply through the motor coil goes to
ground via switch low side right.

Similarly, when switch on low side left and high side right, the current flows in
opposite direction and motor rotates in backward direction. This is the basic working
of H-Bridge. There is a small truth table according to the switching of H-Bridge
explained above.

15
16

Truth Table

High Left High Right Low Left Low Right Description

On Off Off On Motor runs clockwise

Off On On Off Motor runs anti-clockwise

On On Off Off Motor stops or decelerates

Off Off On On Motor stops or decelerates

3.4.5. DC MOTOR

DC motors have proven its merit in decades of day-to-day use and in the widest
possible range of applications. The main advantage of this DC motor is outstanding
reliability. An electric motor is a machine which converts electrical energy to
mechanical energy.

All DC machines have five principal components via (1) field system (2)
armature core (3) armature winding (4) commutator (5) brushes.

3.4.5.1. WORKING OF A DC MOTOR

16
17

When the terminals of the motor are connected to an external source of dc


supply;

• The field magnets are excited developing alternate N and S poles.


• The armature conductors carry currents. All conductors under N pole
carry currents in one direction while all the conductors under S pole
carry currents in the opposite direction.
Suppose the conductors under N-pole carry currents into the plane of paper and
those under S-pole carry current out of the plane of paper. Since each armature
conductor is carrying current and is placed in the magnetic field, mechanical force acts
on it. Applying Fleming’s left hand rule, it is clear that force on each conductor is
tending to rotate the armature in anticlockwise direction. All these forces add together
to produce a driving torque which sets the armature rotating. When the conductor
moves from one side the brush to the other, current in the conductor is received and at
the same time it comes under the influence of next pole which is of opposite polarity.
Consequently the direction of force on the conductor remains same.

The relationship between torques vs. speed and current is linear as left; as the
load on a motor increases, speed will decrease. As long as the motor is used in the
area of high efficiency long life and good performance can be expected. However,
using the motor outside this range will result in high temperature rises and
deterioration of motor parts. If voltage in continuous applied to a motor in a locked
rotor condition, the motor will heat up and fail in a relatively short time. Therefore it
is important that there is some form of protection against high temperature rises. A
motor’s basic rating point is slightly lower than its maximum efficiency point. Load
torque can be determined by measuring the current drawn when the motor is attached
to a machine whose actual load value is known.

17
18

3.4.7 ACCESSORIES

3.4.7.1 PLUG AND PLAY UNIT

The plug and play unit consists of voice board, speaker and head phone. A
plug and play unit is attached to assist the dumb peoples for generating the voice
sequences according to their hand Voice by the voice play board and speaker inbuilt in
it.

3.4.7.2 4 BUTTON KEYPAD

To assists the blind peoples, a keypad is provided which consists of 4 buttons


for forward, reverse, left and right directions.

3.5 POWER SUPPLY UNIT

A power supply is an electrical device that supplies electric power to


an electrical load. The primary function of a power supply is to convert electric
current from a source to the correct voltage, current, and frequency to power the load.
As a result, power supplies are sometimes referred to as electric power converters.
Some power supplies are separate standalone pieces of equipment, while others are
built into the load appliances that they power. Examples of the latter include power
supplies found in desktop computers and consumer electronics devices. Other
functions that power supplies may perform include limiting the current drawn by the
load to safe levels, shutting off the current in the event of an electrical fault, power
conditioning to prevent electronic noise or voltage surges on the input from reaching
the load, power-factor correction, and storing energy so it can continue to power the
load in the event of a temporary interruption in the source power (uninterruptible
power supply).

All power supplies have a power unit connection, which receives energy in the
form of electric current from a source, and one or more power output connections that

18
19

deliver current to the load. The source power may come from the electric power grid,
such as an electrical outlet, energy storage devices such as batteries or fuel
cells, generators or alternators, solar power converters, or another power supply. The
input and output are usually hardwired circuit connections, though some power
supplies employ wireless energy transfer to power their loads without wired
connections. Some power supplies have other types of inputs and outputs as well, for
functions such as external monitoring and control.

3.6 FILTERS

Capacitors are used as filters in the power supply unit. The action of the
system depends upon the fact, that the capacitors stores energy during the conduction
period and delivers this energy to the load during the inverse or non-conducting
period. In this way, time during which the current passes through the load is prolonged
and ripple is considerably reduced.

3.7 REGULATOR

Voltage sources in a circuit may have fluctuations resulting in not providing


fixed voltage outputs. a voltage regulator ic maintains the output voltage at a constant
value. 7805 ic, a member of 78xx series of fixed linear voltage regulators used to
maintain such fluctuations, is a popular voltage regulator integrated circuit (ic). the xx
in 78xx indicates the output voltage it provides. 7805 ic provides +5 volts regulated
power supply with provisions to add a heat sink. All voltage sources cannot able to
give fixed output due to fluctuations in the circuit. for getting constant and steady
output, the voltage regulators are implemented. the integrated circuits which are used
for the regulation of voltage are termed as voltage regulator ics. here, we can discuss
about ic 7805.the voltage regulator ic 7805 is actually a member of 78xx series of
voltage regulator ics. it is a fixed linear voltage regulator. the xx present in 78xx
represents the value of the fixed output voltage that the particular ic provides. for 7805
ic, it is +5v dc regulated power supply. this regulator ic also adds a provision for a
heat sink. the input voltage to this voltage regulator can be up to 35v, and this ic can
19
20

give a constant 5v for any value of input less than or equal to 35v which is the
threshold limit.

Fig 4.2 Power Supply

3.8 RECTIFIER

A Rectifier is an electrical device that converts alternating current (ac),


which periodically reverses direction, to direct current (dc), which flows in only one
direction.

The process is known as rectification, since it "straightens" the direction of


current. Physically, rectifiers take a number of forms, including vacuum tube
diodes, mercury-arc valves, stacks of copper and selenium oxide
plates, semiconductor diodes, silicon-controlled rectifiers and other silicon-based
semiconductor switches. Historically, even synchronous electromechanical switches
and motors have been used. early radio receivers, called crystal radios, used a "cat's
whisker" of fine wire pressing on a crystal of galena (lead sulfide) to serve as a point-
contact rectifier or "crystal detector". rectifiers have many uses, but are often found
20
21

serving as components of dc power supplies and high-voltage direct current power


transmission systems. rectification may serve in roles other than to generate direct
current for use as a source of power. as noted, detectors of radio signals serve as
rectifiers. in gas heating systems flame rectification is used to detect presence of a
flame.

Depending on the type of alternating current supply and the


arrangement of the rectifier circuit, the output voltage may require additional
smoothing to produce a uniform steady voltage. many applications of rectifiers, such
as power supplies for radio, television and computer equipment, require
a steady constant dc voltage (as would be produced by a battery). in these applications
the output of the rectifier is smoothed by an electronic filter, which may be
a capacitor, choke, or set of capacitors, chokes and resistors, possibly followed by
a voltage regulator to produce a steady voltage.the primary application of rectifiers is
to derive dc power from an ac supply (ac to dc converter).

Rectifiers are used inside the power supplies of virtually all electronic
equipment. ac/dc power supplies may be broadly divided into linear power
supplies and switched-mode power supplies. in such power supplies, the rectifier will
be in series following the transformer, and be followed by a smoothing filter and
possibly a voltage regulator.

Regulated Power Supply Circuit

21
22

 The voltage regulator 7805 and the other components are arranged in the
circuit as showfigure.

Fig4.3 power supply circuit

The purposes of coupling the components to the IC7805 are explained below.
C1- It is the bypass capacitor, used to bypass very small extent spikes to the earth. C 2
and C3- They are the filter capacitors. C2 is used to make the slow changes in the input
voltage given to the circuit to the steady form. C 3 is used to make the slow changes in
the output voltage from the regulator in the circuit to the steady form. When the value
of these capacitors increases, stabilization is enlarged. But these capacitors single-
handedly are unable to filter the very minute changes in the input and output voltages.
C4- like C1, it is also a bypass capacitor, used to bypass very small extent spikes to the
ground or earth. This is done without influencing other components.

3.9 MAX 232

22
23

The MAX232 is an integrated circuit first created in 1987 by Maxim Integrated


Products that converts signals from a TIA-232 (RS-232) serial port to signals suitable
for use in TTL-compatible digital logic circuits. The MAX232 is a dual transmitter /
dual receiver that typically is used to convert the RX, TX, CTS, RTS signals.The
drivers provide TIA-232 voltage level outputs (about ±7.5 volts) from a single 5-volt
supply by on-chip charge pumps and external capacitors. This makes it useful for
implementing TIA-232 in devices that otherwise do not need any other voltages.The
receivers reduce TIA-232 inputs, which may be as high as ±25 volts, to standard 5
volt TTL levels. These receivers have a typical threshold of 1.3 volts and a
typical hysteresis of 0.5 volts.

The MAX232 replaced an older pair of chips MC1488 and MC1489 that
performed similar RS-232 translation. The MC1488 quad transmitter chip required 12
volt and -12 volt power,[1] and MC1489 quad receiver chip required 5 volt power.
[2]
The main disadvantages of this older solution was the +/- 12 volt power
requirement, only supported 5 volt digital logic, and two chips instead of one.

3.11 SOFTWARE

The ARDUINO is a modified Harvard architecture8-bitRISC single chip


microcontroller which was developed by Atmel in 1996. The ARDUINO was one of
the first microcontroller families to use on-chip flash memory for program storage, as
opposed to one-time programmable ROM, EPROM, or EEPROM used by other
microcontrollers at the time.

The ARDUINO is a modified Harvard architecture machine where program and data
are stored in separate physical memory systems that appear in different address
spaces, but having the ability to read data items from program memory using special
instructions.

23
24

Basic families

ARDUINOs are generally classified into five broad groups:

 tinyARDUINO — the ATtiny series

 0.5–8 kB program memory

 6–32-pin package

 Limited peripheral set

 megaARDUINO — the ARDUINO series

 4–256 kB program memory

 28–100-pin package

 Extended instruction set (Multiply instructions and instructions for handling larger
program memories)

 Extensive peripheral set

 XMEGA — the ATxmega series

 16–384 kB program memory

 44–64–100-pin package (A4, A3, A1)

 Extended performance features, such as DMA, "Event System", and cryptography


support.

 Extensive peripheral set with DACs

 Application-specific ARDUINO

24
25

 megaARDUINOs with special features not found on the other members of the
ARDUINO family, such as LCD controller, USB controller, advanced PWM, CAN
etc.

 FPSLIC™ (ARDUINO with FPGA)

 FPGA 5K to 40K gates

 SRAM for the ARDUINO program code, unlike all other ARDUINOs

 ARDUINO core can run at up to 50 MHz

 32-bit ARDUINOs

Main article: ARDUINO32

In 2006 Atmel released microcontrollers based on the new, 32-bit, ARDUINO32


architecture. They include SIMD and DSP instructions, along with other audio and
video processing features. This 32-bit family of devices is intended to compete with
the ARM based processors. The instruction set is similar to other RISC cores, but is
not compatible with the original ARDUINO or any of the various ARM cores.

Device architecture

Flash, EEPROM, and SRAM are all integrated onto a single chip, removing the need
for external memory in most applications. Some devices have a parallel external bus
option to allow adding additional data memory or memory-mapped devices. Almost
all devices (except the smallest TinyARDUINO chips) have serial interfaces, which
can be used to connect larger serial EEPROMs or flash chips.

Program memory

Program instructions are stored in non-volatileflash memory. Although the MCUs are
8-bit, each instruction takes one or two 16-bit words.

25
26

The size of the program memory is usually indicated in the naming of the device itself
(e.g., the ARDUINO64x line has 64 kB of flash while the ARDUINO32x line has
32 kB).

There is no provision for off-chip program memory; all code executed by the
ARDUINO core must reside in the on-chip flash. However, this limitation does not
apply to the AT94 FPSLIC ARDUINO/FPGA chips.

Internal data memory

The data address space consists of the register file, I/O registers, and SRAM.

Internal registers

Atmel ATxmega128A1 in 100-pin TQFP package

The ARDUINOs have 32 single-byteregisters and are classified as 8-bit RISC devices.

In most variants of the ARDUINO architecture, the working registers are mapped in
as the first 32 memory addresses (000016–001F16) followed by the 64 I/O registers
(002016–005F16).

Actual SRAM starts after these register sections (address 0060 16). (Note that the I/O
register space may be larger on some more extensive devices, in which case the
memory mapped I/O registers will occupy a portion of the SRAM address space.)

26
27

Even though there are separate addressing schemes and optimized opcodes for register
file and I/O register access, all can still be addressed and manipulated as if they were
in SRAM.

In the XMEGA variant, the working register file is not mapped into the data address
space; as such, it is not possible to treat any of the XMEGA's working registers as
though they were SRAM. Instead, the I/O registers are mapped into the data address
space starting at the very beginning of the address space. Additionally, the amount of
data address space dedicated to I/O registers has grown substantially to 4096 bytes
(000016–0FFF16). As with previous generations, however, the fast I/O manipulation
instructions can only reach the first 64 I/O register locations (the first 32 locations for
bitwise instructions). Following the I/O registers, the XMEGA series sets aside a 4096
byte range of the data address space which can be used optionally for mapping the
internal EEPROM to the data address space (1000 16–1FFF16). The actual SRAM is
located after these ranges, starting at 200016.

EEPROM

Almost all ARDUINO microcontrollers have internal EEPROM for semi-permanent


data storage. Like flash memory, EEPROM can maintain its contents when electrical
power is removed.

In most variants of the ARDUINO architecture, this internal EEPROM memory is not
mapped into the MCU's addressable memory space. It can only be accessed the same
way an external peripheral device is, using special pointer registers and read/write
instructions which makes EEPROM access much slower than other internal RAM.

27
28

However, some devices in the SecureARDUINO (AT90SC) family use a special


EEPROM mapping to the data or program memory depending on the configuration.
The XMEGA family also allows the EEPROM to be mapped into the data address
space.

Since the number of writes to EEPROM is not unlimited — Atmel specifies 100,000
write cycles in their datasheets — a well designed EEPROM write routine should
compare the contents of an EEPROM address with desired contents and only perform
an actual write if contents need to be changed.

Program execution

Atmel's ARDUINOs have a two stage, single level pipeline design. This means the
next machine instruction is fetched as the current one is executing. Most instructions
take just one or two clock cycles, making ARDUINOs relatively fast among the eight-
bit microcontrollers.

The ARDUINO family of processors were designed with the efficient execution of
compiledC code in mind and has several built-in pointers for the task.

Instruction set

Main article: Atmel ARDUINO instruction set

The ARDUINO Instruction Set is more orthogonal than those of most eight-bit
microcontrollers, in particular the 8051 clones and PIC microcontrollers with which
ARDUINO competes today. However, it is not completely regular:

 Pointer registers X, Y, and Z have addressing capabilities that are different from
each other.

28
29

 Register locations R0 to R15 have different addressing capabilities than register


locations R16 to R31.

 I/O ports 0 to 31 have different addressing capabilities than I/O ports 32 to 63.

 CLR affects flags, while SER does not, even though they are complementary
instructions. CLR set all bits to zero and SER sets them to one. (Note that CLR is
pseudo-op for EOR R, R; and SER is short for LDI R,$FF. Math operations such as
EOR modify flags while moves/loads/stores/branches such as LDI do not.)

 Accessing read-only data stored in the program memory (flash) requires special
LPM instructions; the flash bus is otherwise reserved for instruction memory.

Additionally, some chip-specific differences affect code generation. Code pointers


(including return addresses on the stack) are two bytes long on chips with up to 128
kBytes of flash memory, but three bytes long on larger chips; not all chips have
hardware multipliers; chips with over 8 kBytes of flash have branch and call
instructions with longer ranges; and so forth.

The mostly-regular instruction set makes programming it using C (or even Ada)
compilers fairly straightforward. GCC has included ARDUINO support for quite
some time, and that support is widely used. In fact, Atmel solicited input from major
developers of compilers for small microcontrollers, to determine the instruction set
features that were most useful in a compiler for high-level languages.

MCU speed

The ARDUINO line can normally support clock speeds from 0-20 MHz, with some
devices reaching 32 MHz. Lower powered operation usually requires a reduced clock
speed. All recent (Tiny, Mega, and Xmega, but not 90S) ARDUINOs feature an on-
chip oscillator, removing the need for external clocks or resonator circuitry. Some
ARDUINOs also have a system clock prescaler that can divide down the system clock
29
30

by up to 1024. This prescaler can be reconfigured by software during run-time,


allowing the clock speed to be optimized.

Since all operations (excluding literals) on registers R0 - R31 are single cycle, the
ARDUINO can achieve up to 1 MIPS per MHz, i.e. an 8 MHz processor can achieve
up to 8 MIPS. Loads and stores to/from memory take 2 cycles, branching takes 2
cycles. Branches in the latest "3-byte PC" parts such as ARDUINO2560 are one cycle
slower than on previous devices.

Development

ARDUINOs have a large following due to the free and inexpensive development tools
available, including reasonably priced development boards and free development
software. The ARDUINOs are sold under various names that share the same basic
core but with different peripheral and memory combinations. Compatibility between
chips in each family is fairly good, although I/O controller features may vary.

Features

Current ARDUINOs offer a wide range of features:

 Multifunction, bi-directional general-purpose I/O ports with configurable, built-in


pull-up resistors

 Multiple internal oscillators, including RC oscillator without external parts

 Internal, self-programmable instruction flash memory up to 256 kB (384 kB on


XMega)

 In-system programmable using serial/parallel low-voltage proprietary interfaces or


JTAG

 Optional boot code section with independent lock bits for protection

 On-chip debugging (OCD) support through JTAG or debugWIRE on most devices

30
31

 The JTAG signals (TMS, TDI, TDO, and TCK) are multiplexed on GPIOs. These
pins can be configured to function as JTAG or GPIO depending on the setting of a
fuse bit, which can be programmed via ISP or HVSP. By default, ARDUINOs with
JTAG come with the JTAG interface enabled.

 debugWIRE uses the /RESET pin as a bi-directional communication channel to


access on-chip debug circuitry. It is present on devices with lower pin counts, as it
only requires one pin.

 Internal data EEPROM up to 4 kB

 Internal SRAM up to 16 kB (32 kB on XMega)

 External 64 kB little endian data space on certain models, including the Mega8515
and Mega162.

 The external data space is overlaid with the internal data space, such that the full
64 kB address space does not appear on the external bus. An accesses to e.g. address
010016 will access internal RAM, not the external bus.

 In certain members of the XMega series, the external data space has been
enhanced to support both SRAM and SDRAM. As well, the data addressing modes
have been expanded to allow up to 16 MB of data memory to be directly addressed.

 ARDUINOs generally do not support executing code from external memory. Some
ASSPs using the ARDUINO core do support external program memory.

 8-bit and 16-bit timers

 PWM output (some devices have an enhanced PWM peripheral which includes a
dead-time generator)

 Input capture

 Analog comparator

31
32

 10 or 12-bit A/D converters, with multiplex of up to 16 channels

 12-bit D/A converters

 A variety of serial interfaces, including

 I²C compatible Two-Wire Interface (TWI)

 Synchronous/asynchronous serial peripherals (UART/USART) (used with RS-232,


RS-485, and more)

 Serial Peripheral Interface Bus (SPI)

 Universal Serial Interface (USI) for two or three-wire synchronous data transfer

 Brownout detection

 Watchdog timer (WDT)

 Multiple power-saving sleep modes

 Lighting and motor control (PWM-specific) controller models

 CAN controller support

 USB controller support

 Proper full-speed (12 Mbit/s) hardware & Hub controller with embedded
ARDUINO.

 Also freely available low-speed (1.5 Mbit/s) (HID) bitbanging software emulations

 Ethernet controller support

 LCD controller support

 Low-voltage devices operating down to 1.8 V (to 0.7 V for parts with built-in DC–
DC upconverter)
32
33

 picoPower devices

 DMA controllers and "event system" peripheral communication.

 Fast cryptography support for AES and DES

Programming interfaces

There are many means to load program code into an ARDUINO chip. The methods to
program ARDUINO chips varies from ARDUINO family to family.

ISP

The In-system programming (ISP) programming method is functionally performed


through SPI, plus some twiddling of the Reset line. As long as the SPI pins of the
ARDUINO aren't connected to anything disruptive, the ARDUINO chip can stay
soldered on a PCB while reprogramming. All that's needed is a 6-pin connector and
programming adapter. This is the most common way to develop with an ARDUINO.

The Atmel ARDUINO ISP mkII device connects to a computer's USB port and
performs in-system programming using Atmel's software.

ARDUINODUDE (ARDUINO DownloderUploaDEr) runs on Linux, FreeBSD,


Windows, and Mac OS X, and supports a variety of in-system programming
hardware, including Atmel ARDUINO ISP mkII, Atmel JTAG ICE, older Atmel
serial-port based programmers, and various third-party and "do-it-yourself"
programmers.

PDI

The Program and Debug Interface (PDI) is an Atmel proprietary interface for external
programming and on-chip debugging of XMEGA devices. The PDI supports high-
speed programming of all non-volatile memory (NVM) spaces; flash, EEPROM,
fuses, lock-bits and the User Signature Row. This is done by accessing the XMEGA
NVM controller through the PDI interface, and executing NVM controller commands.
33
34

The PDI is a 2-pin interface using the Reset pin for clock input (PDI_CLK) and a
dedicated data pin (PDI_DATA) for input and output.

High voltage

High-voltage serial programming (hvsp) is mostly the backup mode on smaller


ARDUINOs. An 8-pin ARDUINO package doesn't leave many unique signal
combinations to place the ARDUINO into a programming mode. A 12 volt signal,
however, is something the ARDUINO should only see during programming and never
during normal operation.

Parallel

Parallel programming is considered the "final resort" and may be the only way to fix
ARDUINO chips with bad fuse settings. Parallel programming may be faster and
beneficial when programming many ARDUINO devices for production use.

Bootloader

Most ARDUINO models can reserve a bootloader region, 256 B to 4 KB, where re-
programming code can reside. At reset, the bootloader runs first, and does some user-
programmed determination whether to re-program, or jump to the main application.
The code can re-program through any interface available, it could read an encrypted
binary through an Ethernet adapter like PXE. Atmel has application notes and code
pertaining to many bus interfaces.[10]

ROM

The AT90SC series of ARDUINOs are available with a factory mask-ROM rather
than flash for program memory. Because of the large up-front cost and minimum
order quantity, a mask-ROM is only cost-effective for high production runs.

aWire

34
35

aWire is a new one-wire debug interface available on the new UC3L ARDUINO32
devices.

Debugging interfaces

The ARDUINO offers several options for debugging, mostly involving on-chip
debugging while the chip is in the target system.

debugWIRE

debugWIRETM is Atmel's solution for providing on-chip debug capabilities via a


single microcontroller pin. It is particularly useful for lower pin count parts which
cannot provide the four "spare" pins needed for JTAG. The JTAGICE mkII, mkIII and
the ARDUINO Dragon support debugWIRE. debugWIRE was developed after the
original JTAGICE release, and now clones support it.

JTAG

JTAG provides access to on-chip debugging functionality while the chip is running in
the target system. JTAG allows accessing internal memory and registers, setting
breakpoints on code, and single-stepping execution to observe system behaviour.

Atmel provides a series of JTAG adapters for the ARDUINO:

 The JTAGICE 3 is the latest member of the JTAGICE family (JTAGICE mkIII). It
supports JTAG, aWire, SPI, and PDI interfaces.

 The JTAGICE mkII replaces the JTAGICE, and is similarly priced. The JTAGICE
mkII interfaces to the PC via USB, and supports both JTAG and the newer
debugWIRE interface. Numerous 3rd-party clones of the Atmel JTAGICE mkII
device started shipping after Atmel released the communication protocol.

 The ARDUINO Dragon is a low-cost (approximately $50) substitute for the


JTAGICE mkII for certain target parts. The ARDUINO Dragon provides in-system
serial programming, high-voltage serial programming and parallel programming, as

35
36

well as JTAG or debugWIRE emulation for parts with 32 KB of program memory or


less. ATMEL changed the debugging feature of ARDUINO Dragon with the latest
firmware of ARDUINO STUDIO 4 - ARDUINO STUDIO 5 and now it supports
devices over 32KB of program memory.

 The JTAGICE adapter interfaces to the PC via a standard serial port. The
JTAGICE has been End-Of-Lifed, though it is still supported in ARDUINO Studio
and other tools.

JTAG can also be used to perform a Boundary Scan test, which tests the electrical
connections between ARDUINOs and other Boundary Scan capable chips in a system.
Boundary scan is well-suited for a production line; the hobbyist is probably better off
testing with a multimeter or oscilloscope.

Development tools and evaluation kits

Official Atmel ARDUINO development tools and evaluation kits consists of a number
of starter kits and debugging tools with support for most ARDUINO devices:

STK600 starter kit

The STK600 starter kit and development system is an update to the STK500. The
STK600 uses a base board, a signal routing board, and a target board.

The base board is similar to the STK500, in that it provides a power supply, clock, in-
system programming, an RS-232 port and a CAN (Controller Area Network, an
automotive standard) port via DB9 connectors, and stake pins for all of the GPIO
signals from the target device.

The target boards have ZIF sockets for DIP, SOIC, QFN, or QFP packages, depending
on the board.

The signal routing board sits between the base board and the target board, and routes
the signals to the proper pin on the device board. There are many different signal

36
37

routing boards that could be used with a single target board, depending on what device
is in the ZIF socket.

The STK600 interfaces with the PC via USB, leaving the RS-232 port available for
the target microcontroller. A 4 pin header on the STK600 labeled 'RS-232 spare' can
connect any TTL level USART port on the chip to the onboard MAX232 chip. The
MAX232 is a TTL to RS-232 signal level converter to communicate with PC's. The
pins are RX, TX, CTS, and RTS.

STK500 starter kit

The STK500 starter kit and development system features ISP and high voltage
programming (HVP) for all ARDUINO devices, either directly or through extension
boards. The board is fitted with DIP sockets for all ARDUINOs available in DIP
packages.

STK500 Expansion Modules: Several expansion modules are available for the
STK500 board:

 STK501 - Adds support for microcontrollers in 64-pin TQFP packages.

 STK502 - Adds support for LCD ARDUINOs in 64-pin TQFP packages.

 STK503 - Adds support for microcontrollers in 100-pin TQFP packages.

 STK504 - Adds support for LCD ARDUINOs in 100-pin TQFP packages.

 STK505 - Adds support for 14 and 20-pin ARDUINOs.

 STK520 - Adds support for 14 and 20, and 32-pin microcontrollers from the
AT90PWM and ARDUINO family.

 STK524 - Adds support for the ARDUINO32M1/C1 32-pin CAN/LIN/Motor


Control family.

37
38

 STK525 - Adds support for the AT90USB microcontrollers in 64-pin TQFP


packages.

 STK526 - Adds support for the AT90USB microcontrollers in 32-pin TQFP


packages

STK200 starter kit

The STK200 starter kit and development system can use ARDUINO chips via DIL-
40/20/8 and features 4 MHz clock source, 8x Light-emitting diodes, 8x input buttons,
RS-232 port, option for 32k SRAM and numerous general I/O. Programmed can be
done with a dongle connected to the parallel-port and the ISP socket.

Software wise programs can be compiled with ARDUINO-gcc, Simulated with


simulARDUINO, Downloaded with ARDUINOdude/ARDUINOice on BSD and Linux.
Assembler is available with ARDUINOa/tpasm. GNU debugger is available with
ARDUINO-gdb.

Support microcontrollers (according to the manual)

38
39

Frequency
Chip Flash size EEPROM SRAM Package
[MHz]

AT90S1200 1k 64 0 12 PDIP-20

AT90S2313 2k 128 128 10 PDIP-20

AT90S/LS2323 2k 128 128 10 PDIP-8

AT90S/LS2343 2k 128 128 10 PDIP-8

AT90S4414 4k 256 256 8 PDIP-40

AT90S/LS4434 4k 256 256 8 PDIP-40

AT90S8515 8k 512 512 8 PDIP-40

AT90S/LS8535 8k 512 512 8 PDIP-40

ARDUINO ISP and ARDUINO ISP mkII

The ARDUINO ISP and ARDUINO ISP mkII are inexpensive tools allowing all
ARDUINOs to be programmed via ICSP.

The ARDUINO ISP connects to a PC via a serial port, and draws power from the
target system. The ARDUINO ISP allows using either of the "standard" ICSP pinouts,
either the 10-pin or 6-pin connector. The ARDUINO ISP has been discontinued,
replaced by the ARDUINO ISP mkII.

The ARDUINO ISP mkII connects to a PC via USB, and draws power from USB.
LEDs visible through the translucent case indicate the state of target power.

ARDUINO Dragon

39
40

ARDUINO Dragon with ISP programming cable.

The Atmel Dragon is an inexpensive tool which connects to a PC via USB. The
Dragon can program all ARDUINOs via JTAG, HVP, PDI , or ICSP. The Dragon also
allows debugging of all ARDUINOs via JTAG, PDI, or DebugWire; a previous
limitation to devices with 32 kB or less program memory has been removed in
ARDUINOstudio 4.18. The Dragon has a small prototype area which can
accommodate an 8, 28, or 40-pin ARDUINO, including connections to power and
programming pins. There is no area for any additional circuitry, although this can be
provided by a third-party product called the "Dragon Rider".

JTAGICE mkI

The JTAG In Circuit Emulator (JTAGICE) debugging tool supports on-chip


debugging (OCD) of ARDUINOs with a JTAG interface. The original JTAGICE mkI
uses an RS-232 interface to a PC, and can only program ARDUINO's with a JTAG
interface. The JTAGICE mkI is no longer in production, however it has been replaced
by the JTAGICE mkII.

JTAGICE mkII

The JTAGICE mkII debugging tool supports on-chip debugging (OCD) of


ARDUINOs with SPI, JTAG, PDI, and debugWIRE interfaces. The debugWire
interface enables debugging using only one pin (the Reset pin), allowing debugging of
applications running on low pin-count microcontrollers.

40
41

The JTAGICE mkII connects using USB, but there is an alternate connection via
serial port, which requires using a separate power supply. In addition to JTAG, the
mkII supports ISP programming (using 6-pin or 10-pin adapters). Both the USB and
serial links use a variant of the STK500 protocol.

Butterfly demo board

Atmel ARDUINO169 in 64-pad MLF package.

Main article: ARDUINO Butterfly

The very popular ARDUINO Butterfly demonstration board is a self-contained,


battery-powered computer running the Atmel ARDUINO ARDUINO169V
microcontroller. It was built to show-off the ARDUINO family, especially a new
built-in LCD interface. The board includes the LCD screen, joystick, speaker, serial
port, real time clock (RTC), flash memory chip, and both temperature and voltage
Modules. Earlier versions of the ARDUINO Butterfly also contained a
CdSphotoresistor; it is not present on Butterfly boards produced after June 2006 to
allow RoHS compliance. The small board has a shirt pin on its back so it can be worn
as a name badge.

The ARDUINO Butterfly comes preloaded with software to demonstrate the


capabilities of the microcontroller. Factory firmware can scroll your name, display the
Module readings, and show the time. The ARDUINO Butterfly also has a piezo
speaker that can be used to reproduce sounds and music.
41
42

The ARDUINO Butterfly demonstrates LCD driving by running a 14-segment, six


alpha-numeric character display. However, the LCD interface consumes many of the
I/O pins.

The Butterfly's ARDUINO169 CPU is capable of speeds up to 8 MHz, however it is


factory set by software to 2 MHz to preserve the button battery life. A pre-installed
bootloader program allows the board to be re-programmed via a standard RS-232
serial plug with new programs that users can write with the free Atmel IDE tools.

AT90USBKey

This small board, about half the size of a business card, is priced at slightly more than
an ARDUINO Butterfly. It includes an AT90USB1287 with USB On-The-Go (OTG)
support, 16 MB of DataFlash, LEDs, a small joystick, and a temperature Module. The
board includes software which lets it act as a USB Mass Storage device (its
documentation is shipped on the DataFlash), a USB joystick, and more. To support the
USB host capability, it must be operated from a battery; but when running as a USB
peripheral, it only needs the power provided over USB.

Only the JTAG port uses conventional 2.54 mm pinout. All the other ARDUINO I/O
ports require more compact 1.27 mm headers.

The ARDUINO Dragon can both program and debug since the 32 kb limitation was
removed in ARDUINO Studio 4.18, and the JTAGICE mkII is capable of both
programming and debugging the processor. The processor can also be programmed
through USB from a Windows or Linux host, using the USB "Device Firmware
Update" protocols. Atmel ships proprietary (source code included but distribution
restricted) example programs and a USB protocol stack with the device.

LUFA is a third-party free software (MIT license) USB protocol stack for the
USBKey and other

Raven wireless kit

42
43

The RAVEN kit supports wireless development using Atmel's IEEE 802.15.4
chipsets, for ZigBee and other wireless stacks. It resembles a pair of wireless more-
powerful Butterfly cards, plus a wireless USBKey; and costing about that much
(under $US100). All these boards support JTAG-based development.

The kit includes two ARDUINO Raven boards, each with 2.4 GHz transceiver
supporting IEEE 802.15.4 (and a freely licensed ZigBee stack). The radios are driven
with ARDUINO1284p processors, which are supported by a custom segmented LCD
display driven by an ARDUINO3290p processor. Raven peripherals resemble the
Butterfly: piezo speaker, DataFlash (bigger), external EEPROM, Modules, 32 kHz
crystal for RTC, and so on. These are intended for use in developing remote Module
nodes, to control relays, or whatever is needed.

The USB stick uses an AT90USB1287 for connections to a USB host and to the
2.4 GHz wireless links. These are intended to monitor and control the remote nodes,
relying on host power rather than local batteries.

Third-party programmers

A wide variety of third-party programming and debugging tools are available for the
ARDUINO. These devices use various interfaces, including RS-232, PC parallel port,
and USB. ARDUINO Freaks has a comprehensive list.

Atmel ARDUINO usage

43
44

Atmel ARDUINO ARDUINO328 28-pin DIP on a Arduino Duemilanove board

Atmel ARDUINO ARDUINO8 28-pin DIP on a


custom designed development board

ARDUINOs have been used in various automotive applications such as security,


safety, powertrain and entertainment systems. Atmel has recently launched a new
publication "Atmel Automotive Compilation" to help developers with automotive
applications. Some current usages are in BMW, Daimler-Chrysler and TRW.

The Arduinophysical computing platform is based on an ARDUINO328


microcontroller (ARDUINO168 or ARDUINO8 in older board versions than the
Diecimila). The ARDUINO1280 and ARDUINO2560, with more pinoutand memory
capabilities, have also been employed to develop the Arduino Mega platform. Arduino
boards can be used with its language and IDE, or with more conventional
programming environments (C, assembler, etc.) as just standardized and widely
available ARDUINO platforms.

USB-based ARDUINOs have been used in the Microsoft Xbox hand controllers. The
link between the controllers and Xbox is USB.

44
45

Numerous companies produce ARDUINO-based microcontroller boards intended for


use by hobbyists, robot builders, experimenters and small system developers
including: Cubloc, gnusb, BasicX, Oak Micros, ZX Microcontrollers, and
myARDUINO. There is also a large community of Arduino-compatible boards
supporting similar users. Few hobbyists prefer making their own version of board
from scratch.

Schneider Electric produces the M3000 Motor and Motion Control Chip,
incorporating an Atmel ARDUINO Core and an Advanced Motion Controller for use
in a variety of motion applications.

FPGA clones

With the growing popularity of FPGAs among the open source community, people
have started developing open source processors compatible with the ARDUINO
instruction set. The OpenCores website lists the following major ARDUINO clone
projects:

 pARDUINO, written in VHDL, is aimed at creating the fastest and maximally


featured ARDUINO processor, by implementing techniques not found in the original
ARDUINO processor such as deeper pipelining.

 ARDUINO_core, written in VHDL, is a clone aimed at being as close as possible


to the ARDUINO103.

 NARDUINOé, written in Verilog, implements all Classic Core instructions and is


aimed at high performance and low resource usage. It does not support interrupts.

45
46

Getting Started with Arduino and Genuino products

WELCOME TO ARDUINO! BEFORE YOU START CONTROLLING THE


WORLD AROUND YOU, YOU’LL NEED TO SET UP THE SOFTWARE TO
PROGRAM YOUR BOARD

The Arduino Software (IDE) allows you to write programs and upload them to your
board. In the Arduino Software page you will find two options:

1. If you have a reliable Internet connection, you should use the online IDE (Arduino
Web Editor). It will allow you to save your sketches in the cloud, having them
available from any device and backed up. You will always have the most up-to-date
version of the IDE without the need to install updates or community generated
libraries.

2. If you would rather work offline, you should use the latest version of the desktop
IDE.

Install the Arduino Desktop IDE

Install the Arduino Desktop IDE

Get the latest version from the download page. You can choose between the Installer
(.exe) and the Zip packages. We suggest you use the first one that installs directly
everything you need to use the Arduino Software (IDE), including the drivers. With
the Zip package you need to install the drivers manually. The Zip file is also useful if
you want to create a portable installation.

When the download finishes, proceed with the installation and please allow the driver
installation process when you get a warning from the operating system.

46
47

Choose the components to install

Choose the installation directory (we suggest to keep the default one)

47
48

The process will extract and install all the required files to execute properly the
Arduino Software (IDE)

Proceed with board specific instructions

When the Arduino Software (IDE) is properly installed you can go back to the Getting
Started Home and choose your board from the list on the right of the page.

48
49

Functional Block Diagram of Microcontroller

3.13 SUMMARY

This chapter discusses about the system details of the hardware. It includes the
microcontroller which is the heart of the hardware. The hardware implementation
includes the plug and play unit, 4 button keypad, IR Module, flex Module, Voice
regocnition Module, dc motor drive and dc motors.

49
50

CHAPTER 4

SIMULATION RESULTS AND DISCUSSIONS

4.1 INTRODUCTION

Proteus (Processor for TExt Easy to Use) is a best simulation model for
various designs with microcontroller. It is mainly popular because of availability
because of availability of almost all microcontrollers in it. So it is a handy tool to test
programs and embedded designs for electronics hobbyist. Hence this software is used
for the simulation model of the proposed system.

4.2 PROTEUS

Proteus is a fully functional, procedure programming language. It in corporate


many functional derived from several other languages: C, BASIC, Assembly and
clipper. It is especially versatile in dealing with strings, having hundreds of dedicated
functions. This makes it one of the richest languages for text manipulation.
Transforming data from one from to another is main usage of this language.

4.2.1 Overview of proteus simulation

Simulation is well studied for educational purpose. It is an efficient way for


designer to learn how a circuit and its control and working. It is normally much
cheaper to do a thorough analysis than to build the actual circuit in which component
stresses are measured. A simulation can discover the possible problems and determine
optimal parameters, increasing the possibility of getting the prototype. New circuit
and parameter variations are easily tested. Destructive tests that cannot be done in the
lab, either because of safety or because of costs involved, can easily be simulated.
Response to faults and abnormal conditions can also be thoroughly analyzed. The
software tool used for the simulation studies is proteus.

50
51

Proteus is a fully functional, procedure programming language and it is initially


created as multiplatform system utility to manipulate text and binary files and then the
language was focused on windows. Proteus was designed to be practical which means
easy to use, efficient, complete, readable and consistent.

Its strongest points are:

 Powerful string manipulation


 Comprehensibility of proteus scripts
 Availability of advanced data structures.
Proteus may appear similar to basic because of its straight syntax, but
similarities limited to the surface:

 Proteus has a fully functional, procedural approach


 Variables are untyped, do not need to be declared can be local or public
and can be passed by value or by reference
 All the typical control structures are available
 New functions can be defined and used as native functions.
The proteus version used here is 8.proteus toolboxes extend the capabilities of
proteus throughout a range of application including:

 Industrial and electronically use


 control analysis
 Test and measurement
 application development

51
52

4.3 Simulation parameters

The following parameters are used to design simulation model.

Parameter value
Power supply
RDUINO 16
Motor drive
Dc motors
Plug and play unit

4.4 SIMULATION MODEL

The operation of the wheelchair was verified in a Proteus environment. There


are two modes in the wheelchair. First mode is to control the wheelchair and the
second mode is voice recognition.

Hence the simulation model is done for both the modes. In the first mode,
MEMS Voice regocnition Module is used and there will be three axis x, y and z. by
varying the axis , output will be obtained.

In the mode 2, flex Module and IR Module is used and by changing the resistor
value the output will be obtained.

52
53

4.4.1 MODE 1(WHEELCHAIR CONTROL)

The figure 4.1 presents the proteus model for proposed system of mode 1.

DRIVER CIRCUIT
16 8 U1
2 3
IN1 VSS VS OUT1
7 6
IN2 OUT2
1
EN1

9
EN2
10 11
IN3 OUT3
15 14
IN4 GND GND OUT4

CAMERA
3
2
1

Arduino

14 23
PB0/ICP1 PC0/ADC0
15 24
PB1/OC1A PC1/ADC1
16 25
PB2/SS/OC1B PC2/ADC2
17 26
PB3/MOSI/OC2 PC3/ADC3
18 27
PB4/MISO PC4/ADC4/SDA
19 28
PB5/SCK PC5/ADC5/SCL
9 1
PB6/TOSC1/XTAL1 PC6/RESET
10
PB7/TOSC2/XTAL2
2
PD0/RXD
3
PD1/TXD
4
PD2/INT0
5
PD3/INT1
7805 PD4/T0/XCK
6

21
AREF
PD5/T1
PD6/AIN0
11
12 Voice Module
1 3 20 13
VI VO AVCC PD7/AIN1
GND

1
DCD
2

6
DSR
2 1
RXD
7 2
RTS
3 3
TXD
8 4
CTS
4
DTR
9
RI

POWERSUPPLY CIRCUIT
RS 232 ERROR

53
54

CHAPTER 5
HARDWARE DESCRIPTION AND RESULT

5.1 INTRODUCTION

The wheelchair implementation using the head movement and hand Voice are
the hardware implementation of the electronic components to a hardware prototype
model. The wheelchair movement is simulated by using the signals from the Modules.
The microcontroller is the important controller for the wheelchair which helps to
move the wheelchair in desired direction. The controller will control the motor in the
respective direction such as left, right, forward and reverse direction. The controller
will give commands to the motor and the motor will rotate. In addition to this voice
recognition and the 4 button keypad are used for the differently abled people.

5.2 RESULT OF THE PROPOSED SYSTEM

The wheel chair is navigated by using the motor rotation which helps the
model to navigate in the various directions. The system components will be arranged
and connected using the software. The wheelchair will be move in the different
direction with the help of the Modules. When a person tilts his head in forward
direction above 20degree angle and the chair will move in forward direction. If a
person tilts his head in backward direction above 20degree and the angle chair will
move in backward direction. If a person tilts his head in left direction above 20degree
angle chair will move in left direction. If a person tilts his head in right direction
above 20degree angle chair will move in right direction. If person tilt his head at
45degree forward priority will be given to forward direction. For the hand Voice
recognition flex Module is used. When the user moves his hand, the Module will gives
signals to the controller. Hence the motor will be rotating in 4 different directions

54
55

according to the value given. The movement which corresponds to the navigation of
the wheelchair is according to the user.

The microcontroller is the heart of the system which controls all the action in
the system. The hand Voice and the head movement are given either real or virtual.
According to the Voice of the user, the wheelchair will navigate corresponding to the
direction of the movement of the user. The analog value from the Voice regocnition
Module is given to the microcontroller which will process and makes the wheelchair
to operate. There will be a DC motor for the movement of the wheel chair. The motors
are connected from the microcontroller circuit using the motor drive. The
microcontroller will give commands to the motor and motor will turn in right direction
and if the value changes it will rotate in the left direction. The next motor is used for
the forward and reverse direction. Then the motor will be running in the forward
direction or reverse directions according to the commands. The hardware model will
navigate according to the instruction given by the user and DC motor will help in the
navigation of the wheelchair in the corresponding directions.

Figure shows the real time wheelchair. This is a model to show the movement
patterns of the wheelchair. The wheelchair will navigate in the forward, reverse, right
and left directions. The main objective of the wheelchair is to help the differently
abled persons.

A plug and play unit is attached to assist the dumb peoples for generating the
voice sequences according to their hand Voice by the voice play board and speaker
inbuilt in it. A four button keypad is attached to the assist the blind peoples for
handling the wheelchair.

The motor direction will be shown in the LCD. The directions of the motor are
forward, reverse, left and right.

55
56

6.3 SUMMARY

The implementation of the hardware model is done by using the electronic


components. The input is given as the hand and head movements and the output will
be the navigation of the wheelchair according to the different direction corresponding
to the hand and head movements.

56
57

CHAPTER 6

CONCLUSION AND FUTURE WORK

5.1 CONCLUSION

The main objective of the proposed method is to design and develop the
wheelchair which is to be helpful for the differently abled persons. Residual head and
hand Voice is considered to be adequate to control an electric wheelchair and this will
aim to help people who are suffering from mobility impairments achieve a level of
independence, so that they get on with their activities of daily living. According to the
head and hand movement, wheelchair will get oriented and take movements. This will
be mobility aid for the patients who are bedridden and cannot move without the help
of bystanders. By connecting the Voice regocnition to the head of the patients and
flex Module to the hand of the patients, the signal will be given to the microcontroller.
Then the processed signal will be given to the microcontroller and it gives various
commands and accordingly the motor connected to the wheelchair rotates. It will take
the direction according to the commands given by the controller. The controller will
makes decisions from the head and hand Voice movements from the users. IR Module
is used for the obstacle detection. This will help the user to have safe movements.
Keypad and plug and play unit is also used for the blind, deaf and dumb people
respectively. It is a fully a user controlled mobility aid for the differently abled people
to handle the wheelchair using the head and hand Voices.

57
58

5.2 FUTURE SCOPE

The future scope of the project is based on the hand Voice and head
movements controlled wheelchair. The accuracy will be more if the motor
specification is used in upgraded manner. To turn the wheelchair according to the
head movement direction it should use the motor with high specifications. We can
make a wheelchair which can be operated by a wireless remote. Output of Module can
be applied to wireless transmitter circuit and can received at wheelchair circuit by
receiver circuitry. So, wireless operation can reduce wiring arrangements. Instead of
using acceleration motion (Head Movement) we can use eye retina using optical
Module to move wheelchair in different direction. Using retina movement we would
be able to drive a wheelchair. We can use voice command IC to interface our voice
signals with microcontroller. So computer interfacing may not be needed. The voice
stored in IC could be sufficient to analyze speaker’s voice command. Researchers are
going on development of handicap wheelchair using nervous system of human.

5.3 APPLICATION

The main application of hardware implementation of the wheelchair is for the


differently abled persons like deaf and dumb, blind and physically handicapped. It is
very difficult to move for them without the help of others. They face barriers at their
each turn and they need some helpers in their daily works. The assistive device acts as
a boon for them. The most widespread assistive device is the wheelchair. Hence there
is a need to develop a platform for those people who are physically challengeable. The
application of this hardware implementation is mainly aiming the rehabilitation of the
physically challenged people. This wheelchair will be mobility device for the patients
who are confined to the bed who cannot move without the help of others. This can be
58
59

a helping aid for the elderly people and the differently abled person. They can
effectively use this wheelchair for their navigation.

REFERENCES

[1] J. Alon, V. Athitsos, Q. Yuan, and S. Sclaroff. A unified framework for Voice
recognition and spatiotemporal Voice segmentation. IEEE Transactions on Pattern
Analysis and Machine Intelligence, 31, 2008.

[2] M. Assan and K. Grobel. Video-based sign language recognition using hidden
markov models. In Proceedings of the International Voice Workshop on Voice and
Sign Language in Human-Computer Interaction, pages 97–109, London, UK, 1998.
Springer-Verlag.

[3] A. F. Bobick, J. W. Davis, I. C. Society, and I. C. Society. The recognition of


human movement using temporal templates. IEEE Transactions on Pattern Analysis
and Machine Intelligence, 23:257–267, 2001.

[4] J. J. Corso, G. Ye, and G. D. Hager. Analysis of composite Voices with a coherent
probabilistic graphical model. Virtual Real., 9(1):93–93, 2005.

[5] H. Junker, O. Amft, P. Lukowicz, and G. Tr¨oster. Voice spotting with body-worn
inertial Modules to detect user activities. Pattern Recogn., 41(6):2010–2024, 2008.

[6] H. Kang, C. W. Lee, and K. Jung. Recognition-based Voice spotting in video


games. Pattern Recogn. Lett., 25(15):1701–1714, 2004.

[7] H.-K. Lee and J.-H. Kim. Voice spotting from continuous hand motion. Pattern
Recogn. Lett., 19(5-6):513– 520, 1998.

[8] H. Li and M. Greenspan. Multi-scale Voice recognition from time-varying


contours. In ICCV ’05: Proceedings of the Tenth IEEE International Conference on
Computer Vision (ICCV’05) Volume 1, pages 236–243, Washington, DC, USA,
2005. IEEE Computer Society.

59
60

[9] S. B. Wang, A. Quattoni, L.-P. Morency, D. Demirdjian, and T. Darrell. Hidden


conditional random fields for Voice recognition. In Computer Vision and Pattern
Recognition, 2006 IEEE Computer Society Conference on, volume 2, pages 1521–
1527, 2006.

[10] R. Yang and S. Sarkar. Voice recognition using hidden markov models from
fragmented observations. In CVPR ’06: Proceedings of the 2006 IEEE Computer
Society Conference on Computer Vision and Pattern Recognition, pages 766–773,
Washington, DC, USA, 2006. IEEE Computer Society.

60
61

61

You might also like