Arduino controlled wheelchair

Power wheelchair board for REAL info!

POWERCHAIR MENU! www.wheelchairdriver.com/powerchair-stuff.htm

Re: Arduino controlled wheelchair

Postby gcebiker » 16 Aug 2017, 09:01

societypeople wrote: We've been able to wire the Arduino, max485 and dg419 chips in-line with the current joystick.


This uses the Serial Data bus aka the 'Shark Bus' to control the Power Module / wheelchair by emulating the entire joystick.

Its NOT a joystick hack.

Production wiring diagram for prototype v3.25
Image

Earlier Fritzing pictures i have posted had the MAX485 outputs mixed up....other than that they should be fairly close.


Link to order the V3.23 boards --->>> http://dirtypcbs.com/store/designer/details/11063/5125/nano-shark-hat-v3-23-zip

It would be a good idea to put a Logic Analyzer on the outputs and see what is going on.

If you used my very early Arduino Code, it might be the bit math thats putting things out of wack.

Current version of my Arduino Code is here -
SR_RC_PCB_Board_July_26_2017.zip
(4.7 KiB) Downloaded 615 times

If you use it or part of it, please leave in the Attribution.
DougL, Woody, Lenny, Irving, Sir Mike and Jim all had a hand in this success.

And last but not least, Burgerman - for providing a place for this all to come together.

I should have a parcel on its way to the UK in a few days with a few of these boards and its possible a video then may turn up with better voice over than i have been able to provide.

My YouTube CH with videos of this build which may help you with your wiring issues...or make you more confused
Wii Remote Version , early build https://www.youtube.com/watch?v=6GkNFPJlW4c
RC build, https://www.youtube.com/watch?v=6x7QHqmzDK8
More Towing boats and build video https://www.youtube.com/watch?v=RP0mHbw7hyU

When some more minor bits get here in a few days, ill be doing a video of it complete with Hardwired Shark Bus Quick Connector.

...so long as the Lamotrigine i am trying out for my epilepsy does not leave me severely Aphasic again grrrr.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby woodygb » 16 Aug 2017, 09:04

As I recall ...( I could be wrong ) ...wasn't there initially a problem with the start up pulse that was solved by the use of a SPECIFIC chip make/model?
An expert is a person who has made all the mistakes that can be made in a very narrow field.
Niels Bohr
User avatar
woodygb
 
Posts: 7070
Joined: 12 Mar 2011, 18:45
Location: Bedford UK

Re: Arduino controlled wheelchair

Postby gcebiker » 16 Aug 2017, 12:46

woodygb wrote:As I recall ...( I could be wrong ) ...wasn't there initially a problem with the start up pulse that was solved by the use of a SPECIFIC chip make/model?


You might be remembering the DG419 issue.
I didn't actually ever have that particular issue, which is.

If you use cheaper DG419's they can be a lower spec and will not handle the fully charged battery voltages. Maxim's chips are more expensive but Higher spec. Its also why i put the brand on the Silkscreen for these boards
Maxim DG419.jpg
Maxim DG419.jpg (24.87 KiB) Viewed 18909 times


One of the issues was an early bit math problem Lenny helped me out with, which was why i thought they may be using early versions of the Arduino Code, which i had posted here and on other forums in the early stages of this project.

Others turned out to be broken ground loop wires, inverted A/B channel on the MAX485, Incorrect Baud Rate, loosing sync due to bitmath i trial and error figured out.
data[8] = (255 - (sum & 127));


With a Logic Analyzer it made identifying the issue much faster. Being able to see the serial data on screen quickly removes any 'maybe's ' that you might have about where the issue is stemming from.

Today's build is a lot tidier too which has helped enormously with reliability.
Tonys Shark Bus RC wheelchair controller.jpg


The above picture is one that i built up and tested today for post to the UK, along with a few of the yellow prototype boards.
I believe they are to be used in a robotics competition.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby Burgerman » 16 Aug 2017, 19:26

Does this only work on shark?

Or all the DX Bus dynamic controllers? EG my brushless chair? If so I need a couple!

Will it allow plug and play setup of RC reciever into a DX system, so I can add it as a secondary remote and use as needed? No programing required? And how much?
User avatar
Burgerman
Site Admin
 
Posts: 65240
Joined: 27 May 2008, 21:24
Location: United Kingdom

Re: Arduino controlled wheelchair

Postby LROBBINS » 16 Aug 2017, 20:31

DX uses a CANbus variant, Shark uses rs485.
LROBBINS
 
Posts: 5553
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: Arduino controlled wheelchair

Postby Burgerman » 16 Aug 2017, 21:20

