The aim of my final project was the design and creation of a ball balancing system. It includes the conception of the 3D model of the plant, and the building of the real model, and the inscription of the mathematical model with analytically or a method based on the investigation of the systems response. Basically, the ball is rolling on a U profile beam, which is attached to an axis driven by a DC servo motor. The position of the ball, the beam angle and the position of the marker which determines the desired position, is sensed by the camera of my mobile phone, and then calculated by a Matlab program based on color recognition. The control is performed by a state feedback control algorithm with reference signal compensation, also in Matlab, which is then sends the control signal to an Arduino UNO microcontroller using the Matlab Arduino Support Package. The microcontroller generates the Pulse Width Modulation (PWM) signal needed to the movement of the servo motor, in proportion to the controller signal.
The goal is to make the ball set to the desired position with the least error, and as fast as possible. The results are confirmed by measurements.