Author Topic: wheelchair joystick hack  (Read 7913 times)

0 Members and 1 Guest are viewing this topic.

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
wheelchair joystick hack
« on: May 30, 2010, 03:01:12 PM »
So i'm trying to utilize a joystick i salvaged off of an wheelchair.  Does anyone know what the resistance of the pots are or some schematics of common ones?  Heres a pic of it. 

Offline Soeren

  • Supreme Robot
  • *****
  • Posts: 4,672
  • Helpful? 227
  • Mind Reading: 0.0
Re: wheelchair joystick hack
« Reply #1 on: May 30, 2010, 03:10:58 PM »
Hi,

If it's not just switches, an Ohm-meter should help with your particular model  ;)
Regards,
Søren

A rather fast and fairly heavy robot with quite large wheels needs what? A lot of power?
Please remember...
Engineering is based on numbers - not adjectives

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
Re: wheelchair joystick hack
« Reply #2 on: May 30, 2010, 09:59:31 PM »
thnx soeren, no there not switches.  So far, i've got,

black = ground
red = +5
yellow = (x axis) 2.40v to 2.70v (0 degrees) to 3.00v
blue = (y axis) 2.40v to 2.70v (0 degrees) to 3.00v
green= nothing so far

anybody have any ideas of what green could be for?

Offline little-c

  • Robot Overlord
  • ****
  • Posts: 186
  • Helpful? 1
Re: wheelchair joystick hack
« Reply #3 on: May 31, 2010, 02:31:47 AM »
does it have a push button?

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
Re: wheelchair joystick hack
« Reply #4 on: May 31, 2010, 02:57:48 AM »
unfortunately it doesn't.  I tried taking it apart a little but everything seems to be clued in the steel housing.  Its pretty nice and i'd hate to destroy it getting a peek inside.

Offline little-c

  • Robot Overlord
  • ****
  • Posts: 186
  • Helpful? 1
Re: wheelchair joystick hack
« Reply #5 on: May 31, 2010, 05:02:51 AM »
well, no idea on the green wire. it doesn't twist?

I guess you can leave it unconnected. have you tried diode testing it with the other wires?

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
Re: wheelchair joystick hack
« Reply #6 on: May 31, 2010, 06:55:32 AM »
it doesn't twist, just x and y only.  but i've tested it with an ohm meter and there is a value of 739 ohm between black and green.  so thats really whats killing me because it has to be connected in there and doing something.

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
Re: wheelchair joystick hack
« Reply #7 on: June 15, 2010, 09:54:44 AM »
So i got tried of wondering whats in side that darn thing and just sawed off the bottom to try to get to the pots.  Really glad it did too because this type of joystick is really weird and like nothing ive hacked before.  I've posted some pics of it.  At a glance, i think it is a magnetic proximity sensor of some type that has two poles for x and y.  The circuitry must be some type of an amplifier.  But i still can figure out what the green wire does.  Any thoughts?

Offline Soeren

  • Supreme Robot
  • *****
  • Posts: 4,672
  • Helpful? 227
  • Mind Reading: 0.0
Re: wheelchair joystick hack
« Reply #8 on: June 15, 2010, 12:21:19 PM »
Hi,

[...] this type of joystick is really weird and like nothing ive hacked before.  I've posted some pics of it. 
Nice piccies for a webcam.
But... Hard to tell detail and depth, so if you could post them somewhat larger and sharper, it might help.


At a glance, i think it is a magnetic proximity sensor of some type that has two poles for x and y.  The circuitry must be some type of an amplifier.  But i still can figure out what the green wire does.  Any thoughts?
You gotta reverse engineer it thoroughly to find out, but I would guess the copper hemisphere and the coil are in close proximity when it's assembled(?)
I am not sure how they've done it, but I would assume at least 1 more coil. I think the PCB may contain an oscillator to excite the circuit and the copper hemi is used to either create a loss in the coil(s?) or to energize them (if the AC is fed from the hemi).
Does the movement feel smooth like an analog stick or is it click-click?
Look up the semiconductors on the PCB, that should help you further along. And tell us what you find - might help jogging the memory.
The reason for such an elaborate circuit is to make it fail safe and wear resistant.

Regards,
Søren

