Вы находитесь на странице: 1из 19

Grupo Estudiantil NeuroControl

Facilitadores del curso:

Daniel Bernal dabernalhe@unal.edu.co


Jean Alvarado jmalvaradoa@unal.edu.co
Juan Espinosa jdmontoyae@unal.edu.co
Juan Sereno jeserenom@unal.edu.co
Paulina Arregoces parregocesg@unal.edu.co
Omendey Sanchez omjsanchezal@unal.edu.co

Taller:
Matlab
Control de
Procesos Qumicos
Indice general

1. Clase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Nociones basicas de Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Modelamiento dinamico de un CSTR . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Simulacion de sistemas no lineales en MATLAB & Simulink . . . . 6
2. Clase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Linealizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Simulacion de linealizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Clase 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1. Realimentacion de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4. Clase 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Matlab Control de Procesos Qumicos 3

1. Clase 1

1.1. Nociones basicas de Control

Figura 1. Diagrama de bloques estandar en un sistema de control.

Que es controlar ? Basicamente es lograr manejar a gusto la dinamica de


ciertas variables en un sistema, por medio de la manipulacion libre de otras
variables a las que tenemos acceso fsico directo y que podemos variar a nuestro
antojo dentro de su dominio.
Para cumplir satisfactoriamente con el control de un sistema, este se debe:

Modelar
Instrumentar
Controlar

Variables importantes en un sistema de control

Estado (X): Variables dentro del sistema que, al conocerse su valor en un


instante de tiempo, permiten determinarlo completamente. Son estas varia-
bles las que contienen toda la informacion relevante del sistema como tal,
y no son manipulables directamente sino que responden a la dinamica del
mismo.
entradas (U): Variables que influyen en la dinamica del sistema sin llegar
a determinarlo y que podemos manipular directamente con libertad dentro
de su dominio.
4 Matlab Control de Procesos Qumicos

Perturbaciones (D): Son variables que aun influyendo en la dinamica del


sistema (analogas a las entradas), no podemos manipular ni medir; por lo
general son parametros dentro del modelo del sistema, y estan fuera del
dominio de accion del controlador.
Salidas (Y): Son las variables medidas del sistema. En general, son funcion
de los estados y las entradas (en su caso mas comun solo de los estados).

1.2. Modelamiento dinamico de un CSTR


La planta utilizada en este caso es un reactor tanque agitado (CSTR - Continuous
Stirred Tank Reactor). La reaccion qumica que tiene lugar en el reactor convierte
de manera irreversible el componente A en un componente B, A B. Esta
reaccion es irreversible y tiene lugar en un tanque cilndrico agitado con una
capacidad total de Vmax = 120 l. El tanque es cilndrico con una seccion de
A = 0,2 m2 .

Figura 2. Tanque reactor continuamente agitado

El reactante entra al sistema con un flujo q(t), a una temperatura Tin = 350 K
y una concentracion de producto A Cain = 1 mol/l. El reactor tiene un volu-
men instantaneo V (t), una temperatura T (t) y una concentracion de producto
A Ca(t). El fluido deja el reactor con un caudal q0 (t) y una concentracion y
una temperatura igual a las que existen en el reactor. Ya que la reaccion es
exotermica el sistema requiere refrigeracion para controlar la reaccion. Un ser-
pentn de refrigeracion con agua a Tcin = 350 K y con caudal qc (t) es utilizado
para controlar la temperatura del reactor. El sistema se puede describir usando
las siguientes ecuaciones:

dCa (t) q(t) E


= (Cain Ca (t)) k0 Ca (t)e RT (t) (1)
dt v(t)
Matlab Control de Procesos Qumicos 5

dT (t) q(t) E qc (t) k3


= (Tin T (t))+k1 Ca (t)e RT (t) +k2 (1e qc (t) )(Tcin T (t)) (2)
dt v(t) v(t)

dV (t) p
= q(t) k4 V (t) (3)
dt
Los valores de las constantes estan dados por:

Hk0
k1 = (4)
Cp
c Cpc
k2 = (5)
Cp
ha
k3 = . (6)
c Cpc
Los parametros del sistema estan definidos por:

Cuadro 1. Parametros del modelo

Parametro Descripcion Valor Nominal


k0 Constante de velocidad 7,2 x 1010 min1
de reaccion

k4 Constante de la valvula 10 l/(min m3/2 )


