tarea estrategias avanz. control.pdf

24
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE INGENIERÍA POSTGRADO ESCUELA DE INGENIERIA QUIMICA Control Avanzado Profesor Nelson Mata Alumno: CARLOS EDUARDO PRIETO CERON Carnet: 79858348 Caracas- Venezuela 21 de noviembre de 2012

Upload: joshuac4

Post on 08-Aug-2015

104 views

Category:

Documents


27 download

TRANSCRIPT

UNIVERSIDAD CENTRAL DE VENEZUELAFACULTAD DE INGENIERÍA

POSTGRADO ESCUELA DE INGENIERIA QUIMICA

Control Avanzado

ProfesorNelson Mata

Alumno:CARLOS EDUARDO PRIETO CERON

Carnet: 79858348

Caracas- Venezuela21 de noviembre de 2012

ENUNCIADO:Del Ejemplo de Deshpande (Algorithm for Multivariable Control) Generar los datos de procesoa partir de las funciones de transferencia, usar el identificador para generar las funciones detransferencia y comparar con el punto de partida y representarlo matricialmente:

[Controladas]=Gm [manipuladas]+Gp [Perturbaciones].

SOLUCION:Inicialmente creamos un modelo de la planta para hacer la simulación en simulink y a partir deuna señal de entrada de cambio escalón tendremos los datos de respuesta.

Fig.01 Funciones de transferencia representación matricial.

De la representación anterior generamos el siguiente modeloen simulink:

Este modelo representa cada una de las funciones detransferencia mostradas en la matriz de la fig. 01

Donde Y1, Y2, Y3 son las salidas, U1, U2, U3 son las entradas yd1, d2 son las perturbaciones.

Fig.02 Modelo planta.

En la fig. 03 se muestra el detalle del enmascaramiento del modelo de la planta de la fig.02.

ENUNCIADO:Del Ejemplo de Deshpande (Algorithm for Multivariable Control) Generar los datos de procesoa partir de las funciones de transferencia, usar el identificador para generar las funciones detransferencia y comparar con el punto de partida y representarlo matricialmente:

[Controladas]=Gm [manipuladas]+Gp [Perturbaciones].

SOLUCION:Inicialmente creamos un modelo de la planta para hacer la simulación en simulink y a partir deuna señal de entrada de cambio escalón tendremos los datos de respuesta.

Fig.01 Funciones de transferencia representación matricial.

De la representación anterior generamos el siguiente modeloen simulink:

Este modelo representa cada una de las funciones detransferencia mostradas en la matriz de la fig. 01

Donde Y1, Y2, Y3 son las salidas, U1, U2, U3 son las entradas yd1, d2 son las perturbaciones.

Fig.02 Modelo planta.

En la fig. 03 se muestra el detalle del enmascaramiento del modelo de la planta de la fig.02.

ENUNCIADO:Del Ejemplo de Deshpande (Algorithm for Multivariable Control) Generar los datos de procesoa partir de las funciones de transferencia, usar el identificador para generar las funciones detransferencia y comparar con el punto de partida y representarlo matricialmente:

[Controladas]=Gm [manipuladas]+Gp [Perturbaciones].

SOLUCION:Inicialmente creamos un modelo de la planta para hacer la simulación en simulink y a partir deuna señal de entrada de cambio escalón tendremos los datos de respuesta.

Fig.01 Funciones de transferencia representación matricial.

De la representación anterior generamos el siguiente modeloen simulink:

Este modelo representa cada una de las funciones detransferencia mostradas en la matriz de la fig. 01

Donde Y1, Y2, Y3 son las salidas, U1, U2, U3 son las entradas yd1, d2 son las perturbaciones.

Fig.02 Modelo planta.

En la fig. 03 se muestra el detalle del enmascaramiento del modelo de la planta de la fig.02.

Fig.03 Relaciones de las funciones de transferencia de la planta.

En la fig. 03 cada bloque representa una función de transferencia de la matriz, estos bloques sehan definido en el editor de matlab bajo el siguiente código:%Definición de las funciones de transferencia de la plantaA=tf([0 0.66], [6.7 1],'td',2.6);B=tf([0 -0.61], [8.64 1],'td',3.5);C=tf([0 -0.0049], [9.06 1],'td',1);D=tf([0 1.11], [3.25 1],'td',6.5);E=tf([0 -2.36], [5 1],'td',3);F=tf([0 -0.012], [7.09 1],'td',1.2);G=tf([0 -34.66], [8.15 1],'td',9.2);H=tf([0 46.2], [10.9 1],'td',9.4);I=tf([conv([0 0.87],[11.61 1])],[conv([3.89 1],[18.8 1])],'td',1);

%Definición de las funciones de transferencia de las perturbacionesJ=tf([0 0.14], [6.2 1],'td',12);K=tf([conv([0 -0.0011],[26.32 1])],[conv([7.85 1],[14.63 1])],'td',2.66);L=tf([0 0.53], [6.9 1],'td',10.5);M=tf([conv([0 -0.0032],[19.62 1])],[conv([7.29 1],[8.94 1])],'td',3.44);N=tf([0 -11.54], [7.01 1],'td',0.6);O=tf([0 0.32], [7.76 1],'td',2.6);

Ahora definimos la señal de entrada, esto es modelar un cambio escalón donde el ancho delescalón positivo y negativo sea mayor o igual al tiempo necesario para alcanzar su estadoestacionario, tras obtener la respuesta escalón de cada función de transferencia se logroverificar que este tiempo particular esta entre 50s y 80 s por lo cual se propone una señal

Fig.03 Relaciones de las funciones de transferencia de la planta.

En la fig. 03 cada bloque representa una función de transferencia de la matriz, estos bloques sehan definido en el editor de matlab bajo el siguiente código:%Definición de las funciones de transferencia de la plantaA=tf([0 0.66], [6.7 1],'td',2.6);B=tf([0 -0.61], [8.64 1],'td',3.5);C=tf([0 -0.0049], [9.06 1],'td',1);D=tf([0 1.11], [3.25 1],'td',6.5);E=tf([0 -2.36], [5 1],'td',3);F=tf([0 -0.012], [7.09 1],'td',1.2);G=tf([0 -34.66], [8.15 1],'td',9.2);H=tf([0 46.2], [10.9 1],'td',9.4);I=tf([conv([0 0.87],[11.61 1])],[conv([3.89 1],[18.8 1])],'td',1);

%Definición de las funciones de transferencia de las perturbacionesJ=tf([0 0.14], [6.2 1],'td',12);K=tf([conv([0 -0.0011],[26.32 1])],[conv([7.85 1],[14.63 1])],'td',2.66);L=tf([0 0.53], [6.9 1],'td',10.5);M=tf([conv([0 -0.0032],[19.62 1])],[conv([7.29 1],[8.94 1])],'td',3.44);N=tf([0 -11.54], [7.01 1],'td',0.6);O=tf([0 0.32], [7.76 1],'td',2.6);

Ahora definimos la señal de entrada, esto es modelar un cambio escalón donde el ancho delescalón positivo y negativo sea mayor o igual al tiempo necesario para alcanzar su estadoestacionario, tras obtener la respuesta escalón de cada función de transferencia se logroverificar que este tiempo particular esta entre 50s y 80 s por lo cual se propone una señal

Fig.03 Relaciones de las funciones de transferencia de la planta.

En la fig. 03 cada bloque representa una función de transferencia de la matriz, estos bloques sehan definido en el editor de matlab bajo el siguiente código:%Definición de las funciones de transferencia de la plantaA=tf([0 0.66], [6.7 1],'td',2.6);B=tf([0 -0.61], [8.64 1],'td',3.5);C=tf([0 -0.0049], [9.06 1],'td',1);D=tf([0 1.11], [3.25 1],'td',6.5);E=tf([0 -2.36], [5 1],'td',3);F=tf([0 -0.012], [7.09 1],'td',1.2);G=tf([0 -34.66], [8.15 1],'td',9.2);H=tf([0 46.2], [10.9 1],'td',9.4);I=tf([conv([0 0.87],[11.61 1])],[conv([3.89 1],[18.8 1])],'td',1);

%Definición de las funciones de transferencia de las perturbacionesJ=tf([0 0.14], [6.2 1],'td',12);K=tf([conv([0 -0.0011],[26.32 1])],[conv([7.85 1],[14.63 1])],'td',2.66);L=tf([0 0.53], [6.9 1],'td',10.5);M=tf([conv([0 -0.0032],[19.62 1])],[conv([7.29 1],[8.94 1])],'td',3.44);N=tf([0 -11.54], [7.01 1],'td',0.6);O=tf([0 0.32], [7.76 1],'td',2.6);

Ahora definimos la señal de entrada, esto es modelar un cambio escalón donde el ancho delescalón positivo y negativo sea mayor o igual al tiempo necesario para alcanzar su estadoestacionario, tras obtener la respuesta escalón de cada función de transferencia se logroverificar que este tiempo particular esta entre 50s y 80 s por lo cual se propone una señal

cambio escalón de entrada con un ancho de pulso positivo y negativo de t=100s . Se construyoesta señal con la fuente de simulink Signal Builder.

Fig.04 Señal entrada - cambio escalón.

Ahora generamos la data para identificar la planta a partir de la señal de entrada de la Fig.04,para ello implementamos en simulink el sistema mostrado en la Fig. 05

Fig. 05 Planta estimulada por canalA partir del sistema de la Fig.05 tendremos la data de la relación por canal, esto es Y1/U1,Y2/U1, Y3/U1 para el canal 1, luego para el canal 2 Y1/U2, Y2/U2, Y3/U2 y así sucesivamentepara los 5 canales a fin de identificar toda la planta.

Los datos se exportaron al Workspace de matlab y luego los llamamos de nuevo usando laherramienta de identificación de matlab usando el comando ident.

cambio escalón de entrada con un ancho de pulso positivo y negativo de t=100s . Se construyoesta señal con la fuente de simulink Signal Builder.

Fig.04 Señal entrada - cambio escalón.

Ahora generamos la data para identificar la planta a partir de la señal de entrada de la Fig.04,para ello implementamos en simulink el sistema mostrado en la Fig. 05

Fig. 05 Planta estimulada por canalA partir del sistema de la Fig.05 tendremos la data de la relación por canal, esto es Y1/U1,Y2/U1, Y3/U1 para el canal 1, luego para el canal 2 Y1/U2, Y2/U2, Y3/U2 y así sucesivamentepara los 5 canales a fin de identificar toda la planta.

Los datos se exportaron al Workspace de matlab y luego los llamamos de nuevo usando laherramienta de identificación de matlab usando el comando ident.

cambio escalón de entrada con un ancho de pulso positivo y negativo de t=100s . Se construyoesta señal con la fuente de simulink Signal Builder.

Fig.04 Señal entrada - cambio escalón.

Ahora generamos la data para identificar la planta a partir de la señal de entrada de la Fig.04,para ello implementamos en simulink el sistema mostrado en la Fig. 05

Fig. 05 Planta estimulada por canalA partir del sistema de la Fig.05 tendremos la data de la relación por canal, esto es Y1/U1,Y2/U1, Y3/U1 para el canal 1, luego para el canal 2 Y1/U2, Y2/U2, Y3/U2 y así sucesivamentepara los 5 canales a fin de identificar toda la planta.

Los datos se exportaron al Workspace de matlab y luego los llamamos de nuevo usando laherramienta de identificación de matlab usando el comando ident.

Fig. 06 Pasos de identificación de modelos 1). toolbox ident de matlab 2).Datos importados deworkspace para un intervalo de muestreo de 0.1 3).modelo estimado por process models parauna función de transferencia de primer orden mas retardo. 4). Resultado de la identificación5).Señales de entrada y salida muy útil para estimar tiempo el tiempo muerto y colocarlo comoBounds 6). Modelo identificado y modelo real

El intervalo de muestreo es critico a la hora de un buen resultado de la identificación de cadamodelo, el valor de 0.1 fue tomado por que corresponde al mismo simple time del scopeutilizado para capturar los datos. Ver Fig. 07

Fig. 07 Configuración del los scopes

Los pasos de la Fig. 06 se aplicaron a toda la data obteniendo los siguientes modelos:

yyy = ⎣⎢⎢⎢⎡ . .. . .. . ... .. . . . ... .. . .. . ( . ) .( . )( . ) ⎦⎥⎥

⎥⎤

+ ⎣⎢⎢⎢⎢⎡ . .. . ( . ) .( . )( . ). .. . ( . ) .( . )( . ). .. . .. ⎦⎥⎥⎥

⎥⎤+

Fig.08 Funciones de transferencia en representación matricial obtenidas a partir de la data ycon la herramienta de identificación de matlab.

Las funciones de transferencia de la figura 08 al compararlas con el punto de partida de lafigura 01 muestra que son exactamente iguales. La herramienta de identificación genero losmodelos sin ninguna diferencia y sin hacer mayores cambios en su configuración. En la figura06-6 se observa un ejemplo de comparación del modelo identificado y el modelo real. Se veclaramente que ambos modelos son exactamente iguales.

ENUNCIADO:

2.1 Establecer el caso base de: Control de lazos sencillos aplicado a la tarea Nº1.

Es probable que haciendo control solo en los lazos sencillos, (esto es sobre las funciones detransferencia de la diagonal de la planta), no logremos controlar la planta debido a lainteracción que existe entre todas las variables.Para establecer el caso de lazos sencillos de control tomaremos las funciones de la diagonal

esto es: = , = , =yyy = ⎣⎢⎢

⎢⎡ . .. . .. . ... .. . . . ... .. . .. . ( . ) .( . )( . ) ⎦⎥⎥⎥⎤

Fig. 01 Representación matricial de la planta.

