Para poder controlar la posición de un servoactuador, se acostumbra a realizar una regulación de tres lazos en cascada (tipo PI) (existen otros algoritmos más complejos, pero en la práctica no son necesariamente mejores).
Los controles tipo PI se basan en una reacción del controlador proporcional al error (diferencia entre consigna y valor real del motor).
En infoplc.net hay un blog dedicado a regulación, por lo que me imagino que allí estará mejor detallado como funciona un control PID, por lo que voy a ser conciso… resumiendo:
PI+D (Control basado en Feedback) y FeedForward:
El termino P (proporcional) está relacionado con una acción proporcional al error y tiene un efecto inmediato en la respuesta, al aumentar este término, el sistema se vuelve más ‘vivo’, si nos pasamos con la ganancia… el sistema oscilará… (demasiado ‘vivo’). Una analogía mecánica sería la constante ‘K’ de un muelle, cuanto más fuerte sea el muelle (K más alta), más brusca será su respuesta. A su vez.. cuanto mayor sea el ‘error’ (cuanto más lejos esté de su posición de reposo) mayor será la fuerza que hará el muelle.
Todos hemos tenido la experiencia con un muelle, de que para posiciones muy cercanas a su posición de reposo el muelle ‘no recupera’, esto se debe a que la fuerza es proporcional a la elongación del muelle y, podría darse el caso de que para posiciones muy cercanas a la de reposo no fuera suficiente para vencer el rozamiento que p.e. pueda tener la carga
Esta es una característica común a todos los controles proporcionales, acostumbran a estabilizarse ‘cerca’ de la posición comandada pero tienen un pequeño error residual que no consiguen recuperar (ya que al hacerse pequeño el error… el efecto de la constante de proporcionalidad Kp, es despreciable.
El termino I (integral), es una constante proporcional al error acumulado, y tiene como objetivo eliminar el error residual de un control proporcional. Un control P+I (proporcional + Integral) teóricamente logrará el objetivo de que el error sea nulo, el problema… en ocasiones es que el efecto integral es demasiado lento.
Para aumentar el ritmo de ‘correción’ del error es posible añadir un término proporcional a la variación del error ( D), de este modo tenemos un control PID. El efecto ‘Derivativo’ intenta anticiparse al error, operando en función de su derivada temporal.
Complementando los algoritmos PI+D (que se basan en un valor de realimentación (FeedBack)), existen otras estrategias, que no necesitan Feedback, y que son compatibles con el hecho de utilizar un control con realimentación.
FeedForward (Pro-alimentación (vaya nombre más feo…, aunque ahora lo haya puesto de moda una serie de televisión…), se basa en sumar a la consigna una ‘pro-alimentación’ proporcional a la consigna… si queremos que la locomotora corra más… pues… quememos ‘más madera!’. En el caso de los servos… lo que se hace es sumar al resultado del PI un ‘empuje’ extra proporcional a la consigna. Este tipo de ‘control’ es más ‘rápido’ que el PI puesto que no necesita esperar una realimentación (reacción del motor), y actua desde el primer momento. Cabe decir que al utilizar feedforwards el motor se vuelve más ‘vivo’.
Casi todos los servos tienen la posibilidad de utilizar un feedforward de velocidad.
Algunos ,como el Accurax G5 de OMRON tienen también la posibilidad de un feedforward de aceleración.
El uso del Feedforward de velocidad nos permitirá reducir al mínimo el error de seguimiento a velocidad constante, pero tendrá un efecto moderado cuando se produzcan variaciones de velocidad.
El uso del Feedforward de aceleración nos permitirá reducir al mínimo el error de seguimiento durante los procesos de aceleración y deceleración.
La siguientes gráficas muestran el efecto de los feedforwards sobre un servomotor:
Lazos y… más lazos…
Tanto las ganancias como los feedforwards se aplican sobre unos bloques de control encargados de los lazos de corriente, velocidad y posición.
El primer lazo es el de corriente (o par) y es el encargado de garantizar que el comando de par (corriente) entregado al motor se traduzca en el par efectivo necesario, para ello es necesario tener una realimentación (o estimación) de la corriente que consume el motor.
El segundo lazo es el lazo de velocidad, y se encarga de dar al regulador de par la consigna adecuada en ‘par’ para que la velocidad del motor coincida con la comandada.
El tercer lazo es el lazo de posición, este lazo sólo existe (obviamente) cuando se realiza un control de posición, es decir… variadores de frecuencia que no tengan control de posición… no tendrán este lazo. El resultado de este lazo es la consigna de velocidad que nos garantice que el motor se posiciona correctamente.
Este lazo no es ‘obligatorio’ tenerlo en cualquier servo (puesto que este lazo puede ‘cerrarse’ en un controlador de posición y enviar una consigna de velocidad (tradicionalmente analógica): esta estrategia ha sido la utilizada durante muchos años en occidente, pero hoy está prácticamente olvidada para servos de una cierta ‘entidad’ debido a la existencia de buses digitales (‘motion bus’). Curiosamente los variadores japoneses, desde un principio adoptaron la estrategia de cerrar el lazo de posición en el servo y utilizar el controlador de posición como generador de perfiles, en el pasado… la interconexión se realizaba mediante un tren de pulsos, hoy en día.. son buses digitales.
Un dato importante es el tiempo de respuesta de los lazos. Cuanto más rápidos sean estos… más fino será el control. En la actualidad existen en el mercado servos capaces de cerrar el lazo de par en menos de 0.05 ms y lazos de velocidad/posición del orden de los 0.08 ms
El siguiente esquema muestra la disposición de los lazos de corriente, velocidad y posición, así como el generador de perfiles (motion controller).
En este post se ha obviado deliberadamente hablar sobre ajuste ‘tuning’. Este tema se abordará en detalle en un siguiente post.