de salida del tanque

E/R energa de activacion 1x104 K

Tin Temperatura del flujo 350 K


reactante

Tcin Temperatura del 350 K


liquido refrigerante

H Calor de la reaccion 7,2x101 0 min1

Cp , Cpc Calores especficos 1 cal/g/K

, c Densidad de 1x103 g/l


los lquidos

ha Coeficiente de 7x105 cal/min/K


transferencia de calor

Cai n Concentracion del 1 mol/l


producto A en la
alimentacion del reactor
6 Matlab Control de Procesos Qumicos

1.3. Simulacion de sistemas no lineales en MATLAB & Simulink

Seccion practica.

Figura 3. Diagrama de Simulink 1

Figura 4. Diagrama de Simulink 2


Matlab Control de Procesos Qumicos 7

2. Clase 2

2.1. Linealizacion

Sistemas no lineales. Un sistema es no lineal si no se aplica el principio de


superposicion. Por tanto, para un sistema no lineal la respuesta a dos entra-
das no puede calcularse tratando cada entrada a la vez y sumando los resultados.

Linealizacion de sistemas no lineales. En la ingeniera de control, una


operacion normal del sistema puede ocurrir alrededor de un punto de equilibrio,
y las senales pueden considerarse senales pequenas alrededor del equilibrio.
Sin embargo, si el sistema opera alrededor de un punto de equilibrio y si las
senales involucradas son pequenas, es posible aproximar el sistema no lineal
mediante un sistema lineal. Este sistema lineal es equivalente al sistema no
lineal, considerado dentro de un rango de operacion limitado. Tal modelo
linealizado (lineal e invariante con el tiempo) es muy importante en la ingeniera
de control.

El procedimiento de linealizacion que se presenta aqu se basa en el desarrollo


de la funcion no lineal en series de Taylor alrededor del punto de operacion y la
retencion solo del termino lineal. Debido a que no se consideran los terminos de
orden superior del desarrollo en serie de Taylor, estos terminos no considerados
deben ser suficientemente pequenos; es decir, las variables solo se desvan
ligeramente de la condicion de operacion. (De otro modo, el resultado sera
inexacto.)

Sea el modelo no lineal:

x(t) = f (x(t), u(t)), x(0) = x0 (7)


y(t) = g(x(t), u(t))

Donde u(t) es el vector de entradas, x(t) es el vector de estados y y(t) el vector


de salidas. f y g son las ecuaciones diferenciales no lineales que relacionan los
estados y las salidas con respecto a los estados y las entradas.

Para hallar punto de operacion hacemos las dinamicas iguales a cero x(t) = 0 y
despejamos las variables de estado, de donde obtenemos un punto de equilibrio
de la forma:

{u0 , x0 , y0 } (8)

Que satisface que f (x0 , u0 ) = 0. Para linealizar definimos las siguientes variables
incrementales (), como pequenos cambios alrededor del punto de operacion:
8 Matlab Control de Procesos Qumicos

u = u u0 (9)
x = x x0 (10)
y = y y0 (11)

Por lo cual la linealizacion del modelo puede expresarse de la forma:

x(t) = Ax(t) + Bu(t), x(0) = x0 (12)


y(t) = Cx(t) + Du(t)

Donde las matrices A, B, C y D se obtienen como:


f f
A= B= (13)
x x0 ,u0 u x0 ,u0

g g
C= D=
x x0 ,u0 u x0 ,u0

2.2. Simulacion de linealizacion

Seccion practica.

Figura 5. Codigo principal


Matlab Control de Procesos Qumicos 9

Figura 6. Codigo para linealizar


10 Matlab Control de Procesos Qumicos

Figura 7. Diagrama en Simulink del modelo no lineal y el linealizado


Matlab Control de Procesos Qumicos 11

3. Clase 3
En la clase de hoy veremos dos formas fundamentales del control, la regulacion y
el seguimiento de referencias, que en este caso se dara explicacion a traves de la
realimentacion de estados, pero sin olvidar que historicamente nacio primero el
interes por regular a partir de la premisa de llevar y/o mantener mi planta en
un punto de operacion determinado antes diferentes estados iniciales o perturba-
ciones. Tiempo despues surgio la siguiente premisa Deseo llevar mi sistema a
una referencia determinada de donde se empiezan a plantear los controladores
para seguimiento de referencias.

