Upload
german-mauricio-neira-vargas
View
5
Download
0
Embed Size (px)
Citation preview
CONTROL MULTIVARIABLE
PARTE III:
CONTROL COLUMNA DESTILACION
Semestre B - 2014
1
Ing. Luis Alfonso Muñoz Hernández MSc.
2
1. SISTEMA EN ESPACIO DE ESTADO
c
a
a
c
aa
q
q
V
T
C
V
C
y
y
q
q
V
T
C
V
T
C
x
x
x
00
00
100
001
01
8775.08854.0
0009.0
5.000
7999.13245.76.1799
009.0046787.09979.9
2
1
.
.
..
.
.
3
2
1
Estados: Ca(t), T(t), V(t)
Salidas: Ca(t) y V(t)
Entradas: q(t) y qc(t)
sys=ss(A,B,C,D) step(sys)
3
Transfer function from input 1 to output...
0.009 s^2 - 0.029 s - 0.03052
#1: --------------------------------
s^3 + 3.173 s^2 + 12.3 s + 5.482
1
#2: -------
s + 0.5
Transfer function from input 2 to output...
0.04106
#1: ---------------------
s^2 + 2.673 s + 10.96
#2: 0
30
30
223
2
1
1
5.0
196.10673.2
04106.0
482.53.12173.3
03052.0029.0009.0
)(
s
sssss
ss
sG
u1
y2
y1
u2
Gi,j = F.T. de la entrada J a la
salida i
2. MATRIZ DE FUNCIONES DE TRANSFERENCIA
G=tf(sys) step(G)
4
3. Diseño de un controlador Multivariable
LQR
En nuestro ejemplo se pide controlar dos variables (Concentración y Volumen)
con cero error en estado estacionario. Esta tarea exige que si queremos
construir un controlador por realimentación de estados debamos extender el
sistema de modo que incluya un par de integradores sobre las variables que
deseamos controlar con cero error de estado estacionario. El sistema extendido
tendrá la siguiente presentación:
donde el vector e representa
la integral del error de
seguimiento, definido como:
5
de la siguiente forma:
Observe que todos los estados y las entradas tienen la misma penalización.
Usando esta nueva representación podremos calcular un controlador
LQR si definimos las matrices de la función de costo:
Sobre la diagonal de Q se tiene: Ca, T, V, eCa y eV, o sea, 5 variables, por eso la matriz q es de tamaño 5x5.
6
KS =[153.0921 0.8615 0.9204 ;
-116.9228 -0.8703 -0.1422]
K =[153.0921 0.8615 0.9204 0.4844 -0.8748;
-116.9228 -0.8703 -0.1422 -0.8748 -0.4844]
KI =[0.4844 -0.8748;
-0.8748 -0.4844]
Obteniéndose una matriz de realimentación de estado
con los siguientes valores:
Las tres primeras columnas corresponden a la realimentación de los 3
estados "naturales" del sistema (Concentración, Temperatura y Volumen)
(matriz Ks) los dos columnas restantes corresponden a la realimentación de
las integrales de los errores de seguimiento (matriz KI).
Correr Param_CSTR.m
Correr CSTRLQRLin.mdl
7
Figura 1.
Para correr los Modelos:
Param_CSTR
CSTRLQRLin
set_param(gcs, 'SaveOutput', 'on')
set_param(gcs, 'SaveFormat',
'StructureWithTime')
sim(gcs)
simplot(LQRLin) % Abra el Floating Scope y coloque
en
%parameters/data history/Variable
Name
whitebg Con estas instrucciones traemos la grafica del
Floating Scope a Matlab
8
Es conveniente realizar la sintonía del controlador usando el
modelo lineal, una vez ajustado se puede montar el controlador
sobre el modelo no-lineal. La Figura 1 muestra el diagrama de
Simulink (CSTRLQRLin.mdl) utilizado para probar el sistema. El
resultado generado por este primer controlador (Figura 2) no
satisface los requerimientos exigidos por las condiciones del
problema.
Figura 2. Salidas del sistema lineal en Espacio de Estado
Con LQR (Q=diag([1 1 1 1 1]) R=diag([1 1]))
CSTRLQRLin
set_param(gcs, 'SaveOutput', 'on')
set_param(gcs,'SaveFormat',
'StructureWithTime')
sim(gcs)
simplot(LQRLin)
% Abra el Floating Scope y coloque en
%parameters/data history/Variable Name
whitebg
%%%% Para colocar títulos
subplot(4,1,1)
title('Concentracion Ca')
ylabel('Ca')
subplot(4,1,2)
title('Volumen V')
ylabel('V')
subplot(4,1,3)
title('Flujos q,qc')
ylabel('q/qc')
subplot(4,1,4)
title('Temperatura T')
ylabel('T')
xlabel('Tiempo (minutos)')
Legend(‘ Concentracion muy
LENTA!!!‘)
9
De la figura 2 es claro que la respuesta de la concentración es particularmente
lenta; de otro lado, el control de volumen llena las expectativas que se requieren
en el sistema. Intuitivamente podemos tomar dos acciones: una, penalizando la
desviación de la concentración (Ca), otra, penalizar la integral del error de
concentración eCa. La idea es incrementar esta penalización, mientras
mantenemos los valores de los flujos dentro de los límites permitidos por el
sistema. Las siguientes gráficas muestran el efecto del cambio en la
penalización de la integral del error de concentración, poniéndolo en 50000.
1e5
Obteniéndose el resultado que
se observa en la Figura 3.
11
K =[154.9491 0.9060 1.0117 0.6745 -1.0000;
1.5785 -0.0029 -0.0016 -316.2270 -0.0021]
Ks =[154.9491 0.9060 1.0117;
1.5785 -0.0029 -0.0016]
Ki =[ 0.6745 -1.0000;
-316.2270 -0.0021]
el sistema cumple con las especificaciones de control deseadas. Generando
unas matrices de realimentación de la forma:
Finalmente verificaremos el funcionamiento del sistema conectando las
matrices de realimentación al sistema lineal original de acuerdo con el
diagrama mostrado en la Figura 4 (CSTRLQR.mdl)
12
El desempeño del sistema es bastante similar al
observado con el sistema lineal como lo
muestra la Figura 5. Observe que el controlador
realiza automáticamente la labor de
desacoplamiento reduciendo el impacto
producido por los cambios en la referencia
de variables distintas.
14
4. Diseño de un Observador Optimo
(Filtro de KALMAN)
Para construir este observador asumimos que el ruido de medición de las
salidas es:
y el "ruido en los estados"
Si asumimos dichos ruidos como no correlacionados, tendremos unas
matrices de covarianza de la siguiente forma:
15
La ganancia del observador se puede calcular, resolviendo la ecuación de
Riccati o bien usando directamente la función kalman incluida en el toolbox de
control de Matlab. Para utilizar la función kalman es necesario entregar a la
rutina un sistema dinámico con la siguiente descripción:
el prototipo de la función es:
Ya que el ruido w(t) se asume entrando a cada estado de manera individual, se
puede decir que:
16
donde KEST es un sistema dinámico con el observador
ya construido, L es la ganancia del observador y P la
solución de la ecuación de Riccati. SYS es el sistema
descrito por las matrices de la fórmula
(SYS=SS(AK,BK,CK,DK)), QN es Rw y RN es Rv .
Resolviendo obtenemos la matriz L que gobernará la
dinámica del observador. En la Figura 6 se puede
observar la conexión del observador de estado. Es
importante resaltar que a la señal de salida se le ha
adicionado un ruido de medición con varianza igual a la
diagonal de Rv. El diagrama está en el archivo
CSTRKALMAN.mdl. En la Figura 7 se puede observar el
diagrama interno de la implementación del observador.
18
State of Linearization= Xo = [Caa Ta v]
Input of Linearization= Uo = [q qc]
Output of Linearization= Yo = [Caa v]
El desempeño del observador se puede
apreciar en la figura 10 donde se compara
el estado original con el estado estimado.
Observe que a pesar de lo ruidosa de la
señal de salida con el ruido de medición el
sistema es capaz de hacer una estimación
bastante "limpia" de los estados.
22
5. Diseño de un Controlador Cuadrático
Gausiano (LQG)
En esta fase no nos resta sino cerrar el lazo de control de
manera que conectemos el controlador LQR al observador. La
conexión se puede hacer de dos maneras:
1. FORMA 1: conectar las salidas observadas (ye) del
observador de estado a la entrada (y) del LQR
(CSTRLQG1.mdl). Ver Figura 11.
2. FORMA 2: conectar las salidas reales (y) del Modelo del
CSTR, directamente a la entrada (y) del LQR. (CSTRLQG2.mdl).
Ver Figura 13.
El desempeño de ambas opciones es diferente como se muestra
en las figuras 12 y 14.
24
Figura 12. Salidas del LQG1 (Forma 1 de conectar)
Desempeño del sistema con controlador LQG y realimentación
de la salida estimada
26
Figura 14. Salidas del LQG2 (Forma 2 de conectar)
Desempeño del sistema con controlador LQG y realimentación
de la salida medida
27
6. EJERCICIO DE EXAMEN
COLUMNA DE DESTILACION
En este ejercicio utilizaremos una columna de destilación para separación de crudo
pesado. La columna es alimentada por el plato inferior y genera tres fracciones.
Nuestro interés se centra en la composición del destilado xD y la composición del
fondo xB.
Consideramos como variables controladas:
y1: Concentración del compuesto retirado en la cabeza de la columna (Destilado
xD).
y2: Concentración del compuesto retirado en la parte baja de la columna xB.
Las variables manipuladas son:
u1: Flujo del compuesto de la cabeza de la columna Fr.
u2: Flujo del compuesto bajo o vapor Fv.
28
AT
LC
LC
AT
DL
B
V
• Dos entradas:
Setpoints para el controlador de flujo en el vapor Fv (abajo) y en el reflujo Fr (arriba)
• Dos salidas:
Composición de los productos xB y xD (es el que genera la utilidad)
6. EJERCICIO DE EXAMEN
COLUMNA DE DESTILACION (Cont…)
29
• El flujo de reflujo Fr se ajusta/manipula con el PID para mantener la composición de xD en su setpoint.
• El flujo de vapor Fv se
ajusta/manipula con
el PID para
mantener la
composición de xB en su setpoint. .
AT
LC
LC
AT
D
y
L
B
x
V
F
z
PT
AC
AC
6. EJERCICIO DE EXAMEN
COLUMNA DE DESTILACION (Cont…)
30
2.2 Para la columna de destilación presentada, calcule los controladores PI para
los dos lazos y analice las respuestas del sistema. (implemente el modelo en
Simulink). Haga las simulaciones abriendo y cerrando los respectivos lazos.
Diseñe una red de desacople estática evaluada a la frecuencia 1/50 rad/s
4.3 Diseñe un sistema de realimentación de estado optimo (LQR). Calcule Q y R
de forma que el sistema de la columna de destilación cumpla con las
especificaciones de control: tiempo de establecimiento de 250 s y un
amortiguamiento razonable del 10%.
4. 4 Construya observadores óptimos que estimen los estados de la Columna
de destilación. Defina de antemano las varianzas de los ruidos. Aplique los
ruidos de medición y estados y simule (Kalman y LQG).
6. EJERCICIO DE EXAMEN
COLUMNA DE DESTILACION (Cont…)