Está en la página 1de 39

1.

MODELE Y SIMULE EN MATLAB: UN PROCESO INDUSTRIAL DE SU


ELECCIÓN

a) Estrategias de control cascada con Antiwindup. Reportando en un HMI /


SCADA en la misma PC.

b) Estrategia de control predictivo con Antiwindup. Reportando en un HMI /


SCADA. En la misma PC.

c) Adicionalmente, los algoritmos de las estrategias deben ser realizadas en Z


y Tk, como si fueran a implementadas en un Arduino.

Solución al inciso a.
Ejercicio de aplicación:
Se considera el proceso de regeneración catalítica que aparece en la figura 1. En
este proceso, como su nombre lo indica, se regenera el catalizador de un reactor
químico. El catalizador se utiliza en un reactor donde se deshidrogena un
hidrocarburo; después de un cierto período, el carbón (C) se deposita sobre el
catalizador y lo contamina; cuando esto ocurre, el catalizador pierde su actividad y
se debe regenerar. La etapa de regeneración consiste en quemar el carbón que se
deposita, para lo cual se sopla aire caliente sobre la capa de catalizador; el oxígeno
del aire reacciona con el carbón para formar CO2:
c + O2CO 2

Después de que se quema todo el carbón, el catalizador queda listo para ser
utilizado nuevamente. Éste es un proceso por lotes, sin embargo, la quema del
carbón puede tardar varias horas.
Figura 1. Sistema de regeneración de catalizador con control simple por retroalimentación

Durante el proceso de regeneración del catalizador una variable importante que se


debe controlar es la temperatura de la capa de catalizador, TC. Con una
temperatura muy alta se pueden destruir las propiedades del catalizador; por el
contrario, con una temperatura baja el tiempo de combustión resulta largo. La
temperatura de la capa se controla mediante el flujo de combustible que llega al
calentador de aire (un horno pequeño), como se muestra en la figura 1; por razones
de simplificación no se muestran los controles de la razón aire/combustible, y por lo
mismo sólo se muestra un sensor de temperatura, aunque en la práctica se utilice
como variable controlada un promedio de temperatura o la temperatura más alta en
la capa. A pesar de que el esquema de control mostrado en la figura 1 funciona, se
debe reconocer que existen varios retardos de sistema en serie. En el calentador
mismo se presentan retardos tales como los de la cámara de combustión y los de
los tubos. En el regenerador puede haber una cantidad significativa de retardos en
función del volumen y las propiedades del catalizador. Todos estos retardos del
sistema dan lugar a un circuito de control por retroalimentación lento (constantes de
tiempo grandes y tiempo muerto). Si se supone que al calentador entra una
perturbación tal como un cambio en la temperatura del aire que entra o un cambio
en la eficiencia de la combustión, la temperatura con que sale el aire del calentador,
TH, se afecta con cualquiera de estas perturbaciones. Al haber un cambio en TH,
eventualmente se tiene como resultado un cambio en la temperatura de la capa del
catalizador. Con tantos retardos en el sistema, transcurre un tiempo considerable
para que en el circuito de control se detecte un cambio en Tc. A causa de dichos
retardos, en el circuito simple de control de temperatura se tenderá a sobre
compensar, de lo cual resulta un control ineficiente, cíclico y en general lento. Un
mejor método o estrategia de control es aplicar un sistema de control en cascada,
como el que se muestra en la figura 2. En este esquema de control se mide la
temperatura TH y se utiliza como una variable controlada intermedia; por lo tanto, el
sistema consta de dos sensores, dos transmisores, dos controladores y un elemento
final de control; de esta instrumentación resultan dos circuitos de control. Con uno
de ellos se controla la temperatura con que sale el aire del calentador, TH; con el
otro se controla la temperatura de la capa de catalizador, Tc. De las dos variables
controladas, la temperatura de la capa de catalizador es la más importante; la
temperatura de salida del calentador sólo se utiliza como una variable para
satisfacer los requerimientos de temperatura de la capa de catalizador. . .
La forma en que funciona este esquema es la siguiente: con el controlador TIC101
se supervisa la temperatura de la capa de catalizador, Tc; y se decide la forma de
manejar la temperatura de salida del calentador, TH, para mantener TC en el punto
de control. Esta decisión se envía al controlador TIC 102 en forma de un punto de
control; este controlador manipula entonces el flujo de combustible para mantener
TH en el valor requerido por TIC101. Si en el calentador se introduce alguna de las
perturbaciones que se mencionaron anteriormente, TH se desvía del punto de
control y se inicia una acción correctiva en el controlador TIC102, antes de que
cambie Tc. Lo que se hace es dividir el retardo total del sistema en dos, para
compensar las perturbaciones antes de que se afecte a la variable controlada
primaria.

Figura 2. Sistema para regenerar un catalizador -control en cascada.


En general, el controlador con que se controla a la variable controlada principal,
TIC101 en este caso, se conoce como controlador maestro, controlador externo o
controlador principal. Al controlador con que se controla a la variable controlada
secundaria generalmente se le conoce como controlador esclavo, controlador
interno o controlador secundario. Comúnmente se prefiere la terminología de
primario y secundario, porque para sistemas con más de dos circuitos en cascada
la extensión se hace de manera natural. La consideración más importante al diseñar
un sistema de control en cascada es que el circuito interno o secundario debe ser
más rápido que el externo o primario, lo cual es un requisito lógico. Esta
consideración se puede extender a cualquier cantidad de circuitos en cascada; en
un sistema con tres circuitos en cascada, el circuito terciario debe ser más rápido
que el secundario, y éste debe ser más rápido que el primario. Ahora se estudiará
la representación en diagrama de bloques de un sistema de control en cascada, lo
cual ayudará a entender más esta estrategia tan importante. En la figura 3 se
muestra la representación en diagrama de bloques para el circuito de control por
retroalimentación que se ilustra en la figura1; se eligieron funciones de transferencia
simples para representar al sistema. En la figura 5 aparece el diagrama de bloques
del sistema en cascada que se ilustra en la figura 2.

Figura 3. Diagrama de bloques del sistema

En la figura 3observamos dos subsistemas que contienen el calentador y el


generador, los cuales están conformados de la forma en que se muestra en la figura
4.
Figura 4. Función de trasferencia que componen el calentador y el generador

Figura 5. Diagrama de bloques del sistema de la figura 2.

Los valores de las variables del sistema son las siguientes:

kv=2.8; k1=1.2; k2=1; k3=0.9;


tv=0.3; t1=2.7; t2=1.1; t3=2;
t4=3.7; t5=1; kt1=0.6; kt2=0.6;

Después de tener claro el proceso regeneración catalítica que aparece en la figura


1 procederemos a calcular el controlador en cascada con Anti-Windup para mejorar
en tiempo de respuesta en el proceso de la regeneración catalítica.

Control interno
Primero identificamos el subsistema secundario en lazo abierto para poder
sintonizar un controlador.
Perturbamos el sistema con dos escalones con los siguientes valores:
Figura 6. Escalones para la identificación

Diagrama de bloque de identificación:

Figura 7. Lazo abierto para la identificación

Obtenemos la siguiente salida:


Figura 8. Salida del sistema en lazo abierto.

Ganancia del sistema:


22.18 − 20.16
𝐾= = 2.02
11 − 10

Se procede a hallar los tiempos t1 y 12:

*𝑡1(𝐴) = 0.283 ∗ 2.02 = 0.57166

𝑡1 = (52.180 − 50)𝑠

𝑡1 = 2.180 𝑠
*𝑡2(𝐴) = 0.638 ∗ 2.02 = 1.28876

𝑡2 = (54.388 − 50) 𝑠

𝑡2 = 4.388𝑠

Para hallar 𝜏 tenemos:


3
𝜏 = (𝑡2 − 𝑡1)
2
3
𝜏 = (4.388 − 2.180)
2
𝜏 = 3.312

Para tiempo muerto:


𝑡𝑜 = 𝑡2 − 𝜏
𝑡𝑜 = 1.076

Para hallar Kc,Ki se tiene:


0.9 𝑡𝑜
𝐾𝑐 = ×
𝑘 𝜏
0.9 3.312
𝐾𝑐 = ×
2.02 1.076
𝐾𝑐 = 1.371415952
𝑇𝑖 = 3. 𝑡𝑜
𝑇𝑖 = 3.228

Evaluando Kp, Ki obtenemos:

𝐾𝑝 = 𝐾𝑐 = 1.371415952
𝐾𝑝
𝐾𝑖 =
𝑇𝑖
𝐾𝑖 = 0.4248500471

Controlador secundario sin Anti-Windup

Figura 9. Lazo de control interno sin ANTI-WINDUD


El limitador que encontramos en la figura 9. Se ha utilizado con el valor estándar
de 4-20 mA dado a que estamos trabajando sobre una planta existente, una planta
real de un proceso de industrial.

