Saltar al contenido

Control FeedForward o Control Anticipativo

Hola controleros y controleras, bienvenidos a otra entrada de la pagina WEB donde voy a explicarte en detalle en que consiste el Control FeedForward, cual es su principio de funcionamiento, como calcularlo y haremos un ejemplo de implementación el cual encontrarás al final de este post.

Este tipo de estructura de control es muy importante y muy utilizada en la industria, junto con la estructura de control conocida como 👉 Control en Cascada.

Antes de comenzar te hago la invitación para que 👉 Visites el Curso de Control Realimentado.

Control FeedForward

Video en Español

Video em Português

La idea del control por Feedforward es crear un controlador auxiliar en el lazo cerrado de control que permita atenuar o eliminar el ingreso de perturbaciones medidas o conocidas al lazo de control, es por eso que se llama control anticipativo, porque trata de anticiparce a las perturbaciones que van a afectar mi sistema.

Para que puedas entender adecuadamente este control, debes tener muy claro los conceptos sobre que es un Sistema de Control de Bucle Abierto y Bucle Cerrado 👈

Funcionamiento del Control FeedForward

Primero se mide alguna variable que afecta la salida controlada (perturbación) y se crea un camino alternativo de la señal para intentar compensar el efecto que esta causa. Este camino es a través del control feedforward presentado en la siguiente figura y como puede apreciarse el control feedforward o control anticipativo es un control ede lazo abierto.

Control FeedForward

En resumen, podemos aplicar un control FeedForward siempre y cuando se pueda medir la perturbación que va a entrar al proceso. Veamos como se representa esto en diagrama de bloques.

feedforward

Con la adición del Control FeedForward tenemos dos caminos por donde va a pasar nuestra perturbación, y la idea entonces es anticiparnos al camino rojo que pasa por Gq(s) por medio del camino rojo que pasa por Ca(s). Matematicamente desarrollando el algebra de bloques.

y(s)=G_u(s)U(s)+G_q(s)Q(s)

CONTROL

U(s)=C_a(s)Q(s)+U_r
y(s)=G_u(s)[C_a(s)Q(s)+U_r]+G_q(s)Q(s)

Como tenemos un sistema Lineal dinamico, podemos aplicar el teorema de superposición, donde la suma de las entradas me va a dar la salida.

En este caso tengo dos entradas que son Ur(s) y Q(s) y una salida que es Y(s). Entonces voy a colocar la entrada Ur(s) en cero, y como yo NO quiero que la perturbación Q(s) llegue hasta la salida, voy a colocar Y(s) también en cero. Y de esta manera voy a encontrar que termino de Ca(s) hace que dicha perturbación no llegue a la salida.

0=G_u(s)C_a(s)Q(s)+0+G_q(s)Q(s)
G_u(s)C_a(s)Q(s)=-G_q(s)Q(s)
C_a(s)=\frac{-G_q(s)}{G_u(s)}

De esta manera tenemos dos formas de sintonizar el controlador FeedForward

Estático: Solamente se considera las ganancias de cada camino

Dinámico: Considera las constantes de tiempo.

Control Proporcional

C_a(s)=\frac{-K_q}{K_u}

Filtro de Primer orden

C_a(s)=\frac{-K_q (T_u s+1)}{K_u (T_q s+1)}
Control FeedForward

La estrategia de FeedForward control junto con el control por realimentación se presenta en la siguiente figura.

Control FeedForward

A continuación te dejo el video donde te explico todo detalladamente y en la parte final del video te explico el ejemplo, te explico el código hecho en matlab y sobre la simulación. Recuerda suscribirte al canal para que recibas todas mis actualizaciones.

Contestualización del control FeedForward

Para dejar totalmente claro el funcionamiento de esta estructura de control el cual podremos usarlo en conjunto con la estructura de control en cascada explicado en otro post, vamos a abordar un ejemplo claro para entender el concepto de FeedForward control de procesos el cual está representado por el siguiente esquema y explicado a continuación:

Control FeedForward

En la figura anterior, tenemos un ejemplo práctico donde podemos emplear un controlador FeedForward o Anticipativo. La figura representa un proceso de calentamiento de agua, por medio medio de la combustión de una llama, que es regulada por una válvula de gas (V2) y una válvula de aire manual (V1). Nuestro control principal o por realimentación (TC) se encarga de controlar la temperatura por medio de la valvula (V2), pero si analizamos este proceso, la entrada de agua fría va a perturbar nuestra variable controlada, por eso, si adicionamos un sensor de temperatura en la entrada de agua, nuestro controlador va poder saber lo que sucede en la entrada y se va a anticipar a la perturbación que va a ingresar a nuestro proceso, conformando así, un controlador por FeedForward.

Ejemplo del Calentador

Diseñar un controlador FeedForward para el caso del calentador de agua, usando el diagrama de bloques combinando las dos acciones, la accion de realimentación y la acción anticipativa.

Modelo de la Temperatura de salida

G_u(s)=\frac{1.45}{(4.5s+1)}

Modelo de la temperatura de entrada

G_q(s)=\frac{1}{(3.5s+1)}

Control Anticipativo constante

C_a(s)=\frac{-1}{1.45}

Control Anticipativo de orden 1

C_a(s)=\frac{-(4.5s+1)}{1.45(3.5s+1)}

A continuación les dejo todo el código de MATLAB para que ustedes mismos puedan simular el ejemplo desde su propio computador, donde esta la solución de este ejemplo. Adicional a eso les voy a dejar el diagrama en Simulink para que lo descarguen. Recuerda que para accesar a esta información solo tienes que compartir en redes sociales al contenido de este post con alguno de los botones de abajo.

%% Control FeedForward
%Por Sergio Andres Castaño
% controlautomaticoeducacion.com
%_________________________________________________________

%Modelo de la Temperatura de salida
Gu=tf(1.45,[4.5 1]);
%Modelo de la temperatura de entrada
Gq=tf(1,[3.5 1]);
%Control Anticipativo constante
Ca1=tf(-1,1.45);
%Control Anticipativo de orden 1
Ca2=tf(-[4.5 1],1.45*[3.5 1]);

%% Control por Realimentacion
%Control simple PI por cancelación de polos
Ti=4.5; %Coloca el TI igual al tao de la planta

Tr=4.5/3; %Tr es la velocidad que deseo para mi lazo de control, lo escojo 3 veces m
              %mas rapido que el lazo abierto
              
Kc=Ti/(1.45*Tr); %Encuentro Kc

C=tf(Kc*[Ti 1],[Ti 0]); %Control PI

Perfecto controleros y controleras, llegamos al final de nuestra clase de FeedForward Control de procesos, espero hayan entendido esta importante estructura de control tan utilizada en la industria para el rechazo de perturbaciones.

Si te ha gustado el contenido de este post y del Video, podrías invitarme a un café y ayudarme a mantener este sitio WEB en pie para seguir aportando más contenido útil y de calidad, un café es muy barato.
👉 Invitar a un Café a Sergio ☕️

Bueno amigos, me despido de ustedes, nos vemos en una próxima oportunidad. Que tengan un excelente Día.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Comentarios (10)

Buenas tardes, me surgió la duda de dónde salen las funciones de Transferencia del ejemplo del calentador del agua. Sería de gran interés para mí cuál fue el método de obtención de dichas funciones. Excelente explicación, muchas gracias.

Responder

Buen día, tengo una pregunta, si es posible que esta implementación del sistema de calentador de agua, es posible que lo pueda realizar en un circuito electrónico, ya sea en un simulador proteus o etc.

Responder

exelente video, gracias

Responder

hola, donde puedo descargar el diagrama en SIMULINK

Responder

Hola Filiberto, he colocado los archivos para descarga. Saludos.

Responder

MUCHAS GRACIAS PROFESOR

Responder

muy buen aporte gracias

Responder

Hola. Solo me quedo una duda del video. En si que es el modelo de perturbacion? Pensaba que es una aproximación matemática de la perturbación, pero si es asi entonces no veo que es la Q

Responder

Hola que tal, interesante tu vídeo y explicación, trabajo también en control de procesos y tengo una duda, por ejemplo, en Simulink únicamente usaste un solo controlador feedforward, pero en los diagramas de bloques que siempre encuentro de feedforward hay dos controladores, el clásico con retroalimentación y en la parte de arriba el feedforward como si fuera un controlador únicamente para las perturbaciones. Mi duda es si necesito dos controladores o solo uno donde se esté tomando en cuenta el efecto feedforward. Gracias

Responder

Hola Jorge, gracias por visitar la pagina. Mira en el ejemplo del Simulink, comienzo explicando únicamente con el Controlador anticipativo (FeedForward), simplemente para ver su efecto (Este control está en malla abierta), pero si terminas de ver el video, te darás cuenta que después coloco el control por realimentación (En lazo Cerrado), la mejor estrategia de control es usar los dos controladores. Es decir vas a necesitar los 2 controladores. Industrialmente venden controladores que tienen integrado el control feedforward. Para efectos de simulación, debes colocar ambos controladores como está explicado al final del video. Saludos.

Responder