CHAPTER V – Conclusion
V. 2 Recommendations
Al igual que en los sistemas continuos, la idea básica del control con modelo de referencia MRAC, para sistemas discretos, es que el proceso con función de transferencia [3]:
Con:
Siga el modelo:
En donde:
Mediante la aplicación de la ley de control:
La figura 4.4 muestra el diagrama en bloques del sistema de control con modelo de referencia propuesto.
Figura 4.4 Control con modelo de referencia
La función de transferencia en lazo cerrado para el sistema de la figura 4.4 es:
El procedimiento para el diseño es el siguiente:
1. Seleccionar el modelo de referencia adecuado.
2. Reescribir el polinomio del proceso en la forma:
En donde: : Contiene los ceros estables del proceso. : Contiene los ceros inestables del proceso.
3. Los ceros estables del proceso se incluyen en el polinomio es decir:
4. Los ceros inestables del proceso deben ser ceros de , es decir, ceros de
5. Si el grado de seleccionado es menor que el grado de
después de la cancelación de , el lado derecho de la ecuación 4.38 se multiplica y divide por el polinomio
6. Los polinomios , y quedan deteminados por las ecuaciones:
NOTA: En caso de que el sistema tenga solo ceros estables se considera que , en este caso la ley de control toma la forma:
La ecuación 4.41 se puede escribir en forma vectorial como:
En donde:
EJEMPLO 4.3
La función de transferencia de un sistema de presión está dada por:
Diseñe para el sistema un controlador con modelo de referencia de modo que el sistema, en lazo cerrado siga la dinámica del modelo:
SOLUCIÓN: Los modelos discretos son:
La ley de control es:
Grado de
Condición de los polinomios:
Comparando término a término y resolviendo las ecuaciones resultantes se obtiene qué:
, , y
Entonces:
y Por lo tanto:
Finalmente, la ley de control es:
Despejando se obtiene:
Tomando transformada z y reuniendo términos:
Es decir:
La figura 4.5 muestra el diagrama en bloques del sistema de control y la respuesta del mismo ante una entrada en onda rectangular.
0.038(z+0.4631) z (z-0.8607)2 1.855z2 (z+0.4631)(z+0.0819) 4.0394z(z+0.4404) (z+0.4631)(z+0.0819)
La técnica de la ganancia programable (Gain scheduling) es un acercamiento al control de sistemas no lineales que utiliza una familia de controladores lineales, para proporcionar el control satisfactorio en diversos puntos de operación del sistema.
Este enfoque asume que el sistema se puede representar mediante un modelo parametrizado por ciertas variables, llamadas variables de tabulación o de programación (“scheduling variables”), de modo que cuando estas variables asumen un valor constante se obtiene un punto de funcionamiento [2]. Para sintonizar el controlador adecuado se utilizan una o más de las variables de programación. En este caso, se linealiza el sistema alrededor de distintos puntos de operación de interés, obteniéndose una familia de modelos lineales para la cual se diseña una familia de controladores lineales. Luego, se implementa el esquema de control con un controlador cuyos parámetros son cambiados acorde a los valores que toman las variables de programación, que deberán monitorearse continuamente.
La literatura no documenta reglas generales para el diseño de controladores con ganancia programable. Sin embargo, se pueden establecer los siguientes pasos:
Determinar las variables de programación: Estas variables deben reflejar las condiciones de operación de la planta y permitir establecer expresiones simples que relacionen los parámetros del controlador con las variables de ajuste. Esto se hace normalmente mediante la identificación física del sistema.
Obtener el modelo del proceso para diferentes puntos de operación: estos puntos deben estar parametrizados por las variables de programación. Si el sistema es no lineal se linealiza alrededor de dichos puntos.
Calcular los parámetros del controlador para los diferentes puntos de operación: Se calculan los parámetros del controlador para un determinado número de condiciones de trabajo, en función de las variables de programación, empleando algún método de diseño apropiado. El controlador se calibra o sintoniza para cada condición de operación. No existe norma sobre el número de condiciones o zonas de operación en que debe dividirse el rango de operación de la planta, el diseñador decide al respecto.
Seleccionar el controlador en función de las variables de programación: según el punto de operación en que se encuentre el proceso, se selecciona el controlador diseñado para dicho punto de operación. Para evitar los inconvenientes que puede causar la conmutación de un controlador a otro se puede generar una ecuación de regresión que permita calcular los parámetros del controlador en función de las variables de programación.
En la figura 5.1 se presenta un diagrama básico de la técnica de control por ganancia programable. Programación Precalculada Punto de Trabajo Controlador Planta Parámetros del Controlador Salida SP Señal de Control + -
EJEMPLO 5.1
La figura 5.2 muestra la respuesta de un intercambiador de calor ante escalones aplicados en diferentes zonas de operación. La temperatura se midió con un instrumento calibrado de 0 a 100 ºC y la apertura de la válvula se da en porcentaje. Diseñar para el sistema un controlador PI con ganancia programable.
Figura 5.2 Prueba del escalón
SOLUCIÓN: La dinámica del intercambiador se aproximó a un sistema de primer orden con retardo. Se obtuvo un modelo para cada uno de los escalones aplicados, se discretizaron los modelos y para cada uno de ellos se calculó un controlador PI utilizando el método de Ziegler-Nichols. Los resultados se dan en la tabla 5.1
Modelos continuo y discreto:
Controlador PI:
Tabla 5.1 Controladores obtenidos 22 1.5261 -1.2592 40 1.8289 -1.5233 52 1.6498 -1.3781 67 2.2663 -1.8818 78 1.7412 -1.4606
Las ecuaciones para el cálculo de y de que se han de utilizar para estimar el controlador son:
Los datos presentados en la tabla 5.1 y las ecuaciones de regresión para estimar los parámetros y del controlador, se obtienen a partir de los valores de los puntos de operación y de los modelos de primer orden con retardo correspondientes. Para ello se utilizó el programa en MATLAB que se da a continuación:
% GANANCIA PROGRAMABLE
% El programa calcula un controlador PI según Ziegler-Nichols
% Para este caso, el modelo debe ser de primer orden con retardo POR % Para cada punto de operación se debe estimar el modelo correspondiente.
% Puntos de operación: los valores medios de la respuesta de la variable en cada uno % de los escalónes.
clc
L=length(T); N=0; while N<L N=N+1 n=input('Entre el numerador n='); d=input('Entre el denominador d='); R=input('Entre el retardo R=');
TM=input('Entre el periodo de muestreo TM='); [a,b,c,d1]=tf2ss(n,d); [ad,bd,cd,dd]=c2dt(a,b,c,TM,R); [nd1,dd1]=ss2tf(ad,bd,cd,dd); k=length(nd1); for j=1:k if (abs(nd1(j)))<10^(-8) nd1(j)=0; else nd1(j)=nd1(j); end end printsys(nd1,dd1,'z') theta=R+TM/2; kc=0.9*d(1)/(n*theta); ti=3.33*theta; qo=kc*(1+TM/(2*ti)) q1=-kc*(1-TM/(2*ti)) qo1(N)=qo q11(N)=q1 end
disp('Los coeficientes para el calculo de qo sn:') coeqo=polyfit(T,qo1,4);
coeq1=polyfit(T,q11,4); T1=50:95; qo2=polyval(coeqo,T1); q12=polyval(coeq1,T1); figure(1) plot(T1,qo2,T,qo1,'*') title('VALORES DE qo') xlabel('T (ºC)') ylabel('qo') grid figure(2) plot(T1,q12,T,q11,'*') title('VALORES DE q1') xlabel('T (ºC)') ylabel('q1') grid
La figura 5.3 muestra la variación de con la temperatura
Figura 5.3 Variación de con la temperatura
La figura 5.4 muestra la variación de con la temperatura
20 30 40 50 60 70 80 90 1 1.5 2 2.5 VALORES DE qo T (ºC) qo
Figura 5.4 Variación de con la temperatura
La figura 5.5 muestra la forma de simular el sistema con ganancia programable con el controlador PI. Los polinomios para el cálculo de y se incluyen en el bloque f(u).
Figura 5.5 Simulación para el ejemplo 5.1
Los resultados de la simulación se muestran en la figura 5.6, se manejaron los puntos de operación correspondientes a 40, 70 y 50 ºC respectivamente. Para disminuir el sobreimpulso los valores estimados para y se multiplicaron por 0.75
Otra alternativa para realizar el control por ganancia programable consiste en seleccionar un controlador fijo para cada punto de operación. En este caso se utilizan ciertos valores de la variable de programación para realizar la conmutación entre los diferentes controladores. En el ejemplo 5.2 se ilustra el método.
20 30 40 50 60 70 80 90 -2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 VALORES DE q1 T (ºC) q1 q1 qo e(k) m(k) T r(k) e(k-1) 42s+1 1.5 D To Workspace -1 Z -1 Z -K- -K- f(u) f(u) 20
Figura 5.6 resultado de la simulación con ganancia programable.
EJEMPLO 5.2
La dinámica de los tanques interconectados de la figura 5.7 se describe mediante las ecuaciones diferenciales no lineales:
Figura 5.7 Tanques interconectados para el ejemplo 5.2
Para el diseño del controlador se proponen como puntos de equilibrio: , , y . a) Linealice el sistema alrededor de cada uno de los puntos de operación establecidos. b) Obtenga, para cada punto de operación, la matriz de
ganancia de realimentación incluyendo integrador de modo que los polos de lazo
cerrado del sistema queden ubicados en . c) Simule el
sistema de control obtenido con el sistema no lineal propuesto originalmente.
SOLUCIÓN: Para ilustrar el procedimiento se resuelve completamente el problema para el punto de equilibrio correspondiente a . Los resultados para todos los puntos de equilibrio se presentan en la tabla 5.2
La dinámica del sistema linealizado se puede representar mediante la ecuación de estado:
En donde:
Las derivadas parciales se calculan en el punto de equilibrio: Los puntos de equilibrio cumplen con la condición: es decir:
Resolviendo las dos ecuaciones anteriores para se obtiene que el punto de equilibrio es:
Para el cálculo de las matrices y se tiene:
La matriz de ganancia de realimentación del sistema incluyendo integrador está dada por la fórmula de Ackerman:
En donde:
Siendo los coeficientes de la ecuación característica deseada:
Entonces:
La ecuación característica deseada es:
Entonces:
La ganancia correspondiente al integrador es:
La matriz de ganancia de realimentación es:
En la tabla 5.2 se presentan los valores de la ganancia del integrador y de la matriz de ganancia de realimentación para cada punto de operación.
Tabla 5.2 Ganancias del sistema en función del punto de operación
A continuación se presenta el programa en Matlab utilizado para realizar los cálculos de la matriz de ganancia de realimentación y de la ganancia del integrador.
% GANANCIA PROGRAMABLE % gananciavar11
% Se trabaja conjuntamente con el diagrama gananciavar1 de simulink clc
% Generacion de puntos de operacion t=0:1999; t=t'; ref1=[0.4*ones(600,1)]; ref2=[0.7*ones(500,1)]; ref3=[0.5*ones(500,1)] ref4=[0.3*ones(400,1)]; reft=[ref1;ref2;ref3;ref4]; ref=[t,reft];
%Parametros y puntos de operacion q1=0.4;
q2=0.8; q3=0.6; q4=0.2;
% Estados de equilibrio para punto1 h1=8*q1^2;
h2=4*q1^2;
a12=0.25/sqrt(h1-h2); a21=0.25/sqrt(h1-h2); a22=-0.25/sqrt(h1-h2)-0.25/sqrt(h2); b11=1; b21=0; c=[1 0];
% Matrices linealizadas punto1 a=[a11 a12;a21 a22];
b=[b11;b21]; c=[1 0]; cero=zeros(length(a),1); A=[a cero;c 0]; B=[b;0]; p=[-0.1 -0.2 -0.5]'; % Polos deseados K1=acker(A,B,p); k11=K1(1,1:2); k21=K1(1,3);
% Estados de equilibrio para punto2 h1=8*q2^2; h2=4*q2^2; a11=-0.25/sqrt(h1-h2); a12=0.25/sqrt(h1-h2); a21=0.25/sqrt(h1-h2); a22=-0.25/sqrt(h1-h2)-0.25/sqrt(h2); b11=1; b21=0; c=[1 0];
% Matrices linealizadas punto 2 a=[a11 a12;a21 a22];
b=[b11;b21]; c=[1 0];
cero=zeros(length(a),1); A=[a cero;c 0]; B=[b;0]; K2=acker(A,B,p); k12=K2(1,1:2); k22=K2(1,3);
% Estados de equilibrio para punto3 h1=8*q3^2; h2=4*q3^2; a11=-0.25/sqrt(h1-h2); a12=0.25/sqrt(h1-h2); a21=0.25/sqrt(h1-h2); a22=-0.25/sqrt(h1-h2)-0.25/sqrt(h2); b11=1; b21=0; c=[1 0];
% Matrices linealizadas punto 3 a=[a11 a12;a21 a22];
b=[b11;b21]; c=[1 0]; cero=zeros(length(a),1); A=[a cero;c 0]; B=[b;0]; K3=acker(A,B,p); k13=K3(1,1:2); k23=K3(1,3);
% Estados de equilibrio para punto4 h1=8*q4^2;
h2=4*q4^2;
a11=-0.25/sqrt(h1-h2); a12=0.25/sqrt(h1-h2);
a21=0.25/sqrt(h1-h2);
a22=-0.25/sqrt(h1-h2)-0.25/sqrt(h2); b11=1;
b21=0; c=[1 0];
% Matrices linealizadas punto4 a=[a11 a12;a21 a22];
b=[b11;b21]; c=[1 0]; cero=zeros(length(a),1); A=[a cero;c 0]; B=[b;0]; K4=acker(A,B,p); k14=K4(1,1:2); k24=K4(1,3); sim('gananciavar1')
La figura 5.8 muestra el comportamiento del sistema ante cambios en la referencia y la figura 5.9 corresponde al diagrama de bloques en simulink realizado para simular el sistema.
Es una estrategia de control que se basa en la utilización de forma explícita de un modelo del proceso para predecir el valor de las variables controladas a lo largo de un horizonte temporal especificado por el usuario, calculando el valor de las variables manipuladas para hacer que en ese horizonte las variables controladas estén en sus valores de referencia.
Los controladores predictivos calculan los valores de las variables manipuladas en cada periodo de muestreo de acuerdo con los valores de consigna deseados para las variables controladas y las restricciones y condiciones de operación del proceso.