Balancing robot with etched PCB shield
by JDD, published
Use This Project
Give a Shout Out
If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.Print Thing Tag
Balancing robot with printed wheels and structural parts. It uses a Arduino Uno, accelerometer/gyroscope, and a etched motor/servo PCB shield that I made.
Here's a video of it in action
The final robot is quite a bit different from the first prototype. You can see the progression of this project here:
I've wanted to make a balancing robot for a while but I was always turned away by the cost of all the parts. I tried to avoid using any expensive electronics or motors and instead tried to use common parts that other might have lying around. This is pretty much my first arduino/programming/PCB project so I'm sure there is room for others to improve it. Using servos was a cheap alternative to much more expensive geared motors but they're also a bit slow. This means that the robot can only recover from small pushes.
The board has the H-bridge, which can control two DC motors or one stepper motor, accelerometer/gyroscope, and two servo connections. The PCB isn't required but I did it for fun. The three iterations of the robot used a DC motor, stepper, and servo so I though it would be nice to make a board that can handle any of those.
I got a lot of the code and good information was found from
If your making the PCB and using a different accelerometer board, make sure to check the pins. They're probably not the same and the one I used. This would be easy to change in the Fritzing file though.
-4x 15 to 20mm M3 bolts and nuts or similar to attach the servos
-2x continuous rotation servos http://www.adafruit.com/products/154
-Accelerometer/gyroscope board. Any will work. I used this one http://www.csgshop.com/product.php?id_product=64
-5/16 or 8mm round wooden rod (from any hardware store)
-PCB etching supplies if you are etching your own board. Otherwise just use a bread board.
-Arduino holder (I got this off thingiverse but can't find the page)
-Battery mount (this is just the arduino holder, stop printing before the arduino mounts start printing).
-Wheels (made from http://www.thingiverse.com/thing:21486 )
Assembly is pretty easy. The wooden rods should be a tight fit through the square holes but if not a bit of hot glue helps keep them in place. Use some thin wire to attach the wheels to the servos.
Download the code and PCB files
Getting the robot to balance will still take a bit of work because of small differences in printed parts and servos. The main file in the Arduino sketch has a block of parameters to play with. These are the setpoint angle where the robot is balanced and the aggressive and conservative PID parameters. Its pretty much guess and check for those but I've left the ones that worked for me.
Balancing robot with etched PCB shield by JDD is licensed under the Creative Commons - Attribution - Share Alike license.
What does this mean?
- You must attribute (give credit) to the creator of this Thing.
- You must distribute Remixes under the same license as the original.
- Remixing or Changing this Thing is allowed.
- Commercial use is allowed.
Show Some Love
Say thanks by giving JDD a tip and help them continue to share amazing Things with the Thingiverse community.Tip Designer
We're sure JDD would love to see what you've printed. Please document your print and share a Make with the community.
To post a Make simply visit this Thing again and click I Made One to start uploading your photo. It’s even easier to post a Make via the Thingiverse Mobile app (available via Google Play and Apple App Store).