Multi Controlled Wheelchair (1)

7
Multi Controlled Wheelchair S. Manoj, Ayswarya Vijayan, Shilpa N, Viswapriya R. Abstract- Our paper aims to help handicapped and paralyzed people all over the world. Wheel chairs with joystick control are already available in market at starting rate of 50,000Rs and going as far as 1lakh. But if we examine carefully we can see that majority of the disabled people cannot afford this. Also we can see that the quadriplegic patients cannot use this joystick control wheelchair because of their disability. Hence we propose a multi-controllable wheelchair that provides various controls by means of voice, head tilt, using hand movement in joystick & touch in touchpad for various categories of disabled people. Index Terms electric wheelchair, voice control, multi controlled wheelchair, head controlled, accelerometer, low cost wheelchair. I. INTRODUCTION Wheelchairs are the easiest means of transport for disabled people. With the improvements in technology various improvements such as joystick control[7], voice control[12] are becoming available for ease of patients. Main disadvantage is that these are not affordable & comes at high prices.Hence we a multi-controllable wheelchair which provides various controls for disabled people at fairly low price. 1. Voice Control- Can be used by any people except blind people to control the wheelchair. 2. Head Control- Can be used by dumb people and other quadriplegic patients for wheel chair control. 3. Joystick control- Can be used by others for wheel chair control where the user can control the joystick. 4. Touchpad Control- Use touchpad for wheelchair motion & switching to menu. Password protection is also provided via speech recognition to prevent misuse of the wheel chair. The various modes of control of wheel chair can also be selected via speech recognition. II. ALGORITHM A. Voice Recognition and Control Modern general-purpose speech recognition systems are generally based on hidden Markov models (HMMs)[4]. This is a statistical model which outputs a sequence of symbols or quantities. One possible reason why HMMs are used in speech recognition is that a speech signal could be viewed as a piece-wise stationary signal or a short-time stationary signal.That is, one could assume in a short time in the range of 10 milliseconds, speech could be approximated as a stationary process[5]. Converting a speech waveform into a sequence of words involves several essential steps: 1. A microphone picks up the signal of the speech to be recognized and converts it into an electrical signal. A modern speech recognition system also requires that the electrical signal be represented digitally by means of an analog-to- digital (A/D) conversion process, so that it can be processed with a digital computer or a microprocessor. 2. This speech signal is then analyzed (in the analysis block) to produce a representation consisting of salient features of the speech. The most prevalent feature of speech is derived from its short-time spectrum, measured successively over short-time windows of length 2030 milliseconds overlapping at intervals of 1020 ms. Each short-time spectrum is transformed into a feature vector, and the temporal sequence of such feature vectors thus forms a speech pattern. 3. The speech pattern is then compared to a store of phoneme patterns or models through a dynamic programming process in order to generate a hypothesis (or a number of hypotheses) of the phonemic unit sequence. A speech signal inherently has substantial variations along many dimensions.Before we understand the design of the project let us first understand speech recognition types and styles. Implementation The heart of the speech recognition module is the HM 2007 voice recognition chip. It can store up to 20 words, each of duration 1.92 seconds. Password protection is also provided via speech recognition to prevent misuse of the wheel chair. The various modes of control of wheel chair can also be selected via speech recognition. The chip has two operational modes; manual mode and CPU mode. The CPU mode is designed to allow the chip to work under a host computer. This is an attractive approach to speech recognition for computers because the speech

Transcript of Multi Controlled Wheelchair (1)

Page 1: Multi Controlled Wheelchair (1)

Multi Controlled Wheelchair

S. Manoj, Ayswarya Vijayan, Shilpa N, Viswapriya R.

Abstract- Our paper aims to help handicapped and paralyzed

people all over the world. Wheel chairs with joystick control are

already available in market at starting rate of 50,000Rs and

going as far as 1lakh. But if we examine carefully we can see

that majority of the disabled people cannot afford this. Also we

can see that the quadriplegic patients cannot use this joystick

control wheelchair because of their disability. Hence we propose

a multi-controllable wheelchair that provides various controls

