Introduction: Modified Wild Thing - Joystick Steering - New and Improved
Update 8/1/2019: Two years after completing this project, I've designed and manufactured several circuit boards to ease in converting these wheelchairs. The first circuit board is almost the same as the custom protoboard soldered up here, but instead is a professionally-manufactured board that takes an Arduino Nano. There is also a drop-in replacement for the original stock control board (it has on-board motor driver circuitry), as well as a board that plugs into the stock control board and emulates its joysticks, thereby making them much easier to use. Here is all the info for those boards: https://github.com/willemcvu/Bumblebee-dual-motor-... If you want one of these boards, please contact me via my blog and we can go from there: https://willemhillier.wordpress.com/contact-me/
This manual was written by Willem Hillier, a student at Champlain Valley Union High School, located in Hinesburg, VT. This project was completed inside and outside of the Design Tech and Engineering Robotics classes taught by Olaf Verdonk.
In late March of 2017, a local physical therapist contacted the high school and asked if we would be capable of modifying a Fisher Price Wild Thing to single joystick use, by following this Instructable: https://www.instructables.com/id/Wild-Thing-Modification/
We took those instructions, and improved the design where we could. The areas where we improved included:
- Electronics mounting/wiring
- Joystick and joystick mount
- PVC mounting system
- Backrest, headrest and other support structures
- Caster wheel
We didn't use a sonar sensor and piezo beeper in our build like the original did.
On the final build day, when we fitted the final support structures and presented the project to the girl, the local press was present. They filmed and interviewed several people, and after being in the local news, the video was featured on the national news, as well as in countless places online.
These instructions are not comprehensive like the original Instructable is, but rather are an "add-on" that addresses only the areas we changed.
Apologies for the sub-par photos throughout this Instructable. I had an iPhone 5 during this project and it doesn't have the best camera...
DISCLAIMER: Champlain Valley Union High School or any if its students, faculty, and staff are not responsible for any injuries to any person or damages to any object including the car caused by the modifications. Any type of modification will also void the warranty provided by the manufacturer of the car.
Step 1: Parts and Supplies
While mostly the same as the original Instructable's parts list, there are some differences.
Many of these parts can be bought locally at Home Depot, Lowe's or your local hardware store. All prices are those listed at the time of posting.
- 3/4" PVC pipe
- Nuts, bolts, and washers for through-bolting
- 90 degree PVC elbows - x4
- 30 degree PVC elbows - x2
Approximate Framing Cost: $30-40
- Adafruit Pro Trinket - 5V 16MHz
- Used to take the inputs from the joystick and control the motors appropriately
- Any 2-axis analog joystick will work - use the one that works best physically for your application.
- Used to distribute power and simplify the wiring
- $1.95x 2
- Used to control the speed of the car.
- Used to solder other electronics in place. Acts as a circuit board for the controller electronics.
- Used to create plugs for other components
- Used for the other end - we will be attaching this to the joystick cable so it can plug into our control board.
- You can use any 12V PWM motor controller with reverse capabilities, although these are what we used and they're excellent (albeit a little expensive).
- $45.00 x 2
- Levels out voltage when you draw a lot of power (e.g. accelerating quickly).
- $1.37 x 2
- Used to turn the car on/off
- You can buy these very cheap locally.
- Used for power wiring
- Can easily be bought locally
- Used as a joystick cable
- USB cabling works well
- You can buy these locally.
- Gives you a run time approximately twice that of the stock battery
- For easy removal of battery and ease of charging
Total Electronics Cost: $190.69
Total Estimated Modification Cost: $200-300
Step 2: Electronics Mounting/wiring
Instead of soldering all the necessary wires directly to the Adafruit Trinket Pro, I opted to build a PCB that had all the necessary connections broken out.
I used perfboard, and soldered female headers for the Trinket Pro. I used male headers for the power, servo, and joystick connections. The speed potentiometer is soldered directly onto this control board, as opposed to the original design where the speed adjustment potentiometer was external to the control board. This is significantly more reliable (as opposed to a connector) and is simpler to fabricate.
Additionally, there are two switches that control which joystick header is active. One switch switches the x-axis signal between the two headers, and the other switches the y-axis signal. Each header is wired "opposite" the other - e.g. ground and VCC are switched in position from the other header. This allows the joystick to be switched between left and right hand operation by simply switching the joystick header and flipping two switches, without reprogramming of the controller.
Step 3: Code
Upon trying the original code, I discovered that it was extremely laggy. After some research/testing, it was determined that the sonar code made the control loop run very slowly when no sonar sensor was attached. This was because the Arduino would send out a "ping" to the sonar sensor, and wait for the time to receive a "ping" back from the sonar sensor. When there is no sonar sensor attached, it never gets a ping back, but waits for a while to receive one before eventually timing out.
After removed that code as well as other unnecessary code (specifically code designed to run a car with a steering servo), it ran quite well.
Step 4: Joystick and Joystick Mount
The original design used a standard 2-axis potentiometer joystick from a remote control for a plane, etc. While these work, they are often not of especially high quality, and additionally the handle is not ideal, as it is made to be used with a single thumb. We opted to use a 2-axis joystick with a ball handle for ease of use. I designed and 3D printed a mount for the joystick. Total, it went through 4 print revisions before being satisfactory.
There are several things to note about the joystick mount:
- It uses two through-hole bolts to clamp-mount to 1" PVC. In order to determine the exact size needed for this, we printed a set of "test rings" with slightly different inside diameters (see above photo).
- This particular file needs supports to print best - I printed it on an Ultimaker 3. I suppose it might print on a side, but it probably wouldn't come out super well. I've attached a no-supports-needed model as well.
- There is a U-shaped channel cut out of the interior that allows the cable to go between the exit hole and the other potentiometer.
- My design uses a laser-cut acrylic top cover, that could easily be 3D-printed instead
Step 5: PVC Mounting System
Like the original design, we used PVC to build a frame around the vehicle. This frame provides more protection for the user, as well as convenient mounting points for other parts like the joystick and headrest.
We used through-bolts to secure the PVC frame to the existing frame at four points (see above image; mounting points are circled in red).
Step 6: Backrest, Headrest and Other Support Structures
Considering that we're building a wheelchair, support structure and making the product ergonomic is very important. There were three areas that were drastically improved from the original Wild Thing.
We used a foam kickboard, with two triangle-shaped wood wedges between it and the original seat, so that the backrest was a steeper angle. Elevator bolts were used to secure the whole setup.
2. Side Trunk Support Structures
We used a piece of sheet metal mounted to the back orange frame that wrapped around the sides of the waist of the user. Foam was wrapped around the "tips" of this metal piece. See photos.
The kickboard backrest is good in terms of back support, but it wasn't tall enough to support the user's head in our case. Because of this, a headrest was added. We took the headrest off of the user's existing (manual) wheelchair, and simply bolted it onto the kickboard.
Step 7: Caster Wheel
The original caster wheel and its supporting structure was plastic, had way too much play, and didn't roll well at all. (see above photo for a disassembled view). We opted to replace this caster wheel with a swivel rubber caster wheel designed for use on the bottom of rolling carts, etc.
I designed two plates in Fusion 260 that would fit on the top and bottom of the plastic swivel hub on the back of the vehicle (see photo). These plates were cut out on a CNC plasma cutter. A small piece of steel tubing was welded into each hole on these plates. Bolts went through the top plate, bottom plate, and then holes in the mounting plate on the caster wheel.
Thanks for reading this Instructable, and vote for it in the PVC Contest and Make It Move Contest!