"Following Error" en un sistema de "Motion"

Actualizado el Apr 18, 2023

Reportado en

Hardware

  • PCI-7334
  • PXI-7332
  • PXI-7330
  • PXI-7348
  • PXI-7340

Software

  • Measurement and Automation Explorer (MAX)
  • LabVIEW Base

Controlador

  • NI-Motion

Sistema Operativo

  • Windows

Detalles del problema

¿Qué es un Following Error y cómo afecta a mi aplicación de Motion?

Solución

El controlador (la familia del controlador de Motion NI 73xx) compara la señal de retroalimentación con su señal ordenada para verificar que el motor está siguiendo el comando. La diferencia entre estos valores se llama el Following Error.

Following Error apareciendo en MAX


¿Por qué mi aplicación informa que se ha excedido el límite del Following Error cuando ordeno un movimiento?

Hay un límite ajustable al following error permitido durante un movimiento. Cuando se excede el límite, se crea una condición de error que informa un error en este límite. Una condición de following error puede ser causada por cualquier combinación de defectos mecánicos, entradas / salidas incorrectas y fallas del circuito de control. Aunque las siguientes condiciones de error pueden ser difíciles de depurar, las causas más comunes se enumeran a continuación:
  • Causa 1: la resolución de entrada del codificador está configurada incorrectamente
Para aumentar la precisión de la retroalimentación, los controladores de Motion de NI leen cada borde de una señal de retroalimentación del codificador. Con un codificador de cuadratura, esto resulta en cuatro bordes (subiendo y bajando en las líneas A y B) para cada pulso de cuadratura del codificador. Por lo tanto, si su codificador de cuadratura tiene una capacidad nominal de 2000 pulsos de cuadratura por revolución, el controlador realmente leerá 8000 bordes por revolución, y cada uno de estos se considera un conteo.

Si la polaridad de su codificador se invierte, también puede cambiar la polaridad en MAX. Para cambiar la polaridad de sus codificadores, seleccione el eje en el que se está produciendo el problema y busque la entrada del codificador. En la pestaña del codificador, cambie la polaridad de A o B, pero no ambas, y el índice si se está utilizando.
  • Causa 2: los cables de comando o retroalimentación están invertidos
¿Cuándo se emite una orden en la dirección positiva, la señal de realimentación devuelve un movimiento positivo? Si la señal de realimentación indica un movimiento negativo, se ha cambiado la polaridad de la salida analógica al motor o la fase (A, B) del codificador. Verifique las conexiones de cableado adecuadas para remediar esta situación.

Si la polaridad de su codificador se invierte, también puede cambiar la polaridad en MAX. Para cambiar la polaridad de sus codificadores, seleccione el eje en el que se está produciendo el problema y busque la entrada del codificador. En la pestaña del codificador, cambie la polaridad de A o B, pero no ambas, y el índice si se está utilizando.
  • Causa 3: Loop PID sintonizado incorrectamente en un sistema de servomotor
Dado que los controladores NI de servomotor están diseñados para uso en aplicaciones variadas, el loop de control PID debe estar configurado para su uso en cada situación específica. El ajuste correcto del loop (configuración de los parámetros Kp, Kd, ​​Ki, etc. ) en MAX es necesario para garantizar que el motor responda como se espera. Si el sistema responde a un comando vibrando o moviéndose erráticamente, el loop de control puede estar desafinado. Las consideraciones para sintonizar su sistema de movimiento se pueden encontrar en Entender la sintonización de servo (en inglés).
  • Causa 4: Solicitar un movimiento que es demasiado rápido
Un movimiento de muy alta velocidad requiere un sistema de movimiento sensible. Si los comandos de alta velocidad o alta aceleración dan lugar regularmente a condiciones de following error, la configuración del motor / etapa puede ser incapaz de alcanzar la velocidad o aceleración objetivo. (Las causas varían ampliamente y podrían incluir exceso de fricción, piezas mecánicas desalineadas o par de motor insuficiente). Puede ser necesario ajustar la configuración mecánica o ordenar una velocidad/aceleración más baja.

Información adicional

Los controladores de movimiento NI 73xx contienen un circuito de control PID incorporado que les permite utilizar la retroalimentación de posición y velocidad para ajustar su señal de comando. Esta retroalimentación, leída desde el voltaje analógico o las señales del codificador del tren de impulsos, indica la posición/velocidad real del motor.

Cuando se configura la entrada del Encoder Counts Per Revolution en Measurement & Automation Explorer (MAX), es común confundir este valor con la resolución física del codificador. En su lugar, esta configuración debe mantener el número correspondiente de conteos leídos por el controlador, que es cuatro veces esa resolución.
 

Cambiando el máximo permitido para el following error

En MAX, se puede establecer el siguiente error para cada eje. Para hacer esto, vaya a Devices and Interfaces»PCI-73xx»Default 73xx Settings»Axis x»Trajectory Settings. Además, al solicitar movimientos utilizando las pantallas 1-D interactivo o 2-D interactiva en MAX, vaya a la pestaña Advanced en la parte inferior de la pantalla. En el grupo Advanced Trajectory Parameters, ajuste el valor etiquetado Following Error. Cuando use la API de FlexMotion para LabVIEW, use el Load Following Error VI para establecer el número de conteos permitidos.

Al programar en C o Visual Basic, use la función flex_load_follow_err .