Conectar un encoder a un VESC (AS5047, ABI): cuándo, por qué y cómo ajustarlo

Un encoder mide la posición del rotor con mucha más precisión que los sensores Hall. En un VESC, permite un par preciso en parado, un control de posición y un funcionamiento limpio a muy baja velocidad. Pero requiere una instalación mecánica cuidadosa y un ajuste específico, y solo es útil para ciertas máquinas. Aquí explicamos lo que ofrece VESC Tool, cómo ajustarlo y en qué casos merece la pena el esfuerzo.

Lo esencial

  • El tipo de encoder se elige en Motor Settings, General, pestaña Sensors, parámetro Sensor Port Mode.
  • En FOC, se elige después Encoder en Sensor Mode (página FOC).
  • Un AS5047 proporciona una posición absoluta desde el encendido; un encoder ABI debe encontrar primero su impulso de índice.
  • La detección del encoder mide tres valores: Encoder Offset, Encoder Ratio y Encoder Inverted.
  • En un motor-rueda de patinete, los sensores Hall son casi siempre suficientes.

Encoder, Hall, sin sensor: la diferencia

Los sensores Hall integrados en la mayoría de los motores dan la posición en pasos de 60 grados eléctricos. VESC interpola entre estos pasos, lo cual es más que suficiente para arrancar un vehículo. Un encoder da la posición de forma continua, con miles de pasos por vuelta. Sin sensor, el controlador estima la posición mediante cálculo, lo que funciona bien en movimiento pero mal en parado. Nuestra guía sobre los sensores de posición Hall, encoder y resolver compara las tecnologías.

La ayuda de VESC Tool resume bien los usos: el encoder funciona bien para aplicaciones de control de posición, como una fresadora de control numérico; los sensores Hall permiten arranques sin demora pero son menos adecuados para el control de posición.

Los encoders propuestos por VESC Tool

El parámetro Sensor Port Mode enumera los sensores que el firmware sabe leer. Los más comunes:

Sensor Port ModePrincipioPunto de atención
Hall SensorsLos sensores Hall del motorEl ajuste por defecto
ABI EncoderEncoder incremental con salidas A, B e índiceInútil hasta que se encuentra el índice; ajustar Encoder counts
AS5047 EncoderEncoder magnético conectado por SPIPosición absoluta desde el inicio, un poco de no linealidad
AS5X47U Encoder (SPI)AS5147U o AS5247U, con funciones de seguridadSe conecta al puerto COMM; ninguna aplicación debe utilizar UART, I2C, ADC2 o ADC3
Sin/Cos EncoderSalidas analógicas seno y cosenoSensible a las perturbaciones: cable blindado y filtrado
AD2S1205 ResolverResolver con circuito de conversiónHardware específico

La lista contiene otros modelos (MT6816, TLE5012, BISSC, etc.), que varían según la versión del firmware. La ayuda de VESC Tool recuerda que este parámetro no tiene ningún efecto mientras el motor funcione sin sensor.

El caso del encoder ABI

Un encoder ABI no conoce su posición absoluta al encenderse. Según la ayuda, el controlador gira entonces en bucle abierto hasta completar una vuelta mecánica para encontrar el impulso de índice, en el primer arranque después de cada encendido. El parámetro Encoder counts debe ajustarse: suele ser la resolución del encoder multiplicada por cuatro, ya que se cuenta cada flanco de las dos señales.

El montaje mecánico

Un encoder magnético como el AS5047 lee un pequeño imán fijado al extremo del eje que gira, permaneciendo el chip fijo frente a él, bien centrado y a poca distancia. Cualquier holgura o excentricidad se traduce en un error de posición. En un motor con eje giratorio, es relativamente sencillo. En un motor-rueda de patinete, el eje es fijo y es la campana exterior la que gira: alojar un encoder requiere una verdadera adaptación mecánica. Esta es una de las razones por las que los motores-rueda se limitan a los sensores Hall.

En cuanto al cableado, el encoder se conecta al puerto de sensores o al puerto de comunicación según el modelo y la placa. Las conexiones digitales no toleran bien los cables largos junto a los cables de fase: cable corto, blindado si es posible, alejado de la potencia.

El ajuste en VESC Tool

  1. Elija el encoder en Sensor Port Mode y escriba la configuración.
  2. Realice la detección FOC del motor (resistencia, inductancia, flujo) como de costumbre: vea nuestra guía sobre la detección FOC.
  3. Inicie la detección del encoder (sección de ayuda Detect FOC Encoder Parameters): según esta ayuda, el motor gira lentamente en bucle abierto en ambos sentidos, durante una vuelta mecánica, mientras se lee el encoder.
  4. Verifique los tres resultados: Encoder Offset (desfase entre el cero del encoder y el del motor), Encoder Ratio (el número de pares de polos para un encoder montado directamente en el eje: 7 para un motor de 14 polos, como indica la ayuda) y Encoder Inverted (encoder que cuenta al revés).
  5. Aplique, luego elija Encoder en Sensor Mode de la página FOC.

Por encima de cierta velocidad, el controlador puede pasar al modo sin sensor: es el ajuste Sensorless ERPM de la pestaña Encoder. Para verificar que el encoder y el observador están de acuerdo, la página Realtime Data ofrece un gráfico Obs vs Enc: la diferencia entre la posición estimada y la posición medida debe permanecer pequeña.

Cuándo merece la pena el esfuerzo del encoder

  • Control de posición: robots, brazos, ejes, servomecanismos. Vea nuestra guía sobre los modos de control VESC.
  • Par preciso en velocidad cero y a muy baja velocidad: cabrestantes, mecanismos cargados al arranque.
  • Motores sin sensor Hall y sin suficiente saliencia para el HFI: vea nuestra guía sobre el HFI.

En un patinete o una moto ligera, un encoder rara vez aporta una mejora sensible en comparación con unos sensores Hall en buen estado.

El consejo del taller

Un encoder mal fijado es peor que no tener sensor: una posición falsa bajo carga provoca tirones o pérdida de par. Cuide el soporte, el centrado del imán y el cable antes de tocar los ajustes. Para un robot o una máquina especial, nuestro departamento de ingeniería diseña la motorización completa, sensor incluido, dimensionada para la máquina; para una intervención puntual, nuestro taller trabaja por horas (https://rage-mechanics.com/es/nuestros-productos/1529-mano-de-obra-30-minutos.html).

Preguntas frecuentes

¿Es necesario un encoder en un patinete VESC?

Casi nunca. Los sensores Hall del motor-rueda proporcionan un arranque franco, y el observador toma el relevo al rodar. El encoder se justifica para el control de posición o el par preciso en parado.

¿Qué valor tiene Encoder Ratio?

Para un encoder montado directamente en el eje, el número de pares de polos del motor. La detección del encoder lo mide.

¿Por qué mi encoder ABI no sirve de nada al arrancar?

Debe encontrar primero su impulso de índice. Mientras tanto, el controlador gira en bucle abierto, hasta completar una vuelta mecánica después de cada encendido.

El motor funciona mal con el encoder, ¿qué debo verificar?

El montaje mecánico (holgura, centrado del imán), el cableado, y luego volver a realizar la detección del encoder. El gráfico Obs vs Enc de la página Realtime Data muestra si la posición medida es coherente.