Picture of Balancing Instructable Robot

In this Instructable I wanted to show to you how to make a self balancing robot. What makes it unique is that its exterior is made to look like the Instructables Robot. Internally it works in the principle of PID, it is a very popular control system for maintaining a variable from fluctuating. In this instructable I have used the MPU6050 which is a gyroscope and an accelerometer in a single package. The gyroscope is used to find the angular orientation and the acceleration. For our application we just need the gyroscope data. To start off I will discuss the various applications and knowledge obtained from this project. Please vote for my entry in the "Instructable Robot Contest" if you find this instructable good.

Project-Based Learnings:

  • Knowledge of how to use the MPU6050 module.

  • How to implement the data to balance the robot.

  • How to implement control systems to your projects.




Proportional-Integral-Derivative System Advantages:

  • This Control System should be used when the controlled element needs precise control.

  • This balancing robot can be easily made by a Novice Arduino Programmer using this Control System.

  • The tuned PID system is very flexible over a range of environments (i.e. balancing even when weight is added).


This control system's efficiency depends on the tuning of three variables namely the Proportional constant, Integral constant and Derivative constant, So once you tune the variables accurate control of the robot is achieved. I have provided most of the instructions for making the robot. This robot is in the intermediate level of robotics so beginners shouldn't get frustrated because it for very challenging for Me!!!

Remove these adsRemove these ads by Signing Up
camiano3 days ago

Frustating afternoon adding motors to my working electronics. Immediately on start up - the motors just went into full throttle in one direction. Tilting the machine back and forth had no effect. I tried separating the arduino/shield power supplies and added smoothing capacitors to each motor - no change. Tried it with just one motor - no change. Finally I swapped the motors for another similar set. SUCCESS! Seems like the new motors I bought for this project are very very noisy.

Naren_Murali (author)  camiano3 days ago

Great you found the problem I almost went crazy trying to produce results for my robot :) , post the pic of the finished robot!!!!

camiano5 days ago

I've made the electronic side of this and looks to be working well. I used the L298P Arduino Motor Sheild so needed to amend your code to suit the pre-defined pins needed for the plug in shield.

When I make the mechanics I intend to put the MPU6050 in line with the wheels as I believe this will balance easier. I can see why you've put your 6050 up high - so your robot looks like the instructable robot.

Next thing to do is get rid of the variable resistors by using a bluetooth interface to send in the PID values from a mobile phone.

Thanks for the help - I'm standing on the shoulders of giants!

xaxazaxa2 months ago

wow. . awesome.. u can do it. .
i start make it, but i cant finish it . LOL.
can i make one (your project) for practice? i want to learn it

sorry for my bad english

Naren_Murali (author)  xaxazaxa2 months ago

sure man just use higher rpm motors for more impressive results.....anything over 300 rpm is good....all the best!

doodlecraft2 months ago

Wow, amazing and such detailed instructions! Nice work! :)

Naren_Murali (author)  doodlecraft2 months ago

Thank you!

mahesh_jo2 months ago

बधाई मुरली. बहुत अच्छा बनाया है

Naren_Murali (author)  mahesh_jo2 months ago

Thank you!!