3.1. Realimentacion de estados


Regulacion: Sea un sistema dinamico:

x(t) = Ax(t) + Bu(t), x(0) = x0 (14)

y una ley de control dada por:

u = Kx + V (15)
Dicha ley de control se conoce como realimentacion de estados. El termino Kx
se define como accion proporcional y V contiene otros posibles tipos de accio-
nes. Para regulacion se suele hacer V = 0; para seguimiento de referencias se
suele reemplazar V por una accion integral. La realimentacion de estados sirve
para cambiar la dinamica de la planta. Para que funcione, el sistema debe ser
controlable.
As, al aplicar la realimentacion de estados para regulacion al sistema original,
este queda dado por:

x(t) = (A BK)x(t) + Bv(t), x(0) = x0 (16)

Propiedades:

Lleva el sistema a cero.


Muy usado para rechazo de perturbaciones no permanentes.
Muy util para iniciar el sistema en cualquier condicion inicial.

En general, la tecnica de realimentacion del estado consiste basicamente en hallar


el valor de K. sin allanar mucho en la teora el problema detras de la realimenta-
cion de estados es llamado Pole-Placement o ubicacion de polos en espanol, en
el fondo lo que se hace es re-ubicar los polos del sistema dinamico para que estos
sean estables y ademas de ello cumpla con las caractersticas deseadas. Matlab
12 Matlab Control de Procesos Qumicos

cuenta con dos comandos para realizar este procesos los cuales son place y acker,
la diferencia entre ambos comando es que el primero es para sistemas MIMO
y el segundo es para SISO, en ambos se requiere saber las matrices A, B y los
polos deseados.

Figura 8. Realimentacion de estados

Seguimiento de referencias:
LQR: El objetivo de este controlador es mantener las variables de un proceso
en su valor de estado estacionario de forma optima o garantizando el menor
consumo de energa posible de tal forma que el objetivo de control se cumpla de
manera satisfactoria segun sean los requerimientos. El diseno del controlador se
transforma en un problema de optimizacion dinamica; donde se busca minimizar
una funcion objetivo (tambien llamada funcion de costo) generalmente de la
forma:
Z tf
J(x, u) = [xT Qx + uT Ru] dt (17)
t0

Bajo la restriccion del sistema dinamico (14), Entonces el objetivo es hallar una
accion de control u(t) talque la funcion de costo 17 sea mnima. Este problema
es posible resolverlo mediante el uso de diferentes tecnicas matematicas entre
las cuales se puede encontrar: Calculo de variaciones, uso de las ecuaciones de
Hamilton Jacobi, Programacion Dinamica, entre otras.
No nos centraremos en el metodo de solucion del problema de optimizacion como
tal, ya que es una tarea ardua y requiere de un desarrollo matematico extenso;
pero es posible demostrar que una accion de control u(t) que soluciona dicho
problema es de la forma:

u = kx Donde k = R1 B T P (18)
Matlab Control de Procesos Qumicos 13

Donde P es la solucion de la ecuacion de ricatti, la matriz K se puede hallar


en Matlab con el comando lqr de la siguiente forma K = lqr(SY S, Q, R). Todo
se resume entonces en hallar la matriz de ganancias K, la cual establecera la
dinamica del controlador segun sean las elecciones de las matrices Q y R, que
estan definidas como:

Q: Matriz de penalizacion de las variables de estado del proceso; es de dimensio-


nes Qnxn y normalmente diagonal, en ella se indican los pesos que tendra cada
estado en la optimizacion, si la matriz Q es grande restringe en gran medida la
dinamica de los estados frente a la accion de control. Si la matriz Q es pequena
las dinamicas de los estados quedan libres en cierta medida.
R: Matriz de penalizacion entradas del proceso (acciones de control); de
dimensiones Ruxu y normalmente diagonal, en esta matriz se indican los pesos
que tendran las entradas en la optimizacion, si los pesos de la matriz R son
pequenos se da libertad a la optimizacion de aplicar acciones de control grandes
y rapidas (se pueden producir oscilaciones dependiendo del proceso). Si la
matriz R es grande se penalizara mayormente el control, con lo cual se restringe
el uso del mismo para que sea de menores valores y pequenos cambios.

La eleccion de las matrices Q y R depende entonces del objetivo de control y


