This is the most Simple Arduino based Simple Balancing Robot whose PID values were computed instead of the conventional hit and trial method, the gyro vs motor values were collected using HC-05 and fed to PID tuner to get exact PID values which were used in the project.
3d Print the model chassis provided and mount the components
if more stability is needed consider printing a taller mount so that the COM is high,the current COM model is close to the ground
Use the package manager of arduino to install Necessary libraries :
TinyMPU6050
AutoPID
Kalman
L293D
Use motortester.ino to test Motor values and to find motor equalisation point ( the point at which both motors start to rotate) and add that offset. Set All pid's to zero.
Connect as per the circuit and Align the robot in a stable position and press the switch to record the angle which the robot should try to maintain. Now Record the data from HC-05 to a text file ,Now test the robot ,take the largest stablest oscillation readings,and discard the rest. Now feed the final text file to convert_piddata.ino to get a csv file which can be copy pasted to pidtuner.com to get PID values.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.