🛠 Control distribuido multi-motor vía CAN FD en BeagleConnect QuadESC

BeagleConnect QuadESC: Controlador BLDC de 4 canales · avance · Configurez un réseau CAN FD pour piloter quatre moteurs BLDC en temps réel avec le SDK TI AM13E2X.

Objetivos

Este tutorial avanzado tiene como objetivo implementar una arquitectura de control distribuido donde el BeagleConnect QuadESC actúa como un nodo de potencia inteligente. Configuraremos el bus CAN FD para recibir comandos de par de cuatro motores simultáneamente mientras enviamos telemetría (corriente, temperatura) a un controlador central. El enfoque está en la gestión de interrupciones de hardware y la configuración de los registros del microcontrolador TI AM13E23019 para garantizar una latencia mínima.

Hardware Necesario

Pasos

  1. Preparación del Entorno: Asegúrese de que el SDK TI AM13E2X esté correctamente configurado. Compile el proyecto base can_fd_loopback para validar la cadena de compilación.
  1. Configuración de Drivers DRV8323S: Modifique el archivo de configuración del periférico para activar el modo de conmutación adecuado. Los semipuentes CSD88599Q5DC requieren un tiempo muerto preciso. Use el siguiente comando para generar archivos de configuración de hardware:
ti-sdk-am13e2x/tools/sysconfig/bin/sysconfig_cli --project ./quadesc_hw_config.syscfg
  1. Inicialización CAN FD: En el código de la aplicación, configure el controlador CAN para el modo FD (Flexible Data-rate). Defina una tasa de 5 Mbit/s para la fase de arbitraje y 2 Mbit/s para la fase de datos. Asigne buffers de recepción para IDs específicos de cada motor (ej: ID 0x101 a 0x104).
  1. Bucle de Control en Tiempo Real: Implemente una ISR (Routine de Servicio de Interrupción) desencadenada por el temporizador PWM. Esta ISR lee los tramas CAN recibidas, aplica la ley de control (ej: PI) sobre las corrientes medidas a través de los 12 canales ADC y actualiza los registros PWM para las 4 salidas trifásicas. Use instrucciones específicas de Cortex-M33 para optimizar los cálculos matemáticos.
  1. Protección de Batería: Añada una verificación periódica del voltaje de entrada (9-25.2V). Si el voltaje cae por debajo de un umbral crítico, fuerce el apagado de los drivers a través de los pines nEN_GATE.

Verificación

Conecte la interfaz CAN FD. Envíe tramas de comandos de par. Monitoree las señales de salida del motor con un osciloscopio para verificar la Modulación de Ancho de Pulso (PWM). Asegúrese de que las tramas de telemetría se envíen a 1 kHz sin pérdida de paquetes.

Para Ir Más Allá

Explore el uso del acelerador TinyEngine para implementar algoritmos de Control Predictivo por Modelo (MPC) directamente en la tarjeta, reduciendo la dependencia del controlador central.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales