A self-balancing robot isn’t a new idea, but we liked the aesthetics of [Maker ATOM’s] build. The use of a breadboard and a printed bracket looks good, as you can see in the video, below.
Like most first-time projects, though, there were some lessons learned. The power supply needs a little work and the range of balance compliance didn’t meet expectations. But those problems are soluble and, as usual, you often learn more from working through issues like these.
The heart of the system is an MPU6050 which provides a gyroscope and accelerometer along with fusion capability onboard. The availability of libraries for the sensor and the PID controller makes the project pretty simple to finish.
In particular, a PID control loop looks at the desired state of the system and the current state. It then computes an output based on the difference in state at the current time and over time in different ways. In other words, part of the output forms because of the raw difference but other parts of the output form due to accumulated error over time or from sudden perturbations. Adjusting the gains so that these parts stay in balance can be a bit tricky.
However, in the end, the two batteries were not sufficient to power the device adequately. Temporarily, a bench supply did the trick, but the batteries still needed to be there to provide some counterweights for balance. Experimenting wth some PID loop gains might also improve operations.