Hey guys, working on a uni project creating an electric power chair for disabled children whom attend a local organisation. We're using an existing chair designed for adults and changing the seat to accommodate a child and make it a more "play friendly" mobility device - as such we want to add a 180 degree rotation so the kids can "turn" while stationary and playing with other kids. I plan on using an arduino to control a windscreen wiper DC motor. was hoping for suggestions as fast as possible so we can get started. Wanted a basic code example maybe to help me develop it and any other advice. Also want to integrate a control kill switch for when the seat is not facing forward.

Also the chair the rotating seat will be mounted to is the Pride Go chair -

An interesting project, but some responsibility issues should be considered before you actually use this project for real. Is it not possible to use the chairs own control unit to rotate the whole chair? Well, you probably would not be doing this if it was

For the first I'd say that you need some relays or a H-bridge (or similar) to power up the rotating motor and to make it run "forward" and "backwards". The motor-shields available for arduino cannot handle enough current to do the job, at least not those I've seen, the current can rise up to +10 A when the motor is heavily loaded.

Secondly you would need limit-switches to tell arduino when the chair has reached maximum rotation. You could of course use some mechanical restrictions to stop the rotation, but my opinion is that they should be used only as a "last limit" in case the limit switches for some reason fail. The worm gears in windscreen wiper motors often have plastic gears which can fail when overloaded, I've seen it happen.

You wanted to include a kill switch to prevent the chair from moving if not facing forward. You don't need arduino for that. You would use the kill switch to cut power from somewhere in the chairs own electrical system. For safety reasons you should also prevent the chair from turning while it is moving. This could be done with a current sensor installed in the drive motor supply cord.

The code will not be complicated. Basically you just read the state of switches and sensors and then power up the rotating motor when needed, some simple if-statements and while loops. I'm not going to give you any code because you really should write it by yourself to be able to fully understand what the code does and how to modify the code so that it does what you want it to do.

Wheelchairs I'm familiar with which have facilities such as raise and/or recline are controlled by the main joystick with the user able to change the function of the joystick. The function selected is displayed on an LCD display.

It's probably inadvisable for you to attempt to modify the wheelchair's existing control system, so you could provide a centre-off switch for rotate left and rotate right. If you provide buttons to rotate the chair, make sure the battery is not shorted if the child presses both switches!

To prevent the chair moving when the seat is not facing forward, consider a switch operated by a cam on the rotation shaft.

Make sure the limit switches are not crushed by the motor's inertia. I have seen it happen!

You don't need an Arduino.

I don't see a need or use of an Arduino with this project. All safety aspects can be implemented in immediate switch logic, the same for steering the motors. When you can connect the sensors to each other and to the motors, why put an microcontroller, H-bridges etc. in between?

First of all thank you,

This is more of a conceptual/preliminary design phase of which the class' winning design will be handed to a 4th year engineering student (with the rest of the class' designs as reference) as a full year honours project with sufficient safety considerations and testing. (they use us second/third years for design acquisition).

The ideas you suggested are much appreciated as i knew how i wanted to do these things (basically how you suggested with the kill switch breaking the control input-to-motor connection, as well as the max/min rotation kill switches) I just needed some of the methods used such as the H-bridge and current sensor to implement and the coding i'm sure won't be a problem. I've done small projects with arduinos before.

I'll investigate a more direct/less complex system, due to lack of experience i have a lot of knowledge of how things work but little when it comes to implementing a logical system ( i suppose the reason for this class).

I jumped straight to an arduino since it is a mechatronic design class and i've delt with arduinos before. I hate to say it, but to meet the criteria rather than design the best device is probably more in my interest at this stage of development (if it ends up being too simple i won't get the marks) - i'll investigate further extensions to add on top of a simplified rotation scheme if possible.