Professional Documents
Culture Documents
Abstract
In this practice, its describing the operation of a self-tuning PID angle control, programmed in
Matlab and Arduino.
Resumen
1. OBJETIVOS
Disear y probar un software de control PID autoajustable, que por medio de una seal tipo
PWM controlada por medio de un potencimetro lineal, el cual le brinda informacin al Arduino,
pueda controlar el ngulo de apertura de una tapa, el cual vara dependiendo del caudal de
aire que se le aplica por medio de un tubo, con un motor DC.
- Lograr generar una seal PWM, desde Matlab, que cambie su ancho de pulso para controlar
la tensin de salida necesaria que hace girar el motor generador de viento y as controlar
el ngulo de apertura de la tapa que se encuentra en la parte superior de un tubo.
- Elegir la ecuacin de control adecuada para obtener la mejor respuesta de la planta,
basndose en toma de datos a la respuesta de la planta en lazo abierto y as lograr que el
control sea autoajustable.
La figura 1 corresponde al diagrama esquemtico del circuito utilizado para la realizacin del
control autoajustable.
Figura 1
Se realiz el montaje de la tapa plstica pegada a la perilla del potencimetro, el cual tiene un
voltaje se 5VDC, que tomamos del Arduino. Seguido est el tubo de un secador por donde sale
el aire generado por el motor, que est conectado a la fuente de 18VDC.
A continuacin se muestran algunas fotografas (Ver figuras 2 y 3) de la planta que se va a
utilizar, donde se describe mejor la disposicin de los elementos utilizados y su funcin.
La tapa plstica es la que utilizamos para medir el caudal de aire, dependiendo del ngulo de
apertura; sta la sacamos de la tapa de una caja plstica 5800.
Para la toma de datos se energiz el circuito y se conect al mdulo de sensor Cassy (USB o
serie) de Cassy Lab. Este mdulo es de vital importancia ya que mediante un protocolo de
comunicacin serial permite obtener los datos exactos en tiempo real. El tiempo de muestreo
es de 10 ms.
A continuacin, est la tabla de los datos obtenidos para la planta sin control y su respectiva
grfica.
Tabla 1, Figura 4
Como los valores obtenidos en CASSY-LAB corresponden al voltaje del potencimetro lineal, y
los datos necesarios son en grados, utilizamos la siguiente ecuacin de conversin.
Donde, 90 corresponde ngulo mximo obtenido (90); 1,92, el voltaje del potencimetro lineal
en este ngulo; voltios, es el voltaje de salida del potencimetro y 1,02 es el voltaje del
potencimetro cuando el ngulo es de 0.
GUIDE es el entorno de programacin que utilizamos para la realizacin del proyecto; este es
un entorno de programacin visual disponible en MATLAB para realizar y ejecutar programas
que necesiten ingreso continuo de datos. Tiene las caractersticas bsicas de todos los
programas visuales como Visual Basic o Visual C++.
La figura a continuacin (ver figura 5), se muestra la interfaz grfica creada en el entorno
GUIDE para la ejecucin del controlador y la descripcin de cada uno de los datos.
Figura 5
Donde 90 es el valor donde de estabilidad de la planta (90), -5S se refiere a L (5) y 17S
corresponde al valor de T (17).
Con los datos obtenidos de la planta en lazo abierto, hallamos L y T para el ajuste del control
PID de Ziegler Nichols.
L = 5 ms
T= 17 ms
Los datos obtenidos a partir de las ecuaciones dadas por el docente, son los
siguientes:
Donde,
Reemplazando, tenemos:
Para que el control sea autoajustable, que es el objetivo principal del proyecto,
necesitamos que , , se ajusten dependiendo de las perturbaciones que se le
apliquen a la tapa; para ello, hacemos el valor de L ms bajo y el valor de T variable
con la siguiente ecuacin:
4. ANALISIS Y RESULTADOS
En el montaje de la planta tuvimos algunas dificultades con la tapa, ya que al inicio sta
no se devolva sola, por ello tuvimos que ponerle una moneda para agregarle algo de
peso; hicimos el ensayo con varias denominaciones ya que el peso es diferente, y la
moneda de $100 de las pequeas fue la que nos dio mejor resultado.
Necesitbamos que el giro de la perilla del potencimetro fuera ms suave, para ello, lo
destapamos y le limpiamos el lubricante interno que tena.
Tuvimos que cambiar 2 veces el potencimetro, ya que, por el peso de la tapa, y por
tanto uso del potencimetro, la perilla se afloj mucho, haciendo que al abrir la tapa,
sta se cayera un poco.
Tuvimos constantes problemas de comunicacin entre el arduino y el computador, no
sabemos la razn, ya que cambiamos el arduino, luego el cable y por ltimo el
computador y seguamos con el mismo problema; en vista de que nada nos correga el
problema, tomamos el programa y lo corrimos en el equipo de uno de nuestros
compaeros de saln, para revisar si el problema estaba en el software y ah corri sin
ningn inconveniente.
Al momento de utilizar la ecuacin de autoajuste en el software de control, el control
nos daba con un error en el software referente al signo de divisin, que no pudimos
corregir.
5. ANEXOS
Declaracin de variables
arduino=serial(COM3,BaudeRate,9600); se
utiliza para que Matlab lea el puerto y la velocidad
donde est conectado el arduino.
error=refe1-Grados se utiliza para calcular el valor del error, que es referencia menos
grados actuales.
Ajuste de Ziegler-Nichols
prop1=proporcional
Es la salida anterior
La frmula corresponde a la ecuacin de Euler 1, la cual fue la que utilizamos para el control.
Todas las sentencias anteriores van escritas dentro del botn de inicio, que est en la figura
del GUIDE.
As como se realiz el programa de control en Matlab, a la placa de arduino tambin lay que
hacerle una pequea programacin, que se utiliza para enviar y recibir datos de Matlab.
La siguiente figura (ver figura 6) muestra el diagrama de flujo del software utilizado, tanto en
arduino, como en Matlab para la realizacin del control autoajustable.
6 CONCLUSIONES