Introduction: Arduino Self Balancing Robot
In this project I will describe the construction of robots standing in equilibrium with Arduino.We explained in our previous version of the android controlled project. In this project we will move to our control. Let's go let's get to our building project.
Step 1: Materials:
- Arduino Uno or Mega
- L298 Motor Driver Card
- 3 Piece potentiometer
- You can cut plexiglass plate for mechanical or rigid plastic containers.
- 4 pieces of screw rods in length of about 20 cm
- 24-Piece Nut
- 2 pieces 6V DC motors at 250 rpm (from which together with the wheels)
- Lipo battery
Step 2: The Mechanics:
20 × 8 cm three plexiglass plate final.You can cut in different sizes. Cut diameter of the screw rod through the hole until after the corner of each sheet's open. Each plate so that the rod between two nuts and bolts Let's mounting screws. Let us consider each other to be equal to the gap between the plates. The engine then our way to the bottom right and left sides of the plate will be located right in the center of iron wire tied to my silikonlayal. Such mechanical parts.
Step 3: Electronic Section:
We use the engine running in a synchronous motor drive with its own library.In this way, also it happens to be that minimize errors in the work of the engine with full data system.
We’re putting the plus side of the battery to the motor LiPo 12V power input on the drive. We’re putting the minus end of the GND input.
In addition to the circuit attribute to 3 units 0.1 analog potentiometer year and 2 pins.Here the task of potentiometer kPa, manually adjusting the values of kd and will allow us to find the optimal balance point of the robot.Mpu6050 gyro sensor mounted on the bottom plate horizontally let.
Step 4: Library:
Libraries let’s get out of here
Attachments
Step 5: Arduino Code:
Attachments
Step 6: Video:
We complete install the software and necessary connections.Let loose in an upright position after running our robot.If you have trouble in stopping the robot’s balance with the potentiometer ‘kPa’, ‘on’ and ‘kd’ We’re changing value
More information : http://make.robimek.com/arduino-self-balancing-robot/

Participated in the
Epilog Contest VII
16 Comments
7 years ago
ijust upload the code in my arduino uno and i got erro of compiling , it said that is missing the I2Cdev.h library. Do you have with you?
Reply 6 years ago
you will find it on google
7 years ago
Thank you for this post.
7 years ago
Kp,Ki n Kd ???
7 years ago
Kp,Ki n Kd ???
7 years ago
Tell me one thing sir
Why you connect potentiometer?
What is the value of 3 potentiometers? ?
7 years ago
Getting erro while compiling with ardiuno uno
7 years ago
AnveshA1 this code https://gist.github.com/Robimek/0656fbe8eb08efa59bae
7 years ago
LinuxasLt this connect diagram on project or look at this orginal project http://www.robimek.com/arduino-ile-kendini-dengeleyen-robot-yapimi/
8 years ago
so how do you start it? i connected and uploaded
8 years ago
can you please send me the code to anveshabhi66@gmail.com
8 years ago on Introduction
double originalSetpoint = 174.29;
in the code is it possible to tell me how did you got this value ?
8 years ago on Introduction
8 years ago on Introduction
giuseppe_1973 sorry. change code. upload new code.
8 years ago on Introduction
thanks for your quick answer.
I have another problem sketch gives me an error on line 143
SelfBalancing_MPU.ino.ino.ino: In function 'void loop ()':
SelfBalancing_MPU.ino.ino: 143: error: 'currentMillis' was not declared in this scope
SelfBalancing_MPU.ino.ino: 146: error: 'currentMillis' was not declared in this scope
'currentMillis' was not declared in this scope
Can you help me. Thank you.
8 years ago on Introduction
giuseppe_1973 potentiometer pins. A0, A1, A2
A0 >> Kp value
A1>>Ki value
A2>>Kd value