31
CONTROL MULTIVARIABLE PARTE III: CONTROL COLUMNA DESTILACION Semestre B - 2014 1 Ing. Luis Alfonso Muñoz Hernández MSc.

MIMO UNAB 2014 Parte III Alfonso Munoz

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.

10

Figura 3. Salidas después de penalizar eCa a 50000

En el sistema lineal en Espacio de Estados

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.

13

Figura 5. Respuesta del sistema NO-LINEAL

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.

17

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.

19

Figura 8. Respuesta del sistema CON LQR Y

FILTRO DE KALMAN

20

Figura 9. Respuestas con ruido del sistema CON LQR Y

FILTRO DE KALMAN

21

Figura 10. Estados estimados versus estados reales

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.

23

24

Figura 12. Salidas del LQG1 (Forma 1 de conectar)

Desempeño del sistema con controlador LQG y realimentación

de la salida estimada

25

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…)

31

94.0

)2(1

)3.0(4.01

1StateSteady

1100

0.2)(

110

4.0)(

110

3.0)(

1100

0.1)(

2221

1211

RGA

ssG

ssG

ssG

ssG

MATRIZ DE FUNCIONES DE TRANSFERENCIA

Ejercicio a resolverse en la clase de Marzo 15/16 de 2012 en la UNAB.