🛠 Control distribuido multi-motor vía CAN FD en BeagleConnect QuadESC
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
- Tarjeta BeagleConnect QuadESC
- Cuatro motores BLDC trifásicos (corriente nominal < 40A)
- Fuente de alimentación DC regulada (12V-24V, compatible 3S-6S)
- Interfaz USB CAN FD (ej: Kvaser o PCAN)
- Cableado apantallado para señales de potencia y comunicación
- Estación de desarrollo con SDK TI AM13E2X instalado
Pasos
- Preparación del Entorno: Asegúrese de que el SDK TI AM13E2X esté correctamente configurado. Compile el proyecto base
can_fd_loopbackpara validar la cadena de compilación.
- 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
- 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).
- 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.
- 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.