“I undertook this project because I wanted to learn more about Control Algorithms and how to effectively implement a PID control loop. The project is still in the development phase as a bluetooth module is yet to be added which will allow for the control of the robot from a bluetooth enabled smartphone.
Since the motors used are relatively cheap, they have a considerable amount of play i them leading to jerky motion as the motors overcome the ‘slack’ before applying torque to the wheels. The code I have written is reasonably simple but effectively demonstrates the capabilities of the PID algorithm.
The chassis of the robot is 3D printed using an Ender 3 printer and is designed to press fit together.
The robot is controlled by an Arduino Uno which takes sensor data from the MPU6050 and controls the DC motors through an external motor driver. It runs off a 7.4V, 1500mAh battery. The motor driver regulates this to 5V to power the Arduino and supplies 7.4V to the motors.
The software was written from scratch with the aid of the ‘Arduino-KalmanFilter-master’ and ‘Arduino-MPU6050-master’ libraries from gitHub.
3D Printed Parts
MPU6050 6-Axis Sensor
D.C Motor Driver
N20 D.C Motors (x2)