by means of voice, head tilt, using hand movement in joystick &

touch in touchpad for various categories of disabled people.

Index Terms — electric wheelchair, voice control, multi controlled wheelchair, head controlled, accelerometer, low cost wheelchair.

I. INTRODUCTION

Wheelchairs are the easiest means of transport for

disabled people. With the improvements in technology

various improvements such as joystick control[7], voice

control[12] are becoming available for ease of patients.

Main disadvantage is that these are not affordable &

comes at high prices.Hence we a multi-controllable

wheelchair which provides various controls for disabled

people at fairly low price.

1. Voice Control- Can be used by any people except

blind people to control the wheelchair.

2. Head Control- Can be used by dumb people and

other quadriplegic patients for wheel chair control.

3. Joystick control- Can be used by others for wheel

chair control where the user can control the joystick.

4. Touchpad Control- Use touchpad for wheelchair

motion & switching to menu.

Password protection is also provided via speech

recognition to prevent misuse of the wheel chair.

The various modes of control of wheel chair can

also be selected via speech recognition.

II. ALGORITHM

A. Voice Recognition and Control

Modern general-purpose speech recognition systems are

generally based on hidden Markov models (HMMs)[4]. This

is a statistical model which outputs a sequence of symbols or

quantities. One possible reason why HMMs are used in

speech recognition is that a speech signal could be viewed as

a piece-wise stationary signal or a short-time stationary

signal.That is, one could assume in a short time in the range

of 10 milliseconds, speech could be approximated as a

stationary process[5]. Converting a speech waveform into a

sequence of words involves several essential steps:

1. A microphone picks up the signal of the speech to be

recognized and converts it into an electrical signal. A modern

speech recognition system also requires that the electrical

signal be represented digitally by means of an analog-to-

digital (A/D) conversion process, so that it can be processed

with a digital computer or a microprocessor.

2. This speech signal is then analyzed (in the analysis block)

to produce a representation consisting of salient features of

the speech. The most prevalent feature of speech is derived

from its short-time spectrum, measured successively over

short-time windows of length 20–30 milliseconds

overlapping at intervals of 10–20 ms. Each short-time

spectrum is transformed into a feature vector, and the

temporal sequence of such feature vectors thus forms a

speech pattern.

3. The speech pattern is then compared to a store of phoneme

patterns or models through a dynamic programming process

in order to generate a hypothesis (or a number of hypotheses)

of the phonemic unit sequence. A speech signal inherently

has substantial variations along many dimensions.Before we

understand the design of the project let us first understand

speech recognition types and styles.

Implementation

The heart of the speech recognition module is the HM 2007

voice recognition chip. It can store up to 20 words, each of

duration 1.92 seconds. Password protection is also provided

via speech recognition to prevent misuse of the wheel chair.

The various modes of control of wheel chair can also be

selected via speech recognition.

The chip has two operational modes; manual mode and CPU

mode. The CPU mode is designed to allow the chip to work

under a host computer. This is an attractive approach to

speech recognition for computers because the speech

Page 2: Multi Controlled Wheelchair (1)

recognition chip operates as a co-processor to the main CPU.

The jobs of listening and recognition don’t occupying any of

the computer's CPU time. When the HM2007 recognizes a

command it can signal an interrupt to the host CPU and then

relay the command code. The HM2007 chip can be cascaded

to provide a larger word recognition library. The circuit we

are building operates in the manual mode. The manual mode

allows one to build a standalone speech recognition board

that doesn't require a host computer and may be integrated

into other devices to utilize speech control.

The major components of this

design as in fig. 1 are: a speech recognition chip, memory,

keypad, and LED 7-segment display. The chip is designed for

speaker dependent (one user) applications, but can be

manipulated to perform speaker independent (multiple users)

applications. The keypad and LED 7-segment display will be

used to program and test the voice recognition circuit.

Fig. 1 Speech Recognition Hardware Implementation.

B. Head Control

In order to determine the angle of tilt, θ, the A/D values from

the accelerometer are sampled by the ADC channel on the