A rather fast and fairly heavy robot with quite large wheels needs what? A lot of power?
Please remember...
Engineering is based on numbers - not adjectives

Offline TrickyNekro

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,208
  • Helpful? 15
  • Hardware and Firmware Designer
    • The Hellinic Robots Portal
Re: wheelchair joystick hack
« Reply #9 on: June 15, 2010, 04:05:13 PM »
The whole thing is simple... well... not very simple... but at least nothing too much...

The coil probably... doesn't oscillate, there is no need of oscillation since the movement is produced by the
joystick...

The position of the ball, interferes with the flux of the magnetic field that the coil produces, and there should be
hall effect sensors at the button to measure this change...


If you are lucky, based on what you read from the multimeter, this should be frequency varying PWM.... on both channels... But maybe not... A multimeter can't measure a square wave well...
The green wire should be there for either activation or calibration...

Try tying to ground or positive rail to see what happens... Use of a current limiting resistor is suggested...

I suspect it's an activation wire, cause you need power to maintain constantly the magnetic field...


So try these out...
For whom the interrupts toll...

Offline Soeren

  • Supreme Robot
  • *****
  • Posts: 4,672
  • Helpful? 227
  • Mind Reading: 0.0
Re: wheelchair joystick hack
« Reply #10 on: June 15, 2010, 06:46:08 PM »
Hi,

The coil probably... doesn't oscillate, there is no need of oscillation since the movement is produced by the
joystick...

The position of the ball, interferes with the flux of the magnetic field that the coil produces, and there should be
hall effect sensors at the button to measure this change...
The "ball" as far as I can see, is a hemisphere shell of (relatively thin?) copper.
Even if it was iron or eg. µmetal (or even a neodymium magnet), it wouldn't work that way, since it would only be able to generate a potential change when the position was changed - with a relatively high speed, something that is impossible for many users of electric wheel chairs. The joy stick is self centering and in use, it will be held (static) at eg. forward for as long as it should drive forward.

Static position would be void and null, when it comes to influencing the coil (with a bit of copper, forget it, if that was their M.O. they would have used a magnet).
Ergo, there must be some excitation of the coil from the circuit, or there's no way to read position - this is not new technology, so hopefully, the semiconductor markings are not "house codes".

But we can only speculate about the rest, like how the X-Y arrangement is read, until such time as better photos are provided (with more circuit details than books and fingers  :D) or a full rev. eng. is more or less completed.


The green wire should be there for either activation or calibration...
[...]
I suspect it's an activation wire, cause you need power to maintain constantly the magnetic field...
That would be the excitation, driven by an oscillator (DC won't do).
To be influenced by a thin shell of copper at some distance you need AC at a high-ish frequency.
Regards,
Søren

A rather fast and fairly heavy robot with quite large wheels needs what? A lot of power?
Please remember...
Engineering is based on numbers - not adjectives

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
Re: wheelchair joystick hack
« Reply #11 on: June 15, 2010, 07:04:33 PM »
thanks guys,
Quote
Does the movement feel smooth like an analog stick or is it click-click?
  The movement is smooth, but it does have a notched shield at the hilt of the joystick for absolute vertical and horizontal positions.

It appears to be a thick copper hemisphere that moves about but seems ungrounded or not connected since the inside is plastic and metal screws are isolated.

After reading TrickyNekro's post i think it must be a couple hall effect sensors and the hemisphere influences the magnetic field thus producing an difference at the sensors or something. 
I have a HD picture but this site doesn't allow the MB required, I'll try uploading one to facebook and post the public here. 

One other thought, I've been powering it with a regulated 5v and with that i got the voltage differences above.  But thats just because i assumed, i after thinking about maybe because that large coil need maybe at lest 12v to give a better resolution?  I tried 9.6 unregulated but got a much higher voltage difference but my readings where all over the place.  I would try a 12v regulated if i had one; maybe a radioshack run will do?

Offline TrickyNekro

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,208
  • Helpful? 15
  • Hardware and Firmware Designer
    • The Hellinic Robots Portal
Re: wheelchair joystick hack
« Reply #12 on: June 15, 2010, 07:11:25 PM »
You really didn't get what I said did you?

I do remember mentioning flux for a reason here... The copper ball does this... It changes the flux...

If the coil was alternating then the ball could develop voltage potential, and it would be heating up...
Which means loss of energy....

You use the ball to make the magnetic flux denser in a point, so the hall effect in this area is more pronounced
and you get the difference with three or four sensors...

The ball probably is in the coil... were the magnetic field is denser and where the sensors could be...



I'm not trying to say that you move the ball and create a voltage... NO...

You also CAN'T possibly have alternating voltage at the coil, cause it would be like EMP-ing the circuit board
with that frequency all the time...
What you need is a very slowly rising in the beginning voltage at the coil, which is maintained constant all the time...

What I'm suggesting is quite simple and quite possible... I really don't get how would you measure position with just a coil
and a high frequency...
« Last Edit: June 15, 2010, 07:12:55 PM by TrickyNekro »
For whom the interrupts toll...

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
Re: wheelchair joystick hack
« Reply #13 on: February 22, 2011, 06:38:13 PM »
Ok i know this is an old post but i left it unresolved.  However, i decided to slug it out once more on my own since the manufacturer never provided any useful information.  The main problem i was having was not getting consistent readings from the X and Y wire was because i was powering the device with 5v.  Also, voltage variation was in the mV, so no good.  Long story short, it turns out this is actually a 12v device.  So just for the records, if anyone wants to use a joy like this; here is the wire colors and expected signal values

Black=ground
Red=+12v                                (use a 12v voltage regulator)
Blue=X axis                              (6v center,+/-1v (min/max))
Yellow=Y axis                           (6v center,+/-1v (min/max))
Green= center position of axes    (6v center)                                 aka not used because I prefer to calibrate initially in software

Now all i had to do was make a voltage divider circuit for x and y to get my signal to around 4v center +/- .8v.  Which came out to using a 10kohm and 30kohm which (according to my oscilloscope) is
4.14v center +/- .73v.

 Just out of curiosity, is it bad having analog input into the axon II close to 5v?   I know alot of devices are more around 2v to 4v range.

So i've been through hell and back again with this joystick but now that i understand how to get good readings i think this is an awesome hack for anyone.  However, it seems to be a gray area on the internet because YOU CANT FIND ANY INFO on these type of devices it seems like.  If anyone is interested i might be able to write a tutorial on how to use a wheelchair joystick with the axon II.
« Last Edit: February 22, 2011, 06:47:52 PM by BANE »

Offline Soeren

  • Supreme Robot
  • *****
  • Posts: 4,672
  • Helpful? 227
  • Mind Reading: 0.0
Re: wheelchair joystick hack
« Reply #14 on: February 22, 2011, 08:14:43 PM »
Hi,

Thanks for posting a follow up  :)
Regards,
Søren

A rather fast and fairly heavy robot with quite large wheels needs what? A lot of power?
Please remember...
Engineering is based on numbers - not adjectives

Offline madsci1016

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,450
  • Helpful? 43
    • Personal Website
Re: wheelchair joystick hack
« Reply #15 on: February 22, 2011, 09:57:48 PM »
Just out of curiosity, is it bad having analog input into the axon II close to 5v?   I know alot of devices are more around 2v to 4v range.

Yes and no. The AVR has clamping diodes on all of it's pins, but you would have to add a resistor between the joystick and the Axon to protect the diodes from burning out should it go to far above 5v.

But if you feel confident it won't ever go above 5.7V, you are ok.

Offline Daanii

  • Robot Overlord
  • ****
  • Posts: 138
  • Helpful? 3
Re: wheelchair joystick hack
« Reply #16 on: February 23, 2011, 01:28:47 AM »
I've been looking all over for somewhere to scavenge or even buy that type of joystick. No luck so far. If I ever get one, I'll know where to look for information on the wiring. Thanks.

Offline BANETopic starter

  • Supreme Robot
  • *****
  • Posts: 639
  • Helpful? 4
  • E=roboticsC^2
Re: wheelchair joystick hack
« Reply #17 on: February 23, 2011, 08:57:23 AM »
Quote
I've been looking all over for somewhere to scavenge or even buy that type of joystick.
I've bought three powerchairs from a local guy on craigslist so far.  If you can get them for a good price you can salvage a ton of parts. 

 


Get Your Ad Here

data_list