Arduino controlled wheelchair

Power wheelchair board for REAL info!

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

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: 65050
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: 5543
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.

Re: Arduino controlled wheelchair

Postby LadyJ » 07 Feb 2019, 16:05

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.


I'm aware that the bus and protocols are different, which is why I suggested we should interface with an RJM, which supports an analog connection. I'm basing a lot of this on Kelly's published papers, and some other research I've done into how ADT works w/ the various dynamic systems. As @gcebiker mentioned the touchpad is digital, which is why Kelly used the ADuC841 to generate the analog voltages.

D. Microprocessor selection for processing
There are several requirements for the host microprocessor system. In order to implement the analogue signals for the RIM the microprocessor must have some hardware means of generating analogue voltages. There must be enough code storage memory to implement the firmware for the AD7147. an 12C communication routine, debugging code and generation of the analogue voltages. The ADuC841 has the sufficient capacity to implement all these tasks. The dual on board 12 bit DAC’s are set to 8 bit mode and are used to generate the voltage output. They are connected internally to the power rail of the system allowing a full voltage swing of 0— 5V.


E. RJM Module Specifications and use.
The RJM allows any dual decode joystick to be connected directly to its input pins. The dual decode specification is outlined in table 2. The RJM also provides access to the DX Bus and the wheelchairs power supply providing up to 200mA regulated current. This provides sufficient power to run the microprocessor and the AD7147. Most wheelchairs come with several profiles programmed into the master joystick; this allows the user to change driving parameters for different surroundings. The RJM requires SIX control signals, power, ground, speed and direction, and speed and direction mirrors, but will operate without the mirrors. The RJM has two pins which when toggled with a high pulse of 100ms duration increments or decrements the drive profile. ‘These pins are used with the AD7147 tap output status. When a valid tap 1s detected on the lower/upper half of the touch pad we toggle the decrement/increment pins. Pull up resistors arc used on the connections so that when the joystick power is recycled the pulse created does not increment or decrement the drive profile.
The output of the DAC’s are buffered through op-amps and connected to a resistor network before connection to the RIM. The resistor network reduces the current input to the RIM and reduces the gain of the inputs. This is to keep the output range of a dual decode joystick between .5 and 4.5 volts.
~
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 LadyJ » 07 Feb 2019, 16:20

Remote Joystick Module IS THE SAME AS Master Remote


Not according to dynamic? At least for DX & DX2 based systems. The biggest difference is the UCM/UCM II module which in the "master" joystick.

RJM topology.png


DX2 (UCM II) RJM topology.png
~
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, 17:52

Sorry LadyJ, you are quite right about the RJM - it is not a master remote, but is similar to the ACU. The ACU does indeed contain an analog joystick pot, though it's output is translated into DX bus messages (at least for the DX-ACU, there is also a Shark ACU that I assume, but don't know for sure, translates the analog to RS482??? messages). Yes, one can open up an ACU (and I presume an RJM) and substitute any voltage divider device for it and in that way get it to communicate with the bus, as Woody has done for the P&G joysticks. I had in fact done this years ago on an Everard Bobcat (a.k.a. Invacare Turbo) that, in the pre Dynamic days, had the same inductive joystick pot and a single-board strictly analog computer. Head and foot switches selected various voltage dividers via a matrix of 4066 chips. I suspect that it would take Woody all of five minutes to figure out how to hook his digipot interface to the analog joystick pot in the RJM, ACU or any DX or DX2 master remote (but not the Shark as it has an SPI pot - but it really wouldn't be a horrid task to reverse-engineer the SPI interface). BTW, the specialty joysticks can be pretty expensive - the last ACU that Continental Airlines bought from an Italian retailer to repair the damage they'd done to Rachi's chair cost them nearly E1000.

For something like a touch switch interface, however, with the DX/DX2 there's an even simpler approach. Some master remotes already have multiple switch inputs, and for those that don't, they offer a small 4-switch interface box that translates switch inputs to DXbus outputs. That was the way it was done on Rachi's later DX Bobcat.

Now, I do, of course, have my own prejudicial view about designing such systems. Rather than being tied to the cost and other limitations of someone else's system, I designed my own CANbus system (detailed in other threads here) using the Roboteq motor controller. The open-source software and hardware of this system allows one to include any kind of interface, and any number of additional modules one might desire with a minimum of code writing.
LROBBINS
 
Posts: 5543
Joined: 27 Aug 2010, 09:36
Location: Siena, Italy

Re: Arduino controlled wheelchair

Postby woodygb » 09 Feb 2019, 12:28

This came about due to a request that I received.

It's a bit of lash up ..but here is a video of my attempt at a line follower .

4 of I.R. sensors ..2 at the front and 2 at the rear.

Wheelchair controlled via Bluetooth & Android tablet.

There are 6 buttons on the tablet ...5 of which are used.

ON/OFF

Fast & Slow ...gives a speed option from HALT to 100% in 25% steps.

Home & Call ... Call the chair to you and send it Home to "park".

There is a Speed display in the bottom left hand corner of the Android Tablets screen.




youtu.be/KQy1xbo9tNE
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: 7068
Joined: 12 Mar 2011, 18:45
Location: Bedford UK

Re: Arduino controlled wheelchair

Postby AymanJ » 28 Mar 2019, 14:53

Hello Sir,

We are students who are trying to replicate the amazing work you have done with the chair and we got stuck with the following issues:

* We have an offset of approximately 1.2V in the inverted signal in the RS-485 bus coming from the Power Module. Do you have any clue why is this happening?

* When we tried to connect the MAX485 to get RS-232 protocol communication signal, we have noticed that the joystick shuts down and the fault code indicates a communication bus error (Flashing 9 times). We have put 22kohm resistance between A and B at the input of the MAX485 as you described in one of your videos, however, we are still getting the same issue. Note that we are using a DC-DC converter called TSR-2415 to power the MAX485 from using chair batteries.

* Also, in one of your videos, you talked about a switch called DG419, we did not exactly understand why were you using it, and we would like you to elaborate more on that part.

Finally, we highly appreciate any further information you provide.
AymanJ
 
Posts: 13
Joined: 28 Mar 2019, 14:28

Re: Arduino controlled wheelchair

Postby woodygb » 28 Mar 2019, 15:21

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: 7068
Joined: 12 Mar 2011, 18:45
Location: Bedford UK

Re: Arduino controlled wheelchair

Postby woodygb » 28 Mar 2019, 15:54

Resistors pic ... Pull ups / down and DG419 start pulse switch.

Image
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: 7068
Joined: 12 Mar 2011, 18:45
Location: Bedford UK

Re: Arduino controlled wheelchair

Postby gcebiker » 29 Mar 2019, 01:58

AymanJ wrote:Hello Sir,

We are students who are trying to replicate the amazing work you have done with the chair and we got stuck with the following issues:


Thank you i will do my best to help.

* We have an offset of approximately 1.2V in the inverted signal in the RS-485 bus coming from the Power Module. Do you have any clue why is this happening?


I dont know i never measured it.

* When we tried to connect the MAX485 to get RS-232 protocol communication signal, we have noticed that the joystick shuts down and the fault code indicates a communication bus error (Flashing 9 times).


1. You Must use a MAXIUM chips due the ability to cope with the start up pulse voltages.
2. MAX485 chip produces a RS485 signal, vastly different to a RS232.


We have put 22kohm resistance between A and B at the input of the MAX485 as you described in one of your videos, however, we are still getting the same issue. Note that we are using a DC-DC converter called TSR-2415 to power the MAX485 from using chair batteries.


3. The 22K resistor goes on the output of the Emulator circuit, this is the terminating resistor employed on all circuits of this type, one needs to go on each node if you make two of these boxes, one as the Master and one as a Remote (Attendant Joystick)

4. TSR-2415 are the right regulators, Woody put me on to them, fantastic and efficient units.

* Also, in one of your videos, you talked about a switch called DG419, we did not exactly understand why were you using it, and we would like you to elaborate more on that part.


The Shark protocol requires a start up pulse of the full battery volts, per the notes in my code (attached below).
5. The DG419 switches the MAX485 out of circuit, copes with the full battery pulse initiated by the Arduino - after 300ms, switches full battery volts out of circuit and reconnects the MAX485.

Code: Select all
void sharkStartup () {// my Dynamic Shark start up sequence, other joysticks will have different start up packets.

  //Delay is only used in THIS start up so can stay.

  digitalWrite(dePin, HIGH);        // Hold dePin high when transmitting.
  {
    digitalWrite(dataSwitch, HIGH); // Flip DG419 switch, HIGH = 24v connected to emulator bus
    delay(298);                     // Allow 24v pulse for 300ms +/- 20ms
    digitalWrite(dataSwitch, LOW);  // Flip DG419 switch, LOW = MAX485 connected to emulator bus
    delay(10);
  }


Its best if you can use a Logic Analizer to view the pulse, that way you can see when the reply from the power module fails and why.

Code i am currently using.
- This code has input from users of this forum and attribution is noted within the code.
SR_RC_PCB_Blue_Board_shutdownpacketsinc.zip
No more Limp Mode after power down and immediate power back up.....if you waited 20seconds or so between power cycles, its not a problem anyway but this fixes that bug.
(5.87 KiB) Downloaded 305 times


Board this code works on, they are super cheap !!!!
http://dirtypcbs.com/store/designer/details/11063/5125/nano-shark-hat-v3-23-zip

Emulator section on its own.png
Emulator section on its own.png (140.11 KiB) Viewed 10752 times

Emulator section of the board.



Tony
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 AymanJ » 29 Mar 2019, 08:37

Dear Woody and Tony,
Thanks for taking your time to answer our questions. Since we are working with such wheelchair and RS485 protocol for the first time, we might ask some stupid questions, please bare with us.

"You Must use a MAXIUM chips due the ability to cope with the start up pulse voltages.

We have ordered two different RS485 board: ebay https://www.ebay.com/itm/RS485-TTL-Breadboard-Module-Arduino-Raspberry-Pi-max485-RS-485-Transceiver/232674850469?ssPageName=STRK%3AMEBIDX%3AIT&var=532155608877&_trksid=p2057872.m2749.l2649 and sparkfun https://www.sparkfun.com/products/10124.

Need to confirm whether they use maxim or not. Can you please show any ebay link for maxim based RS485? I will be really thankful if you can explain about the start up pulse voltage. We have checked four wires coming from the controller to the joysticks. Those are +batt, -batt, A and B of RS485 (hope we have identified correctly). Battery terminals giving us constant battery voltage. A &B should give RS485 signal which is half-duplex communication (as per our understanding). We measure the signal switching levels of A&B in digital oscilloscope and we found that these are switching between 0 and 5 voltage.

"The Shark protocol requires a start up pulse of the full battery volts, per the notes in my code (attached below)."
So, you mean in the beginning of communication between controller and joystick, controller send start up pulse in A&B lines which is not 0-5v rather they are full battery voltage and we need to save our MAX485 module from this huge start up pulse?
If that's case, that make sense the use of DG419 analog switch.
" The DG419 switches the MAX485 out of circuit, copes with the full battery pulse initiated by the Arduino - after 300ms, switches full battery volts out of circuit and reconnects the MAX485."

"Its best if you can use a Logic Analizer to view the pulse, that way you can see when the reply from the power module fails and why."
Yes, we have Saleae8 logic analyzer, we tried to check the signal coming out of controller module to joystick by tapping in A&B with respect to battery (-ve). We get something using Async serial communication but with lot of framing error and not quite sure about the proper wiring and set-up of the software of saleae. I was looking hard in the forum to find clear explanation for that.

We have downloaded your code several times however, not in the point yet to use the code. "Board this code works on, they are super cheap !!!! " Yes, we will order some of these board to make a prototype as soon as we understand the whole process and can replicate your components properly.

Thanks
AymanJ
 
Posts: 13
Joined: 28 Mar 2019, 14:28

Re: Arduino controlled wheelchair

Postby woodygb » 29 Mar 2019, 09:24

The Shark protocol requires a start up pulse of the full battery volts, per the notes in my code (attached below)."
So, you mean in the beginning of communication between controller and joystick, controller send start up pulse in A&B lines which is not 0-5v rather they are full battery voltage and we need to save our MAX485 module from this huge start up pulse?


The start up pulse is indeed the FULL battery volts of 24v ish and is only applied to the B line Yellow Shark Bus HIGH wire.

Image
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: 7068
Joined: 12 Mar 2011, 18:45
Location: Bedford UK

PreviousNext

Return to Everything Powerchair

Who is online

Users browsing this forum: No registered users and 246 guests

 

  eXTReMe Tracker