microcontroller as in fig. 2. The acceleration is compared to

the zero g offset to determine if it is a positive or negative

acceleration, e.g., if value is greater than the offset then the

acceleration is seeing a positive acceleration, so the offset is

subtracted from the value and the resulting value is then used

with a lookup table to determine the corresponding degree of

tilt, or the value is passed to a tilt algorithm. If the

acceleration is negative, then the value is subtracted from the

offset to determine the amount of negative acceleration and

then passed to the lookup table or algorithm[6]. One solution

can measure 0° to 90° of tilt with a single axis accelerometer,

or another solution can measure 360° of tilt with two axis configuration (XY, X and Z), or a single axis configuration

(e.g. X or Z), where values in two directions are converted to

degrees and compared to determine the quadrant that they are

in.

VOUT=VOFFSET+[(△V/△g)×1.0g×sinθ] where: VOUT = Accelerometer Output in Volts

VOFF = Accelerometer 0g Offset ΔV/Δg = Sensitivity 1g = Earth.s Gravity θ = Angle of Tilt

Solving for the angle:

θ=arcsin[(VOUT-VOFFSET)/(△V/△g)]

Fig. 2 Read values from an accelerometer.

Fig.3 accelerometer connection.

Page 3: Multi Controlled Wheelchair (1)

Fig. 5 Plot of Voltage Vs Angle in accelerometer.

Implementation

The analog output voltage from the accelerometer for degrees

of tilt from -90° to +90°. The change in degrees of tilt

directly corresponds to a change in the acceleration due to a

changing component of gravity acted on the accelerometer. The slope of the curve is actually the sensitivity of the

device. As the device is tilted from 0°, the sensitivity

decreases. You see this in the Fig. 5 as the slope of output

voltage decreases for an increasing tilt towards 90°. Because

of this nonlinearity, the degree resolution of the application

must be determined at 0° and 90° to ensure the lowest

resolution is still within the required application resolution.

Fig.4 Sense axis of accelerometer

C. Joystick Control

The 2-Axis Joystick can be used to add analog input to your

next project. The 2-Axis Joystick contains two independent

potentiometers (one per axis) that can be used as dual

adjustable voltage dividers, providing 2-Axis analog input in

a control stick form[7].

Fig.6 Joystick interfacing with arduino

D. Touchpad Control

Capacitance Measurement

The complete capacitance measurement system is composed

by sensing electrode pads connected to the MPR121 sensing

inputs, and the MPR121 communicating with the host

processor via the I2C bus and Interrupt output. The total

measureable sensing channels is 13 channels, including 12

physical electrode inputs and one multiplexed 13th channel

for proximity detection.. After the capacitance is measured, it

then get noise filtered and finally touch /release status is

determined. The 10bit output data (or even the 8 bit baseline

value providing an even higher level of noise rejection for

slowly changing mediums) can be used as the capacitance

measurement output relating to the measured parameters such

as the water level, displacement, or medium content change. The capacitance measured on each sensing channel, is the

total capacitance to ground which can be the combination of

background parasitic capacitance to ground (Cb) and finger

touch induced capacitance to ground (Cx).

Page 4: Multi Controlled Wheelchair (1)

Fig. 7 Capacitance measurement

The MPR121 uses a constant DC charge current scheme for

capacitance measurement. Each channel is charged and then

discharged completely to ground periodically to measure the

capacitance. All the channels are measured sequentially,

when one channel is in the charge/discharge and

measurement period the other channels are shorted to ground.

The amount of charge (Q) applied is programmable by

setting the charge current (I), and the charge time (T). Once

the electrode is charged, the peak voltage (V) at the end of

charge is measured by internal 10bit ADC. This voltage V

(that is the ADC counts) is reverse proportional to the

capacitance (C) on the sensing channel.

𝑪=𝑸/𝑽=𝑰×𝑻/𝑽, 𝑽=𝑸𝑪=𝑰×𝑻𝑪

Fig. 8 MPR121 Capacitance measurement

Implementation

The Touch Sense Shield is really a very simple board[9]. It

