🛠 Contrôle Moteur avec PWM et ADC sur HPM5100

HPMicro HPM5100 : Microcontrôleur RISC-V 400 MHz pour la commande moteur et l'acquisition analogique · intermediaire · Configurez les 32 canaux PWM synchronisés et les ADC SAR 16 bits du HPM5100 pour une boucle de régulation moteur haute précision.

Objectifs

Ce tutoriel explique comment configurer le HPM5100 pour le contrôle d'un moteur à courant continu (BLDC ou DC) en utilisant la synchronisation matérielle entre les timers PWM et les convertisseurs analogiques-numériques (ADC). L'objectif est de réaliser une boucle de régulation de courant ou de vitesse avec une latence minimale, en exploitant les capacités DSP du cœur RISC-V à 400 MHz.

Matériel nécessaire

Étapes

  1. Initialisation des clocks : Configurez le système d'horloge pour que le cœur RISC-V tourne à 400 MHz. Les périphériques PWM et ADC doivent être alimentés par des sources stables pour éviter le jitter.
  2. Configuration des PWM : Utilisez les 32 canaux PWM. Configurez un timer PWM en mode centré (center-aligned) pour générer des signaux complémentaires nécessaires aux ponts en H. Activez les événements de déclenchement pour l'ADC.
  3. Configuration des ADC SAR : Activez l'un des quatre ADC SAR 16 bits. Configurez le canal pour lire le courant du moteur via une résistance shunt. Définissez le déclenchement (trigger) sur l'événement de fin de période PWM pour échantillonner au point milieu de l'impulsion.
  4. Implémentation de la boucle de contrôle : Dans le fichier principal, créez une fonction d'interruption liée à la fin de conversion ADC. Lisez la valeur brute, convertissez-la en courant réel, et calculez l'écart par rapport à la consigne (PID). Mettez à jour le registre de comparaison du PWM.
  5. Sécurité et Debug : Activez les comparateurs matériels si disponibles pour couper le PWM en cas de surcourant détecté sur l'ADC, assurant une protection matérielle rapide.

Vérification

Ouvrez une série console via UART à 115200 baud. Affichez les valeurs de courant lues par l'ADC en temps réel. Utilisez un oscilloscope pour vérifier que les fronts de montée du PWM sont synchronisés avec les échantillonnages ADC. La stabilité de la lecture sous charge indique un bon fonctionnement.

Pour aller plus loin

Explorez l'utilisation des amplificateurs opérationnels internes configurables en PGA pour amplifier le signal de shunt avant l'ADC, améliorant ainsi la résolution effective du courant mesuré.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels