GET LOGGED IN

 

 

 

 

HOME
ABOUT • HELP

 



Build a Robot From A Power Wheelchair      ...     16402 Views
Author's name: WeRbots       Author's ratings = 0

I bought a power wheelchair with the idea it was the best way to get cheap motors and a framework for a "big bot" that I could use to haul junk and do robot sorts of things.

My wife kept telling everyone I had a Power Chair - So I hurried up and put the thing under picAxe control, so my wife would now say I was working on a Robot - From a Wheelchair. Now it is an official Robot.

There is more to do. I want to make a set of sensors. And I want to make a remote control. I want it to be autonomous, but I want to tell it what to do, and let it figure out "how." Now I have the base unit under computer control, so all the rest is adding fun!
Author's Assigned Keywords:    picAxe 18x    picAxe 18m2    Robot Motor Control    Robot    robot bending


Exploratorium     
I had to dig around a bit to figure out enough of the wheelchair electronics to get things going.

Basically, you have a joystick which moves voltages (analog) +- a given voltage range (couple of volts) so the green wire inside the controller box provides a center voltage reference as the whole thing is built around a 12 volt control system. Thus dead center = whatever`s on the green wire.

It is tough to find information on the web, especially for this pretty old analog system. But it`s the old systems we circuit benders can afford. A new power chair retails as better than a couple or three thousand bucks, and go up from there.

On the junk market, you can find wheelchairs for even less. And, yes, though you can save a bundle on the powerful motors that come with a power chair. But: there are other certain costs. Like Batteries.

Prepare to hold your breath when you find out how much batteries will cost ya.

If you can locate a power chair for less than $300, but you have a large bill for batteries waiting for you. Don`t forget there is a system cost, no matter how cheap you get the initial power chair.

This promises to be one fun project!
Get Into The Power Chair     
You have to "open-up" the controller in order to override the joystick and put the power chair under the command of your controller chip. In this case a picAxe 18 pin series, you can use either the 18x or the 18m2. No one would buy an 18x when you can get a more powerful 18m2 for the same or less.

Remove the seat and the arm mounting mechanism on the control box (with the joystick).

Remove the four screws, two long, two short in the joystick control box and you have access to the important parts.
Connect Wires Carefully     
Don`t over heat things too much and use a pretty small soldering iron so you don`t "unwire" anything while you are tacking on the connection wires.

The method we use for controlling requires only four wires (we don`t need the green wire for a center reference, we don`t care what the center is, we will pull up (forward on one wire right turn on the other) or pull down the voltage (backwards on one wire, left turn on the other).

Thus by raising or lowering the voltage we can decide whether or not to go back/forward and left/right.

We will accomplish this by using 1/2 an H bridge to either be open (enable low) or connected to plus when it`s a logic 1 or sucking current to ground (lowering the voltage) to do the opposite action.

Now we can go forward and turn at the same time, meaning we can swerve around objects rather than having to stop-and turn as a separate operation.

Now Modify the picAxe Power Project Board     
The power project board needs to be tweaked a bit before you can use it to drive the actual power chair. You can see I have removed three of the four power FET`s from the board, but you don`t have to do all that.

Basically you are going to bend the pins on the H-Bridge chip. Pin 1 and Pin 9 are bent out from the chip and wires will connect them so you can enable and disable the chips. So you bend the pins of the H-bridge straight out, then put the chip in the socket. Wire the two protruding pins output 3 and output 2 to allow you to operate the enable pins on the H-Bridge so you can provide a 3-state output signal to parallel the existing joystick inside the controller box.

Now you can output a positive voltage (greater than the reference point), you can put out a negative to reference voltage or you can put out a completely open circuit, by pulling the enable pins low and high disabling and enabling the chips control over the two signal wires that now come out of the control board.

This is what gives you control over the power chair, while still leaving the power chair controls operational. That was one of my goals, to be able to convert the bot back into a power chair whenever.

This means this robot conversion can be used to retrofit an existing power chair for robotic remote control. This is one of the best applications - allowing the user to use a standard remote transmitter/receiver setup (like for model planes) to drive pins on the 18m2 chip and allow the power chair user to remotely move the chair.