De la representación matricial de la planta tomaremos la diagonal y calcularemos trescontroladores PID.

Para el cálculo de controlador PID hemos utilizado una función ya creada para matlab cuyocódigo fuente esta disponible en internet, este es: Funciones para ajuste empírico decontroladores PID. Conjunto de funciones programadas por F. Morilla.http://www.dia.uned.es/~fmorilla/Herramientas/fmg_herramientas.htm

% Ajuste del controlador PI o PID, aplicando las fórmulas de sintonía% en lazo abierto con criterios integrales (MIAE, MISE o MITAE),% para cambios en la carga o en el punto de consigna.%% Las posibles llamadas a esta función son:%% [kp,ti]=sint_ci(k,tp,to,crit_sint,tipo_cambio)% [kp,ti,td]=sint_ci(k,tp,to,crit_sint,tipo_cambio,tipo_pid)%% Donde:% - k, tp y to, la ganancia, la constante de tiempo y el retardo de un% modelo del proceso% - crit_sint, el criterio de sintonía elegido:% 1 = Criterio MIAE% 2 = Criterio MISE% 3 = Criterio MITAE% - tipo_cambio, el cambio para el que se desea ajustar el controlador:% 1 = Cambio en la carga% 2 = Cambio en el punto de consigna% - tipo_pid, solo necesario en el caso PID, para indicar de que ipo% de algoritmo PID se trata:

% 1 = No interactivo% 2 = Interactivo% 3 = Paralelo%

% Autor: Fernando Morilla

function [kp,ti,td]=sint_ci(arg1,arg2,arg3,arg4,arg5,arg6)

npe=nargin;nps=nargout;if nps==2 & npe==5

[kp,ti]=sint_pi(arg1,arg2,arg3,arg4,arg5);endif nps==3 & npe==6

[kp,ti,td]=sint_pid(arg1,arg2,arg3,arg4,arg5,arg6);end

Llamando la función: [kp,ti,td]=sint_ci(k,tp,to,3,2,1), esto es con un criterio de sintonía MITAE(integral del tiempo por el error absoluto), y ajustado para cambio en el punto de

consigna(servomecanismo), así para = tenemos:

Valores Dadospor la función

Parámetrosimplementados

en simulinkPID

kp 3,2988 kp 3,2988

ti 9,0633 ki=kp/ti 0,3640

td 0,8525 kd=kp*td 2,8122Tabla 01 Parámetros del controlador PID-servo para =

El anterior controlador se realizo tipo servomecanismo pero sabemos que nuestra planta estasometida a perturbaciones así que calculamos nuestro PID para cambio en la carga es decircomo regulador, haciendo un cambio en la los parámetros de la función a[kp,ti,td]=sint_ci(k,tp,to,3,2,1), tenemos:

Valores Dadospor la función

Parámetrosimplementados

en simulinkPID

kp 5,0632 kp 5,0632

ti 3,9423 ki=kp/ti 1,2843

td 0,9903 kd=kp*td 5,0141Tabla 02 Parámetros del controlador PID-Regulador para =

Realizando la implementación en simulink como se muestra en la figura 02, podemos compararlos resultados ante una perturbación con los tipos de PID, esto ante una entrada tipo escalón,es de anotar que hasta ahora solo estamos haciendo el control por lazos simples y únicamentecon la diagonal de la matriz de la planta.

Fig.02. implementación en simulink ante una perturbación con los tipos de PID

Detalle de la grafica

Fig. 03. Respuesta ante perturbación.

Fig.02. implementación en simulink ante una perturbación con los tipos de PID

Detalle de la grafica

Fig. 03. Respuesta ante perturbación.

Fig.02. implementación en simulink ante una perturbación con los tipos de PID

Detalle de la grafica

Fig. 03. Respuesta ante perturbación.

La Función de Fernando Morilla esta hecha para funcionar con sistemas de primer orden perola función = es de segundo orden además de tener un cero, por lo cual será

necesario aproximar a una función de primer orden mas retardo. Esto lo hacemos con laherramienta de identificación logrando una aproximación bastante acertada como se observaen la figura 04.

Fig. 04 Aproximación de la función de 2o mas un cero y tiempo muerto a una de 1o mastiempo muerto

Para esta función tuvimos mejores resultados con la función “amigo”. cuyo código fuente estadisponible en internet, este es: Funciones para ajuste empírico de controladores PID. Conjuntode funciones programadas por F. Morilla.http://www.dia.uned.es/~fmorilla/Herramientas/fmg_herramientas.htm

