🛠 Maîtriser les GPIO et capteurs analogiques sur BeagleConnect QuadESC

BeagleConnect QuadESC : Contrôleur BLDC 4 canaux · avance · Apprenez à configurer les interfaces GPIO et à lire les capteurs NTC et les tensions de phase via le SDK TI AM13E2X pour un contrôle moteur précis.

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

É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.

  1. 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.

  1. 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(); ``

  1. 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.

  1. 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.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels