BLDC motor driver speed control
My wheelchair use two numbers of BLDC motors working on 24 V DC. The speed of these motors can be varied by a DC voltage in the range 0 to 5 Volts applied to the speed control input of BLDC driver circuit. Since PSOC4 does not have sufficient number of DACs, two PWM blocks are used to generate the needed variable DC voltage. The output of the PWM is filtered outside the chip using RC filters. PWM clock frequency is selected as 4 MHz
Steering of wheelchair is achieved by controlling the speed of motors. If left side motor speed is reduced than speed of right side motor, then the wheelchair turns left and vice versa.
A duty cycle of these two PWM blocks are under firmware control and is varied to get the desired output voltage that depends upon the user input.
I2C Master
An I2C port is reserved for the purpose of interfacing. At present this bus is planned for RF remote receiver interfacing so that an assistant can operate the wheelchair from a visible distance. I2C LCD Module also is planned to add at a later stage.
Cap sense Switches
Figure 1 CAPSENSE Block
Five numbers of touch switches are provided for navigation. If the user touches the forward button, then the wheelchair moves forward. If he releases the button, the wheelchair stops. Similarly, it is easy to turn right and left. A panic button is provided for the user to get the attention of the assistance of others. A loud alarm will be produced if the panic button is pressed for 1 second duration.
MeMS based control.
This unique feature allows a partially paralyzed person or a patient with limited movement of limbs to operate the wheelchair.
Figure 2. MEMS sensor mounted on the hat and the user interface
A MEMS chip is attached to the hat that can be used to wear through by the patient. By tilting his head in the forward direction the wheelchair will move forward. Also by tilting his head sideways, he can turn the wheelchair left or right. The MEMS chip is used for sensing the head tilt in the X (sideways) and Y (forward) direction. The MEMS chip gives out DC voltage corresponds to the tilt and PSOC ADC is used to read the voltage.
‘Start’ and ‘Panic’ switches
Two physical switches are used for safety; one for ON & OFF the power supply to the motors and the other switch is a ‘panic’ switch that is useful to switch off the wheelchair in case of emergency.
The final hardware design
Oops! After almost finishing the design and publishing my last blog post, when I tried to build the design the PSOC creator displayed error messages. It notified me that there are I/O pin limitations for the pSO4 kit and also the hardware resource requirement exceeds the capacity of the chip. I am forced to trim the design by deleting some I/O pins reserved for future use and also redesigned the digital hardware components. The final schematic diagrams are as shown in figure. The buildup operation is now successful and the compiling operation was done without any errors.
Figure 3a. Intelligent wheelchair Schematic page 1
Figure 3b Intelligent wheelchair schematic page 2
Conclusion
It is indeed an enjoyable experience to learn PSOC creator and PSOC 4 chip. The graphical interface helps the first time user to learn it very fast.
Because of the busy official schedule, I could not spend more time on this project. Also the project is very much delayed due to undue delay in getting the ordered components from ‘Element14’. Even though I was able to order the components using the discount coupon offered by ‘Element14’ in November, I am yet to receive the full set of components for this project. Hence I was forced to change the hardware design.
The remaining work is to write the code and debug. The flowchart is already prepared and hence I think with the technical help from (really appreciate the wonderful support received from PSOC application Engineers) CYPRESS, I will be able to successfully demonstrate the working of wheelchair.