Professional Documents
Culture Documents
Thesis Documentation
Thesis Documentation
Declaration
We, the undersigned, declare that this thesis, “Design and simulation of solar powered voice
controlled electric wheelchair”, is our own work, and has not been presented for in any other place,
and all sources of materials used for the thesis have been fully acknowledged.
Place: Gondar
________________
Acknowledgement
Above all our deepest gratitude and praise for the lord almighty for everything given to us above
what we would like to pass our sincere love admiration and thanks for our family supporting us
financially emotionally and all possible ways, all of our friends tolerating issues and giving us
their time with dedications.
Finally yet importantly, for our advisor Mr.Abibual A. without whom we could not prepare this
paper. Thanks for your time and dedication with your advisement thank you.
Abstract
Wheelchair is an equipment used by people with disability to walk; caused by age, accident or
natural causes to move from place to place. Most of the wheelchairs currently in the market are
targeting people with only the disability to walk but have their hands to move the wheelchair to
different places by using joystick or rotating the wheels manually. These wheelchairs do not
consider the probability that the end user might be a person who has lost his hand or not able to
use them due to different causes. Therefore, the thesis simulates a wheelchair system controlled
by voice using a speech recognition module. The objective of this thesis is to facilitate the
movement of people whom have been stated in the above statement. The result of this project will
allow certain people to live a life with less dependence on others.
Speech recognition technology is a key, which may provide a new way of human interaction with
machines or tools. The thesis combined the speech recognition method and a wheelchair
simulation to get them working together as a system. By using the voice of the user as an input
command, the speech recognition module will determine the command word and send it to the
microcontroller, which controls the motor of the wheelchair.
The thesis consists the following parts: Hardware and software. The hardware part design is on
proteus software and contains Arduino Uno, L293D motor driver, ultrasonic sensor, DC motor and
potentiometer. The software part is where the code of the project is written and contains speech
recognition system and Arduino IDE. Speech recognition system implement using Matlab.
KEY WORD: Matlab, Arduino Uno, ultrasonic sensor, L293D motor driver, DC motor.
Table of Contents
Declaration ....................................................................................................................................... i
Acknowledgement .......................................................................................................................... ii
Abstract .......................................................................................................................................... iii
Table of Contents ........................................................................................................................... iv
List of Abbreviations .................................................................................................................... vii
List of figures ............................................................................................................................... viii
List of tables ................................................................................................................................... ix
CHAPTER ONE ............................................................................................................................. 1
1. BACKGROUND OF THE STUDY ........................................................................................ 1
1.1 Introduction ........................................................................................................................... 1
1.2 Statement of the Problem ...................................................................................................... 3
1.3 Objective of the Thesis.......................................................................................................... 3
1.3.1 General objective ............................................................................................................ 3
1.3.2 Specific objective ........................................................................................................... 3
1.4 Methodology and Hardware Description of the Thesis ........................................................ 3
1.4.1 System development methodology................................................................................. 4
1.4.2. System development tools ............................................................................................. 4
1.4.3 Hard ware Components of the thesis .............................................................................. 5
1.4.4 Software Tools ................................................................................................................ 5
1.5 Scope of the Thesis ............................................................................................................... 5
1.6 Contributions of the Thesis ................................................................................................... 6
1.7 Organizations of the Thesis ................................................................................................... 6
CHAPTER TWO ............................................................................................................................ 7
2. LITERATURE REVIEW ........................................................................................................ 7
2.1 Introduction ........................................................................................................................... 7
2.2 Related Works ....................................................................................................................... 7
2.2.1 Related Works of Controlling of Smart Wheelchair ...................................................... 7
2.2.2 Related works of Voice Recognition to Control a System ............................................. 8
2.3 Conceptual Framework of the Study................................................................................... 10
List of Abbreviations
AC Alternative Current
ANN Artificial Neural Network
ASR Automatic Speech Recognition
CCW Counter Clockwise
CW Clockwise
DC Direct current
DCT Discrete Cosine Transform
DFT Discrete Fourier Transform
DSP Digital Signal Processing
EOG Electro Oculo Graphy
MFCC Mel Frequency Cepstral Coefficient
Mic Microphone
ML Maximum Likelihood
MOSFET Metal Oxide Semiconductor Field Effect Transistor
MSE Mean squared error
MuPAD Multi Processing Algebra Data
NN Neural Network
RAM Random Accesses Memory
SVM Support Vector Machine
VQ Vector Quantization
List of figures
Figure 1.1: Block Diagram of System Development Methodology ............................................... 4
Figure 1.2: Simple Block diagram of the system ............................................................................ 4
Figure 2.1: Arduino Uno [18]. ...................................................................................................... 10
Figure 2.2: DC Motor [19]. ........................................................................................................... 13
Figure 2.3: DC series motor schematic [20]. ................................................................................ 14
Figure 2.4: Show l293D pin (input/output) [21]. .......................................................................... 15
Figure 2.5: H-Bridge Topology [22]............................................................................................. 16
Figure 2.6: H-Bridge Topology - Forward direction [22]............................................................. 17
Figure 2.7: H-Bridge Topology - Reverse direction [22]. ............................................................ 17
Figure 2.8: Connection of H-bridge and motor [22]. .................................................................... 17
Figure 2.9: Ultrasonic sensor [23] ................................................................................................ 19
Figure 2.10: Typical software resistor elements ........................................................................... 20
Figure 3.1: System Architecture [25]............................................................................................ 25
Figure 3.2: Block diagram of the System ..................................................................................... 25
Figure 3.3: DC motor interfacing with Arduino UNO ................................................................. 28
Figure 3.4: Ultrasonic Sensor interfacing with Arduino UNO ..................................................... 29
Figure 3.5: Power supply design ................................................................................................... 29
Figure 3.6: Flowchart of the system ............................................................................................. 30
Figure 4.1: Simulation result when the Arduino receives Left command .................................... 32
Figure 4.2: Simulation result when the Arduino receives Right command .................................. 33
Figure 4.3: Simulation result when the Arduino receives backward command ........................... 34
Figure 4.4: Simulation result when the Arduino receives Forward command ............................. 34
Figure 4.5: Simulation result when the Arduino receives Stop command ................................... 35
List of tables
Table 2.1: Technical specification of Arduino ............................................................................. 11
Table 2.2: L293D Pin Functions ................................................................................................... 15
Table 4.1: Motors Direction .......................................................................................................... 36
Table 4.2: LED light Signal .......................................................................................................... 36
CHAPTER ONE
1. BACKGROUND OF THE STUDY
1.1 Introduction
Today, more and more people are suffering from losing their hands and legs. Wheelchair is a very
important for the handicapped. Many organizations intend to design and create a more convenient
wheelchair for the handicapped. There are researches which use brainwave, eye movement, eye
blinking and many others method to move the wheelchair. Most of the wheelchairs available in
the market are self-controlled wheelchair or joystick controlled wheelchair. These types of
wheelchairs are only suitable for people who have their hands to control the wheelchairs. For a
person who lost their hands and legs, they still have their voice. They can use their voice to give
commands to move the wheelchair. That is the motivation of as to do design voice control
wheelchair.
"World report on disability" (2011) jointly presented by World Health Organization (WHO) and
World Bank says that there are 70 million people are handicapped in the world. Unfortunately, day
by day the number of handicapped people is going on increasing due to road accidents as well as
disease like paralysis. Among all the disabilities percentage of physically handicapped person is
most. If a person is handicapped, he is dependent on other person for his day-to-day work like
transport, food, orientation etc. [1].
In order to benefit the end users who have lost control of their upper extremities due to injury,
illness or disability, a speech recognition system is design to be one of the steering control
components of the embedded system [2]. The user can communicate with this type of system by
giving voice command. This voice command is predefine for each operation supported by the
wheelchair.
Using an electrical wheelchair leads to a large amount of independence for persons with a physical
disability who can neither walk nor operate a mechanical wheelchair alone as it requires great
effort and help of other people. Proposed design supports voice activation system for physically
disabled persons incorporating manual operation. If a person is handicapped, they are dependent
upon others for their day-to-day operations such as orientation etc. [3].
Suppose, if operator is willing to go towards right side then he/she just has to say right and after
receiving this command, the wheelchair will go in right direction.
Speech is probably the most efficient way to communicate with each other. This also means that
speech could be a useful interface to interact with machines. Voice recognition is a computer,
software program, or hardware device's ability to decode the human voice into digitized speech so
it can understand by the computer.
Independent mobility increases vocational and educational opportunities, reduces dependence on
caregivers and family members, and promotes feelings of self-reliance. For young children,
independent mobility serves as the foundation for much early learning [4]. No ambulatory children
lack access to the wealth of stimuli afforded self-ambulating children. This lack of exploration and
control often produces a cycle of deprivation and reduced motivation that leads to learned
helplessness [5].
Voice recognition is commonly used to operate a device, perform commands, or write without
having to use a keyboard, mouse, or press any buttons. Today, this is done on a computer with
automatic speech recognition (ASR) software programs. Many ASR programs require the user to
"train" the ASR program to recognize their voice.
Robotic wheelchairs have enhanced the manual wheelchairs by introducing locomotion controls.
These devices can ease the lives of many disabled people, particularly those with severe
impairments by increasing their range of mobility [6]. This robotic enhancement will provide
benefit people who cannot use hands and legs. In this thesis, we have developed a voice-controlled
wheelchair that aim to counter the above problems. The wheelchair can be controlled using voice
commands. He/she just needs to say the direction or move the button for that direction and the
wheelchair moves in the desired direction. In hardware development, we are using voice
recognition module, which correlates commands to do speech processing and give the result to
Arduino, which is further programmed with respective locomotion commands [7].
The methodology adopted is based on grouping a microprocessor with a speech recognition
development kit for isolated word from a dependent speaker. The resulting design is used to control
a wheelchair for a handicapped person based on the vocal command. It therefore involves the
recognition of isolated words from a limited vocabulary.
Then after successfully recognizing(classify) the speech and speaker the Matlab sends the analog
number to the Arduino Uno by using serial communication between Matlab and Arduino Uno
platform to control the direction of the motor depending on the entry voice(command).
Literature Review
Collection of Data
Voice input
Spell voice input for further processing is the first step of voice recognition. As proposed system
for voice recognition is based on voice of a person with physically challenged person to move
inside the home without any difficulty.
Obstacle detection
A sensor is an electronic instrument that is used to sense certain characteristics of its surroundings
by either emitting and/or detecting infrared radiation. With the full-fledged Design and
Implementation of a Voice Actuated Miniature Model of Wheelchair, Handicapped Person will be
able to do his/her day to day activity at own without taking help from others with user safety. This
can be done with just a voice command of handicapped person, which is readily trained to proposed
system. Results of the work would be a wheelchair that operated with speaker dependent voice
with high degree of accuracy and reliability.
1.4.3 Hard ware Components of the thesis
DC motor
Ultrasonic sensor
L293D motor driver
Solar electric Power supply
Potentiometer
1.4.4 Software Tools
Proteus software
Arduino IDE
Matlab.
1.5 Scope of the Thesis
This system is voice-controlled wheelchair for the physically disabled person. This system is
designed to operate the wheelchair based on the voice of the user and control the movement
according to the command given by the operating person. The voice can be given through a
unilateral microphone and would be converted into binary format by voice recognition kit. Thus,
this binary format was checked with the binary code fed to the microcontroller; if true, the
command will be performed. More specifically, this system was designed to allow an admin and
users to give the voice command to the wheelchair. These commands would be performed within
seconds. Overall, its basic operation would be left, right, stop, front and back. It’s a wheelchair
controlled by voice. We have given it a solar power as a source.
CHAPTER TWO
2. LITERATURE REVIEW
2.1 Introduction
Different scholars have done studies on wheelchair. Wheelchairs have evolved very little over the
past 1000 years. Most of the design changes have occurred within recent decades.
2.2 Related Works
2.2.1 Related Works of Controlling of Smart Wheelchair
A handicapped person with locomotive disabilities needs a wheelchair to perform functions that
require him or her to move around. Now in the world, so many power wheelchairs are introduced
and we try to review some of them as follows:
Typical joystick controlled wheelchair: Controllers are most commonly an armrest-mounted
joystick, which may have additional controls to allow the user to tailor sensitivity or access
multiple control modes. The controller may be swing-away to aid in side-transfers. For users who
are unable to use a hand controller various alternatives are available such as sip-and-puff
controllers, worked by blowing into a sensor. In some cases, the controller may be mounted for
use by an aide walking behind the chair rather than by the user. Capabilities include turning one
drive wheel forward while the other goes backward, thus turning the wheelchair within its own
length [8].
Joystick controlled Power chairs may be designed for indoor, outdoor or indoor/outdoor use. In
addition, this type of wheelchair is only used for those partially disable [9].
Finger Movement Tracking Wheelchair: In this system, the wheelchair can be controlled by a
combination of three fingers. One finger controls the speed of the wheelchair while the other two
fingers control the directions of the wheelchair. There is flexibility that we can use only two fingers
instead of three to control the direction while letting the system to control the speed automatically.
For tracking the movement of fingers, the flex-sensors are used. The finger movement tracking
system revolves around flex sensor. Flex sensor is a resistive strip whose resistance is directly
proportional to bending. The flex sensor is worn on the finger and the bending of the finger, in
turn, bends the resistive strip thereby increasing the resistance of the strip. This change of
resistance is used in generation of command signals. This system also like the above used for
disable persons in whom his/her hand is safe [10].
Eye tracking based wheelchair: When the case is worse all other technique becomes useless. In
some critical cases, in which the person is unable to move the parts of the body even unable to
speak in such cases eye controlled wheelchair can be very effective. In this case, the different
commands for the wheelchair are derived from the Electro Oculo Graphy (EOG) potential signals
of eye movements. A system for electric wheelchair control using the eyes was proposed in 2007.
A commercially available web camera on a head-mounted display (HMD) which the user wears is
used to capture moving pictures of the users face. A computer mounted on the electric chair
processes the captured image data, detecting and tracking movements of the user’s eyes, estimating
the line-of-sight vector, and actuating the electric wheelchair in the desired direction indicated by
the user’s eyes [11].
Smart Wheelchair: Rahul Jiwane, Priyanka Mahamunkar, and Ritu Notani [12] stated the proposed
system describes the design of a smart, motorized and voice-controlled wheelchair using an
embedded system. The system design depicts the “Smart Wheelchair” that supports voice
activation system for physically disabled and old aged people by incorporating voice commands,
which would control the movement of the wheelchair. The voice command is given through a
cellular device such as cell phone having Bluetooth and the command is transferred and converted
to the string for Arduino and is transferred to the Bluetooth Module SR-4.0 connected to the
Arduino board for the control of the Wheelchair. When the user says “Go” the chair will move in
the forward direction, the chair would move in the backward direction for “Back” and similarly
“Left”, “Right” for rotating it in left and right directions respectively and “Stop” to stop the
wheelchair. This system is designed and developed to save cost, time, energy and dependence on
the others for the movements of wheelchair using physically handicapped person.
2.2.2 Related works of Voice Recognition to Control a System
Voice Signal Identification consists of the process to convert a speech waveform into features that
are useful for further processing. There are many algorithms and techniques are use. It depends on
features capability to capture time frequency and energy into set of coefficients for cepstrum
analysis. Then we try to review the algorithm used for voice recognition and the related system.
Controlling of device through voice recognition using Matlab: In this paper a technique is
described in which firstly a speech command can be determined by power of speech signal which
can be taken by the help of microphones being connected to the computer itself. Using MATLAB
Programming the sampling of the speech signal takes place with sampling rate of 8000 samples/sec
according to nyquist criteria.
i.e. F = 2*Fm-------------------------(2.1)
Where: F=Sampling Frequency and Fm = maximum component of frequency being present in
speech signal.
The sampled signal is then filtered off by using band pass filter lying in the range of 300 Hz-4000
Hz, which filters the entire speech signal lying below 300 Hz of frequency range. Moreover, it
includes the algorithm for the creation of speech templates which can be achieved by calculating
the power of each sampled signals respectively [13].
Speech recognition using digital signal processing: This paper truly based on independent speech
recognition which can be achieved by the use of Mel Frequency Ceptrum Coefficients, which will
process the input speech signal and further will recognize the speaker. This above task can be
performed by using Matlab Programming use of Digital Signal Processing (DSP) as a hardware
platform [14].
Voice recognition circuit for home automation system: This thesis was carried out by FKE, UTM
degree student in 2009. In the thesis, a voice recognition chip, HM2007 and a CMOS static
RAM64K, built up the voice recognition circuit. The static Random Access Memory (RAM) use
to store the voice commands while the function of HM2007 is use to capture up to 20 words in the
length of 1.92 seconds. The voice recognition circuit automatically operate when it detect the
existence of human. However, the circuit could not capture the commands clearly. From the thesis,
it can be concluded that this thesis was successfully carried out. However, there are some points
that can be improved such as to design a system, which can capture the voice clearly [15].
Speech Recognition using MFCC: This paper describes an approach of speech recognition by
using the Mel-Scale Frequency Cepstral Coefficients (MFCC) extracted from speech signal of
spoken words. Principal component analysis is employed as the supplement in feature dimensional
reduction state, prior to training and testing speech samples via Maximum Likelihood Classifier
(ML) and Support Vector Machine (SVM). Based on experimental database of total 40 times of
speaking words collected under acoustically controlled room, the sixteen-ordered MFCC extracts
have shown the improvement in recognition rates significantly when training the SVM with more
MFCC samples by randomly selected from database, compared with the ML [16].
Speaker Recognition System using MFCC and Vector Quantization (VQ) Approach: This paper
presents an approach to speaker recognition using frequency spectral information with Mel
frequency for the improvement of speech feature representation in a Vector Quantization codebook
based recognition approach. The Mel frequency approach extracts the features of the speech signal
to get the training and testing vectors. The VQ Codebook approach uses training vectors to form
clusters and recognize accurately with the help of Linde Buzo Gray (LBG) algorithm. The LBG
algorithm is used for clustering a set of L training vectors into a set of M codebook vectors [17].
2.3 Conceptual Framework of the Study
2.3.1 Arduino Uno
A micro-controller is a small computer on a single integrated circuit containing a processor core,
memory, and programmable input/output peripherals. The important part for us is that a
microcontroller contains the processor (which all computers have) and memory, and some
input/output pins that you can control. Often called GPIO (General Purpose Input Output) Pins.
Arduino Uno is a microcontroller board based on the ATmega328P. It has 14 digital input/output
pins (of which six can be used as PWM outputs), six analog inputs, a 16 MHz quartz crystal, a
USB connection, a power jack, an ICSP header and a reset button. It contains everything needed
to support the microcontroller; simply connect it to a computer with a USB cable or power it with
an AC-to-DC adapter or battery to get started. You can tinker with your UNO without warring too
much about doing something wrong, worst case scenario you can replace the chip for a few dollars
and start over again. “Uno" means one in Italian and was chosen to mark the release of Arduino
Software (IDE) 1.0. The Uno board and version 1.0 of Arduino Software (IDE) were the reference
versions of Arduino, now evolved to newer releases. The Uno board is the first in a series of USB
Arduino boards.
Technical specification
Microcontroller ATmega328
Operation voltage 5V
Input voltage (recommended) 7-12V
SRAM 2KB
EEPROM 1KB
Clock Speed 16 MHz
2.3.1.2 Advantages of Arduino UNO
Since its simple and accessible user experience, Arduino has been used in thousands of different
thesis and applications. The Arduino software is easy-to-use for beginners, yet flexible enough for
advanced users. It runs on Mac, Windows, and Linux. Teachers and students use it to build low
cost scientific instruments, to prove chemistry and physics principles, or to get started with
programming and robotics. There are many other microcontrollers and microcontroller platforms
available for physical computing. All of these tools take the messy details of microcontroller
programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of
working with microcontrollers, but it offers some advantage over other systems.
1. Inexpensive - Arduino boards are relatively inexpensive compared to other
microcontroller platforms. The least expensive version of the Arduino module can be
assembled by hand, and even the pre-assembled Arduino modules cost less than $50.
2. Cross-platform - The Arduino Software (IDE) runs on Windows, Macintosh OSX, and
Linux operating system s. Most microcontroller systems are limited to Windows.
3. Simple, clear programming environment - The Arduino Software (IDE) is easy-to-use
for beginners, yet flexible enough for advanced users to take advantage of as well. For
teachers, it is conveniently based on the Processing-programming environment, so students
learning to program in that environment will be familiar with how the Arduino IDE works.
4. 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 is based. Similarly,
you can add AVR-C code directly into your Arduino programs if you want to.
5. Open source and extensible hardware - The plans of the Arduino boards are published
under a Creative Commons license, so experienced circuit designers can make their own
version of the module, extending it and improving it. Even relatively inexperienced users
can build the breadboard version of the module in order to understand how it works and
save money.
2.3.2 Dc Motors
Motor is a device, which transforms the electrical energy into mechanical energy. The working
principle of the motor is the interaction between the magnetic field and the current to produce a
force within the motor, which helps the motor to do work. The motor principle is based on
Faraday's Law, which states that, it is the conservation of electrical and mechanical energy.
DC motor is one type of motor that uses the DC current to convert electrical energy into mechanical
energy. When the electric current passes through a coil in a magnetic field, a magnetic force will
be generated, this produces a torque in the DC motor.
Maintenance is easy.
Cost effective.
2.3.3 Driver (L293D)
L293D is a motor driver or controller. It has two built in H-bridge circuits, which are able to control
two DC motors simultaneously in both clockwise and counter clockwise direction. The L293D
IC receives signals from the microprocessor or from Arduino and transmits the relative signal to
the motors. It has two voltage pins, one of which is used to draw current for the working of the
L293D and the other is used to apply voltage to the motors. It acts as an current high amplifier
because it take low current signal at its input and provides higher current signal at the output in
order to drives different load e.g. stepper motor & DC motors. Its features include large range input
voltage supply, large output current high noise immunity input signals etc. Its common real life
applications include stepping motor drivers, relay drivers, DC motor drivers etc.
Pin Diagram
Pulse Width Modulation or PWM is a technique for supplying electrical power to a load that has
a relatively slow response. The supply signal consists of a train of voltages pulses such that the
width of individual pulses controls the effective voltage level to the load. Both AC and DC signals
can be simulated with PWM. The PWM pulse train acts like a DC signal when devices that receive
the signal have an electromechanical response time that is slower than the frequency of the pulses.
For a DC motor, the energy storage in the motor windings effectively smooth s out the energy
bursts delivered by the input pulses so that the motor experiences a lesser or greater electrical
power input depending on the widths of the pulses. The formula below shows the voltage signal
comprised of pulses of duration on time that repeat every on pulse o time units of time. The output
of a PWM channel is either Vs volt during the pulse or zero volts otherwise. If this signal is
supplied as input to a device that has a response time much larger than total on time pulse o time,
the device will experience the signal as an approximately DC input with an effective voltage of
Veff = Vs (To /Tc).
Ultrasonic waves are sounds, which cannot be heard by human and are normally, frequencies of
above 20 kHz. The basic characteristics of ultrasonic waves are explaining below:
1. Wavelength and Radiation Velocity of wave propagation: is express by multiplication of
frequency and wavelength. The velocity of an electromagnetic wave is 3*10^8 m/s, but the
velocity of sound wave propagation in air is as slow as about 344 m/s at 20 degree Celsius , At
these slower velocities, wavelengths are short meaning that higher resolution of distance and
direction can be obtained. Because of the higher resolution, it is possible to get higher measurement
made large accuracy. The surface dimension of the ultrasonic device can be easily to obtain
accurate radiation.
2. Reflection: in order to detect the presence of an object, ultrasonic waves are reflecting on
objects. Because metal, wood, concrete, glass, rubber and paper, etc. reflect approximately 100%
of ultrasonic waves, these objects can be easily detected. Cloth, cotton, wool, etc. are difficult to
detect because they absorb ultrasonic waves. It may often be difficult, also, to detect objects having
large surface undulation, because of irregular reflection.
Basic working Principle
The basic working principle of ultrasonic sensor is given below:
1. Using IO trigger for at least 10s high level signal,
2. The Module automatically sends eight 40 kHz and detect whether there is a pulse signal back.
3. If the signal back, through high level, time of high output IO duration is the time from sending
ultrasonic to returning.
Test distance = (high level time * velocity of sound (340 m/s)/2
In our thesis we will use the HC-SR04 ultrasonic sensor with an Arduino for object avoidance. It
essentially gives your Arduino eyes (special) awareness. Moreover, it can prevent our wheelchair
from crashing or falling zero simply it uses to turn off the motors when the wheelchair get obstacle.
The Schematic diagram of ultrasonic sensor is shown in figure 3.4.
2.3.6 Potentiometer
A potentiometer is a type of position sensor. They are used to measure displacement in any
direction. Linear potentiometers linearly measure displacement and rotary potentiometers measure
rotational displacement.
A potentiometer is a three-terminal resistor with a sliding or rotating contact that forms an
adjustable voltage divider. If only two terminals are used, one end and the wiper, it acts as a variable
resistor or rheostat [24].
The measuring instrument called a potentiometer is essentially a voltage divider used for
measuring electric potential (voltage); the component is an implementation of the same principle,
hence its name.
Potentiometers are commonly used to control electrical devices such as volume controls on audio
equipment. Potentiometers operated by a mechanism can be used as position transducers, for
example, in a joystick. Potentiometers are rarely used to directly control significant power (more
than a watt), since the power dissipated in the potentiometer would be comparable to the power in
the controlled load [24].
2.3.7 Virtual Terminal
Virtual Terminal is a tool in Proteus, which is used to view data coming from Serial Port (DB9)
and used to send the data to Serial Port.
2.3.8 Power Supply
This section is consisting of a rechargeable battery and it gets the source from sun in the forms.
Moreover, this solar powered supply deals with the power requirements of the wheelchair for DC
motors, Arduino and other Section. Battery is used to provide the power supply to L298 driver IC
(12V supply) which drives the DC motors and Microcontroller.
2.3.9 Resistor
Fixed resistors have resistances that only change slightly with temperature, time or operating
voltage. Variable resistors can be used to adjust circuit elements (such as a volume control or a
lamp dimmer), or as sensing devices for heat, light, humidity, force, or chemical activity.
Resistors are common elements of electrical networks and electronic circuits and are ubiquitous in
electronic equipment. Practical resistors as discrete components can be composed of various
compounds and forms. Resistors are also implemented within integrated circuits. The electrical
function of a resistor is specified by its resistance: common commercial resistors are manufactured
over a range of more than nine orders of magnitude. The nominal value of the resistance will fall
within a tolerance. But the scope of the resistor in this thesis is to control motor speed by varying
the input voltage source at the input terminal of the motor through electronics PCB relays
according to the time set on the PIC microcontroller.
2.3.10 Batteries
Three different types of batteries can be used .They are “Wet”, “Gel”, and the new “AGM”.
1. Wet Batteries: Uses chemical reaction between lead and Sulphuric acid to create electrical
energy.
2. Gel Batteries: Contains a mixture of Sulphuric acid, fumed silica, pure water and
phosphoric acid, which forms a thixotropic gel.
3. AGM Batteries: Have an absorbent glass mat sandwiched between the plates, and saturated
with acid electrolyte.
Key Features:
12V 20AH wheelchair battery.
Low rate of self-discharge.
Maintenance free.
No pollution and no harm.
2.3.11 LED
A light-emitting diode (LED) is a semiconductor light source that emits light when current flows
through it. Electrons in the semiconductor recombine with electron holes, releasing energy in the
form of photons. The color of the light (corresponding to the energy of the photons) is determined
by the energy required for electrons to cross the band gap of the semiconductor.
LEDs have many advantages over incandescent light sources, including lower power consumption,
longer lifetime, improved physical robustness, smaller size, and faster switching.
Disadvantages of LEDs include electrical limitations to low voltage and generally to DC (not AC)
power, inability to provide steady illumination from a pulsing DC or an AC electrical supply
source, and lesser maximum operating temperature and storage temperature.
In this thesis, LED is useful for giving signal to the system or for the wheelchair regarding to
direction.
Although MATLAB is intended primarily for numeric computing, an optional toolbox uses
the MuPAD symbolic engine allowing access to symbolic computing abilities. An additional
package, Simulink, adds graphical multi-domain simulation and model-based
design for dynamic and embedded systems.
Millions of engineers and scientists worldwide use MATLAB for a range of applications, in
industry and academia, including deep learning and machine learning, signal processing and
communications, image and video processing, control systems, test and measurement,
computational finance, and computational biology.
prototyping in areas such as motor control, temperature control and user interface design. It also
finds use in general applications and since no hardware is required. It is convenient to use as
training or teaching tool.
There are many advantages for proteus, which includes:
Powerful string manipulation,
Comprehensibility of proteus scripts and
Availability of advanced data structures.
The language can be extended by adding user functions written in proteus or created in the code
in mikroC and Arduino.
2.4.3 Arduino IDE
Software programs, called sketches (Arduino program code), are created on a computer using the
Arduino integrated development environment (IDE). The IDE enables us to write and edit code
and convert this code into instructions that Arduino hardware understands. The IDE also transfers
those instructions to the Arduino board (a process called uploading). Arduino programs may be
written in any programming language with a compiler that produces binary machine code. Atmel
provides a development environment for their microcontrollers, AVR Studio and the newer Atmel
Studio.
To develop a code for thesis we choose Arduino program code based on the following practical
consideration.
1. Simple and clear programming environments.
2. The Arduino programming environment is easy-to-use and flexible.
3. Open source and extensible software.
4. We can upload it to proteus software easily.
CHAPTER THREE
3. SYSTEM DESIGN AND ANALYSIS
3.1 Introduction
This thesis describes a wheelchair, which can be control only by using the user's voice. This thesis
aims to facilitate the movement of the handicapped people and elderly people who cannot move
properly then enable them to lead better lives without any problem. This thesis consist both
software part and hardware design part. The software part of our thesis is the speech and speaker
recognition system and the hardware part is intelligent wheelchair.
Here input is taken from the mat lab speech signal is converted into the text. This text is transfer
to the Arduino Uno, which controls the movement and direction of wheel chair via a mat lab code.
Arduino Uno decides the operation of the two DC motors depending on the text received. L293D
is a dual full bridge driver IC that is used for driving purpose of DC motors.
Voice recognition technology is a key technology, which can provide a new way of human
interaction with machines or tools for controlling a wheelchair. There are five options for basic
motions of a wheelchair to be applied by the user. The five conditions of the wheelchair can be
described as follows:
1. Forward: Both motors are in clockwise direction.
2. Back: Both motors are in counter clockwise direction.
3. Left: Upper motor stopped and lower motor in clockwise direction.
4. Right: Lower motor stopped and upper motor in forward direction.
5. Stop: Both motors will stop.
The general system block diagram is shown in Figure 3.1; the user of wheelchair gives his/her
voice as input in order to drive the wheelchair to the desired position.
Microphone, which converts the voice signal to the electric signal and the signal, is given to the
voice recognition module. The voice recognition module it is the speech and speaker recognition
system algorithm that implement in mat lab software in our laptop. It converts the analog signal
into digital signal and classifies the input speech and speaker using neural network algorithm.
Finally, it predicts with the corresponding number of the five commands. After that, the predicted
number is transferred to the Arduino Uno using serial communication between our laptop and
Arduino Uno board.
Power Supply
Power
Supply
L293D
Ultrasonic ARDUINO UNO
Driver
MICROCONTROLLER
Sensor
Motor
Potentiometer
by the user through the use of this microphone. The voice of the user using the system is already
trained and stored in the module. So when the user gives the command, the module matches it with
the existing command and gives the output if the voice and the command match.
Certain people cannot even speak words properly. For them rather than using words as a command,
vale can be used. These are just a normal sound which can be formed by any person. It makes the
command giving process easy and the cerebral palsy affected people can also use the system. In
this system some advanced voice commands are designed so that the highly disabled person can
use it. The working of the wheel chair is based on the voice recognition unit which is the heart of
the system. There are five types of motions considered, moving forward, moving in reverse
direction, moving to the left and moving to the right and stop. The system starts by applying the
supply voltage to the speech recognition circuit.
The direction of the wheelchair depends on the user. For the forward command the wheelchair
moves in forward direction. For the reverse direction the opposite movement of wheel rotation will
occur. The left command is dependent on the mechanism of the wheel; i.e. right wheel moves
forward and left wheel moves backward and right command makes left wheel moves forward and
right wheel rotate backward. However, all these commands are to be fed into the voice recognition
kit via a laptop. The wheelchair system will go back to the stand by condition or end the whole
system by turning off the power supply of the speech recognition board. Hardware:
1. Arduino Uno. 5. Voice recognition module
2. Motor drivers 6. Mic (Unilateral)
3. DC magnetized motor 7. Laptop/PC (for storing the voice commands)
4. Battery and battery charger 8. Resistors.
3.3 System Development
The proposed work system development consists of various components such as:
Solar cell,
DC motor forward-reverse control,
Voice recognition kit,
Battery and its operations,
Power management,
Circuit design,
Microcontroller,
A battery is a device that converts chemical energy directly to electrical energy. It consists of a
number of voltaic cells; each voltaic cell consists of two half-cells connected in series by a
conductive electrolyte containing anions and captions. One half-cell includes electrolyte and the
electrode to which anions migrate i.e., the anode or negative electrode, the other half-cell includes
electrolyte and the electrode to which captions migrate; i.e. the cathode or positive electrode. A
separator between half-cells allows ions to flow, but prevents mixing of the electrolytes.
CHAPTER FOUR
4. SIMULATION RESULT AND DISCUSSION
4.1 Simulation Results
This chapter presents simulation results obtained from tests performed on design and simulation
of solar powered voice controlled electric wheelchair. The final circuit of the thesis simulation
design is shown below. Note that the Simulation models are shown under and the simulation
studies and analysis are carried out depends on different operating conditions as below.
It has five main conditions or cases when the Matlab sends a message or a signal to the Arduino
the simulations result becomes as follow as in the following cases:
CASE 1: When the Arduino receives a voice command left from the Matlab the following will be
appears:
Lower motor will rotate in clockwise direction.
Upper motor will stop rotating in any direction.
Red LED signal will be on.
Figure 4.1: Simulation result when the Arduino receives Left command
CASE 2: When the Arduino receives a voice command right from the Matlab the following will
be appears:
Upper motor will rotate in clockwise direction.
Lower motor will stop rotating in any direction.
Yellow LED signal will be on.
Figure 4.2: Simulation result when the Arduino receives Right command
CASE 3: When the Arduino receives a voice command backward from the Matlab the following
will be appears:
Upper motor will rotates in counter clockwise direction
Lower motor will rotates in counter clockwise direction.
Green LED signal will be on.
Figure 4.3: Simulation result when the Arduino receives backward command
CASE 4: When the Arduino receives a voice command forward from the Matlab the following
will be appears:
Both motors will rotates in clockwise direction
Blue LED signal will be on.
Figure 4.4: Simulation result when the Arduino receives Forward command
CASE 5: When the Arduino receives a voice command stop from the Matlab the following will
be appears:
Both motors will stop rotating in any direction.
No LED signal will be on.
Figure 4.5: Simulation result when the Arduino receives Stop command
4.2 Discussion
When the Arduino receives a voice command right from the Matlab the simulation on the proteus
becomes depending on the characteristic of H-bridge, we can control the direction of two motor to
get the five possible direction of wheelchair as we listed in table 2.3.
Table 4.1: Motors Direction
CHAPTER FIVE
5. CONCLUSION AND RECOMMENDATION
5.1 Conclusion
This paper has presented a means of controlling the wheelchair using voice from the user and
detecting the obstacle through the obstacle detector sensor called ultrasonic sensor.
Generally:
1. The design and simulation of a voice controlled wheelchair for disabled people using
Arduino and voice recognition module for controlling the motion of a wheelchair is
designed. The direction of the wheelchair now can be selected using the specified voice
commands.
2. The design not only reduce the manufacture cost compared with present market but also
will give great competitive with other types of electrical wheelchair. The only thing needed
to ride the wheelchair is the synthetic voice commands of the person.
3. A system that can directly enhance the lifestyle of a physically disabled person in the
community can be designed. This project has many advantages like safety, comfort, energy
saving, full automation etc.
4. The technology can also enhanced safely for users who use ordinary joystick-controlled
wheelchair, by preventing collision with walls, fixed objects, furniture and other people.
Thus, this “voice controlled wheelchair” overcomes all the drawbacks of the joystick-
controlled wheelchair.
Finally, this system is very remarkable because of its simplicity in construction, low cost, low
power consumption, small size and it is possible to start marketing by combing and selling this
products.
5.2 Recommendation and Future Modifications
This project still has many improvements that should be done to improve its accuracy and
reliability. There are some suggestions for the future research and development.
1. Adding the signal conditioning part, this is consisting of a filter circuit. In signal
processing, the function of a filter is to remove unwanted parts of the signal, such as random
noise, or to extract useful parts of the signal, such as the components lying within a certain
frequency range.
2. Designing a controller to control the front wheels so that they will be self-centered each
time the wheelchair stops.
3. Lastly, the circuit to control the motor can be replaced by a microcontroller for example
peripheral interface controller (PIC). By using the microcontroller, the speed and direction
of the wheelchair can be controlled and performed better. So, the speed can be varied
simultaneously without stopping the movement of the wheelchair
References
[1] Agarkar and J. K. K. a. A. M., "voice operated wheel chair," International Journal of
Research in Engineering and Technology, 2014..
[2] Daoudi and K., "Automatic Speech Recognition:Applications of Artificial Intelligence and
Expert Systems", The New Millennium, 2002.
[3] Islam and G. A. a. M.T., "Design and Fabrication of a Voice Controlled Wheelchair for
Physically Disabled People", 2015.
[4] T. D, G. P and F. J., "Cognitive predictors of young children’s readiness for powered
mobility", Dev MedChild Neurol, 1999.
[5] G. MA, C. C and B. EM., "Adaptation to chronic illness and disability and its relationship to
perceptions of independence and dependence", J Gerontol B Psychol Sci Soc Sci., 2000.
[8] Bourhis, "Assisted navigation for a powered wheelchair Systems Engineering in the Service
of Human", Le Touquet, France, Oct 1993.
[10] Asif and M., "Dynamic Finger Movement Tracking And Voice Commands Based Smart
Wheelchair", August,2011.
[11] Arai, "Techniques And Applications of Electric Wheelchair Control with the Human Eye",
Kobe, Japan, December,2007.
[13] "Controlling of Device through Voice Recognition Using Matlab," March 2012. [Online].
Available: http://www:ijater:com=F iles=fd54f0ee - 1aae -4e88 -ab81 -
b89f32ac57c6IJATER0335:pdf..
[17] J. M. Peter Merkx, "Automatic Vowel Classification in Speech An Artificial Neural Network
Approach Using Cepstral Feature Analysis",USA, Duke University, 2005.
APPENDIX A
Arduino code:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(0, 1);
int trigerPin = 10;
int echoPin = 9;
float duration;
int distance;
int in1=7; // in1 connected to pin 7
int in2=6;// in2 connected to pin 6
int in3=4;
int in4=5;
int en1=11;
int en2=11;//
int pot=0;// potentiometer connected to pin A0
int speedout;
int redLED=12;
int greenLED=3;
int blueLED=13;
int yellowLED=2;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
mySerial.begin(9600);
pinMode(trigerPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(en1,OUTPUT);
pinMode(en2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
pinMode(redLED,OUTPUT);
pinMode(greenLED,OUTPUT);
pinMode(blueLED,OUTPUT);
pinMode(yellowLED,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigerPin, LOW);
delayMicroseconds(2);
digitalWrite(trigerPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigerPin, LOW);
duration=pulseIn(echoPin, HIGH);
distance=duration*340/2;
Serial.print("Distance: ");
Serial.println(distance);
speedout = analogRead(pot);
speedout = speedout*0.2492668622; //We read the analog value from the potentiometer calibrate
it (1023 x 0.2492668622 = 255) there for our maximum output is 255
analogWrite(en1,speedout); // output to motor
analogWrite(en2,speedout);
if(Serial.available() > 0){
char input= Serial.read();
if(input=='a'){
digitalWrite(redLED,HIGH);
digitalWrite(blueLED,LOW);
digitalWrite(greenLED,LOW);
digitalWrite(yellowLED,LOW);
Serial.println("left");
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
else if(input=='b'){
digitalWrite(yellowLED,HIGH);
digitalWrite(redLED,LOW);
digitalWrite(redLED,LOW);
digitalWrite(redLED,LOW);
Serial.println("right");
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
else if(input=='c'){
digitalWrite(greenLED,HIGH);
digitalWrite(redLED,LOW);
digitalWrite(blueLED,LOW);
digitalWrite(yellowLED,LOW);
Serial.println("back");
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
else if(input=='d'){
digitalWrite(blueLED,HIGH);
digitalWrite(redLED,LOW);
digitalWrite(yellowLED,LOW);
digitalWrite(greenLED,LOW);
Serial.println("forward");
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
else if(input=='e'){
digitalWrite(redLED,LOW);
digitalWrite(greenLED,LOW);
digitalWrite(blueLED,LOW);
digitalWrite(yellowLED,LOW);
Serial.println("stop");
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
}
}
APPENDIX B
% MATLAB TEST FILE
i=1;
while i<=100
recObj = audiorecorder;
in = input('pressEnter','s')
disp(i);
disp('start')
recordblocking(recObj, 1.2);
disp('stop')
y= getaudiodata(recObj);
d=fdesign.highpass('Fst,Fp,Ast,Ap',8700/16000);
hp=design(d);
x=filter(hp,y);
plot(x);
fn=strcat('stop',int2str(i),'.wav');
audiowrite(char(fn),x,8000);
i=i+1;
end
w=1;
%recObj = audiorecorder;
while(1)
recObj = audiorecorder;
if in== 'a'
disp('start')
recordblocking(recObj, 1.2);
disp('stop')
y= getaudiodata(recObj);
d=fdesign.highpass('Fst,Fp,Ast,Ap',8700/16000);
hp=design(d);
x=filter(hp,y);
NoOfSamples=100;
Letters = {'front','back','left','right','stop'};
NoOfLPCFilters = 50;
lpccoeff = zeros(size(Letters,2),NoOfSamples,NoOfLPCFilters+1);
for ii = 1:size(Letters,2)
ll = 1;
for kk = 1:NoOfSamples
file_name = strcat(Letters(ii),int2str(kk),'.wav');
audiowrite(char(file_name),x,8000);
Samples = audioread(char(file_name));
Samples(zz) = 0;
zz=find(Samples);
Speech_Region = Samples(zz)/norm(Samples(zz));
lpccoeff(ii,ll,:) = lpc(Speech_Region,NoOfLPCFilters);
ll = ll+1;
end
end
%//tempStorage = zeros(1*NoOfSamples,NoOfLPCFilters);
tempStorage(:,:) = lpccoeff(1,:,2:end);
obj_A2 = gmdistribution.fit(tempStorage,1);
tempStorage(:,:) = lpccoeff(2,:,2:end);
obj_B2 = gmdistribution.fit(tempStorage,1);
tempStorage(:,:) = lpccoeff(3,:,2:end);
obj_C2 = gmdistribution.fit(tempStorage,1);
tempStorage(:,:) = lpccoeff(4,:,2:end);
obj_D2 = gmdistribution.fit(tempStorage,1);
tempStorage(:,:) = lpccoeff(5,:,2:end);
obj_E2 = gmdistribution.fit(tempStorage,1);
Samples = x;
zz = find(Samples);
Speech_Region = Samples(zz);
lpc_test = lpc(Speech_Region,NoOfLPCFilters);
D2(1) = mahal(obj_A2,lpc_test(2:end));
D2(2) = mahal(obj_B2,lpc_test(2:end));
D2(3) = mahal(obj_C2,lpc_test(2:end));
D2(4) = mahal(obj_D2,lpc_test(2:end));
D2(5) = mahal(obj_E2,lpc_test(2:end));
plot(x);
m2 = min(D2);
if m2== D2(1)
disp('FOrward');
disp('Backward');
disp('Left');
disp('Right');
disp('Stop');
end
end
if in =='x'
break;
end
w=w+1;
end