GoBabyGo JEEP Modification With Joystick and Roll Cage
by WSUGoBabyGo in Circuits > Assistive Tech
198 Views, 0 Favorites, 0 Comments
GoBabyGo JEEP Modification With Joystick and Roll Cage
This electric toy car was modified for Carter, a two-year-old boy with osteogenesis imperfecta (“brittle bone disease”). His condition causes him to experience bone fractures frequently with only minimal amounts of impact to the skeletal system. This build was focused on providing Carter with a safe, cushioned interior with vehicle off-road capabilities; it also offers a unique joystick for adaptable bilateral steering.
These needs were met through several key features. These features include: 1) foam padding throughout the interior of the vehicle, 2) joystick to allow bilateral usage of hands for steering the vehicle, and 3) roll cage for safety. A list of parts and tools used to complete this project are shown below.
Partially Assemble Car
- Unpack car and take inventory of parts, ensuring the car has no damage.
- Using the instructions that were included with the car, assemble the car. Do not attach the windshield, wheels, hubcaps, rear view mirrors, or roll cage.
- Locate and remove the screws that attach the hood of the car to the body to free up space for later assembly.
Seat Modification
Seat Parts:
- 1/4 inch plywood
- 1/2 inch plywood
- Floral foam
- 1 inch memory foam
- Kickboard sprint foam
- SEA marine vinyl upholstery
- Outdoor velcro
- Staple gun and staples
- 1 inch screws
- Hot glue gun and glue sticks
- Paint (if desired)
- Seat belt (that comes with the car)
- Pool noodle
Steps:
1. Cut the 1/4 inch plywood to form the base for the seat back; the length should be 15 1/2 inches and the height should be 19 1/6 inches.
2. Round the top corners of the wood.
3. Cut out two layers of the 1 inch memory foam to fit on top of this wood base.
4. Hot glue the wood and the two layers of memory foam together.
5. Wrap the vinyl upholstery around all of this and staple it to the wood.
6. Using the 1/2 inch plywood, cut two spacers to be used to attach the seat back to the car; the length should be 1 3/4 inches and the height should be 7 11/16 inches for each spacer.
7. Paint these (if desired).
8. Place the seat back structure in the car, and place the spacers behind them (making contact with both the seat back structure and the car). Screw through the car, spacers, and seat back to attach the seat back to the car.
9. Cut the 1/4 inch plywood to form the base for the seat bottom; the width should be 8 1/2 inches and the length should be 15 1/2 inches.
10. Cut one layer of the kickboard sprint foam and one layer of the 1 inch memory foam to fit on top of this wood base (make them about 1 inch shorter for the width to allow room for the seat to slide under the foam structure that is already present for the seat back).
11. Hot glue the wood and the two foam layers together (memory foam on top of kickboard foam on top of wood).
12. Wrap the vinyl upholstery around all of this and staple it to the wood.
13. Screw the two halves of the seat belt into the part of the seat bottom structure that is only wood and vinyl (the 1 inch area that was left uncovered by foam).
14. Velcro the whole seat bottom structure to the car (sliding it underneath the foam structure that is present for the seat back).
15. Cut three blocks of floral foam into thirds (lengthwise) for a total of nine pieces (need eight pieces for the seat).
16. Velcro one piece of the cut floral foam to the side of the car (on top of the seat bottom).
17. Velcro another piece of floral foam to the previous piece of floral foam.
18. Velcro one more piece of floral foam (for a total now of three pieces of floral foam) to the previous piece.
19. Velcro one piece of floral foam over the top of the three pieces of floral foam.
20. Repeat on the other side of the car.
21. Cut a piece of the 1/4 inch plywood with a width of about 2 inches (can vary) and a length of 15 1/2 inches.
22. Cut a larger piece of the 1 inch memory foam (to fit the size of the area where the back of the child's legs will touch in case the child kicks backward).
23. Wrap the vinyl upholstery around all of this and staple it to the wood.
24. Velcro this structure onto the car (to the area where the back of the child's legs will touch).
25. Cut a piece of the kickboard sprint foam to fit the bottom of the car (where the child's feet will rest) and velcro it to the car.
26. Cut two pieces of the kickboard sprint foam to fit the sides of the car (where the child's legs would touch if the child kicks sideways) and velcro them to the car.
27. Cut and velcro a pool noodle underneath the dash of the car (where the child's legs would touch if the child kicks forward).
Roll Cage Modification
The roll cage was built for the child’s protection.The roll cage was assembled from approximately 14ft. ¾-inch PVC pipe (blue painted), four 90 degrees elbow ¾ -inch, two Tee ¾-inch, four ¾-inch PVC pipe clamps, 8 ¼-inch bolts, four 3D printed brackets, PVC glue, 27 eight-inch zip cable ties, and 14ft. foam noodles. Mainly, the materials were PVC pipes because they were light and solid enough to protect the child from falling out of the car. The PVC pipes were protected with blue foam noodles (in figure 3) for safety from getting injuries in an accident. The eight-inch zip cable ties were used for tightening the foam to the PVC pipe. As shown in Figure 1, PVC pipes were cut to the appropriate length of the design roll cage. Since the PVC pipe was larger to fit the original frame whole, 3D printed brackets were used to mount the new design frame. In Figure 4, Two ¾-inch PVC pipe clamps were fixed on each side of the engine cover.
Joystick Wiring
A higher quality image of the wiring diagram and pictures of the electronics build can be found here
Before we begin wiring, please make sure you know what you're doing or grab a friend who does.
The electronics section is split into two sections. If you only need forward and backward movement, that will be under section A; steering will be in section B. Section A taps into the inputs, whereas section B taps into the car output. For us, this means section B is more expensive and a smidge tougher.
Items Needed:
- Arduino Nano
- Arduino Nano Breakout Board
- Joystick
- Power Distribution Bus (2)
- Wire
- Voltage Regulators
- Relays (2)
A: Forward and Backward Movement using a Joystick
- Analyze your car. Make sure everything is in working order before moving on.
- Use a multimeter to test the voltages at the gas pedal and gear shifter as you run the car in forward/reverse/neutral.
- This will determine if you need to use the normally open or closed terminal on your relay
- Turn off all power
- Connect a switch in the 12V power line for parent safety
- We put this at the rear of the car next to a taillight for ease of access
- Connect a 12V bus to the 12V car battery
- Connect a voltage regulator to the 12V bus to downgrade the voltage to 5V, then connect this regulator to a 5V bus
- Connect your joystick to the 5V bus and connect the signal wires to analog pins on your Arduino
- Cut the wires connected to the gas pedal and connect them to a relay
- Cut the wires connected to the gear shifter and connect those wires to two other relays
- Connect the relays to the 5V bus and connect the signal wires to your Arduino
- Download code to your Arduino (found here and in steps 7 & 8)
- Connect Arduino to 5V bus
- Test and Debug
Items Needed
B: Steering using a Joystick
- Analyze your car. Make sure everything is in working order before moving on.
- Use a multimeter to test the voltage sent to the steering motor as you steer with the parent remote. Ours was 12V
- Turn off all power
- Connect the motor controller to the 12V bus and connect the signal wire to the Arduino
- Cut the wires between the car computer and steering motor
- Connect the steering motor input wires to the motor controller output wires
- If you want to be able to steer using the parent remote
- Connect the car computer wires you cut in step 6 to two 12V --> 5V voltage regulators, splitting the wires and using a diode
- Connect the regulator Output+ to the Arduino and the Output- to the 5V bus ground
- We have the hardware implemented in the wiring diagram, but in the code the joystick overrides the parent remote. We asked the parents to use the "Park" button in case of emergencies rather than steer
- Skip to Step 5: Gearbox to build the encoder enclosure
- Connect the encoder to the 5V bus and signal wire to the Arduino
- Make sure the encoder is oriented correctly as outlined in the code comments
- Test and Debug
Gearbox
In In order to allow the arduio to know where steering center is, a gearbox and encoder need to be added to the steering shaft.
- 3D print the 4 parts needed for the gearbox: 40 T Drive gear, Encoder Box lid, Encoder Box V1, Encoder Gear. The inventor files are attached.
- Start assembly by removing the car dash board. Then lower the steering shaft and drive gearbox to allow room to add a screw to mount the gearbox.
- Attach the encoder to the gearbox.
- Mount bearings into the gearbox and gearbox lid.
- Slide the gearbox down onto the drive shaft.
- Mark where the gearbox mounting holes are and then remove the gearbox and drill the mounting holes.
- Slide the gearbox back onto the steering shaft and mount using 10-32 bolts and lock nuts inserted from the bottom of the car.
- Attach the encoder gear to the encoder using a 1/2" bore lock collar. Use the hole in the side of the gearbox to access the lock collar tension bolt.
- Attach the 40T drive gear to the steering shaft using the 3/4" lock collar. Ensure the gear is properly meshed with the encoder gear.
- Slide the gearbox top down the steering shaft and attach using 4 small screws.
- Re-mount the steering gearbox by pulling the steering shaft back up.
- Re attach the dashboard.
Joystick Mounting
Joystick and Tray Mounting
- 3d print the parts needed for joystick and tray table mounting: Joystick ball for screws side 2, joystick ball for screws, joystick box, joystick plate v1, tray connector botton, tray connector top, velcro spacer.
- Cut a rectangle of .25" plywood to the desired size for the joystick tray, ensuring that it is at least 2" longer than the width of the door bars on the jeep.
- Using a drill and scroll saw, cut a rectangle in the center of the plywood to allow the joystick plate v1 to sink down into it.
- Wrap the tray in marine vinyl.
- Drill holes for the the joystick plate v1 3d printed part.
- Mount the jouystick to this joystick plate using the long thin screws that came with the joystick.
- Run the joystick wires out of the joystick box.
- Attach the joystick plate v1 and joystick box to the tray using 10-32 screws, sandwiching the tray between them.
- Attach the tray to one of the door bars on the side of the jeep using the tray connector botton, and tray connector top pieces and 10-32 bolts.
- On the other side of the car, attach another tray connector botton and tray connector top pieces as well as the velcro spacer to the car. Do not attach this to the tray.
- Use a piece of velcro to connect the tray to this side. This allows the tray to pivot up when putting the child in the car.
- Run the cables for the joystick down the bottom of the tray to the side of the car and into the electronics area.
- Mount these cables with duct tape and cable runner.
Joystick Ball Mounting
- Assemble the joystick ball using 2 small screws.
- Slide the ball onto the joustick and glue in place using super glue.
Joystick Programming
Firstly, download the Arduino code editor, found here
Next, download our code found here and read through the comments.
Connect your computer to your Arduino via usb and upload the code to the Arduino.
If the code does not work, here are some "debugging" options to go through
- Check to make sure all the wiring is connected properly.
- Check to make sure all the pins are in the right spot.
- Check to make sure there is no corrosion anywhere.
- Use a multimeter on the busses to make sure the correct voltage is getting sent out to all the parts.
- Make sure your relays and motor controller aren't backwards
- Use the Serial Monitor to check all the values. Joystick and Encoder integer values can be found on lines 50 and 69 if they need to be changed.
If these options are exhausted and the issue still isn't solved, find someone who can understand the code and modify it to suit your needs.
If that option is exhausted too, email the address found at line 6 in the code with a description of the issue.
All Parts Files and Code
All parts used for this build attached here in both inventor file format (.ipt) and 3d printer format (.stl) as well as the code and wiring diagram for the arduino.