UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD DE INGENIERÍA MECÁNICA
IDENTIFICACIÓN DE
MODELOS Y CONTROL PID
Laboratorio N°3
ALUMNOS:
- SILVA NUÑEZ, Jhino Santos
- DIAZ GAMBINI, Rodrigo A. A.
- PUMA , David Raul
PROFESOR: Ing. RODRÍGUEZ BUSTINZA, Ricardo
CURSO: Control Digital – MT228
SECCIÓN: A
2017-I
OBJETIVO
En el presente informe de laboratorio se tiene por objetivo principal validar las
teorías aprendidas en el curso de Control Digital sobre los temas de identificación
paramétrica de modelos y control PID. Para esto se realizó en el laboratorio una
experiencia donde implementamos un circuito electrónico que nos brinde sistemas
sobre y sub-amortiguados de tal manera que con este sistema podamos obtener
datos que luego nos sirvan posteriormente para identificar el modelado de esa
planta y a partir de este poder realizar su control respectivo. Para este fin se hizo
uso de los softwares Matlab y LabView.
MARCO TEÓRICO
REPRESENTACIÓN DE MODELOS PARAMÉTRICOS
Con el objetivo de identificar el modelo de nuestra planta se hizo uso de los modelos
estructurales ARX y ARMAX. Para entender los modelos con las estructuras ARX y
ARMAX, se hace una explicación de la caja negra que estas conllevan. El sistema
trabaja como una caja negra donde la entrada u(t) es solo para controlar el modelo
del sistema, y ambos entrada u(t) y salida y(t) son identificados y guardados.
Aunque el modelo tenga disturbio por las perturbaciones. También se modela un
error e(t), el cual es mostrado como la diferencia entre la salida del sistema y la
salida del modelo. La expresión matemática de la estructura general del modelo de
una caja negra es una simple relación de entrada y salida como se muestra:
Donde y(t), u(t) y e(t) son la salida, entrada y ruido respectivamente. Todos los A,
B, C , D y F son polinomios.
MODELO ARX
La relación entrada-salida de un modelo ARX es la siguiente:
Los parámetros ajustables serán:
El cual está dado por:
Donde q^-1 es el operador de variación de retorno, por lo que se forma la siguiente
estructura del modelo entrada-salida:
MODELO ARMAX
La diferencia con el modelo ARX es la ausencia de las propiedades del término de
error. Por lo tanto, con la consideración del término de error, el modelo ARMAX es
desarrollado y dado por la siguiente ecuación:
El modelo ARMAX es cómodo en las áreas de control, procesamiento y econometría
tanto para el modelado de sistemas como para el diseño de los esquemas de
control. Los parámetros ajustables en esta estructura son los siguientes:
Dado que:
O también:
CONTROL PID
Controladores Proporcionales-Integrales-Derivativos (PID) son uno de los tipos de
controladores más usados. Ellos tienes numerosas aplicaciones relativas al control
de temperatura, velocidad, posición, etc. Un controlador PID provee una señal de
control que tiene un componente proporcional para rastrear el error del sistema,
otro para calcular la acumulación del error en el tiempo y otro para calcular el
tiempo de cambio de estos cambios del error. Este módulo puede cubrir diferentes
componentes y puede ser aplicado en diferentes tipos de combinaciones para ser
usados como controladores.
Figura 1. Esquema de un sistema realimentado
- CONTROL PID DE UN SISTEMA DE SEGUNDO ORDEN CON CERO
Sea nuestra planta un sistema de segundo orden:
𝐺𝑝 (𝑠) = (𝑏1 ∗ 𝑠 + 𝑏2)/(𝑠 2 + 𝑎1 ∗ 𝑠 + 𝑎2)
Se puede observar que este sistema tiene cuatro parámetros, 2 polos que
pueden ser reales o complejos y 2 ceros, uno finito y el otro infinito. Debido
a que un sistema de segundo orden con cero contiene polos fuera del círculo
unitario en el plazo Z se hace uso de un controlador PID para evitar eso. Este
controlador tiene la siguiente forma:
1
𝐺𝑐 (𝑠) = 𝐾𝑝 + 𝐾𝑖 ∗ + 𝐾𝑑 ∗ 𝑠
𝑠
Sea nuestro sistema de control en lazo cerrado con PID:
𝑌 (𝑠 ) (𝐾𝑝 ∗ 𝑠 + 𝐾𝑖 + 𝐾𝑑 ∗ 𝑠 2 ) ∗ (𝑏1 ∗ 𝑠 + 𝑏2)
=
𝑈(𝑠) 𝑠 ∗ (𝑠 2 + 𝑎1 ∗ 𝑠 + 𝑎2) + (𝐾𝑝 ∗ 𝑠 + 𝐾𝑖 + 𝐾𝑑 ∗ 𝑠 2 ) ∗ (𝑏1 ∗ 𝑠 + 𝑏2)
Entonces tenemos por ecuación característica:
𝑠 ∗ (𝑠 2 + 𝑎1 ∗ 𝑠 + 𝑎2) + (𝐾𝑝 ∗ 𝑠 + 𝐾𝑖 + 𝐾𝑑 ∗ 𝑠 2 ) ∗ (𝑏1 ∗ 𝑠 + 𝑏2) = 0
Dado que es una ecuación característica de tercer orden, se puede escribir
como:
(𝑠 + 𝑎𝑙𝑝ℎ𝑎 ∗ 𝑤𝑜) ∗ (𝑠 2 + 2 ∗ 𝑧𝑒𝑡𝑎 ∗ 𝑤𝑜 ∗ 𝑠 + 𝑤𝑜 2 ) = 0
Dando como resultado:
𝑠 3 + (2 ∗ 𝑧𝑒𝑡𝑎 ∗ 𝑤𝑜)𝑠 2 + (1 + 2 ∗ 𝑎𝑙𝑝ℎ𝑎 ∗ 𝑧𝑒𝑡𝑎)𝑤𝑜 2 ∗ 𝑠 + 𝑎𝑙𝑝ℎ𝑎 ∗ 𝑤𝑜 3 = 0
Entonces, si:
𝑐1 = (2 ∗ 𝑧𝑒𝑡𝑎 ∗ 𝑤𝑜); 𝑐2 = (1 + 2 ∗ 𝑎𝑙𝑝ℎ𝑎 ∗ 𝑧𝑒𝑡𝑎) ∗ 𝑤𝑜 2 ;
𝑐3 = 𝑎𝑙𝑝ℎ𝑎 ∗ 𝑤𝑜 3
Igualando los coeficientes que tengan el mismo valor de potencia s y
resolviendo las ecuaciones:
𝑎1 + 𝐾𝑝 ∗ 𝑏1 + 𝐾𝑑 ∗ 𝑏2 = 𝑐1 + 𝐾𝑑 ∗ 𝑐1 ∗ 𝑏1
𝑎2 + 𝐾𝑖 ∗ 𝑏1 + 𝐾𝑑 ∗ 𝑏2 = 𝑐1 + 𝐾𝑑 ∗ 𝑐2 ∗ 𝑏1
𝐾𝑖 ∗ 𝑏2 = 𝑐1 + 𝐾𝑑 ∗ 𝑐3 ∗ 𝑏1
Reordenando matricialmente:
𝑏1 0 𝑏2 − 𝑏1 ∗ 𝑐1 𝐾𝑝 𝑐1 − 𝑎1
[𝑏2 𝑏1 −𝑏1 ∗ 𝑐2 ] ∗ [ 𝐾𝑖 ] = [𝑐2 − 𝑎2]
0 𝑏2 −𝑏1 ∗ 𝑐3 𝐾𝑑 𝑐3
Para un buen diseño, debemos y tener en cuenta la fijación del factor de
amortiguamiento de preferencia valores en el rango [0.6 — 0.7].
Otro parámetro es la constante de sintonía α, que puede ser puesto en el rango <
0—1>
El valor que se ponga a la frecuencia natural w0 va a depender de cuan rápido o lento
es el proceso, esto debe verse en pruebas en lazo abierto así mismo el
comportamiento que tiene (sobreamortiguado, subamortiguado). Por ejemplo
respuestas rápidas van a requerir que la frecuencia se vea incrementada, digamos
valores por encima de 100 rad/seg ya que el tiempo de establecimiento es mucho
menor a 1segundo.
ESQUEMA DEL EXPERIMENTO
Para realizar nuestro experimento se hizo uso del siguiente circuito electrónico:
Figura 2. Esquema del circuito implementado en el laboratorio
Donde:
𝑅1 = 𝑅2 = 𝑅3 = 10 𝐾 Ω
𝐶2 = 220 𝑛𝐹
𝐶1 = 10 𝑛𝐹 (𝑐𝑎𝑠𝑜 𝑆𝑜𝑏𝑟𝑒𝑎𝑚𝑜𝑟𝑡𝑖𝑔𝑢𝑎𝑑𝑜) o 𝐶1 = 2200 𝑛𝐹 (𝑐𝑎𝑠𝑜 𝑆𝑢𝑏𝑎𝑚𝑜𝑟𝑡𝑖𝑔𝑢𝑎𝑑𝑜)
IDENTIFICACIÓN DE LOS SISTEMAS
Como se puede constatar de nuestra primera parte de la experiencia logramos
obtener funciones de transferencia a través de los métodos ARX Y ARMAX que
lograron representar el modelo teórico de nuestra planta
En el CASO SOBREAMORTIGUADO: Modelo con señal de estímulo STEP desfasado
9.23443
𝐺12 (𝑠) =
𝑠 + 9.30178
Con ARX [1,1,1], Y fs=100Hz
Para este modelo, ploteamos los polos y ceros del modelo discretizado, asi como el
root locus con el siguiente script de Matlab:
num=[9.23443];
den=[1 9.30178];
fs=100;
T=1/fs;
Gd=tf(num,den,T);
Gd=zpk(Gd)
ceros=tzero(Gd)
polos=pole(Gd)
figure
hold on
rlocus(Gd)
%sgrid
plot(real(polos),imag(polos),'rx');
plot(real(ceros),imag(ceros),'bo');
axis square
title('Polos y Ceros para caso Sobreamortiguado STEP')
Como resultado tenemos la siguiente gráfica
Figura 3. Polos, ceros y lugar de las raíces del sistema obtenido para el caso
sobreamortiguado con señal de estímulo STEP desfasado
Como podemos notar de la gráfica, el root locus siempre permanece por fuera del
circulo unitario lo que nos dice que el sistema no es controlable por medio de un
controlador proporcional, lo cual justifica nuestra decisión de usar un controlador
PD para el caso sobreamortiguado.
Si realizamos el análisis de correlación tenemos la siguiente gráfica:
Figura 4. Análisis de correlación para el caso sobreamortiguado
La figura 4 nos muestra la función de correlación de los residuos, en este caso para
el modelo ARX, para que podamos validar el modelo y confirmemos el buen
desempeño, esta función al final debería ser ruido blanco, de nuestra gráfica
podemos notar que se aproxima bastante bien, mientras que la función de
correlación cruzada también sus picos están entre 0.05 y 0.02, que son valores
válidos, por lo que podemos validar nuestro modelo ARX, para poder trabajar como
modelo de la planta subamortiguada.
En el CASO SUBMORTIGUADO: Modelo con señal de estímulo STEP desfasado
−4.576𝑠 + 9076
𝐺12 (𝑠) =
𝑠2+ 46.07𝑠 + 89.67
Con ARMAX [2,1,1,1], Y fs=1000Hz.
Para este modelo, ploteamos los polos y ceros del modelo discretizado, asi como el
root locus con el siguiente script de Matlab:
num2=[-4.576 9076];
den2=[1 46.07 8967];
fs2=1000;
T2=1/fs2;
Gd2=tf(num2,den2,T2);
ceros2=tzero(Gd2);
polos2=pole(Gd2);
figure
hold on
rlocus(Gd2)
plot(real(polos2),imag(polos2),'rx');
plot(real(ceros2),imag(ceros2),'bo');
title('Polos y Ceros para caso Subamortiguado STEP')
Obtenemos la siguiente gráfica
Figura 5. Polos, ceros y lugar de las raíces del sistema obtenido para el caso
subamortiguado con señal de estímulo STEP desfasado
Vemos que de la misma manera para este caso, en el root locus niguno de los polos
llega a estar dentro del circulo unitario, de esta manera una vez más justificamos,
ahora en este caso para el caso subamortiguado el requerimiento de un controlador
PID para lograr la estabilidad del sistema.
Si realizamos el análisis de correlación tenemos la siguiente gráfica:
Figura 6. Análisis de correlación para el caso subamortiguado
La figura 6 nos muestra la función de correlación de los residuos, en este caso para
el modelo ARMAX, para que podamos validar el modelo y confirmemos el buen
desempeño, esta función al final debería ser ruido blanco y de poca amplitud(0.1)
comparado con nuestro modelo ARX sobreamortiguado(0.2), de nuestra gráfica
podemos notar que se aproxima bastante bien, mientras que la función de
correlación cruzada también sus picos están entre 0.0038 y 0.002, que son valores
válidos y bastante sólidos que nos muestra en mimetismo de parte del modelo con
la data muestreada, por lo que podemos validar nuestro modelo ARMAX, para poder
trabajar como modelo de la planta subamortiguada.
DISEÑO DEL CONTROLADOR
CASO SUBAMORTIGUADO: Modelo con señal de estímulo STEP desfasado
Para el diseño del controlador PID por el método de ubicación de polos se utilizó la
siguiente función de Matlab, la cual fue derivada a partir de las ecuaciones expuestas
en el marco teórico.
function [Kp,Ki,Kd]=PID2(Gp,vd)
z=vd(1);%factor de amortiguamiento
wn=vd(2);
alpha=vd(3);
[num,den]=tfdata(Gp,'v');
c1=(2*z+alpha)*wn;
c2=(1+2*alpha*z)*wn^2;
c3=alpha*(wn)^3;
a1=den(2);
a2=den(3);
b1=num(2);
b2=num(3);
A=[b1 0 b2-(b1*c1);b2 b1 -b1*c2; 0 b2 -b1*c3];
B=[c1-a1;c2-a2;c3];
C=(A^-1)*B;
Kp=C(1);
Ki=C(2);
Kd=C(3);
end
Como podemos observar, para obtener las constantes proporcional, integral y
derivativa del controlador PID, se necesita un vector de parámetros de deseados,
formado por el factor de amortiguamiento, la frecuencia natural y un parámetro de
sintonización alfa.
Luego de variar estos parámetros a fin de verificar con qué valores se lograba un
buen control, se optó por utilizar el siguiente vector deseado:
vd=[0.67,65,0.5];
Los parámetros aquí mostrados se eligieron según las consideraciones de diseño
indicadas en el marco teórico
Sin embargo, una vez hecho esto obtenemos la ecuación del controlador en su forma
continua, mas no en su forma discreta, por lo cual realizamos un rediseño por Tustin,
como se puede observar en el siguiente código:
% Rediseño por Tustin
Gdt = subs(Gdt,{'s'},(2*(z-1))/(T*(z+1)));
Gdt = simplify(Gdt);
Gdt = vpa(Gdt,4);
[NDt,DDt] = numden(Gdt);
NDt = sym2poly(NDt);
DDt = sym2poly(DDt);
Una vez que obtenemos el controlador en z ya es posible utilizarlo para controlar
nuestra planta. El controlador utilizado es el siguiente:
Figura 5. Función de transferencia del controlador rediseñado por Tustin
Por otra parte, la planta tiene la siguiente función de transferencia:
Figura 6. Función de transferencia de la planta experimental obtenida.
Esta función de transferencia es la que se adquirió en el laboratorio como se puede
observar en el anexo 1.
En la siguiente imagen se puede observar un VI de Labview con el que se puede
simular la respuesta de nuestra planta una vez utilizado el controlador. Este
controlador será del tipo PID y rediseñado para el caso discreto por Tustin. Los
coeficientes tanto del numerador como del denominador de nuestro controlador
discreto fueron exportados de Matlab (donde ser diseñó el controlador a fin de que
cumpla con ciertos requisitos de diseño)
Figura 7. VI de Labview para simular el efecto del controlador en la planta
Es importante mencionar que la resolución del cuantizador es de 20/2^15, dado que
estamos usando la DAC-6002.
RESULTADOS
Figura 8. Resultados de la simulación
Como podemos ver el sistema logra seguir la referencia cumpliendo los requisitos
de diseños.
De esta manera comprobamos el correcto funcionamiento de nuestro controlador
discreto para luego implementarlo en la planta real. Para ello utilizamos el siguiente
VI:
Figura 9. Programa de Labview para probar el controlador en la planta real
Cuando implementamos el controlador en la planta real observamos que este
también trabajó de la manera deseada. En la carpeta de videos que se adjunta en el
CD podrá observar el funcionamiento tanto de la simulación como del sistema real al
variar la referencia.
NOTA:
Durante la experiencia también se probó un controlador para los modelos obtenidos
en el caso sobreamortiguado. Dado que el modelo estimado era de primer orden, se
optó por utilizar un control PI en vez de un PID, dado que se puede prescindir de
término derivativo para este tipo de sistemas.
El diseño de este controlador PI se realizó utilizando el método de ubicación de
polos. En el CD se adjuntan tanto el código en Matlab como un VI de Labview para
simular el sistema controlado. Asimismo, se muestran videos de las plantas
controladas funcionando en el laboratorio.
CASO SOBREAMORTIGUADO: Modelo con señal de estímulo STEP desfasado
Figura 10. Resultados al probar un controlador PI en la planta sobreamortiguada
obtenida con una señal de estímulo STEP desfasado
CASO SOBREAMORTIGUADO: Modelo con señal de estímulo SENO
Figura 11. Resultados al probar un controlador PI en la planta sobreamortiguada
obtenida con una señal de estímulo SENO
CONCLUSIONES
En la presente experiencia se logró estimar el modelo de la planta a
partir de datos experimentales tales como la entrada y salida del
sistema.
Se logró diseñar un controlador PID que cumple con los requisitos de
diseño indicados por el vector de parámetros.
Se logró verificar el correcto funcionamiento del controlador diseñado
por medio de simulaciones tal y como se puede apreciar en los videos
adjuntados en el CD.
Se logró implementar el controlador en una planta real y lograr que la
respuesta del sistema sea estable y siga a una referencia, tal y como se
puede apreciar en los videos adjuntados en el CD.
REFERENCIAS
1. M. Saifizi, M. Z. Ab Muin, Sazali Yacob, M.S. Mohamad. COMPARISON OF
ARX AND ARMAX MODEL FOR THERMOELECTRIC REFRIGERATOR (2013)
2. Matlab. Control System Toolbox
3. Labview. System Identificaton Toolkit User Manual
4. R. Rodriguez. Técnicas de Control PID ,Control Digital
5. [Link]
eDocument_12/PID%[Link]
6. Philips Nagle. Digital Control System – 5th. edition
Anexo 1: Hoja de Resultados de la identificación de sistemas