% Ajuste de los controladores PI y PID aplicando las fórmulas de sintonía% AMIGO (Aström y Hägglund, 2005) con características del proceso obtenidas% en lazo cerrado o en lazo abierto conocida su ganancia en estado% estacionario.% Además de los parámetros de control, estas fórmulas aconsejan sobre la% estructura de control: (I-P y I-PD si b=0) o (PI y PI-D si b=1).%% Las posibles llamadas a esta función son:%% [kp,ti,b]=amigo(k,kc,tc,1)% [kp,ti,b]=amigo(k,tp,to,2)% [kp,ti,td,b]=amigo(k,kc,tc,1)% [kp,ti,td,b]=amigo(k,tp,to,2)%% Donde:% - k, tp y to, la ganancia, la constante de tiempo y el retardo de un% modelo del proceso% - kc y tc representan la ganancia crítica y el período de oscilación% mantenida del proceso

function [kp,ti,td,b]=amigo(arg1,arg2,arg3,tipo)

Process model with transferfunction

KG(s) = ---------- * exp(-Td*s)

1+Tp1*s

k=0.84667tp=10.62to=0.99

if nargout==3[kp,ti,b]=amigo_p(arg1,arg2,arg3,tipo);td=0;

else[kp,ti,td,b]=amigo_p(arg1,arg2,arg3,tipo);

end

Finalmente después de todo el análisis podemos tener los controladores para cada lazo,mostrados en la Tabla 03.

PROCESOValores Dadospor la función

Parámetrosimplementados

en simulink

PID

A11

k 0,6600 kp 3,2988 kp 3,2988

tp 6,7000 ti 9,0633 ki=kp/ti 0,3640

to 2,5869 td 0,8525 kd=kp*td 2,8122

A22

k -2,3600 kp -0,4039 kp -0,4039

tp 5,0000 ti 4,4499 ki=kp/ti -0,0908

to 2,9869 td 1,2665 kd=kp*td -0,5115

A33

k 0,8466 kp 5,9377 kp 5,9377

tp 10,6200 ti 4,2900 ki=kp/ti 1,3841

to 0,9900 td 0,4815 kd=kp*td 2,8590Tabla. 03 Valores de los controladores por lazos sencillos.

En la figura 5 y 6 se muestra la implementación y respuesta de los lazos independientes, sinembargo al aplicar todos los controladores al mismo tiempo, (figura 7), el sistema se tornainestable por lo cual es necesario aplicar una estrategia de control que de prioridad a los lazosmas influyentes o desacople el sistema que será nuestro caso en el siguiente punto.

Fig. 05. Implementación con controladores por lazos sencillos.

Fig. 06. Respuesta de cada lazo a una entrada cambio escalón.

Fig. 07. Respuesta del sistema cuando actúan todos los controladores a la vez ante una entradaescalón.

2.2.-Determinar la Matriz RGA – Seleccionar Parejas analizando su selección.

Para calcular la matriz de ganancia relativa RGA, es necesario calcular la matriz en estadoestacionario esto es: lim→ ( ) =Donde K es la matriz de ganancia e estado estacionario cuyos elementos son las gananciasindividuales Kij. La matriz RGA puede obtenerse aplicando la ecuación:= ∙ ( )Donde “ ∙ “ representa el producto elemento por elemento.

La función de matlab [R,S]=rga(G);

