This post documents my attempt to create a self-balancing robot, based on the “DanceBot” design by Hanno Sander (http://hannoware.com/dancebot). It’s a fun but challenging project. Most of the design information came from the new Propeller Book.
Sourcing Componets –
Gyroscope: GWS-PG-03, Power Hobby
Accelerometer: LIS3LV02DQ, Newark Electronics
Accelerometer Proto-Board: Proto-Advantage
H-Bridges: (2) LMD18200, ebay
H-Bridge proto-boards: Spark-fun electronics
Main Board: Parallax Professional Development Boards
Motor: GHM-16, Lynxmotion
Motor Mounts: Lynxmotion
Motor Rotary Encoder: Lynxmotion
Robot Chassis: Round alumininum, approx 8.25″ diameter x 3/8″ think, from the junk box at the local metal place.
A couple of the components needed special attention. The LIS3LV02DQ is a SMT package in QFN28 package. I used a proto-board from proto-advantage to adapted it to the usual 0.100″ spacing, soldering it with my hot-air gun. The LMD18200 also isn’t breadboard friendly, but some breakout boards from sparkfun electronics solved that.
The first step was to build the platform that the robot would sit on. I found a nice round chunk of aluminum approximate 8.25″ in diameter in the junk box at the local metal supplier. It was a little thicker than I wanted, but otherwise fit the dimensions and only cost me two bucks. Made a template using SmartDraw to figure out where the motor mounts would go (and get them square and true), and mounted the motors and mounts to the platform:
Next, I secured the Propeller Professional Development Board to the top of the platform using a couple of wood blocks. The PDB is only temporary; I’ll probably make a custom board eventually. Constructed a battery bracket from some more aluminum. A couple of pieces of aluminum flat stock were used to make some guard for the PDB so it wouldn’t get smashed if the robot crashed into something. Here are a couple pictures of the initial prototype of the robot:
Finally, here is a picture diagramming the major components:
Finally, a link to the youtube video: