Saltar al contenido

IMC Internal Model Control

En esta entrada aprenderas como funciona y como implementar un control por modelo interno (IMC – Internal Model Control) paso a paso.

Antes de comenzar te invito a que veas todas las entradas que tenemos sobre la teoría de control realimentado.

Y que te suscribas al canal de YouTube si deseas seguir aprendiendo más sobre estos temas.

Proceso a Controlar por IMC Internal Model Control

Video en Español

Video em Português

Si tenemos el siguiente proceso al cual se le desea implementar un controlador:

Tanque con Calefactor

El proceso es un tanque que posee una válvula de entrada y otra válvula de salida, en este caso manuales, y al interior del tanque, se tiene una resistencia al cual se le aplica una determinada potencia w para poder calentar el fluido al interior del tanque. El sistema está representado por la siguiente función de transferencia de primer orden:

\tilde{G}(s) = \dfrac{2e^{-2s}}{30s+1}

Consideremos que la dinámica del proceso cualquiera puede ser representado por medio de una función de transferencia cuya representación viene dada por:

y(s)=G(s)u(s)+d

Aquí d representa el efecto de las perturbaciones no medidas en la salida del proceso y (temperatura) y u es la variable manipulada (potencia de la resistencia).

La idea en este proceso es realizar la estructura de control bautizada por Garcia y Morari como Control por Modelo Interno (IMC – Internal Model Control)

IMC – Internal Model Control

El diagrama de bloques del controlador por Modelo Interno (IMC) viene dado por:

IMC - Internal Model Control
IMC – Internal Model Control

Podemos transformar todo el controlador IMC (Internal Model Control) en un controlador equivalente, para poder mostrar el esquema de control de una forma general. Para eso procedemos a manipular los bloques utilizando el álgebra de diagramas de bloques, donde inicialmente transladamos el bloque del modelo del controlador.

Control Equivalente del Controlador por Modelo Interno IMC
Control Equivalente del Controlador por Modelo Interno IMC

El nuevo bloque C_{IMC} obedece a la siguiente función de transferencia:

C_{IMC}=\dfrac{C(s)}{1-C(s)\tilde{G}(s)}

Nuestro diagrama de bloques queda simplificado de la siguiente forma:

Control Equivalente IMC
Control Equivalente IMC

A partir de aquí es muy fácil determinar la relación que existe entre la Salida y La Referencia:

\dfrac{y(s)}{r(s)}=\dfrac{C_{IMC}G}{1+C_{IMC}G}

\dfrac{y(s)}{r(s)}=\dfrac{\dfrac{C(s)}{1-C(s)\tilde{G}(s)}G(s)}{1+\dfrac{C(s)}{1-C(s)\tilde{G}(s)}G(s)}

\dfrac{y(s)}{r(s)}=\dfrac{C(s)G(s)}{1-C(s)\tilde{G}(s)+C(s)G(s)}

De la misma forma es fácil determinar la relación entre la salida y la perturbación:

\dfrac{y(s)}{d(s)}=\dfrac{1}{1+C_{IMC}G}

\dfrac{y(s)}{d(s)}=\dfrac{1}{1+\dfrac{C(s)}{1-C(s)\tilde{G}(s)}G(s)}

\dfrac{y(s)}{d(s)}=\dfrac{1-C(s)\tilde{G}(s)}{1-C(s)\tilde{G}(s)+C(s)G(s)}

Caso el sistema tuviera una perturbación a la entrada del proceso q (perturbación de carga) sería:

\dfrac{y(s)}{q(s)}=\dfrac{G}{1+C_{IMC}G}

\dfrac{y(s)}{q(s)}=\dfrac{G}{1+\dfrac{C(s)}{1-C(s)\tilde{G}(s)}G(s)}

\dfrac{y(s)}{q(s)}=\dfrac{G(s)(1-C(s)\tilde{G}(s))}{1-C(s)\tilde{G}(s)+C(s)G(s)}

Modelo Perfecto en el Control IMC

¿Qué sucede si representamos perfectamente nuestro proceso con el modelo?

G(s) = \tilde{G}(s)

La relación referencia – salida sería:

\dfrac{y(s)}{r(s)}=C(s)G(s)

La relación perturbación – salida sería:

\dfrac{y(s)}{d(s)}=1-C(s)G(s)

Vemos que quedaría en lazo abierto. Es decir que si a nivel práctico nosotros conseguimos modelar «perfectamente» un sistema, NO se necesita de un sistema en Lazo Cerrado.

Es fácil ver aquí, que la ecuación del controlador sería:

C(s) = \dfrac{1}{\tilde{G}(s)}

Retomando el proceso que se desea controlar, veremos que simplemente tomar el inverso de la planta no es factible, porque daría un sistema impropio (numerador mayor al denominador) inclusive, si el proceso tuviera ceros de fase no mínima, el inverso de la planta daría un controlador inestable:

C(s) = \dfrac{30s + 1}{2} Sistema impropio

Ya detallaremos como solucionar este inconveniente. Pero primero, podríamos pensar en involucrar una condición de diseño en el controlador. Suponiendo que se desea que la estructura de control acelere la respuesta de lazo abierto en un 75\%.

De esta forma, el controlador debe cancelar la dinámica lenta de la planta e incluir un nuevo polo (más rápido) que acelere la respuesta del sistema.

El objetivo del lazo cerrado sería dado por la siguiente función de transferencia:

H(s) = \dfrac{e^{-2s}}{7.5s+1}

Note que la función de transferencia anterior es 75\% más rápida que la dinámica en lazo abierto, adicionalmente note que el retardo es imposible quitarlo, dado que es una característica inherente del proceso.

Entonces si la estructura de control IMC es:

\dfrac{y(s)}{r(s)}=C(s)G(s)

es claro ver que el controlador viene dado por:

C(s) = \dfrac{30s + 1}{2(7.5s+1)}

Dado que así conseguiría llegar a mi objetivo:

\dfrac{y(s)}{r(s)}=\dfrac{30s + 1}{2(7.5s+1)}\dfrac{2e^{-2s}}{30s+1}=\dfrac{e^{-2s}}{7.5s+1}

Efecto Acción Integradora

Esto demuestra que el controlador IMC es un control que posee una acción integradora, dado que no presenta error en estado estable (offset). Formulemos esta característica matemáticamente:

\underset{s\rightarrow 0}{\rm lim}\ C(s)=\dfrac{1}{\tilde{G}(0)}

Por lo tanto, siempre que la ganancia en estado estacionario del controlador sea la misma que el recíproco de la ganancia de el modelo de proceso, la estructura IMC garantiza un control sin compensación.

\dfrac{y}{r}=C(0)G(0)=\dfrac{1}{\tilde{G}(0)}G(0)=1

Otra forma de verlo, es tomando por ejemplo el controlador del sistema de calefacción y sustituirlo en la ecuación de C_{IMC}:

C_{IMC}=\dfrac{C(s)}{1-C(s)\tilde{G}(s)}

C_{IMC}=\dfrac{\dfrac{30s + 1}{2(7.5s+1)}}{1-\dfrac{e^{-2s}}{7.5s+1}}

C_{IMC}=\dfrac{30s + 1}{2(7s+1-e^{-2s})}

\underset{s\rightarrow 0}{\rm lim}\ C_{IMC}=\dfrac{30s + 1}{2(7s+1-e^{-2s})}

Del limite anterior se puede evidenciar que el denominador del controlador se vuelve cero en el estado estacionario, lo que nos da un control con ganancia «infinita» eliminando así todos los errores de offset y de perturbaciones del tipo escalón que entren en el sistema.

Procedimiento del IMC

Retomando el tema del controlador IMC, vamos a ver su formulación convencional, para eso realizaremos un procedimiento de 3 pasos.

1) El proceso deberá ser separado en dos partes:

\tilde{G}(s)=\tilde{G}_+\tilde{G}_-

donde \tilde{G}_+ contiene todos los términos no invertibles (retardos de tiempo, ceros de fase no mínima), con una ganancia de estado estable de 1, con \tilde{G}_- como la parte invertible restante.

\tilde{G}_+ = e^{-2s}

\tilde{G}_- = \dfrac{2}{30s+1}

2) Si partimos del controlador del sistema de temperatura vemos que:

C(s) = \dfrac{30s + 1}{2(7.5s+1)}=\dfrac{30s + 1}{2}\dfrac{1}{7.5s+1}=\dfrac{1}{\tilde{G}_-(s)}f(s)

El controlador dado que es el inverso de la planta, se multiplica por un filtro f(s) para solucionar los problemas de presentar sistemas impropios o inestables.

La formulación del filtro usualmente se usa como:

f(s) = \dfrac{1}{(\lambda s+1)^n}

con los parámetros \lambda y n elegidos para garantizar que C(s) sea adecuado.

3) Caso sea necesário, el control IMC puede convertirse en un control equivalente para efectos de implementación.

Control IMC en Simulink

A continuación puedes descargar el esquema del Internal Model Control IMC, o control por modelo interno implementado en Matlab/Simulink, que es el mismo mostrado en el video.

Antes que nada, te invito a que te unas a nuestro curso de Simulink desde Cero para que te vuelvas un experto en este software.

Bibliografía

  • Garcia, C. E. and M. Morari, «Internal Model Control: 1-A Unifying Review and Some New Results,» Ind. Eng. Chern. Proc. Res. Dev., 21, 308 (1982)
  • Babatunde A. Ogunnaike, W. Harmon Ray, “Process Dynamics, Modeling, and Control”, Oxford University Press, USA (1994)