Obtenemos la siguiente salida de la figura 9.

Figura 10. Respuesta del Lazo de control secundario sin ANTI-WINDUP con un Set-point de 14, 7 y uno de 10

Observamos en la figura 10 que no llega al Set-point de 7 porque entra en zona de


corte. También observamos la respuesta del proceso cuando el controlador está sin
ANTI-WINDUP. Teniendo en cuenta que los Set-point están en el tiempo 0, 40 y 60.
Vemos que en el tiempo 40 tenemos una buena respuesta, pero si observamos en
el tiempo 60 no hay cambio sino hasta el segundo 78. A continuación, analizaremos
porqué la demora al responder ante dicho Set-point.
Señal de mando del controlador.

Figura 11. Respuesta del controlador sin ANTI-WINDUP antes y después del limitador

Implementación de ANTIWINDUP al controlador interno calculado

Si nos vamos a la figura anterior (figura 11), la señal del controlador tarda mucho
tiempo en zona de corte y en zona de saturación teniendo grandes problemas al
responder ante un cambio de Set-point como observamos en la figura 10. Para
poder disminuir este problema causado por el limitador, debemos implementar un
ANTI-WINDUP de la siguiente forma.

Figura 12. Lazo cerrado de control secundario con ANTI-WINDUP


Obtenemos la siguiente salida de la figura 12.

Figura 13. Respuesta del Lazo cerrado de control secundario con ANTI-WINDUP un Set-point de 14, 7 y uno de 10

Señal de mando del controlador.

Figura 14. Respuesta del controlador con ANTI-WINDUP antes y después del limitador.
Evaluación de los controladores internos con y sin ANTI-WINDUP

Figura 15. Comparación de las respuestas de los Lazos de control secundario con y sin ANTI-WINDUP un Set-point de 14,
7 y uno de 10

Figura 16. Comparación de las respuestas de los controladores con y sin ANTI-WINDUP antes y después del limitador
SINTONIZACION DEL CONTROLADOR PRIMARIO

Después de haber sintonizado el controlador secundario pasamos a sintonizar el


controlador primario de la siguiente forma.

Se perturba el sistema con un escalón de 10 en el instante 0seg, luego se le adiciona


un escalón de 1 en el segundo 50:

Figura 17. Escalones para la identificación

Diagrama de bloque de identificación:

Figura 18. Lazo abierto para la identificación


Obtenemos la siguiente salida:

Figura 19. Salida del sistema en lazo abierto.

Ganancia del sistema:

5.94 − 5.4
𝐾= = 0.54
11 − 10

Se procede a hallar los tiempos t1 y 12:

*𝑡1(𝐴) = 0.283 ∗ 0.54 = 0.15282


𝑡1 = (53.661 − 50)𝑠

𝑡1 = 3.661𝑠
*𝑡2(𝐴) = 0.638 ∗ 0.54 = 0.34452

𝑡2 = (55.735 − 50) 𝑠
𝑡2 = 5.735𝑠

Para hallar 𝜏 tenemos:


3
𝜏 = (𝑡2 − 𝑡1)
2
3
𝜏 = (5.735 − 3.661)
2
𝜏 = 3.111

Para tiempo muerto:

𝑡0 = 𝑡2 − 𝜏
𝑡𝑜 = 2.624

Para hallar Kc, Ki se tiene:

0.9 𝑡0
𝐾𝑐 = ×
𝑘 𝜏
0.9 3.111
𝐾𝑐 = ×
0.54 2.624
𝐾𝑐 = 1.975990854
𝑇𝑖 = 3. 𝑡𝑜
𝑇𝑖 = 7.872

Evaluando Kp, Ki obtenemos:

𝐾𝑝 = 𝐾𝑐 = 1.975990854
𝐾𝑝
𝐾𝑖 =
𝑇𝑖
𝐾𝑖 = 0.2510150983
CONTROLADOR PRIMARIO SIN ANTI-WINDUP

Se somete el controlador en cascada a un set-point de 20, luego se baja 4 después


de 70 segundos y por último se suba a 8 en el segundo 100.

Figura 20. Respuesta del Lazo de control interno sin ANTI-WINDUP un Set-point de 20, uno de 4 y uno de 8
Figura 21.Respuesta del controlador interno con ANTI-WINDUP antes y después del limitador

Podemos observar en la figura 21 que la señal de mando entra a una zona de


