Self-balancing Arduino does it without an IMU

The miniscule size of this self-balancing robot makes it a cool project. It actually uses the motor and wheels from a small toy car. But when you look into how the balancing act is performed it gets way more interesting. The larger versions of this trick pretty much all use Inertial Measurement Units (IMUs) which are usually made up of an accelerometer and a gyroscopic sensor. This has neither.

The black PCB seen to the right of the robot is an IR reflectance sensor. It shines an IR led at the floor and picks up what reflects back. [Sean] added this hack because the gyro sensor he ordered hasn’t arrived yet. The board has a trimpot which is used to adjust the sensitivity. You have to tweak it until it stands on its own. See for yourself after the break.

Self balancing robot builds are a great way to teach yourself about Proportional-Integral-Derivate (PID) algorithms used in a lot of these projects.

15 thoughts on “Self-balancing Arduino does it without an IMU

  1. Well it’s not gonna work on unevenly colored floor, right? How about using a perpendicular and two light barriers? It might oscillate easly, but maybe this is an even better PID-training ;)

  2. Very cool! Thanks for sharing. We built a similar project. However, we installed an Android device on the robot to control its balance. Here you can see the result:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s