Thats no then!
User avatar
Burgerman
Site Admin
 
Posts: 65240
Joined: 27 May 2008, 21:24
Location: United Kingdom

Re: Arduino controlled wheelchair

Postby LROBBINS » 16 Aug 2017, 22:38

Yes, it's a no. There's not really any problem on the hardware side - that's an open standard and chips and boards abound. The problem is deciphering the dictionary that Dynamic uses - there's nothing standard about any low-level CAN protocol, the message frames are pretty long, with an 11 bit (or longer) ID segment and from 0 to 8 bytes of data. On top of that, some messaging may involve a handshake pair of messages - one node sends a message which the receiving node acts on, but it has to send its own reply to the original sender or things come to a screeching halt. And some actions may require a series of coordinated messages. Even using a CAN "sniffer" to see the frames isn't all that hard, but it would take more savvy and patience than I could muster to actually figure out what the messages are and what they do. And even talented in-house engineers can run into problems. Dynamic at one time (about 20 years ago) marketed a 5-switch interface, a follow on to their successful 4-switch interface, but they never got it to work right and took it off the market. There are some pretty persistent CAN hackers out and about though, so if you could get one interested in tackling the DX it might get done. "Fancy Bear" do you want to do something that's actually useful?
LROBBINS
 
Posts: 5553
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: Arduino controlled wheelchair

Postby gcebiker » 23 Aug 2017, 15:21

More organized information on the build can be found over @ http://gctek.me/dynamic-controls/shark/ ... ontroller/

The site is an idea i am fleshing out with a view to de confuse the information available.

Its a work in progress.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby gcebiker » 27 Aug 2017, 14:39

This is the start of the page for the DWIZ adapter, http://gctek.me/diy-dwiz-adapter/
ill flesh it out with the other missing bits in the coming days.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby khaos » 21 Jan 2018, 18:27

Did this ever get fleshed out?
khaos
 
Posts: 18
Joined: 31 Dec 2017, 19:20

Re: Arduino controlled wheelchair

Postby gcebiker » 23 Jan 2018, 12:18

http://gctek.me/dynamic-controls/shark/ ... ontroller/

for now thats as much as ive done, the rest can be found in this thread, code etc.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby ordogocske » 18 Mar 2018, 11:25

I would like a nice day for some help with Dynamic Joystic (dk-remd31) problem with the motors not moving for joystic motion no small key is signaling turn speed meter flashing for joystic and somebody else's encounter with this mistake? the DWIZ-adapt s
in circuit diagram? Thanks for all the help
ordogocske
 
Posts: 4
Joined: 17 Mar 2018, 20:10

Re: Arduino controlled wheelchair

Postby gcebiker » 18 Mar 2018, 14:44

ordogocske wrote:I would like a nice day for some help with Dynamic Joystic (dk-remd31) problem with the motors not moving for joystic motion no small key is signaling turn speed meter flashing for joystic and somebody else's encounter with this mistake? the DWIZ-adapt s
in circuit diagram? Thanks for all the help


It might be locked (joystick locked it will flash) or the battery charger plugged in ?
Chapter 2: DK-REMD Operation
9
2.2.2
SHARK Lock
If the
Lock Enable
parameter is set to 'Yes', the SHARK can be locked by
pressing the on/off button for more
than 4 seconds. Lock the SHARK to
prevent unauthorized persons
from operating the chair.
To lock the SHARK
Press the on/off button for 4 seconds when the SHARK is turned on.

The SHARK turns off immediately when the
on/off button is pushed.

After 4 seconds all LEDs of the battery gauge will flash
twice and the horn will give two short beeps, to indicate
that the SHARK is now locked.
To unlock the SHARK
Press the on/off button.

The SHARK will turn on, and the LEDs of the battery
gauge will slowly flash from ri
ght to left to indicate that
the SHARK is locked.
Press the horn button twice within 10 seconds.

The SHARK will turn on normally.
If the horn button is not pressed within
10 seconds, the SHARK will turn off again.


Is the charger plugged in ? That will also make it flash.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby ordogocske » 19 Mar 2018, 16:36

I made a picture of the battery status and a video about what dk-remd31 does, the engines work separately and the joystick indicates the removal of the motor left or right.

http://www.kepfeltoltes.eu/images/hdd1/ ... M_4068.jpg

https://video-vie1-1.xx.fbcdn.net/v/t42 ... e=5AB00142
ordogocske
 
Posts: 4
Joined: 17 Mar 2018, 20:10

Re: Arduino controlled wheelchair

Postby gcebiker » 19 Mar 2018, 23:21

Some power bases (the same wheels and frame is used for many different 'models' ) have suspension that lifts the wiring up and down.

If you have this type of power base, the wires going from the wheel to the batteries/controller, may be broken internally.

I 'Zip Tied' my cable up and that stopped it moving (in the same place) until i was able to take it off and find where the break was.
I cut the wires and rejoined with a joiner (screw type), zip tied it up again.

eg Jazzy 600
wire break power base.png


Sorry the writing on the picture is hard to read after i shrunk it to upload, i have written in the text of this post the same things.

The video link did not work, can you re link with a link that does not time out ?
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby gcebiker » 19 Mar 2018, 23:49

Common fault with fixed rear power bases.

Wires from motor breaking internally, common from driving up and down ramps often (eg into and out of house)

wire break power base 2.jpg
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby ordogocske » 20 Mar 2018, 00:13

I replaced the video "youtube" https://www.youtube.com/watch?v=3k1ERcr ... e=youtu.be The listed bugs are tried and operated. is the video good?
ordogocske
 
Posts: 4
Joined: 17 Mar 2018, 20:10

Re: Arduino controlled wheelchair

Postby gcebiker » 20 Mar 2018, 09:02

Thank you for the video.

Dyamic flash codes.jpg


It is in "Programming, Inhibit or Charge mode"
Check
- NO other charger plugged in (...pretty unlikely)

- Check for 'shit' in the charging plug (that may be shorting it out), old tooth brush to make sure its clean...

- No programmer plugged in (...even more unlikely)

So its inhibited somehow ?

If you don't have an inhibit switch anywhere, i would unplug the power module (behind a plastic access panel at the rear of your chair)
Pull the middle plug out , wait 10 seconds and then put it back in.

This will reset the system.

Other than that i am not sure.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby ordogocske » 20 Mar 2018, 22:25

the connector was clean, the battery was removed for 30 minutes, but that did not change, may the smd component remain locked somewhere?
ordogocske
 
Posts: 4
Joined: 17 Mar 2018, 20:10

Re: Arduino controlled wheelchair

Postby godfreylui » 09 Nov 2018, 20:32

Hi,
I am a university student in Birmingham UK, trying to control the same model of wheelchair with eyetracking and EEG signals. I found jim conner's code on github, I have also bought an arduino board. I think I might know what to do coding wise, but I am very stuck on how I actually connect the board or the laptop with the sharkbus joystick. Preferably if there is a way to connect the usb port with 4 pinned cable or the joystick that would be ideal.
Thank you
godfreylui
 
Posts: 1
Joined: 09 Nov 2018, 20:20

Re: Arduino controlled wheelchair

Postby gcebiker » 10 Nov 2018, 05:07

New thread here viewtopic.php?f=2&t=6503&start=300 .

Lots of info, here http://gctek.me/dynamic-controls/shark/ ... ontroller/
Boards can be purchased cheap via http://dirtypcbs.com/store/designer/det ... -v3-23-zip

External inputs would need to be pre processed and fed to the board by I2C or the timing will be out for the Dynamic Shark.

Jims code is for a RoboBoard. The code i have listed in the above thread is plug and play.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby s-car » 28 Jan 2019, 01:45

Hi,
question please ......
is it possible
make do the following.

question.png
s-car
 
Posts: 25
Joined: 08 Jan 2014, 02:23

Re: Arduino controlled wheelchair

Postby Burgerman » 28 Jan 2019, 01:49

Yes.
Momentary is to turn on / off.

Centre is PROBABLY to be 2.5V for startup without error. (half way between supply and 0v.)
User avatar
Burgerman
Site Admin
 
Posts: 65240
Joined: 27 May 2008, 21:24
Location: United Kingdom

Re: Arduino controlled wheelchair

Postby s-car » 28 Jan 2019, 01:52

arduino potentiometer JOY-X and JOY-Y?
s-car
 
Posts: 25
Joined: 08 Jan 2014, 02:23

Re: Arduino controlled wheelchair

Postby LadyJ » 05 Feb 2019, 18:14

I just wanted to drop this here:
https://link.springer.com/content/pdf/1 ... 7-3_35.pdf

It's a paper by K. Kaneswaran there are some good details in it for anyone working with dynamic devices, most interestingly that the RJM is probably the bit that is easiest to use, as that is what dynamic supports for third party developers, and that interface is the same across the Shark/DX/DX2/Linx (just using the appropriate RJM module).
~
Lady J

Golden Compass Sport GP605 w/ custom seating.
Custom manual chair
LadyJ
 
Posts: 12
Joined: 26 Apr 2018, 13:50
Location: Indiana, United States

Re: Arduino controlled wheelchair

Postby gcebiker » 06 Feb 2019, 02:40

LadyJ wrote:I just wanted to drop this here:
https://link.springer.com/content/pdf/1 ... 7-3_35.pdf

It's a paper by K. Kaneswaran there are some good details in it for anyone working with dynamic devices, most interestingly that the RJM is probably the bit that is easiest to use, as that is what dynamic supports for third party developers, and that interface is the same across the Shark/DX/DX2/Linx (just using the appropriate RJM module).


RJM = The Joystick aka Remote Joystick Module....

Of course its easy to use, we use it all day, everyday /doh.

This thread relates to communicating on the Shark BUS, which is different between Dynamic Controls.
Its only a minor code tweak to take the RC Unit i built up (with the help of members here) to go from a Master RJM, to AUX or Attendant control.
Enabling both regular joystick use and an override to control via Remote Attendant Control.

...imagine being a carer and being able to do a simple thing like
- not get your foot run over...
- walk next to your family member and chat instead of behind.

That paper may be by the guy i saw a few years back that was able to control them via a touch pad, ill try to find the link.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby LadyJ » 07 Feb 2019, 05:23

Actually in dynamic’s lingo we don’t use a RJM, we are using a master joystick module. The magic of the RJM for our applications is that it has analog which are identical across all of the dynamic devices, it then translates to the specific bus. This is how third party sip and puff/chin/switch controls/etc interface. This is also how the touchpad you mentioned interfaced.
Attachments
AB7336AC-3857-4013-9F47-360867EB1515.jpeg
~
Lady J

Golden Compass Sport GP605 w/ custom seating.
Custom manual chair
LadyJ
 
Posts: 12
Joined: 26 Apr 2018, 13:50
Location: Indiana, United States

Re: Arduino controlled wheelchair

Postby LROBBINS » 07 Feb 2019, 09:16

I hate to contradict you, but Remote Joystick Module IS THE SAME AS Master Remote (except in systems that, for example, used the now-discontinued, Specialty Controls Module as Master Remote). Moreover, not all of the joystick modules use analog-output joysticks - the Shark uses a an SPI interface joystick. For the DX systems, you can use simple voltage divider circuitry to mimic the joystick, for the Shark you cannot. Woody's RC adapter (for P&G) which uses a digipot to could easily be adapted to the DX, but not to the Shark. Nor are the bus protocols nor the bus messages the same across all systems. The DX and DX2 use a CAN variant, the Shark uses a quite different serial protocol.
LROBBINS
 
Posts: 5553
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: Arduino controlled wheelchair

Postby gcebiker » 07 Feb 2019, 11:23

LROBBINS wrote:I hate to contradict you, but Remote Joystick Module IS THE SAME AS Master Remote (except in systems that, for example, used the now-discontinued, Specialty Controls Module as Master Remote). Moreover, not all of the joystick modules use analog-output joysticks - the Shark uses a an SPI interface joystick. For the DX systems, you can use simple voltage divider circuitry to mimic the joystick, for the Shark you cannot. Woody's RC adapter (for P&G) which uses a digipot to could easily be adapted to the DX, but not to the Shark. Nor are the bus protocols nor the bus messages the same across all systems. The DX and DX2 use a CAN variant, the Shark uses a quite different serial protocol.


:worship :clap :dance :joint cheers
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

Re: Arduino controlled wheelchair

Postby gcebiker » 07 Feb 2019, 11:31

LadyJ wrote:Actually in dynamic’s lingo we don’t use a RJM, we are using a master joystick module. The magic of the RJM for our applications is that it has analog which are identical across all of the dynamic devices, it then translates to the specific bus. This is how third party sip and puff/chin/switch controls/etc interface. This is also how the touchpad you mentioned interfaced.


...getting off track, Lady J is clearly not adept at the difference between analog and digital.

...sip / puff digital, on / off. ( for reference i use such systems for my Quadriplegic Para Olympic sailing boats (Skud's) )

.... A touch pad being digital by nature/ necessity.

The idea however is fantastic, anything that helps us wheelies interface with the world in a more natural way is welcome.
Thank you LadyJ for tho misguided (linguistically), an introduction to an alternative interface with the really real world.
http://greenmobility.com.au/rc-wheelchair-controller/
My YouTube Ch -- https://www.youtube.com/user/gcebiker
User avatar
gcebiker
 
Posts: 879
Joined: 11 Jul 2015, 14:20
Location: Gold Coast, Queensland, Australia.

PreviousNext

Return to Everything Powerchair

Who is online

Users browsing this forum: Mr.Math, shirley_hkg and 112 guests

cron

 

  eXTReMe Tracker