queda a total criterio del disenador.
Ahora, el controlador LQR visto anteriormente solo esta en la capacidad de
mantener las variables de estado del proceso en su valor de estado estacionario
y de rechazar posibles perturbaciones en estos. Pero es claro que en ocasiones
no basta con mantener un proceso en su estado estacionario, en lugar de ello, en
muchas ocasiones es necesario un control mas detallado de ciertas variables de
tal forma que sea posible indicar un valor deseado y que la variable en cuestion
sea capaz de alcanzar dicho valor.
Para lograr esto, se plantea entonces un Controlador LQR de tal forma que sea
posible establecer valores de referencia para los estados y que el controlador
mediante una accion de control determinada logre cumplir con dicho objetivo.
Esto es posible lograrlo si definimos la integral del error como una variable de
estado adicional del sistema. e = yref y por lo cual la representacion del estado
queda como:
        
x(t) A 0 x(t) B   0
= + u(t) + y
e(t) C 0 e(t) D I ref

Con este modelo el cual incluye la dinamica del error de salida como variable
de estado se puede calcular un control LQR de igual forma al mostrado ante-
riormente con el comando lqr de Matlab, obteniendo entonces una accion de
control:
 
  x 
u = K x = Kp Ki = kp x ki e (19)
e
14 Matlab Control de Procesos Qumicos

Las constantes K halladas de esta forma establecen un controlador PI donde


la constante Kp es la accion proporcional del controlador y la constante Ki la
accion integral. Un esquema del sistema de control es el siguiente:

Figura 9. Realimentacion de estados

3.2. Simulaciones

Codigos

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%% Linealizacion y calculo del punto de operacion %%%%%%%%%%%%%%%%

uss = [100 103.37]; % Valor en estado estacionario para las entradas


dss = [350 350 1]; % Valor en estado estacionario para las perturbaciones
xss = operatingpoint(uss,dss);% Calculo del punto de operacion
[A,B,C,D] = linearmod(xss,uss); % Calculo de las matrices del sistema lineal
yss = C*xss;
sys = ss(A,B,C,D); % Se genera el espacio de estados del modelo
nx = size(sys.A,1);% numero de variables de estado del sistema
[ny,nu] = size(sys.D); % Numero de salidas ny y numero de entradas nu
%%Ts = 0.1;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% REGULACION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sp=0.5; % sobre nivel porcentual


R=log(sp/100);
zita=sqrt(R^2/(pi^2+R^2)); %Ecuacion para zita
ts=3; %Tiempo de establecimiento deseado para el sistema
wo=4/(zita*ts);
Matlab Control de Procesos Qumicos 15

zita*wo %Polo que cumple las caractersticas descritas

Pdes = roots([1 2*zita*wo wo^2]);

Polos = [-10 Pdes];


Kp = place(A,B,Polos);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LQR CON SEGUIMIENTO%%%%%%%%%%%%%%%%%%%%%%%%%

% Modelo ampliado para seguimiento de referencia

Aa = [sys.A zeros(nx,ny);-sys.C zeros(ny)];


Ba = [sys.B;-sys.D];
Ca = [sys.C zeros(ny)];
Da = sys.D;

sysc = ss(Aa,Ba,Ca,Da); % Modelo ampliado con error como variable de estado


Q = 1e3*eye(nx+ny); % Matriz de penalizacion de x
R = 1e-3*eye(nu); % Matriz de penalizacion de u
K = lqr(sysc,Q,R);
Kp = K(:,1:nx);
Ki = K(:,nx+1:nx+ny);
16 Matlab Control de Procesos Qumicos

Figura 10. Regulador

Figura 11. Esquema LQR con integradores


Matlab Control de Procesos Qumicos 17

Figura 12. Esquema interno LQR con integradores

4. Clase 4

Esta ultima clase, desde una perspectiva 100 % practica, estara dedicada al
aprendizaje del uso de la herramienta SISOTOOL de Matlab, guiada paso a
paso, veremos desde como abrir la herramienta hasta el montaje del controla-
dor obtenido en el sistema no lineal. A continuacion se deja al lector algunas
imagenes basicas sobre el uso de la herramienta.

Figura 13. Abriendo el programa SISOTOOL.


18 Matlab Control de Procesos Qumicos

Figura 14. Ventana principal.


Matlab Control de Procesos Qumicos 19

Figura 15. Ventana de Sintona.

Вам также может понравиться