🛠 Maîtriser les GPIO et capteurs analogiques sur BeagleConnect QuadESC
Objectifs
Ce tutoriel avancé vise à maîtriser les entrées-sorties numériques (GPIO) et analogiques de la carte BeagleConnect QuadESC. Nous allons configurer les broches pour contrôler des périphériques externes et lire les données critiques des 12 canaux de mesure de courant et de tension. Comprendre ces interfaces est essentiel pour implémenter des boucles de régulation rapides et sécurisées, exploitant la puissance du microcontrôleur Arm Cortex-M33 à 200 MHz.
Matériel nécessaire
- Carte BeagleConnect QuadESC avec module SoM BeagleConnect Torque (TI AM13E23019).
- Câbles de programmation JTAG/SWD ou interface de debug adaptée.
- Alimentation 3S-6S (9-25.2V) pour tester la surveillance batterie.
- Ordinateur avec le SDK TI AM13E2X installé (compilateur ARM GCC).
- Multimètre ou oscilloscope pour la vérification des signaux.
Étapes
Avant toute manipulation, configurez le système de démarrage. Le SDK TI AM13E2X nécessite l'initialisation des registres de contrôle. Assurez-vous que l'horloge du Cortex-M33 est stable à 200 MHz pour garantir la précision des temporisateurs utilisés par les ADC.
- Initialisation du système et horloge
Utilisez les fonctions du SDK pour définir les broches en sortie. Par exemple, pour activer un voyant d'état ou un signal de démarrage externe : ``c // Exemple générique d'API TI (à adapter selon version SDK) GPIO_setConfig(PORT_A, PIN_0, GPIO_CFG_OUTPUT); GPIO_writePin(PORT_A, PIN_0, 1); // Active le signal `` Notez que les drivers DRV8323SRTAR possèdent leurs propres lignes de contrôle (EN, nFAULT) qui doivent être gérées comme des GPIO critiques.
- Configuration des GPIO pour le contrôle externe
La carte dispose de 4 capteurs NTC pour la température et 12 canaux de tension. Configurez les ADC en mode séquentiel pour échantillonner ces entrées. L'unité mathématique trigonométrique peut accélérer le traitement des données sinusoïdales des phases. ``c ADC_init(); ADC_startConversion(CHANNEL_NTC1); uint16_t rawValue = ADC_getResult(); ``
- Lecture des capteurs NTC et Tensions de Phase
Pour les calculs de filtrage ou de prédiction basés sur les lectures GPIO/ADC, configurez l'accélérateur IA TinyEngine. Cela permet de décharger le CPU principal lors du traitement des données de capteurs à haute fréquence.
- Utilisation de l'accélérateur TinyEngine
Vérification
Vérifiez la cohérence des lectures ADC avec un multimètre connecté aux broches d'entrée. Assurez-vous que les signaux GPIO répondent aux commandes logiques sans latence excessive. Surveillez les registres de statut du DRV8323SRTAR pour confirmer que les commandes GPIO n'entrent pas en conflit avec la gestion matérielle des demi-ponts CSD88599Q5DC.
Pour aller plus loin
Explorez l'intégration de ces lectures dans une boucle de contrôle FOC (Field Oriented Control) en temps réel. Vous pouvez ensuite tester la communication CAN FD pour transmettre ces données d'I/O à un contrôleur de vol externe, exploitant la bande passante élevée du bus.