Hablemos del FeedForward en aplicaciones con Servodrives

Fecha de publicación
Cateogría del artículo Motion Control
Visualizaciones del artículo Leído  1131  veces
Tags del artículo

Pere Garriga nos explica  la función del FeedForward de velocidad y del FeedForward de par, así como el efecto que produce en el lazo de regulación de los servodrives

Hablemos del FeedForward  en aplicaciones con Servodrives

En la actualidad todos los servodrives disponen de ganancias de FeedForward en sus lazos de regulación. Pero, al igual que tod@s conocen lo que son los parámetros de ganancia proporcional, integral y derivada de un regulador PID, hay quien no conoce tan bien lo que es el FeedForward.

Este articulo pretende explicar, de forma genérica y lo más gráfica y didáctica posible, la función del FeedForward de velocidad y del FeedForward de par, así como el efecto que produce en el lazo de regulación.

Lo primero, que significa FeedForward

De forma genérica y literal, sería algo así como alimentar hacia adelante, anticiparse. De hecho, en castellano podemos llamar a estos parámetros como ganancias anticipativas. Su nombre ya nos da una pista de su función, que es la de anticiparse para que el error no llegue a producirse y esto aplica a cualquier proceso a controlar, sea temperatura, velocidad, posición, etc.

Para hacernos una mejor idea del concepto “anticipativo”, suele funcionar muy bien el ejemplo del coche y el desnivel de la carretera. Lo que se desea es mantener la velocidad constante en todo momento. Si el conductor mantiene el pedal del acelerador fijo, en el caso de que venga una bajada, la velocidad del vehículo aumentará, tal como muestra el gráfico de la izquierda. En el caso de que venga una subida, la velocidad del vehículo bajará, tal como muestra el gráfico de la derecha.

Pero, si el conductor se anticipa y levanta el pie del acelerador, en el caso de que venga una bajada, la velocidad se mantendrá. Al igual en el caso de que venga una subida, si se anticipa y aprieta el acelerador, la velocidad se mantendrá.

Mejor con un simple ejemplo más relacionado con la automatización

Imaginemos un lazo de regulación de velocidad con un control PID, cuya salida da la referencia de velocidad a un VDF que acciona un motor A.C que dispone de una dinamo taquimétrica para obtener feedback de la velocidad real a la que gira el motor. Tal como se muestra en el siguiente gráfico:

En este caso no se dispone de ganancia anticipativa o FeedForward, por lo que hasta que no se empieza a generar error no hay salida de referencia a la entrada del VDF y el giro del motor estará retrasado respecto a la señal de referencia. Tal como se muestra en el diagrama temporal. Para conseguir una respuesta más “viva” lo único que se puede intentar es aumentar al límite las constantes del PID, el resultado se muestra en el gráfico con las líneas de puntos, pero sacrificando estabilidad y de ninguna forma se conseguirá un error muy cercano a cero.
Para muchísimas aplicaciones esto es más que válido, el ejemplo está pensado para entender el concepto FeedForward de forma genérica.

Por tanto, vamos a ver el funcionamiento de este lazo al añadir la ganancia anticipativa, o FeedForward de velocidad:

En este caso es tan simple como tomar un porcentaje de la señal de referencia de velocidad e inyectarla directamente a la salida, de forma que no hay que esperar a que se genere error para que el motor empiece a girar, la idea es que el VDF
obtiene un % de la referencia de velocidad de forma directa y el PID solo se encarga de asegurar que la velocidad real sea exactamente la misma que la de referencia; De esta forma también las constantes K del PID pueden ser más “bajas” y la regulación más estable. Nótese que un valor muy elevado de FeedForward nunca ara que el lazo entre en oscilación, dado que no considera la realimentación, es un valor constante que se suma a la salida del PID. Lo que se consigue en este caso es llevar el error a “cero” y mejorar la respuesta dinámica a la vez que la estabilidad.

Pero, que ocurre en un lazo de control de posición

Recordemos que el objetivo de este artículo es el de entender lo que hace el FeedForward de velocidad y el FeedForward de par y eso se da en los lazos de control de posición y por tanto en las aplicaciones de control de movimiento.

La referencia que reciben los servodrives en una aplicación de control de movimiento es únicamente un valor de posición, pero el comportamiento dinámico del servomotor vendrá dado por los lazos de velocidad y par.

Veamos los lazos de regulación que intervienen en un control de posición, con el fin de entender que valores necesitamos para poder aplicar ganancias anticipativas y mejorar la dinámica y minimizar el error de seguimiento.

En el gráfico se muestra el lazo de control, algo simplificado, de un servo drive LXM62 de Schneider Electric. Se precisan tres lazos anidados para poder hacer el control de posición, el lazo más interno es el de corriente, luego el de velocidad y el más externo el de posición.

Todo parte del valor de referencia de posición que envía el Motion Profiler a través de un bus de campo síncrono , sea SERCOS III, EtherCat, etc. Este valor de referencia “grueso” -típico cada milisegundo. - entra en el interpolador, que genera nuevos puntos de referencia de posición cada 128 μSeg . Además, calcula la primera derivada de la posición para obtener el valor de velocidad de referencia y la segunda derivada para obtener la aceleración de referencia , que, considerando la inercia de la carga, la relación de reducción y la inercia del motor se convierte en par acelerador . Así, partiendo de la posición de referencia, obtenemos también la velocidad de referencia y el par acelerador para cuando hay cambios en la velocidad.

De forma que ya disponemos de la información necesaria para poder aplicar valores de FeedForward de velocidad y de par. La velocidad de referencia se emplea como FeedForward de velocidad y se envía directamente a la entrada del lazo de control de velocidad, de forma que no hay que esperar a que se genere error de posición para que se inicie el movimiento, aumentando así la respuesta dinámica y dejando que el lazo de posición actúe solo para que la posición real del eje siempre esté perfectamente alineada con la posición de referencia, manteniendo el error de seguimiento al mínimo valor.

Cuando el eje sufre un cambio en su velocidad, acelera o decelera, se precisa un extra de par -par acelerador- para vencer la inercia total de la mecánica accionada. Puesto que se conocen los valores de aceleración y los valores de inercia, resulta fácil calcular el par acelerador (Pacel=ω * J) necesario, siendo este valor el que se suma a la entrada del lazo de corriente -FeedForward de corriente- para evitar que el eje se retrase por culpa de la aceleración. Con esta simple técnica se consigue un seguimiento del eje excelente, con errores muy cercanos a cero.

Si retrocedemos tres décadas solo encontraríamos un parámetro de ganancia proporcional en el lazo de regulación de posición, máximo dos, que se aplicarían en función de la velocidad. En ningún caso se podía “eliminar” el error de seguimiento, por lo que los movimientos de alta dinámica con ejes sincronizados no eran muy aconsejables. En los equipos actuales, con las ganancias anticipativas, que permiten movimientos de alta dinámica con errores de seguimiento insignificantes se pueden realizar todo tipo de aplicaciones por exigentes que sean, siempre y cuando el servomotor esté correctamente dimensionado.

Resumen / conclusión

Las ganancias anticipativas o FeedForward permiten:

1. Mejorar la respuesta dinámica.

2. Reducir el error de seguimiento a valores próximos a cero.

3. Mejorar la estabilidad porque permiten reducir las constantes Kp, Ki.

4. Realizar todo tipo de aplicaciones de ejes sincronizados.

Linkedin Pere Garriga

/blogs-automatizacion/marcas/498-motion-control

Motion Control

Blog dedicado a la introducción en los conceptos de Motion Control (Control de movimiento) en sistemas de automatización




Descargas