🛠 Automatisation industrielle : Logging CAN FD et pilotage PWM sur XIAO STM32C5

Seeed Studio XIAO STM32C5 · avance · Ce tutoriel démontre l'intégration du bus CAN FD et de la gestion thermique du capteur LSM6DS3TR-C pour une application d'enregistrement de données robuste.

Objectifs

Ce cas d'usage avancé vise à concevoir un système d'acquisition de données industriel utilisant la carte XIAO STM32C5. L'objectif est de lire les données du capteur inertielle 6 axes LSM6DS3TR-C, de compenser la dérive thermique via le chauffage programmable par PWM, et de transmettre ces données critiques sur le bus CAN FD via le transceiver embarqué TCAN3403-Q1. Ce scénario illustre la puissance du cœur Cortex-M33 à 144 MHz pour gérer simultanément plusieurs périphériques critiques.

Matériel nécessaire

Étapes

  1. Configuration du projet : Dans STM32CubeIDE, créez un nouveau projet pour le STM32C5A3CG. Activez l'horloge externe de 48 MHz pour assurer une précision temporelle optimale.
  2. Initialisation du CAN FD : Configurez le périphérique FDCAN2. Sélectionnez le mode CAN FD avec un débit de 5 Mbit/s pour la phase de données. Le transceiver TCAN3403-Q1 est déjà câblé avec une résistance de terminaison de 120 Ω, aucune configuration matérielle supplémentaire n'est requise pour le bus.
  3. Gestion du capteur LSM6DS3TR-C : Initialisez l'interface I2C ou SPI (selon le schéma de la carte) pour communiquer avec le LSM6DS3TR-C. Configurez le registre de contrôle pour activer l'accéléromètre et le gyroscope.
  4. Implémentation du chauffage PWM : Le capteur dispose d'un circuit de chauffage. Configurez un timer PWM (par exemple TIM2) connecté à la broche de contrôle thermique. Dans la boucle principale, ajustez le rapport cyclique en fonction de la température interne lue pour maintenir une température stable et réduire la dérive des mesures inertielle.
  5. Transmission des données : Formatez les paquets CAN FD pour inclure les données brutes du capteur et l'état du chauffage. Utilisez la mémoire flash interne de 1 Mo pour stocker temporairement les données si le bus est saturé, exploitant ainsi la grande capacité de stockage.

Vérification

Connectez l'analyseur CAN FD aux broches CAN_H et CAN_L. Observez les trames émises. Vérifiez que le débit de données atteint bien 5 Mbit/s. Sur le moniteur série, confirmez que la température du capteur reste stable grâce à l'asservissement PWM, prouvant l'efficacité de la compensation thermique.

Pour aller plus loin

Explorez l'utilisation de la flash externe de 16 Mo pour le stockage à long terme des logs CAN. Vous pouvez également utiliser le second contrôleur FDCAN1 en ajoutant un transceiver externe pour créer une passerelle entre deux réseaux CAN différents.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels