Introduction: Frozen Car Modification - Joystick Steering
DISCLAIMER: The Barstow School and FRC Team 1939 or any of its members 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.
Established in 2006, The Barstow KUHNIGITS is a FIRST Robotics Competition team located at The Barstow School in Kansas City, Missouri. See more about us at: www.frcteam1939.com Our award-winning head coach, Gavin Wood, teaches his students how their STEM skills can help make the world a better place and inspire the youth of today to pursue careers in STEM fields and creates the leaders of tomorrow. In 2015, we began our partnership with Variety KC GoBabyGo Powered by Rockhurst University led by Kendra Gagnon in Kansas City, Mo. GoBabyGo is an international organization founded by Dr. Cole Galloway to provide children with disabilities the opportunity to move independently. Variety KC has generously provided donations to buy all the necessary parts and cars for modification.
The Frozen car from Fisher-Price (LINK) was built and modified as a result of the collaboration between the two parties. Zuhair Hawa and Joey Holliday from The Barstow School led the modification of the car. Sophie Johnson, Miles Knight, George Whitehill, Aasim Hawa and Gavin Wood also helped with the adaptations. The instructions were compiled by Zuhair Hawa and Joey Holliday.
This car boasts a new mechanism for steering that is different from other Frozen car builds. We added a rack and pinion gear system that articulates the wheels. This allows for a joystick to be used instead of the steering wheel. This required our own processor and speed controller attached to the motor. On the outside, we added a PVC exoskeleton that provides the child with cushion and a kickboard to increase back support. You can also add a 5 point harness to add more support.
When completing the project, make sure to keep track of any screws/bolts removed from the car
DISCLAIMER: We 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: Gathering Parts and Supplies
Below are the lists of all the parts and tools required for the modifications. Most of these will be found in hardware stores such as Home Depot or Lowe’s, unless otherwise noted. The electronics have hyperlinks directed to the product pages for order. Extra wire can be bought at the local hardware or auto parts store. The internal modifications require skills in soldering, wiring, and programming.
PVC Super Structure:
- PVC Pipe - ¾”, 10 ft
- 7" Zip ties (Comes in bags of 50-100)
- 3/4" PVC elbows - 4 pieces
- 3/4" PVC t-connector - 2 pieces
- 1/4” Bolts - 2” long
- 1/4” Nuts (1 box)
- 1/4” Washers (1 box)
- Short, small screws, no longer than 1/2” in length - 1 box (used as set screws to maintain adjustability, PVC can also be glued with PVC glue, but it is permanent)
- 1” Wide Flat metal - Aluminium - Usually comes in lengths of 3 - 10 feet, but you only need a small amount.
- 8/32 Bolts - Various lengths (likely need 10 or fewer)
- 8/32 Nuts - Nylocks are preferred because the hold better under vibration (for vex parts)
- 10/32 Bolts - approx. 10 various sizes.
- 10/32 Washers
- 10/32 Nuts (Nylocks preferred) - 10 or so
- 6/32 bolts 1/4 to 3/8 inches in length to mount the motor and the rack gears - approx. 20 pcs
- VEX 2-wire 393 Motor:
- This will move the steering back and forth
- This will relay the signal to the processor
- You will select this as an option when ordering the Motor
- This will be used to move the rack and pinion gear system
- This will make sure the shaft doesn't fall out
- You will select this as an option when ordering the Drive Shafts
- This will be used to drive the wheels from side to side
- Note that the version used in our build is slightly different from the version that is currently available on the market, but the concept is the same
- This will enable the correct spacing
- You will select this as an option when ordering the Drive Shafts
- Adafruit Trinket (x1):
- The computer used to read from joystick and control motors
- Any Arduino variant will work
- Any dual axis analog potentiometer should work
- Used to simplify wiring
- Used to level out the voltage in the system. Highly recommended.
- Any replacement Capacitor must be rated for a greater voltage than the battery
- Used to turn the car on and off
- We used Talon SR speed controllers, which are discontinued.
- We recommend the Spark Motor Controller
- You can also use any 12V speed controller that you find
- This can be purchased from the dollar store or any hobby store such as Michael’s.
- Measuring Tape/Ruler
- PVC Cutters (Hack saw can be substituted)
- PVC Glue
- Drill Bits - 3/16”, 1/4”, 1/8”
- Pen, pencil, or Marker
- Hack Saw
- Wire Strippers
- Soldering Iron
- Wire Cutters
- Wire Crimpers
- Electrical Tape
Step 2: Steering Mechanism
This step requires mechanical knowledge. You will learn how to build and install the system used to steer the car.
- Using the Rack and Pinion gear set, mount 2 rack pieces onto the rail leaving 1” of space on each side. The Rack set should be about 5” long
- Mark the rail and cut the excess metal.
- Cut 2 3” long pieces of 1” wide flat metal
- Place the metal on the rail and mark the locations where you want to drill. It should be two holes for each piece of metal where you will mount it to the rack rail.
- Use a 3/16” drill bit to drill the holes
- Approximately 2” from these pair of holes, mark a dot; this will represent the hole to mount to the steering column.
- Use a 3/16” bit to the drill the hole. Refer to the first image if needed.
- Mark another hole 3/8” from this new hole. Slot the hole starting from this new hole towards the center of the metal pieces to become an oval. This will be used to counter the change in distance when steering.
- If you cannot mill the hole, I would recommend drilling another 3/16” hole 3/8” from the first one. Then, drill another 3/16” hole between them and file out the remaining metal to create a smooth oval.
- Use 1” long 10/32 bolts to mount the metal pieces to the rail. Make sure that the head of the bolt is under the rail and that the nut is on the side of the metal pieces. The ends of the bolts should stick up like the first image.
- Slide this assembly into the other half of the rail
- Mount the motor and pinion onto the rail as in the attached picture. The final assembly should look like the second image.
- Place onto the Frozen car on the box tubing section. Use two of the nylon spacers to lift up the rail. The ones used should be the second smallest ones. The third image shows our placement of the spacers.
- Mark the holes and use a 3/16” drill bit to drill the holes
- Use 2- 2” 10/32 bolts and 10/32 nuts to mount the motor assembly to the car
- Adjust the wheels and the rail to be centered.
- Drill two holes in the steering column at the top of the slots.
- Place the smallest nylon spacer underneath the metal pieces. Using 2 1” 10/32 bolts and 10/32 nuts, mount the metal pieces to the steering column. Make sure not to tighten the bolts too much or they will not slide. The final image should look like the last image.
- Move the wheels left and right to make sure they steer smoothly. Make any adjustments if necessary.
Step 3: Removing the Gear Selector
- Remove the steering wheel from the axle by unscrewing the bolt on the left side of the steering wheel
- Remove all stickers from the dashboard to access the screws
- Using the appropriate screwdriver, remove the 5 screws from the dashboard. Put them aside for reattachment later
- Pull the plastic dashboard completely off
- For the on/off switch, uncouple the white, plastic clips
- For the gear selector, pull the wires slightly forward and uncouple the white, plastic clips
- Slide the dashboard back into place and screw the bolts back into place
- Reattach the steering wheel
Step 4: Creating the PVC Exoskeleton
In this step, you will create the PVC exoskeleton
- Remove the left mirror by unscrewing the screws holding it in. Pull the mirror out with some force, but do not break it. Screw the top and bottom screw back in. Repeat for the right side
- Cut the PVC pipe into the following lengths and quantities:
- 2 - 19.5”
- 2 - 5”
- 2- 4”
Step 5: 3D Printing Joystick Base and Lid
This step requires a 3D printer to create the base and lid. You can either buy one online or access one through a local makerspace or university.
- Use the following link to download the STL files to print (scroll down): http://www.frcteam1939.com/gobabygo/
- Use a 3D printer to print the Joystick Base first. Place the file into the 3D printer software. If it looks too small, increase size to 1000%.
- Print out the Joystick Lid. When placing into the program, flip the lid to make a clean print. If it looks too small, increase size to 1000%.
- If you feel that the edges or corners are too sharp, you can use a file to smooth them out.
- Place these on the side as they will be needed for step 7.
Step 6: Mounting Electronics Without Soldering
This step primarily deals with mounting some of the electronics that do not require any soldering. You simply mount these electronics and connect wires.
- Remove the battery from the car.
- Leave the wires going to the motor and keep track of the battery connector but remove all other wires from the car. Its alright to cut wires going to the gear selector and foot pedal.
- Mount the two power buses in the back of the electronics area using a 3/16” drill bit and 10/32 nuts and bolts.
- Drill a hole in the back of the car for the power switch. We mounted it above the license plate.
- Leaving the battery connector near the battery holder, route the red wire to the switch in the back and attach it to one side of the switch.
- Attach a wire to the other side of the switch and connect it to the positive power bus.
- Take the black wire of the battery connector and attach it to the negative power bus.
- Cut off the connector going to the motor while leaving as much wire as possible.
- Mount the speed controller and wire the two motor wires to the motor side of the speed controller. Which one is positive or ground doesn’t matter at this point.
- Connect the positive on the battery side of the speed controller to the positive power bus.
- Connect the negative on the battery side of the speed controller to the negative power bus
- (Optional, but highly recommended) Take a capacitor and wrap the negative leg around the negative terminal on the battery side on the speed controller and the positive leg around the positive terminal on the battery side.
Step 7: Soldering Electronics and Mounting Them
This step deals with soldering the remaining electronics and mounting them to the car. This step requires technical expertise to complete correctly. As you solder the wires, consult the wiring diagram for help.
- Choose a place to mount the Arduino inside the car.
- Solder a red wire to the BAT+ pin on the Arduino.Connect the other end to the positive power bus.
- Solder a black wire to the GND pin on the Arduino. Connect the other end to the negative power bus.
- Connect the Vex speed controller to the Vex motor. Route the PWM cable side under the car and into the electronics area. You will have to remove the black cover under the car to access the path for the wire.
- Cut the PWM connector off the end of the VEX speed controller. Split up the wires and connect the Orange/Red to the positive power bus. Solder the white wire to the Arduino
- Solder wires onto the Joystick. Ideally use one PWM cable on one of the potentiometers. Bridge the positive and negative over to the other potentiometer and attach a separate white wire to the second potentiometer. Reference the third image if needed.
- Remove the base of the joystick by removing the screws on the bottom.
- Place the rest of the joystick in the 3D printed base, making sure the wires go through the rectangular slots. Firmly push the joystick, making sure that the top ring is flush against the top of the base. Using the screws, bolt the joystick on through the holes at the bottom
- Remove the plastic ring at the top of the joystick. Place the 3D printed lid over it, making sure the holes line up. Screw on the lid by using the bolts.
- When attaching to the car, ask the family for the reaching distance of the child. This will determine how far forward the joystick gets placed.
- Measure out this distance and mark on the PVC pipe.
- Line up the center of the joystick to this marking.
- Using a 1/4” drill bit, drill through the holes that are on the joystick base. Make sure to drill through the PVC.
- Use a 1/4” bolt and washer and insert through the hole, going through the joystick base first. On the other side of the bolt, use a 1/4” nut. Tighten.
- Tape the lid to the base. Drill a 3/16” hole in the bottom of the foam ball. Mount the ball to the joystick. You may want to add a drop of glue to ensure that it sticks.
- Drill a hole and route these four wires through the car and back into the electronics area. (Step 7, pic 2)
- Solder the two white wires from the Joystick to the Arduino. One wire should go to A0 port and the other to the A1 port
- Connect a PWM cable to the Speed Controller. Cut the connector off the opposite end and split the wires. Solder the white wire onto the Arduino. This should go in the 10 port
- Solder a red wire to the 5V pin on the Arduino. Connect all of the sensors or speed controllers red wires to this wire with either a wire nut, solder, or breadboard.
- Connect a black wire to the negative bus. Connect all of the sensors or speed controllers black wires to this wire with either a wire nut, solder, or breadboard.
- Verify all electrical connections. Make sure sensors and speed controllers (Excluding the Vex Motor) have their positive/red wires only attached to the 5V pin and not the 6V bus.
Step 8: Coding and Debugging
In this step, you will upload the code to the processor. This step requires some programming knowledge.
- Download and install the Arduino IDE https://www.arduino.cc/en/Main/Software
- Setup IDE for Trinket https://learn.adafruit.com/adafruit-arduino-ide-setup/overview
- Download the code and open it in the IDE https://github.com/FIRST1939/GoBabyGo
- Configure the settings at the top of the code. Use the keyword “true” to enable a setting and “false” to disable it.
- Check all of the pins listed in the code and verify the pins the wires are connected to.
- Connect a USB cable to the Trinket and then into your computer.
- In the IDE go to Tools->Board->Pro Trinket 5V/16MHz (USB)
- Then click upload. The code should be uploaded the Arduino.
- Only follow this guide of the code isn’t performing as you expect and after verifying all electrical connections and code configurations.
- Purchase a FTDI Friend or equivalent https://www.adafruit.com/product/284
- Solder the six pin header onto the end of the Arduino.
- In the code set “DEBUG” to “true” and upload the new code.
- Connect the FTDI Connector to the Arduino and the USB cable to your computer.
- In the IDE go to Tools->Serial Monitor
- A window will pop up and list the values of all of the sensors and outputs on the car.
- Use this information to verify all sensors work properly.