saturación y de corte algo elevada, por esta razón implementaremos el sistema
ANTI-WINDUP para lograr una mejora en la señal de control
Implementación de ANTIWINDUP al controlador externo calculado
Para mejorar el comportamiento del control cuando entra a la zona de saturación o
la zona de corte implementamos el sistema Anti-Windup.

Figura 22. Lazo de control primario con ANTI-WINDUP

De la figura 22. Logramos la siguiente respuesta:

Figura 23. Respuesta del Lazo de control interno con ANTI-WINDUP un Set-point de 20, uno de 4 y uno de 8
Figura 24. Respuesta del controlador externo con ANTI-WINDUP antes y después del limitador
Evaluación de los controladores primario con y sin ANTI-WINDUP

Figura 25.Comparación de las respuestas de los Lazos de control primario con y sin ANTI-WINDUP un Set-point de 20, uno
de 4 y uno de 8

Figura 26. Comparación de las respuestas de los controladores con y sin ANTI-WINDUP antes y después del limitador
Evaluación de los controladores internos con ante perturbación

Figura 27.Lazo de control primario con ANTI-WINDUP y perturbación

Figura 28. Respuesta del control en cascada ante una perturbación.


Figura 29. Respuesta del controlador primario con ANTI-WINDUP antes y después del limitador con perturbación.
ANALISIS DE RESULTADOS

 El sistema Anti-Windup es muy importante porque ayuda a mantener la señal


de mando cerca de la zona de corte o de saturación cuando se llega al límite
como observamos en la figura 24 a diferencia de la señal de control en un
controlador sin sistema Anti-Windup que llega a alejarse mucho de los rangos
de corte y saturación como se observa en la figura 21.

 Al implementar el controlador en cascada volvemos el proceso robusto ante


perturbaciones como lo podemos ver en la figura 27 donde se añade al
diagrama en bloque la perturbación y su buena respuesta ante este problema
lo observamos en la figura 28 logrando observar como el controlador hace
muy bien su trabajo disminuyendo y controlando bien la perturbación.
Solución al inciso b.

Ejercicio con estrategia de control predictivo:

Para este ejercicio usaremos el mismo ejemplo del punto anterior, sólo que le
añadiremos un tiempo muerto considerablemente grande para poder aplicarle el
control predictivo.
Primero observemos que el control que está actuando en el sistema funciona
correctamente antes de agregarle el tiempo muerto. Usando un set-point de 20.

Figura 30.lazo cerrado de control en cascada

Dando nos una respuesta como se observa en la figura 31.


Figura 31. Respuesta del control en cascada

El tao de nuestro sistema es de 3.111 segundos, le aplicaremos un tiempo muerto


de 10 segundos para ver su comportamiento ante dicha problemática.

Figura 32. Sistema a tratar con la estrategia de control predictivo.

Le añadimos el controlador primario al control en cascada y adicionamos el tiempo


muerto de 10s
Figura 33. Control en cascada con tiempo muerto de 10s

Obteniendo la siguiente respuesta:

Figura 34.Respuesta del control en cascada con tiempo muerto adicional

Procedemos a implementar la estrategia de control predictivo quedando el diagrama


en bloque de la siguiente forma:

Figura 35. Diagrama en bloques de la estrategia de control predictivo


Con la función G(s) igual a la función Gm(s) y el 𝑒 −𝑡𝑜𝑠 igual a 𝑒 −𝑡𝑜𝑚𝑠 dando un
resultado como se observa en la figura 36.

Figura 36. Respuesta del controla predictivo

Y resultando un residuo (n(s)) de 0


Figura 37.Residuo de la función G(s)* 𝑒−𝑡𝑜𝑠 y Gm(s)* 𝑒 −𝑡𝑜𝑚𝑠

Pero hay que tener en cuenta que las identificaciones no son perfectas, entonces
cambiaremos parámetros de la función de transferencia Gm(s) y del 𝑒 −𝑡𝑜𝑚𝑠 para ver
su comportamiento ante esta diferencia.

Figura 38. Control predictivo con diferencia en las funciones Gm(s), G(s) y en el tiempo muerto
Figura 39. Respuesta del controla predictivo con cambios en las funciones de transferencia

Figura 40. Residuo de la función G(s)* 𝑒−𝑡𝑜𝑠 y Gm(s)* 𝑒 −𝑡𝑜𝑚𝑠


ANALISIS DE RESULTADOS

 En la figura 31 observamos la respuesta del controlador en cascada del


diagrama en bloques de la figura 30, pero cuando se le añade un tiempo
muerto grande como se observa en la figura 33 el controlador deja de cumplir
su función, en este caso llevando al proceso más arriba del set-point aplicado
como podemos ver en la figura 34.

 Al implementar el controlador inferencial la respuesta del sistema mejoró en


gran medida como se observa en la figura 36, sin importar de que el tiempo
muerto aplicado fuese más que el doble del tao del sistema.

 Sin importar que la función de transferencia G(s), Gm(s), el t0 y el t0m tengan


diferencias la estrategia de control inferencial funciona muy bien como se
observa en la figura 40.
C . Realizar los algoritmos en z y tk para las estrategias de control anteriores como si se
fuesen a implementar en Arduino.

control en cascada con perturbación en el plano z


Para realizar el algoritmo de control en el plano z e implementar en el arduino se utilizará
la ecuación recursiva de la transformada bilineal de la siguiente forma:
2 𝑧−1
𝑠= [ ]
𝑇𝑠 𝑧 + 1

Como a la implementación del algoritmo se hará en plano z se basará en que la señal de


salida ira al arduino y directamente a la planta entonces dicha planta que incluye el
Calentador y Generador tendrán un comportamiento intrínseco propio de su diseño a lo
cual no se le aplicara la transformada z, por consecuente nos queda aplicar el método de
transformada bilineal por ecuación recursiva al algoritmo de control.
La primera estrategia a analizar es el control en cascada con perturbación de la figura 27 el
cual su respuesta de control es muy buena frente a perturbaciones como se observa en la
figura 28.
El primero en analizarse es el bloque de control primario del control en cascada

Figura 30. Bloque de control externo

El tiempo de muestreo para la simulación se usó de 0.1 segundos y reemplazamos el valor


de s.
2 𝑧−1
𝑠= [ ]
0.1 𝑧 + 1
Para la simulación se hizo utilizó del bloque Discrete-Time Integrator:
Figura 1 bloque Discrete-Time Integrator

Las siguientes condiciones:

Figura 2 características del bloque integrador discreto.

Quedando de la siguiente forma:


Figura 3control externo en z

Análogamente para el control interno de nuestro control en cascada tenemos:

Figura 4. bloque de control interno.

Reemplazamos el valor de s
2 𝑧−1
𝑠= [ ]
0.1 𝑧 + 1
Que dando de la siguiente forma:
Figura 5 control interno con integrador discreto.

Una vez hecho esto procedemos a hallar las funciones de transferencia en z la planta por
medio de un código elaborado en el software Matlab obteniendo así la siguiente función:
syms s t z
clc
Gs=(kv)/(tv*s+1); %PLANTA
Gt=ilaplace(Gs); % transformada inversa
Gz=ztrans(Gt) %PLANTA EN Z
pretty(Gz) %se visualiza la transformada z
28 z

----------------------------------------------

/ / 10 \ \

| z - exp | - -- | |3

\ \ 3 / /

El diagrama de bloques queda de la siguiente forma:


Figura 6 Diagrama de bloques de control en cascada en el plano z

La respuesta incluyendo la perturbación ingresada anteriormente es la siguiente:

Figura 7 Respuesta de la estrategia de control en el plano z

Se observa que la respuesta en z es mejor que en el plano s ya que no presento sobre


impulso y la respuesta a la perturbación fue mucho más efectiva ya que no se nota cambios
en el estado estable como se muestra en la figura 7
Procedemos a realizar la comparativa entre el plano s y el plano z:
Figura 8 Diagrama de bloques comparativo entre el plano s y z de la estrategia de control

Figura 9 respuesta de las dos estrategia de control en el plano s y Z


Estrategia de control predictivo con Antiwindup en el plano Z
Para la estrategia de control predictivo con Antiwindup del enciso 2 tenemos:

Figura 10. Control externo del control por cascada con Antiwindup

El tiempo de muestreo para la simulación se usó de 0.1 segundos y reemplazamos el valor


de s.
2 𝑧−1
𝑠= [ ]
0.1 𝑧 + 1
Y obtenemos el siguiente diagrama de control externo en z

Figura 11 Control externo del control por cascada con Antiwindup en z.

Análogamente para los controladores internos de los subsistemas siguiente:


Figura 12 Bloques subsistema de control interno

La respuesta obtenida es la siguiente:

Figura 13 Respuesta de la estrategia de control en el plano z

A continuación, se realiza la comparativa de la respuesta en el plano s y en el plano z:


Figura 14 Diagrama de bloques comparativo ente el plano s y Z

Figura 15 Respuesta de la estrategia de control en el plano s t Z con diferente escalón.