(http://www.mathworks.com/matlabcentral/fileexchange/19096-relative-gain-array)

Nos genera la matriz RGA denotada como R y nos recomienda un apareamiento este loindica en la matriz S, el argumento de entrada es la matriz de estado estacionario G.De tal forma que tenemos:

G =

0.6600 -0.6100 -0.00491.1100 -2.3600 -0.0120

-34.6800 46.2000 0.8700

R =

1.9618 -0.6648 -0.2970-0.6699 1.8921 -0.2222-0.2919 -0.2273 1.5192

S =

1.0000 0 00 1.0000 00 0 1.0000

Lo cual indica que los apareamientos de lazo de control son:→→→Este Apareamiento es la diagonal planteada en el punto anterior, el control apareado de estaforma no es inestable pero la respuesta presenta sobre picos no aceptables. Es necesariodesacoplar el sistema para que los controladores sean efectivos.

Siempre se agrupan por pares los elementos positivos de la matriz de ganancia relativa (R) máscercanos a 1.0. La estabilidad de los pares se verifica mediante el teorema de Niederlinski; si

el par da origen a un sistema inestable, entonces se elige otro par positivo con valores cercanosa 1.0. Siempre que sea posible, se evitara la agrupación por pares negativa.

Si todos los n lazos están cerrados, el sistema de control de lazos múltiples será inestable(paratodos los posibles valores de los parámetros del controlador) si el índice de Niderlinski (N)definido como:

= det [ (0)]∏ (0)es negativo.

Donde G(0) es la matriz de estado estacionario y (0) son los elementos en diagonal de lamatriz de estado estacionario.

aplicando el teorema de Niederlinski tenemos:

% Criterio de estabilidad de NiederlinskiG=[ 1.11 -2.36 -0.012; -34.68 46.2 0.87;0.66 -0.61 -0.0049]N=det(G)/(G(1,1)*G(2,2)*G(3,3))

N =0.3721

El teorema de Niederlinski representa condiciones necesarias y suficientes únicamente parasistemas de 2x2. Para sistemas de orden mayor únicamente representa condiciones suficientes.Es decir, si el teorema se cumple, entonces el sistema de múltiples lazos será definitivamenteinestable. Pero si el teorema no se cumple, el sistema de múltiples lazos puede ser o noinestable (en este caso, la estabilidad depende de los valores asignados a los parámetros delcontrolador).

Por lo anterior concluimos que el sistema es bastante probable que sea estable ya que N > 0.

Nos queda desacoplar el sistema para disminuir la interacción aun presente entre lazos, y loscontroladores den respuestas adecuadas como en la figura 6.

2.3.-Encontrar la Matriz Desacoplante Ideal.Encontrar un par adecuado de entrada y salida no es garantía de que el sistema de control

presente un desempeño adecuado, la solución es la construcción de un desacoplador quecancele las interacciones ente lazos y luego llevar a cabo la sintonía de los controladores en loslazos de manera individual.

El desacoplamiento puede realizarse de varias formas:

Desacoplamiento Estático: Usa solo la parte estática( ganancias de régimenpermanente) del modelo de funciones de transferencia.

Desacoplamiento Dinámico: Usa el modelo completo de funciones de transferenciapara construir el desacoplador D(s).

La función de los desacopladores es descomponer el sistema en subsistemas de una variable,así el sistema puede ser controlado usando controladores independientes.Apoyados en los resultados de la matriz RGA nuestro desacoplador debe garantizar quepredomine la diagonal; Esto es

( ) = ( ) ( ) = [ ( ), ( ), ( )]Para determinar D(s) es necesario calcular el inverso de G(s) ya que:( ) = ( ) ( )Donde ( ) es : ( ) = ( ( ))det ( ( ))Para nuestro sistema 3x3 resulta:(Con el toolbox Symbolic Mach de matlab)det ( ) = 11( ) 22( ) 33( ) − 11( ) 23( ) 32( ) − 12( ) 21( ) 33( )+ 12( ) 23( ) 31( ) + 13( ) 21( ) 32( ) − 13( ) 22( ) 31( )

( ) = G22G33 − G23G32 G13G32 − G12G33 G12G23 − G13G22G23G31 − G21G33 G11G33 − G13G31 G13G21 − G11G23G21G32 − G22G31 G12G31 − G11G32 G11G22 − G12G21Entonces el desacoplador tendrá la forma:

( ) =(G22G33 − G23G32)x ( ) (G13G32 − G12G33)x ( ) (G12G23 − G13G22)x ( )(G23G31 − G21G33)x ( ) (G11G33 − G13G31)x ( ) (G13G21 − G11G23)x ( )(G21G32 − G22G31)x ( ) (G12G31 − G11G32)x ( ) (G11G22 − G12G21)x3( )det ( )

Asumiendo que los términos de la diagonal son igual a 1 de obtiene el sistema:

( ) =⎣⎢⎢⎢⎢⎢⎡ 1 ( ) ( )− ( ) ( )( ) ( )− ( ) ( ) ( ) ( )− 13( ) 22( )( ) ( )− ( ) ( )23( ) ( )− ( ) 33( )( ) ( )− 23( ) ( ) 1 13( ) 21( )− ( ) 23( )( ) 22( )− 12( ) 21( )21( ) 32( )− 22( ) 31( )( ) ( )− ( ) ( ) ( ) ( )− ( ) ( )( ) ( )− ( ) ( ) 1 ⎦⎥⎥

⎥⎥⎥⎤

Realizando un desacoplamiento estático esto es con G(0)

Obtenemos:

(0) = 0.6600 −0.6100 −0.00491.1100 −2.3600 −0.0120−34.6800 46.2000 0.8700 = 1.0000 0.7528 0.00480.3667 1.0000 −0.002820.3915 −23.0966 1.0000De esta forma verán G(s)*D(s) como la planta:

(0) ∗ (0) = 0.3364 −0.0000 −0.0000−0.0000 −1.2473 −0.00000 0.0000 0.5727Este resultado nos indica que la interacción entre lazos se hace mínima aunque no nula losvalores de ceros negativos son valores del orden 10-17 .

La construcción de desacopladores con ganancia fija calculados sobre la ganancia estática esuna simplificación bastante drástica, ahora lo implementaremos para ver

los resultados.

Se enmascaro la distribución del desacoplador como se ve en la figura8. La estructura del desacoplador para un sistema de 3x3 se observa enla figura 9.

Fig. 08. Desacoplador

Fig. 09 Estructura interna de un desacoplador 3x3.

%% Calculo De La matriz DesacoplanteD11=1;D12=(G13*G32-G12*G33)/(G11*G33-G13*G31);D13=(G12*G23-G13*G22)/(G11*G22-G12*G21);

D21=(G23*G31-G21*G33)/(G22*G33-G23*G32);D22=1;D23=(G13*G21-G11*G23)/(G11*G22-G12*G21);

La construcción de desacopladores con ganancia fija calculados sobre la ganancia estática esuna simplificación bastante drástica, ahora lo implementaremos para ver

los resultados.

Se enmascaro la distribución del desacoplador como se ve en la figura8. La estructura del desacoplador para un sistema de 3x3 se observa enla figura 9.

Fig. 08. Desacoplador

Fig. 09 Estructura interna de un desacoplador 3x3.

%% Calculo De La matriz DesacoplanteD11=1;D12=(G13*G32-G12*G33)/(G11*G33-G13*G31);D13=(G12*G23-G13*G22)/(G11*G22-G12*G21);

D21=(G23*G31-G21*G33)/(G22*G33-G23*G32);D22=1;D23=(G13*G21-G11*G23)/(G11*G22-G12*G21);

La construcción de desacopladores con ganancia fija calculados sobre la ganancia estática esuna simplificación bastante drástica, ahora lo implementaremos para ver

los resultados.

Se enmascaro la distribución del desacoplador como se ve en la figura8. La estructura del desacoplador para un sistema de 3x3 se observa enla figura 9.

Fig. 08. Desacoplador

Fig. 09 Estructura interna de un desacoplador 3x3.

%% Calculo De La matriz DesacoplanteD11=1;D12=(G13*G32-G12*G33)/(G11*G33-G13*G31);D13=(G12*G23-G13*G22)/(G11*G22-G12*G21);

D21=(G23*G31-G21*G33)/(G22*G33-G23*G32);D22=1;D23=(G13*G21-G11*G23)/(G11*G22-G12*G21);

D31=(G21*G32-G22*G31)/(G22*G33-G23*G32);D32=(G12*G31-G11*G32)/(G11*G33-G13*G31);D33=1;

Ds=[D11 D12 D13; D21 D22 D23; D31 D32 D33];% Matriz Desacoplante

Diseñada la estructura del Desacoplador lo implementamos en nuestro sistema de control estose observa en la figura 10.

Los controladores se redefinieron ya que ahora nuestra planta la consideramos con eldesacoplador, sin embargo la diferencia comparada con los parámetros obtenidos para los lazossencillos es mínima.

Fig. 10 Estructura del sistema de control Desacoplado.

Los controladores se sintonizaron con la función AMIGO.Parte del código es la siguiente:% Ajuste de los controladores PI y PID aplicando las fórmulas desintonía% AMIGO (Aström y Hägglund, 2005) con características del procesoobtenidas% en lazo cerrado o en lazo abierto conocida su ganancia en estado% estacionario.% Además de los parámetros de control, estas fórmulas aconsejan sobrela% estructura de control: (I-P y I-PD si b=0) o (PI y PI-D si b=1).%% Las posibles llamadas a esta función son:%% [kp,ti,b]=amigo(k,kc,tc,1)% [kp,ti,b]=amigo(k,tp,to,2)% [kp,ti,td,b]=amigo(k,kc,tc,1)% [kp,ti,td,b]=amigo(k,tp,to,2)%% Donde:% - k, tp y to, la ganancia, la constante de tiempo y el retardode un% modelo del proceso

% - kc y tc representan la ganancia crítica y el período deoscilación% mantenida del proceso

function [kp,ti,td,b]=amigo(arg1,arg2,arg3,tipo)

if nargout==3[kp,ti,b]=amigo_p(arg1,arg2,arg3,tipo);td=0;

else[kp,ti,td,b]=amigo_p(arg1,arg2,arg3,tipo);

end

El sistema presenta demasiado sobrepico aunque mejoro la respuesta con el desacoplador,como se muestra en la figura 11, es necesario realizar un desacople dinámico o por lo menoshacer un desacople asumiendo retardos nulos e ignorar dinámicas de orden superior.

Fig. 12. Respuesta del sistema control desacople estático.

Tomando la realización del desacoplador utilizando todas las dinámicas y asumiendo tiempomuertos nulos las respuestas no mejoran significativamente respecto a desacoplador deganancias estáticas.

%% Calculo De La matriz Aproximación Con retardos Nulos%Definición de las funciones de transferencia de la plantaG11=tf([0 0.66], [6.7 1]);G12=tf([0 -0.61], [8.64 1]);G13=tf([0 -0.0049], [9.06 1]);G21=tf([0 1.11], [3.25 1]);G22=tf([0 -2.36], [5 1]);G23=tf([0 -0.012], [7.09 1]);G31=tf([0 -34.66], [8.15 1]);G32=tf([0 46.2], [10.9 1]);G33=tf([0 0.8466],[10.62 1]);

G=[G11 G12 G13; G21 G22 G23; G31 G32 G33]; %planta con retardos nulos

Tabla 04. Valores de ajuste de controladores por método AMIGO(Aström y Hägglund, 2005)PID1 PID2 PID3

Kp 2.0600 -0.4025 5.9848ti 5.0887 4.4571 4.2900td 1.1644 1.2712 0.4815

Fig. 13. Respuesta del sistema control con desacople dinámico.

3. SINTONIZACION POR MODELO PREDICTIVO DE CONTROL MPC

Utilizando la misma planta se controlo con la técnica de control MPC (control por modelopredictivo), utilizando la herramienta de Matlab® Model Predictive Control Desing Tool, que deforma intuitiva permite la sintonización del controlador para sistemas MIMO. Se establece laplanta en simulink como se muestra en la fig.14, y posteriormente las restricciones yparámetros propios de la técnica de control predictiva como son el Horizonte de Prediccion, elhorizonte de control y el intervalo de control.

Fig. 14. Diagrama en simulink de la planta más el control MPC

La estructura por control MPC tiene en cuenta las variables manipuladas, las variablescontroladas, las medibles y no medibles y las perturbaciones. Fig.15. Sin embargo hay queconvertir la planta a un modelo discreto y en espacios de estados cosa que el tool haceautomáticamente.

Fig. 15. Toolbox MPC – Estructura MPC

Una vez definido el modelo de la planta se definen las características del controlador, fig. 16los ajustes que dieron buenos resultados son:

Intervalo de control: 0.1Horizonte de Predicción: 10Horizonte de control: 5

Fig. 16. Toolbox MPC – Parámetros del controlador-Horizontes.

Las restricciones del modelo son necesarias para que el proceso de optimización que es unaparte del control MPC, pueda sintonizar el controlador, las restricciones utilizadas se muestranen la figura 17.

Fig. 17. Toolbox MPC – Parámetros del controlador-restricciones.

EL controlador por MPC permite ser sintonizado para buscar una respuesta rápida o másrobusta, el ajuste adecuado para nuestro sistema lo logramos para un valor de 0.8.

Fig. 18. Toolbox MPC – Parámetros del controlador- Sintonía

Finalmente, se puede simular el controlador indicando las entradas del punto de consigna y delas perturbaciones, se simularon estradas escalón con magnitud de 1 y iniciando en tiempo 10.

Fig. 19. Toolbox MPC – Parámetros del controlador- Simulación

La respuesta obtenida de la planta a entradas escalón como se ve en la figura 14 después desintonizar el controlador indudablemente son superiores al control desacoplado.

Fig. 13. Respuesta del sistema control MPC sobre el modelo MIMO con entrada escalón.

BIBLIOGRAFIA.

[1]Alberto Bemporad, M. M. (2010). Model Predictive Control Toolbox™ 3 User’s Guide. The MathWorks,Inc.[2] Espinosa, J. (Septiembre 2003). CONTROL LINEAL DE SISTEMAS MULTIVARIABLES.[3] Francisco Vázquez, F. M. (2002). TUNING DECENTRALIZED PID CONTROLLERS FOR MIMO SYSTEMSWITH DECOUPLERS. Madrid: 15th Triennial World Congress, Barcelona, Spain.[4] MACIEJOWSKI, J. M. MULTIVARIBLE FEEBACK DESIGN.[5] P. Albertos, A. S. (2004). MULTIVARIABLE CONTROL SYSTEMS: An Engineering Approach. London:Springer.[6] Qing-Guo Wang, Z. Y.-J. (2008). PID Control for Multivariable Processes. Berlin: Springer.[7] Vrančić, D. TUNING OF DECOUPLING CONTROLLER BY USING MOMI METHOD. Ljubljana, Slovenia:Department of Computer Automation and Control ,Jožef Stefan Institute.[8] Wang, L. (2009 ). Model Predictive Control System Design and Implementation Using MATLAB®.London: Springer.