Ball on plate
Visualitza/Obre
Autor/a
Altres autors/es
Data de publicació
2020-06-06Resum
En el present treball es descriu els passos per implementar un sistema de control
LQR en un Arduino DUE, que controlarà un sistema de Ball on Plate (Bola sobre
Plataforma).
La planta en la qual s’implementa el sistema de control és un sistema de Ball on
Plate, el qual també ha estat dissenyat i muntat per l’autor. Aquesta planta consta
d’una base on hi han muntats dos servomotors, la placa d’Arduino Due encarregada
del control, l’electrònica necessària per alimentar correctament els servomotors i la
làmina tàctil resistiva. A la base, hi ha muntat una junta Cardan que fa d’unió amb
la plataforma pivotant on hi haurà la bola. Aquesta plataforma pivota gràcies a la
junta Cardan, que a la vegada evita la rotació al voltant de l’eix perpendicular a la
pròpia plataforma. El moviment de la plataforma és controlat per dos servomotors,
connectats amb la plataforma a través de barres amb articulacions esfèriques en els
seus extrems.
El control es realitza amb una tècnica de control LQR, que s’implementa a una placa
d’Arduino DUE. El sensor d’aquest sistema és una làmina resistiva situada a la part
superior de la plataforma i que detecta la posició de la bola quan està al damunt.
Per altra banda, els actuadors són els dos servomotors. Cada un serà l’encarregat
de moure un dels eixos de rotació lliures de la plataforma (X i Y).
Per realitzar el control final a la placa d’Arduino prèviament s’han realitzat una
sèrie de simulacions i comprovacions amb el Matlab. Per una banda es comprova
si aquest sistema es pot observar i controlar. A continuació, es realitza una petita
simulació i s’observa la resposta del sistema i el lloc geomètric de les arrels, per
comprovar la seva estabilitat. Es realitza una simulació comprovant que el sistema
respon correctament per portar la bola a un punt de la plataforma.
Finalment es realitza la implementació del sistema de control al sistema real, realitzant
ajustos per intentar que la resposta del sistema real sigui la més aproximada al
sistema simulat amb el Matlab. La implementació es realitza programant la placa
d’Arduino Due fent servir el llenguatge de programació C++ i les funcions pròpies
d’Arduino.
This work describes the steps to implement an LQR control system in an Arduino
DUE, to control a Ball on Plate system.
The plant in which the control system is implemented is a Ball on Plate system,
which has also been designed and assembled by the author. This plant consists
of a base where two servomotors have been assemblied, the Arduino Due board is
risponsable of the control, the electronics needed to properly power the servomotors
and the resistive touch screen, and finally, there are a Cardan joint mounted above
the base, this Cardan joins the pivoting platform where the ball will be. This
platform pivots thanks to the Cardan joint, which in turn prevents rotation around
the axis perpendicular to the platform itself. The movement of the platform is
controlled through to the connection between it and the servomotors, connected
both pieces by means of bars with spherical joints at their ends.
As already mentioned, the control is performed with an LQR control technique,
which is implemented on an Arduino DUE board, the sensor of this system is a
resistive touchscreen located at the top of the platform that detects the position of
the ball on it. On the other hand, the actuators are the two servomotors. Each will
be responsible for moving one of the free axes of rotation of the platform (X and Y).
To carry out the final control on the Arduino board, a series of simulations and checks
have previously been carried out with the Matlab. On the one hand it is checked if
this system can be observed and controlled, then a simulation is performed and the
response of the system and the geometric location of the roots is observed, to check
its stability. Finally, a simulation checking that the system responds correctly in
both cases, when the boal is going to the point on the platform and when the ball
describes a trajectory.
Finally the implementation of the control system to the real system is realized, realizing
adjustments to try that the answer of the real system is nearest the simulated
system with the Matlab. The implementation is done by programming the Arduino
Due board using the C++ programming language.
Tipus de document
Projecte/Treball fi de carrera o de grau
Llengua
Català
Paraules clau
Control digital
Arduino (Controlador programable)
Pàgines
87 p.
Nota
Curs 2019-2020
Aquest element apareix en la col·lecció o col·leccions següent(s)
Drets
Aquest document està subjecte a aquesta llicència Creative Commons
Excepte que s'indiqui una altra cosa, la llicència de l'ítem es descriu com https://creativecommons.org/licenses/by-nc-nd/4.0/deed.ca