That means you could ride your chair to the car, get in the driver`s seat of the car and store the power chair in another operation. You can also "call" the power chair to your side this way.

This approach is why I used the existing simply programmed 18m2 and the $12 PC board in my design approach. I could actually make something useful for someone who is otherwise handicapped. You know. Make something for actual usefulness :-)
Hardware Schematic and Starter Software     
Here is the actual schematic of the changes to make to the picAxe power board.

And the listing of the "Hello World" for robots program:

`-----------------------------------------------------------------------------
`------------------------------------------------------------------------------
`
`------------------------------------------------------------------------------
` COMPILER DIRECTIVES / SYMBOLS
`------------------------------------------------------------------------------
`
`
` ------------------------------------------------------------
` Compiler Directives
#picaxe 18m2
` ------------------------------------------------------------
`
`--------------------------------------------------
` PicAxe 18M2
`
` Pinout and Definition of Legs
`=======================================
`(DAC / Touch / ADC / Out / In) C.2 leg 1
`(SRQ / Out) Serial Out / C.3 leg 2
`(In) / Serial In / C.4 leg 3
`(In) old reset is now signal C.5 leg 4
`---------------------------------------
`(gnd) 0v leg 5
`---------------------------------------
`(SRI / Out / In) B.0 leg 6
`(i2c sda / Touch / ADC / Out / In) B.1 leg 7
`(hserin / Touch / ADC / Out / In) B.2 leg 8
`(pwm / Touch / ADC / Out / In) B.3 leg 9
`=======================================
`---- package bottom -- direction up ----------
`=======================================
`(i2c scl / Touch / ADC / Out / In) B.4 leg 10
`(hserout / Touch / ADC / Out / In) B.5 leg 11
`(pwm / Touch / ADC / Out / In) B.6 leg 12
`(Touch / ADC / Out / In) B.7 leg 13
`---------------------------------------
`(vcc) +v leg 14
`---------------------------------------
`(Out / In) C.6 leg 15
`(Out / In) C.7 leg 16
`(Touch / ADC / Out / In) C.0 leg 17
`(Touch / ADC / Out / In) C.1 leg 18
`
`=======================================

`--------------------------------------------------------------
`--------------------------------------------------------------
` Actual Code starts Here

`--------------------------------------------------------------
`--------------------------------------------------------------
`

` set motor drivers to known position
` turn all motor enables OFF
symbol in3 = b.7
symbol in4 = b.6
symbol en34 = b.2

symbol in1 = b.5
symbol in2 = b.4
symbol en12 = b.3


` stop everything
low en34,in4,in3,en12,in2,in1
pause 3000

main:
gosub moveForward
pause 1000
gosub stopFB
pause 1000
gosub moveBackward
pause 1500
gosub stopFB
pause 2000
gosub turnRight
pause 1000
gosub turnLeft
pause 1500
gosub stopTurn
goto main


moveForward:
high in3
low in4
high en34
pause 10
return

moveBackward:
high in4
low in3
high en34
pause 10
return

stopFB: ` stop forward/backward motion
low en34 `drive off
pause 10
return

turnRight:
high in1
low in2
high en12
pause 10
return
turnLeft:
high in2
low in1
high en12
pause 10
return

stopTurn: ` stop right/left motion
low en12 `drive off
pause 10
return
What to look out for with YOUR setup.     
How to make friends with your particular power chair joystick.

You make friends with the joystick and the controller, by determining the parameters where the wheelchair electronics tells you, you have hit a limit they are monitoring for in the chair safety system. I don`t want to muck about with that area too much, else I will have a robot, not a wheelchair modification, so learn to live with your chair`s rules.

Assuming you know the wheelchair obeys it`s self on most days, you can measure the voltages on the thing while running in neutral or on blocks.

The rig in the photo is simply a way to click on a pot 10k is what I used, to adjust, push button, and watch the controller and hear the engine roar. Why two switches? All good experiments start out well-intended, I wanted to adjust two controls, one for forward the other reverse.

But, I cheated a bit and measured things (I have a voltmeter ;) so I already knew I needed to move plus or minus two volts with a center voltage of 5.8 volts...

The little switches merely verified that two things could happen. One way I could use two resistors each with the proper values, or I could simply find a value that would work both ways. I could make up for the actual speed difference by using timing, just run the wheels for a longer time and they will get there at the same time as the faster wheels. 1/2 a second go forward 3/4 a second to move the same distance backwards.

For my setup, that meant I needed to pull a 5.6K resistor to ground (and the center pin of the joystick) to pull the voltage lower. All I needed was a transistor to do that. And.

By devious choice of the value 5.6K, going forward meant connecting to a nice high positive voltage larger than 5.8 volts. This time you move the 5.6K to the plus 12 volt power pole and voila! Fast forward please.

By using an H-bridge, I became the lazy hacking circuit bender and used the picAxe power board to run the test vehicle for me. Now using one of the forward motor drive terminals gives me three states and makes me a good neighbor to the actual joystick to which we have attached ourselves.

Like a good neighbor we jump from +7 to -0.6 (I see we are using silicon transistors here :) and better still sit quietly completely disconnected from the joystick the rest of the time.

Thanks H-bridge, for the tri-state outputs! Now I can play around with helping chair user avoid smashing the walls at every door opening into what looks like spear heads after a joust.


Coming Soon??     
1. R/C controller setup. Makes this a practical application for someone who is handicapped and can do a little soldering (or with a friend who can do some soldering).

1a. First steps to move this and Pong forward are to build a power supply using 12v (or more) which supplies 3.3v, 5v, 6v (servos),12v(pongs)... Maybe with a controlled bootup sequence? Maybe not :-) too much!

1b. Create a freq generator with sweep control (analog) to test coils tuned to 40kHz, add protection diodes.

How simple is it? Very. Just hook pwm channels to a couple of spare input pins, decode the commands into commands appropriate to the wheelchair.

2. Autonomy. Add sensors so the thing becomes an autonomous robot. I want to tell it to come to me - then figure out it`s own plan to do it. Could use the rf transmitter along with it for signalling.

Also could follow a string of lamp cord tied together at the distant end fed with an oscillator, a sensor on the bot could line it up with the buried cord which would allow it to follow various prescribed paths. Like a line follower without the line.

Line following would be another way to do the above inside a building.

3. The usual, camera, remote controlled, stuff like that.

4. A follower that would align the power chair with an attendant for shepherding people through airports, hospitals and the like.

And that`s the list for the time being. I`m sure I`ll think up a list of things. Watch for `em to show up here on C What I Can Do!

Insert Your Comments
Subject:
Message:


ADD COMMENT | CLOSE COMMENT
close window

It's Easy To Show Your Skills:

C - What - I - Did

• Sign up - Get ID and Password

• Plan and Create a Project That Someone Might Enjoy and May Even Want to Build

• Link to your creation on your favorite social networking site or blog.

• Become famous! Because your projects get a lot of Hits!

 

Do It Yourself Parts Used To Create This Project.

- PARTS LIST -

PICAXE 18 Pin Power Project Board
Mfr: picAxe
Price $11.95
PN-SKU: DEV-08316
Vendor: SparkFun




PICAXE 18M2 Microcontroller
Mfr: picAxe
Price $4.95
PN-SKU: COM-10187
Vendor: SparkFun




H-Bridge Motor Driver 1A
Mfr: TI
Price $2.35
PN-SKU: COM-00315
Vendor: SparkFun



 

Junk Box Reviewer

Itching To Start Building A DIY Do It Yourself Project? Got Some Parts of Your Own in your JunkBox? Find projects by Surfing' the Parts List!
TA8080K
Toshiba
$2.00
  
Web Frame Work
ExtJS
$0.00
  
Robo Quad
Wowee
$70
  
picAxe 08m
MicroChip
$3
  
Twin Motor Gearbox
Tamiya
$10.95
  
Andrei And Jim
Web Developers
$.02
  
Scribbler Robot
Parallax
$79.95
  
L 298 Compact Motor Driver Kit
Solarbotics
$18.95
  
Account On CwhatIcanDo
CwhatIcanDo.com
$0.00
  
Tribot
Wowee
$79.00
  
Microrobot Avoider Jr
Microrobot
$75??
  
picAxe 14m
MicroChip
$4.00
  
Wall Hugging Mouse
Tamiya
$20
  
Brilliant Blue/Green LED
Surplus
$1.00 (4)
  
PICAXE 8 Pin Motor Driver Board
SparkFun
$15.95
  
Tracked Vehicle Chassis Kit
Tamiya
$17.50
  
Twin Motor Gearbox
Tamiya
$10.95
  
PICAXE 8 Pin Motor Driver Board
SparkFun
$15.95
  
Infrared Proximity Sensor Short Range - Sharp GP2D120XJ00F
Sharp
$13.95
  
PICAXE 8 Pin Motor Driver Board
SparkFun
$15.95
  
Infrared Proximity Sensor Short Range - Sharp GP2D120XJ00F
Sharp
$13.95
  
Gear Motor 2 - 224:1 Offset Shaft
SolarBotics
$5.75
  
4 X AA Cell battery holder plus on/off switch
Powerize
$1.59
  
PICAXE 8 Pin Motor Driver Board
SparkFun
$15.95
  
Infrared Proximity Sensor Short Range - Sharp GP2D120XJ00F
Sharp
$13.95
  
4 Section In-Ground Batting Net
battingnets.com
$750.00
  
DROID
Motorola
$600.00
  
battery
NEC/Tokin
$1.95
  
IR LED
Any TV remote compatible
$0.25
  
Butterfly Lite
Gadget Factory
$99.99
  
picAxe 08m
MicroChip
$3
  
picAxe 08m
picAxe
$2.95
  
Transformer 1k:8 ohm
xicon
$2.31
  
PICAXE 8 Pin Motor Driver Board
SparkFun
$15.95
  
hexbug
bandai
$$10
  
Rumble Bot
USED
$4-30
  
Morphibian Land Shark
Kid Galaxy
$~30
  
SCC2433-B solar cell
Solarbotics
$6.50
  
3 VDC Motor
Hankscraft
$
  
bamboo or dowels
$
  
Mylar Film W hologram
garden centers
$10.00
  
picAxe 18x
MicroChip
$7.95
  
Parallax (Futaba) Continuous Rotation Servo
futaba (modified)
$12.99
  
Parallax (Futaba) Standard Servo
futaba
$12.99
  
Spy Gear Spy Video TRAKR
wild planet
$90
  
picAxe 18m2
rev-ed
$4.95
  
PICAXE 8 Pin Motor Driver Board
SparkFun
$15.95
  
picAxe 08m
MicroChip
$3
  
L298 Compact Motor Driver
Solarbotics
$18.95
  
Infrared Proximity Sensor Short Range - Sharp GP2D120XJ00F
Sharp
$13.95
  
Picaxe 18M2 IC
MicroChip
$5.95
  
PICAXE 18 Pin Power Project Board
picAxe
$11.95
  
PICAXE 18M2 Microcontroller
picAxe
$4.95
  
H-Bridge Motor Driver 1A
TI
$2.35
  
PICAXE USB Protoboard
PH Anderson
$30
  
Arduino Uno
Arduino
$30
  
cable For Uno
Jameco ValuePro
$2.35
  
Solderless Breadboard For Uno
Jameco Valupro
$10
  
USB 2/0Video Capture Device
SIIG
$$10-$60
  
CD4066 Quad Switch
various
$1
  
picAxe 08m
microChip
$3
  
Eurocard IC Pattern
Velleman
$?
  
40 kHz Weatherproof Transducer
Audiowell Electronics
$2.99
  
PICAXE 18M2 Microcontroller
picAxe
$4.95
  
Power Amplifier
ST Micro
$3.07
  
H-Bridge Motor Driver 1A
TI
$2.35
  
©Copyright 2008 - , cwhatidid.com, all rights reserved.