has got one little chip on it -- an MPR121 touch sensor

controller – and some extra circuitry to limit the voltages on that chip to 3.3V. The Touch Sense Shield uses just three

pins of the Arduino: A4, A5, and D2. The MPR121 speaks a

kind of unique serial language called I2C. I2C requires just

two wires for communication – one for a clock (SCL), and

one for data (SDA) – which are connected to Arduino's A4

and A5 pins. Be aware that you probably should avoid using

those two pins for anything but communicating with the

Touch Sense Shield. Only one other pin is connected

between the touch sense controller and the Arduino: an

interrupt output from the MPR121 to Arduino's digital pin 2.

This pin is controlled by the MPR121 IC.

E. Motor Controller

Hardware Architecture

The design involves running the BLDC motor in a closed

loop, with speed as set by a potentiometer[1]. As displayed in

the architecture diagram, the design generates PWM voltage

via the Z8FMC16100 PWM module to run the BLDC

motor[2]. Once the motor is running, the state of the three

Hall sensors changes based on the rotor position. Voltage to

each of the three motor phases is switched based on the state

of the sensors (commutation). Hall sensor interrupts are

counted to measure the motor speed. Other peripheral

functions are used to protect the system in case of overload,

under-voltage, and over-temperature. The hardware is

described in the following sections[3].

Three-Phase Bridge MOSFET

The three-phase bridge MOSFET consists of six MOSFETs

connected in bridge fashion used to drive the three phases of

the BLDC motor. The DC bus is maintained at 24 V, which

is same as voltage rating of BLDC motor. A separate Hi-Lo

gate driver is used for each high- and low-side MOSFET

phase pair, making the hardware design simpler and robust.

The high-side MOSFET is driven by charging the bootstrap

Page 5: Multi Controlled Wheelchair (1)

capacitor. The DC bus voltage is monitored by reducing it to

suitable value using a potential divider.The DC bus current is

monitored by putting a shunt in the DC return path. An NTC-

type temperature sensor is mounted on MOSFET heatsink,

providing analog voltage output proportional to temperature.

PWM Module

The Z8FMC16100 contains a six-channel, 12-bit PWM

module configured in this application to run in Independent

mode. The switching frequency is set to 10 KHz. The output

on the individual channels is controlled according to the

inputs from the Hall sensors.The inputs from the Hall sensors

determine the sequence in which the three-phase bridge

MOSFET is switched. The Duty cycle of the PWM is directly

proportional to the accelerator potentiometer input. The

change in the duty cycle controls the current through the

motor winding, thereby controlling motor torque.

Commutation Logic

The Hall sensors are connected to port B pin PB0, PB1, and

PB2 on the Z8FMC16100. An interrupt is generated when

the input state on any pin changes[11]. An interrupt service

routine checks the state of all three pins and accordingly

switches the voltage for the three phases of the motor. Trapezoidal commutation is used for this application to make

implementation simple. In this process of commutation, any

two phases are connected across the DC bus by switching the

top MOSFET of one phase and bottom MOSFET of another

phase ON. The third phase is left un-energized (both top and

bottom MOSFET of that phase are switched OFF).

Speed Measurement

The Hall sensor outputs are connected to port B bits 0, 1, and

2. Interrupts generated on port B bits 0, 1, and 2 are counted

every second. The one-second time interval reference is

provided by Timer0. With an interrupt occurring every 1 ms,

1000 counts are required to complete a one-second interval.

Closed Loop Speed Control

The closed-loop speed control is implemented

using a PI loop, which works by reducing the error between

the speed set by the potentiometer and actual motor speed.

The output of PI loop changes the duty cycle of the PWM

module, thereby changing the average voltage to the motor

and ultimately changing the power input. The PI loop is

periodically timed at 128 ms by Timer0 interrupt.

Protection Logic

The ADC module periodically checks DC bus voltage,DC

bus current, and heat sink temperature. If these values go

beyond the set limits, the motor is shut down. These checks

are timed by Timer0 interrupt.

Over-Current Hardware Protection

