🛠 Initiation au contrôle moteur avec la PWM

HPMicro HPM5100 : Microcontrôleur RISC-V 400 MHz pour la commande moteur et l'acquisition analogique · debutant · Apprenez à générer des signaux PWM sur le HPM5100 pour piloter la vitesse d'un moteur CC.

Objectifs

Ce tutoriel vous guide dans la configuration du module PWM du HPM5100 pour contrôler la vitesse d'un moteur à courant continu. Vous apprendrez à utiliser les 32 canaux PWM disponibles et à comprendre le principe de la modulation de largeur d'impulsion. C'est une excellente introduction aux capacités de gestion moteur du microcontrôleur RISC-V.

Matériel nécessaire

Étapes

``c pwm_config_t config = { .period = 20000, // Exemple de période .pulse = 10000, // 50% de rapport cyclique }; pwm_set_config(HPM_PWM1, &config); pwm_enable(HPM_PWM1, PWM_CHANNEL_0, true); ``

``c while(1) { for(int duty = 0; duty <= 100; duty+=5) { pwm_set_duty(HPM_PWM1, PWM_CHANNEL_0, duty, 100); delay_ms(100); } // Inverser le sens de variation si nécessaire } ``

  1. Branchement matériel : Connectez la broche de sortie PWM du HPM5100 à la grille (Gate) du transistor MOSFET. Reliez le drain du MOSFET au pôle positif du moteur. La source du MOSFET va à la masse (GND). L'autre pôle du moteur va à l'alimentation positive externe. N'oubliez pas la diode de roue libre en parallèle du moteur.
  2. Configuration du projet : Ouvrez votre IDE (ex: VS Code avec plugin HPM) et créez un nouveau projet basé sur le template drivers/pwm.
  3. Initialisation du PWM : Dans votre code C, initialisez le périphérique PWM. Le HPM5100 possède des timers synchronisés. Configurez la fréquence de commutation (ex: 20 kHz pour éviter le bruit audible).
  4. Boucle principale : Modifiez dynamiquement la valeur de pulse pour changer la vitesse. Utilisez une variable qui augmente et diminue progressivement.
  5. Compilation et téléchargement : Compilez le firmware avec make et flashez la carte via USB.

Vérification

Observez le moteur. Il doit démarrer lentement, accélérer jusqu'à sa vitesse maximale, puis ralentir. Si vous utilisez une LED, elle doit s'éclairer progressivement sans clignotement visible à l'œil nu. Vérifiez avec un oscilloscope si disponible que le signal est bien carré et stable à 20 kHz.

Pour aller plus loin

Explorez les fonctionnalités avancées comme le mode complémentaire pour les ponts en H, ou utilisez le FreeRTOS pour créer une tâche de contrôle de vitesse régulée par retour d'information via les ADC 16 bits intégrés.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels