🛠 Contrôle distribué multi-moteurs via CAN FD sur BeagleConnect QuadESC

BeagleConnect QuadESC : Contrôleur BLDC 4 canaux · avance · Configurez un réseau CAN FD pour piloter quatre moteurs BLDC en temps réel avec le SDK TI AM13E2X.

Objectifs

Ce tutoriel avancé vise à implémenter une architecture de contrôle distribué où le BeagleConnect QuadESC agit comme nœud de puissance intelligent. Nous allons configurer le bus CAN FD pour recevoir les consignes de couple de quatre moteurs simultanément, tout en remontant la télémétrie (courant, température) à un contrôleur central. L'accent est mis sur la gestion des interruptions matérielles et la configuration des registres du microcontrôleur TI AM13E23019 pour garantir une latence minimale.

Matériel nécessaire

Étapes

  1. Préparation de l'environnement : Assurez-vous que le SDK TI AM13E2X est correctement configuré. Compilez le projet de base can_fd_loopback pour valider la chaîne de compilation.
  1. Configuration des drivers DRV8323S : Modifiez le fichier de configuration du périphérique pour activer le mode de commutation approprié. Les demi-ponts CSD88599Q5DC nécessitent un temps mort précis. Utilisez la commande suivante pour générer les fichiers de configuration matériels :
ti-sdk-am13e2x/tools/sysconfig/bin/sysconfig_cli --project ./quadesc_hw_config.syscfg
  1. Initialisation du CAN FD : Dans le code d'application, configurez le contrôleur CAN pour le mode FD (Flexible Data-rate). Définissez un débit de 5 Mbit/s pour la phase arbitrage et 2 Mbit/s pour la phase données. Allouez les buffers de réception pour les IDs spécifiques de chaque moteur (ex: ID 0x101 à 0x104).
  1. Boucle de contrôle temps réel : Implémentez une ISR (Interruption Service Routine) déclenchée par le timer PWM. Cette ISR lit les trames CAN reçues, applique la loi de contrôle (ex: PI) sur les courants mesurés via les 12 canaux ADC, et met à jour les registres PWM pour les 4 sorties triphasées. Utilisez les instructions spécifiques Cortex-M33 pour optimiser les calculs mathématiques.
  1. Protection batterie : Ajoutez une vérification périodique de la tension d'entrée (9-25.2V). Si la tension chute sous un seuil critique, forcez l'arrêt des drivers via les broches nEN_GATE.

Vérification

Connectez l'interface CAN FD. Envoyez des trames de consignes de couple. Surveillez les signaux sur les sorties moteur avec un oscilloscope pour vérifier la modulation de largeur d'impulsion (MLI). Vérifiez que les trames de télémétrie sont envoyées à 1 kHz sans perte de paquets.

Pour aller plus loin

Explorez l'utilisation de l'accélérateur TinyEngine pour implémenter des algorithmes de contrôle prédictif (MPC) directement sur la carte, réduisant ainsi la dépendance au contrôleur central.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels