# Angle control of aeropendulum

OData: XML JSON What's this?The subject of my final project is a typical mechatronics problem. A closed-loop control system was realized, where the controlled variable is the angle of an aeropendulum. The aeropendulum setup consists of a small dc electrical motor attached to one of the ends of a light rod. The motor drives a propeller that allows the rod to swing and it is able to lift the pendulum. The system should be stable and should reach the predefined angular position (in the range 0-90 degrees) as fast as possible, without significant overshoot.

The system is controlled by a discrete PID controller. It is implemented in an algorithm in C language into a 16-bit PIC microcontroller. The algorithm calculates the actuating pulse-width modulated signal from the current error signal. The current angular position is measured by a potentiometer. Additionally serial communication is established between the microcontroller and a PC. The reference angle and the controller parameters can be varied in real-time through a graphical user interface implemented in LabVIEW. It is also possible to keep track of the current angular position in a graph and in a sketch.

The equation of motion of the pendulum is derived from the Lagrange equation of the second kind. The parameters of the transfer function are determined by measurements. Since this mechanical system is nonlinear, feedback linearization is applied to compensate the effect of gravitational force on the pendulum. This results in a “weightless” pendulum that is able to self-balance itself at any angle. The model of this “weightless” pendulum is used to run simulations and to tune the parameters of the PD controller in Simulink.

After a short introduction the documentation presents the process of plant modelling and the results of the simulations. Afterwards, the operation of the implemented software is explained. At the end of the final project, the simulations and measured results are compared.