🛠 Initiation au contrôle moteur avec la PWM
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
- Carte HPMicro HPM5100 (HPM5151).
- Un petit moteur CC (3V-6V) ou une LED de forte puissance pour simuler la charge.
- Un transistor MOSFET ou un driver de moteur pour l'isolation.
- Câbles de connexion (Dupont).
- SDK HPM v1.13.0 installé et chaîne de compilation RISC-V.
É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 } ``
- 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.
- Configuration du projet : Ouvrez votre IDE (ex: VS Code avec plugin HPM) et créez un nouveau projet basé sur le template
drivers/pwm. - 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).
- Boucle principale : Modifiez dynamiquement la valeur de
pulsepour changer la vitesse. Utilisez une variable qui augmente et diminue progressivement. - Compilation et téléchargement : Compilez le firmware avec
makeet 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.