Sincronice el control de movimiento de varios ejes a través de redes en tiempo real
Resumen
Los protocolos Ethernet deterministas en tiempo real, como EtherCAT, permitieron que los sistemas de control de movimiento de varios ejes funcionaran en sincronía.1 Hay dos aspectos en esta sincronización. En primer lugar, la entrega de comandos y referencias entre diferentes nodos de control debe estar sincronizada con un reloj común y, en segundo lugar, la ejecución de los algoritmos de control y las funciones de retroalimentación deben estar sincronizadas con el mismo reloj. El primer tipo de sincronización se entiende bien y es una parte integral del controlador de red. Sin embargo, el segundo tipo de sincronización se ha descuidado hasta ahora y se ha convertido en un obstáculo para el rendimiento del control de movimiento.
Este artículo presenta nuevos conceptos para sincronizar controladores de motor desde un controlador de red a terminales de motor y sensores. Las tecnologías presentadas permiten una sincronización mucho mejor, lo que conduce a un aumento significativo en el rendimiento del control.
Planteamiento del problema y estado del arte
Para definir los límites de las soluciones de vanguardia, considere un sistema de control de movimiento en red de 2 ejes, como se muestra en la Figura 1. Un maestro de control de movimiento envía comandos y referencias a través de una red en tiempo real a dos servocontroladores, con cada servocontrolador es un nodo esclavo en la red. El servocontrolador en sí consta de un controlador de red, un controlador de motor, un inversor y un motor/codificador.
Los protocolos de red en tiempo real usan una variedad de métodos para sincronizar los nodos esclavos con el maestro, pero un enfoque que se usa con frecuencia es tener un reloj local sincronizado en cada nodo. Esta comprensión mutua del tiempo garantiza que las referencias y los comandos de todos los servoejes estén estrechamente sincronizados. En otras palabras, todos los controladores de red en la red en tiempo real están sincronizados.
Generalmente, hay dos líneas de interrupción entre el controlador de red y el controlador de motor. El primero notifica al controlador del motor cuándo es el momento de recopilar entradas y enviarlas a la red. Este último le dice al controlador del motor cuándo leer datos de la red. Siguiendo este enfoque, el intercambio de datos entre el controlador de movimiento y el controlador de motor se realiza de manera sincronizada y es posible una precisión de temporización muy alta. Sin embargo, no es suficiente transmitir datos de sincronización a los controladores de motor; los controladores de motor también deben poder responder a los datos de manera sincronizada. Sin esta capacidad, los controladores de motores no pueden aprovechar la precisión de temporización de la red. Cuando se trata de responder a referencias y comandos, un controlador de motor de E/S es un problema.
Todas las E/S del controlador de motor, como los temporizadores de modulación de ancho de pulso (PWM) y los ADC, tienen un retraso y una cuantificación de tiempo inherentes. Por ejemplo, considere el temporizador PWM que genera señales de activación de compuerta para el inversor, como se muestra en la Figura 2. El temporizador genera señales de compuerta al comparar la referencia Mx con un contador ascendente. Cuando Mx es modificado por el algoritmo de control, el nuevo ciclo de trabajo no entra en vigor hasta el siguiente período de PWM. Esto es equivalente a un efecto de retención de orden cero, lo que significa que el ciclo de trabajo se actualiza solo una vez por período PWM, T, o dos veces si se usa un método de actualización dual.
Independientemente de cuán sincronizado esté el intercambio de datos en la red en tiempo real, la cuantificación del tiempo del temporizador PWM es el factor determinante en la sincronización del eje. Cuando se recibe una nueva referencia, no se puede responder hasta que entre en vigor un nuevo ciclo de trabajo. Esto introduce una incertidumbre de tiempo de hasta un período de PWM, que suele estar entre 50 μs y 100 μs. Esto se debe a que habrá una relación de fase incierta y variable entre el período de tiempo de la red y el período de PWM. Compare eso con la incertidumbre de tiempo de menos de 1 μs de la red en tiempo real y queda claro que el controlador de motor de E/S desempeña un papel fundamental en la sincronización del control de movimiento en una red. De hecho, la precisión de temporización no está determinada por la red en tiempo real, sino por el sistema de E/S.
Volviendo a la Figura 1, el sistema tiene tres dominios de sincronización, A, B y C, que no están relacionados entre sí. En realidad no coinciden y tienen una incertidumbre que varía hasta un período PWM.
Incertidumbre de tiempo e impacto en la aplicación
El impacto de la incertidumbre del tiempo se ve claramente en los servosistemas multieje de alto rendimiento para aplicaciones como la robótica y el mecanizado. El retraso variable entre los ejes de control del motor en el nivel de E/S tiene un efecto directo y medible en la precisión de posicionamiento dimensional final del robot o máquina herramienta.
Considere un perfil de movimiento simple, como se muestra en la Figura 3. En este ejemplo, la referencia de velocidad del motor (curva roja) aumenta y luego vuelve a disminuir. Si la velocidad de rampa está dentro de la capacidad del sistema electromecánico, la velocidad real debe seguir la referencia. Sin embargo, si hay un retraso en cualquier parte del sistema, la velocidad real (curva azul) se retrasará con respecto a la referencia, lo que dará como resultado un error de posición, Δθ.
En máquinas de varios ejes, la posición de destino (x, y, z) se traduce en perfiles de ejes angulares (θ1, ..., θn) según la construcción mecánica de la máquina. Los perfiles de eje angular definen una secuencia de comandos de posición/velocidad en el tiempo para cada eje. Cualquier diferencia en la sincronización entre los ejes da como resultado una menor precisión de la máquina. Considere el ejemplo de 2 ejes que se muestra en la Figura 4. Una serie de coordenadas (x, y) describe una ruta objetivo para la máquina. Un retraso provoca un error de tiempo en el comando del eje y, y la ruta real termina siendo irregular. El impacto del retraso fijo puede minimizarse, en algunos casos, mediante una compensación adecuada. Más importante aún, hay un retraso variable y desconocido que no se puede compensar. Además, el retardo variable hace que cambie la ganancia del lazo de control, lo que dificulta la sintonización del lazo para un rendimiento óptimo.
Cabe señalar que un retraso en cualquier parte del sistema provocará una imprecisión en la precisión de la máquina. Por lo tanto, minimizar o eliminar los retrasos aumenta la productividad y la calidad del producto final.
Sincronización y nuevas topologías de control
El enfoque tradicional del control de movimiento se muestra en la parte superior de la Figura 5. Un controlador de movimiento, normalmente un PLC, envía referencias de posición (θ*) a un controlador de motor a través de una red en tiempo real. El controlador del motor consta de tres bucles de retroalimentación en cascada, el bucle interno que controla el par/corriente (T/i), la velocidad de control del bucle central (ω) y la posición de control del otro bucle (θ). El bucle de par tiene el ancho de banda más alto y el bucle de posición tiene el más bajo. La retroalimentación de la planta aún es local para el controlador del motor y está estrechamente sincronizada con el algoritmo de control y el modulador de ancho de pulso.
Con esta topología del sistema, los ejes se sincronizan mediante el intercambio de referencias de posición entre los controladores de movimiento y los motores, pero la correlación entre la sincronización de E/S del controlador del motor (retroalimentación y PWM) es solo un problema para las aplicaciones de alta potencia. mecanizado. El lazo de posición a menudo tiene un ancho de banda relativamente bajo y, por lo tanto, es menos sensible a la sincronización de E/S. Esto significa que la sincronización de nodo a línea de base ofrece un rendimiento generalmente aceptable incluso si la red y la E/S se encuentran en diferentes dominios de temporización.
Aunque la topología de control que se muestra en la parte superior de la Figura 5 es común, también se utilizan otros enfoques de separación de control cuando se posicionan los lazos. y/o la velocidad aplicada en el lado del controlador de movimiento y las referencias de velocidad/par se transmiten a través de la red. Las tendencias recientes en la industria muestran un cambio hacia un nuevo método de separación, en el que todos los lazos de control se trasladan de los controladores de motor a un potente controlador de movimiento en el lado maestro de la red (consulte la parte inferior de la Figura 5). El intercambio de datos de red en tiempo real es una referencia de voltaje (v*) para el controlador de motor y retroalimentación de planta (i, ω, θ) para el controlador de movimiento. Esta topología de control tiene varias ventajas, posibles gracias a los potentes PLC multinúcleo y las redes en tiempo real. Primero, la arquitectura es altamente escalable. Los ejes también se pueden agregar o quitar fácilmente sin preocuparse por la potencia de procesamiento del controlador del motor. En segundo lugar, es posible aumentar la precisión porque la planificación de rutas y el control de movimiento se realizan en una ubicación central.
La nueva topología de control también tiene desventajas. Al eliminar los algoritmos de control del controlador del motor, se pierde la estrecha sincronización de la ejecución del código y la E/S. Cuanto mayor sea el ancho de banda del bucle de control, más problemática será la pérdida de sincronización de E/S. El bucle par/corriente es especialmente sensible a la sincronización.
Solución recomendada
Mover los bucles de control más rápidos al controlador de movimiento crea una demanda de sincronización desde el maestro de la red hasta los terminales del motor.
La idea general es sincronizar las E/S de todos los ejes con la red para que todo funcione en un dominio sincronizado. La Figura 6 muestra un programador de eventos de E/S, que se encuentra entre el controlador de red y el controlador de motor. La función principal del programador de eventos de E/S es generar pulsos de sincronización/reinicio para cada dispositivo para que se mantengan sincronizados con el tráfico de la red. El planificador de eventos de E/S toma la señal de sincronización de tramas, que se deriva del reloj local del controlador de red, y genera un disparador de hardware adecuado para cada E/S que debe permanecer sincronizada con la red.
Cada E/S tiene su propio conjunto de requisitos de sincronización/restablecimiento, lo que significa que el programador de eventos de E/S debe proporcionar un disparador personalizado para cada E/S. Aunque los requisitos de activación difieren, se aplica un principio general a todos. En primer lugar, se deben hacer referencia a todos los activadores de sincronización de fotogramas. En segundo lugar, todos los disparadores tienen un retraso/retraso. Este retraso está relacionado con el retraso de E/S básico, por ejemplo, el tiempo de conversión en un ADC o el retraso de grupo en un filtro sumidero. En tercer lugar, está el tiempo de respuesta de E/S, por ejemplo, la transferencia de datos desde un ADC. El programador de eventos de E/S conoce los requisitos de temporización de cada E/S y ajusta continuamente los pulsos de activación/reinicio al reloj local. La Figura 7 resume el principio de generación de cada pulso de salida del programador de eventos de E/S.
En la mayoría de los sistemas de control de movimiento en red, la velocidad de fotogramas y, por lo tanto, la velocidad de sincronización de fotogramas, es igual o inferior a la velocidad de actualización de PWM del controlador del motor. Esto significa que el programador de eventos de E/S debe proporcionar al menos uno y posiblemente varios pulsos de activación por período de trama. Por ejemplo, si la velocidad de fotogramas es de 10 kHz y la velocidad de PWM es de 10 kHz, el programador de eventos de E/S debe proporcionar 1 pulso de disparo por trama de red, y lo mismo si las tramas son de 1 kHz y la frecuencia de PWM de 10 kHz, el El programador de eventos de E/S debe proporcionar 10 bloques de activación por marco de red. Esto es idéntico al multiplicador de frecuencia en la Figura 7. Su retraso, tD, que se aplica a cada pulso de sincronización para compensar el retraso inherente de cada E/S. El último elemento del programador de eventos de E/S es una función de filtro inteligente. En todas las redes, hay cierta fluctuación en el tráfico. El filtro reduce la fluctuación en los pulsos de disparo y también garantiza que la velocidad de cambio de la frecuencia de sincronización de fotogramas sea limitada.
La mitad inferior de la Figura 7 muestra un diagrama de tiempo de ejemplo para el tiempo PWM. Observe en este ejemplo cómo la frecuencia de sincronización de cuadros es un múltiplo de la frecuencia PWM y cómo se reduce la fluctuación en la señal de activación de E/S.
Implementación
La Figura 8 muestra un ejemplo del esquema de temporización propuesto implementado y probado en un sistema de control de movimiento en red. Beckhoff CX2020 PLC es el maestro de red conectado a una PC para desarrollar e implementar el programa de PLC. El protocolo de red en tiempo real (flechas rojas) es EtherCAT.
Las características principales del controlador de motor son el fido5200 y el ADSP-CM408, ambos de Analog Devices. Juntos, los dos conjuntos de chips proporcionan una unidad de motor conectada a la red altamente integrada.
fido5200 es un conmutador Ethernet multiprotocolo (REM) en tiempo real con dos puertos Ethernet. Proporciona una interfaz flexible entre un procesador host y la capa física de Industrial Ethernet. fido5200 incluye una unidad de control de temporizador configurable (TCU) que permite la implementación de esquemas de temporización avanzados para varios protocolos de Ethernet industrial. Las funciones adicionales, como la captura de entrada y la salida de señales de onda cuadrada, también se pueden lograr a través de un pin de temporizador dedicado. Las entradas/salidas del temporizador se mantienen en fase con la hora local sincronizada y, por lo tanto, con el tráfico de la red. Esto no solo sincroniza la E/S de un nodo esclavo, sino también los nodos esclavos en toda la red.
El conmutador REM tiene dos puertos Ethernet, por lo que se conecta a dos Phys (PHY1 y PHY2). Esta topología admite redes tanto en anillo como en línea. Sin embargo, en la configuración experimental, solo se usa un nodo esclavo con fines de demostración y solo un puerto Ethernet está activo.
El conmutador REM se comunica con un procesador host a través de un bus de memoria paralelo, lo que garantiza un alto rendimiento y una baja latencia.
ADSP-CM408 es el procesador host utilizado para realizar el controlador de motor. Este es un procesador de aplicaciones especializado basado en ARM® corteza®- Núcleo M4F para implementar funciones de control y aplicación. El procesador incluye periféricos para admitir aplicaciones de control industrial, como temporizadores para control de inversor PWM, muestreo ADC e interfaces de codificador de posición. Para sincronizar todos los dispositivos con la red, se utiliza una unidad de enrutamiento de activación flexible (TRU). La TRU redirige los activadores generados por la TCU fido5200 a todos los dispositivos de sincronización críticos en el ADSP-CM408. Estos son el modulador de ancho de pulso, el filtro sumidero para la medición de corriente de fase, CAN y una interfaz de codificador completa. Los principios de la sincronización de E/S se ilustran en la Figura 9.
En la Figura 9, observe cómo se realiza el programador de eventos de E/S usando la TCU en el interruptor REM y la TRU en el procesador de control de motores. En otras palabras, la función se aplica a dos circuitos integrados.
La retroalimentación al controlador del motor es el estado actual de la fase y el rotor de un servomotor trifásico. La corriente de fase se mide usando un ADC Σ-Δ discreto y la posición del rotor se mide con un codificador absoluto EnDat. El ADC Σ-Δ y el codificador interactúan directamente con el ADSP-CM408 sin necesidad de un FPGA o CPLD externo.
La frecuencia de conmutación de PWM es de 10 kHz y el algoritmo de control se ejecuta una vez por período de PWM. Como se menciona en este artículo, la TCU proporciona pulsos de sincronización al ADSP-CM408 una vez por período de PWM.
Resultados experimentales
En la Figura 10 se muestra una fotografía de la configuración experimental. Para demostrar la sincronización del sistema, el PLC se configuró para ejecutar un programa con un tiempo de tarea de 200 μs. El tiempo de la tarea también determina la velocidad de fotogramas en la red EtherCAT. El controlador de motor opera con PWM y punto actualización de control de 100 μs (10 kHz), por lo que debe haber pulsos de sincronización a esta velocidad. El resultado se muestra en la Figura 11.
La señal Detalles listos indica cuándo el interruptor REM proporcionó datos de red a la aplicación de control de motores. La señal se afirma cada 200 μs, lo que corresponde a la velocidad de fotogramas de EtherCAT. La señal de temporización PWM también es generada por el interruptor REM y se usa para mantener la E/S del controlador del motor sincronizada con el tráfico de la red. Dado que el período de PWM es de 100 μs, el interruptor REM registra dos pulsos de sincronización de PWM por trama EtherCAT. Las dos señales inferiores en la Figura 11, HS PWM y LS PWM, son PWM de lado alto y lado bajo para una de las etapas del motor. Observe cómo las señales PWM se sincronizan con el tráfico de la red.
Resumen
Ethernet en tiempo real se usa ampliamente en los sistemas de control de movimiento y algunos protocolos permiten la sincronización de tiempo con una precisión inferior a 1 μs. Sin embargo, la sincronización solo involucra el tráfico de datos entre el maestro y los esclavos en la red. Las soluciones de red existentes no incluyen sincronización de control de movimiento de E/S, lo que limita el rendimiento de control que se puede lograr.
El esquema de sincronización propuesto en este artículo permite una sincronización completa desde el maestro de la red hasta las terminales del motor. Debido a una sincronización mucho mejor, el esquema propuesto mejora significativamente el rendimiento del control. El esquema propuesto también ofrece una sincronización perfecta en varios ejes. Los ejes se pueden agregar fácilmente y la sincronización se puede adaptar al controlador de motor individual.
La sincronización se basa en un programador de eventos de E/S, que reside entre la red del controlador y el controlador del motor. El planificador de eventos de E/S se puede programar sobre la marcha y se puede condicionar para minimizar el efecto de los cambios de frecuencia/jitter.
El esquema propuesto en el artículo se verificó en un montaje experimental y se presentaron los resultados. EtherCAT se utilizó como protocolo de comunicación en el experimento. Sin embargo, las ideas presentadas se aplican a cualquier protocolo Ethernet en tiempo real.
graneros
1 Ji Ma".Diseño y realización de un sistema de control de movimiento multi-DOF basado en EtherCAT.” 2016 Sexta Conferencia Internacional de Instrumentación y Medida, Computación, Comunicación y Control, julio de 2016.
Si quieres conocer otros artículos parecidos a Sincronice el control de movimiento de varios ejes a través de redes en tiempo real puedes visitar la categoría Generalidades.
Deja una respuesta
¡Más Contenido!