The Z8FMC16100 has a built-in comparator that is used to

shut down the PWM for over-current protection. When the

current exceeds the set threshold,a PWM Comparator Fault is

generated to turn OFF the PWM Module.

Fig.9 Motor Controller block diagram

Page 6: Multi Controlled Wheelchair (1)

III. SIMULATION RESULTS

We used “Arduino” [10], a free software for our simulations

& programming purposes. The board that we used was

arduino mega 2560 which is quite an advanced version of

arduino board. We successfully interfaced all our modules

with the arduino board & observed our simulations in the

arduino serial monitor.

Fig.11 Arduino simulations for touchpad working

The voice control is speaker dependant & responds very well

to the person who trained the system. Thus the person who

trained the system can only operate the system efficiently.

We calibrated various voltage values for joystick movements,

head tilt using accelerometer. Then converted these voltages

to a digital count between 0 & 1023 using inbuilt 10 bit

ADC’s in arduino mega board & mapped different directions

for these values & hence controlled the direction of wheel

chair using arduino programming. Before testing this directly

using motor we simulated their working in arduino serial

monitor. We were also successful in interfacing touchpad &

wrote a complex IIC program for serial communication of

data[8].

We were able to reduce the overall cost to Rs 30000 which

was our primary aim. Thus we were successful in designing a

low cost efficient multi controlled wheel chair.

IV. CONCLUSION

Overall, we feel that this paper met most of our expectations,

as we were able to build an economical and multi - controlled

wheelchair. If we had more time and funding we could have

implemented a more enhanced version. This system can be

developed in future to a brain controlled or stair climbing

wheelchair. Other enhancements are standing wheelchairs &

all terrain 6 wheel drive wheelchairs. Since our main aim was

to design a low cost wheelchair such designs are out of our

reach.

This was also a tremendous

learning experience for us, especially with the hardware. We

learned more about Arduino open source, efficient circuit

design, and hardware debugging. This endeavor of ours also

Microcontroller Board

helped in fine tuning our software skills. Through this paper,

we got valuable experience in developing efficient software

using memory and run-time optimizations, that which cannot

be gained through routine assignments.

Fig. 10 Arduino Mega 2560 board

It has 54 digital pins of which 14 pins can be used as PWM

outputs and 16 analog input pins which makes this board a good selection to implement our project. Coding will be done

on arduino software which is an open source software.There

are 4 serial ports in arduino mega.

Page 7: Multi Controlled Wheelchair (1)

REFERENCES

[1] eZ8 CPU User Manual (UM0128)

[2] Z8FMC16100 Series Product Specification (PS0246)

[3] PID Motor Control with the Z8PE003 Application Note (AN0030)

[4] L. R. Bahl, P. F. Brown, P. V. de Souza, and R. L.Mercer, “Estimating hidden Markov model parameters so as to maximize speech recognition

accuracy,” IEEE Trans. Speech Audio Processing, vol. 1, no. 1, pp. 77–83,

1993. [5] Janet M. Baker, Li Deng, James Glass, Sanjeev Khudanpur, Chin-Hui

Lee, Nelson Morgan, Douglas O’Shaughnessy (MAY, 2009). "Research

Developments and Directions in Speech Recognition and Understanding, Part 1". IEEE SIGNAL PROCESSING MAGAZINE. Retrieved May, 2010.

[6] Accelerometer based measurement of body movement for

communication, play, and creative expression. M. Nolan, E. Burke and F. Duignan

[7] Force Feedback Joystick Control of a Powered Wheelchair: Preliminary

Study Fattouh, M. Sahnoun and G. Bourhis [8] MPR121, Proximity Capacitive Touch Sensor Controller – Freescale

datasheet.

[9] Sparkfun website www.sparkfun.com [10]Arduino reference page www.arduino.cc

[11] T.G. Wilson, P.H. Trickey, "D.C. Machine. With Solid State

Commutation", AIEE paper I. CP62-1372, Oct 7, 1962 [12] Relational Interface for a Voice Controlled Wheelchair Stefanie Tellex