This post is written by Bryan So, the winner of the February MakerSpace Mini Grant. If your interested in creating something yourself and need a little funding click here to apply!
The goal of this project was to create a rover with a majority of the materials being cardboard and 3D printed parts. The rover incorporates a rocker bogie system, similar to the mars rover, that helps keep the body stable when overcoming obstacles.
The materials required to make the rover are :
- Machine screws and nuts
- ⅜” Threaded rod
- ⅜” nuts
- Motor shield
- Ball bearings
- Battery pack
- Hookup wire
- Perf board
- NES controller
- Pin Headers
- Hook up wire
Tools required are :
- 3d printer
- Soldering iron and solder
- Laser cutter
- Wire strippers
- Wrench or pliers
The first step in the building process was to 3D print all of the necessary parts for the rover. This process took a couple of days due to the number of parts required and the speed of 3D printing. All of the 3D printed parts were printed on the Ultimaker.
Next, I cut the cardboard pieces necessary using the laser cutter.
Using the laser cutter, I cut a 12” x 12” sheet of birch wood that I bought from the MakerSpace down to a size of 12” x 8”. This was used as the main platform to hold everything together.
I pressed the ball bearings into the pillow blocks making sure it was a tight fit. I placed a ⅜” nut into the gaps of the leg hubs.
I used a ⅜” threaded rod for the axles, but a normal aluminum or steel rod would work if you wanted to press fit the bearings onto them. I found it easier to just use nuts to secure the rod to the bearings.
Next, I cut the threaded rod using a saw to the appropriate lengths. I then laid out the pillow blocks with the rods inserted with the bolts hand tightened around the bearings along with the bevel gears. I made sure that the rods turned smoothly while holding the pillow blocks down. Initially, I had trouble positioning the rods properly so that it would be centered to avoid wobbling. I was able to fix this with some repositioning and retightening. Once everything was placed and centered, I marked out the locations to drill a hole for the pillow blocks and drilled them using a drill press. After that, I secured all the pieces to the board to test the fit. Satisfied with the fit, I tightened down the nuts using 2 wrenches and then glued the bevel gears in place using super glue.
I then glued all the pieces of the legs together using wood glue, however, I think using a glue stick might have been a better option. I used clamps to apply light pressure to the cardboard, but a heavy object such as a textbook would suffice.
I then mounted the motors on the front and back wheels using 3D printed motor mounts and screws. The middle wheels were secured using ball bearing.
I pressed the wheel hubs into place on the motors. I used a threaded rod for the middle wheel which was cut to length and then secured using nuts. I then glued the middle wheel hub in place and attached the wheel.
Next, I connected both parts of the legs using a 3D printed bolt/pin.
Next, I cut 2 wires for each motor. The lengths of the wires were long enough so that they would extend to the top of the body. I soldered the wires to the motors. I then drilled 2 additional holes to the base so that the wires could go through and extend to the top of the body.
I attached the legs to the leg hubs using screws and a 3D printed leg hub. Once the legs were screwed in place, I tightened the nuts on the threaded rod against the leg hub to secure it.
Now moving on to the electronics part of the rover, with the Adafruit motor shield on top of the Arduino, I connected each motors’ wires to the board. I also connected the battery pack to the shield.
You can follow the instructions on the Adafruit website to install their libraries. Once that’s done, you can test out example code on the rover that enable the wheels to move forward. If some of the wheels move in the wrong direction, switch the positive and negative wires for that motor on the motor shield.
I used a generic NES controller so the wire colors were not the same as the original. To confirm which wire was connected to which port, I first cut the connector off the controller with a few inches or wire to spare. I striped each wire and then used a multimeters’ continuity function to test the correspondence between port and wire color. Then, I cut a piece of perf board, soldered each wire on, and connected it to a female pin header.
The controller should then be connected to the Arduino. More info on how to connect and program the Arduino using the NES controller can be found HERE. I uploaded the code that I developed to control the motors using the controller. After this, the rover proved to be fully functional.
Here is the fully assembled Cardboard Rover !
Further modifications that I would have liked to do are add another motor to power the middle wheel and add additional wheels on the other side of the middle wheel to provide more balance to the rover. I would have also liked to use a stronger material like wood or acrylic for the legs. Another big improvement would be to make the rover wireless so you wouldn’t need to be tethered to the rover.