Contrôle des moteurs à courant continu : explication du PWM, des pilotes et des encodeurs
Guide complet pour contrôler les moteurs à courant continu avec PWM : sélection du bon pilote à pont en H, dimensionnement du MOSFET et fermeture de la boucle à l'aide d'un encodeur.
Présentation
La commande du moteur à courant continu semble simple : variez la tension, variez la vitesse. Mais les systèmes réels doivent gérer le courant d'appel, les contre-champs électromagnétiques, les limites thermiques et la précision de la position. Ce guide passe en revue chaque couche de la pile de contrôle.
---
Le modèle de moteur à courant continu
Un moteur à courant continu à balais peut être modélisé comme une source de tension (contre-champ électromagnétique) en série avec une résistance (résistance d'induit) et une bobine d'induction (inductance d'induit) :
« MATHBLOCK_0 »
où « MATHINLINE_7 » (force électromotrice arrière proportionnelle à la vitesse) et couple « MATHINLINE_8 ».
À l'état d'équilibre : « MATHBLOCK_1 »
Utilisez le [Calculateur de vitesse du moteur à courant continu] (/calculators/motor/dc-motor-speed) pour explorer cette relation de manière interactive.
---
# Principes fondamentaux du PWM
La modulation de largeur d'impulsion (PWM) contrôle la tension du moteur en activant et en désactivant rapidement l'alimentation :
« MATHBLOCK_2 »
où « MATHINLINE_9 » est le rapport cyclique (0 à 100 %). À un cycle de service de 75 % avec une alimentation de 12 V, « MATHINLINE_10 » = 9 V.
Le choix de la fréquence PWM implique des compromis :
| Fréquence | Avantages | Inconvénients |
|---|---|---|
| 1 à 5 kHz | Faibles pertes de commutation | Gémissement sonore |
| 20—50 kHz | Silencieux, efficace | Pertes de commutation plus élevées |
| > 100 kHz | Réponse très rapide | Problèmes d'interférences électromagnétiques, perte de commutation élevée |
Utilisez le [Calculateur de cycle de service PWM] (/calculators/motor/pwm-duty-cycle-motor) pour calculer la tension effective et estimer le courant de décrochage.
---
# Pilotes H-Bridge
Pour piloter un moteur de manière bidirectionnelle, vous avez besoin d'un pont en H : quatre commutateurs sont disposés de manière à ce que vous puissiez appliquer une tension dans les deux sens.
Discret ou intégré
Les pilotes intégrés (DRV8833, TB6612, L298N) sont les plus simples. Ils gèrent en interne la protection contre les temps morts, les arrêts thermiques et les surintensités. Les MOSFET discrets offrent une efficacité supérieure et permettent de piloter des courants plus élevés, mais nécessitent des pilotes de grille, des circuits d'amorçage et une disposition minutieuse.Sélection du MOSFET
Les spécifications critiques des MOSFET à pont en H :
1. V_DS — doit dépasser la tension d'alimentation avec une marge : « MATHINLINE_11 » 2. I_D — doit dépasser le courant de pointe (appel) : « MATHINLINE_12 » 3. R_ {DS (on)} — plus c'est bas, mieux c'est (moins de perte de conduction) 4. Q_g — charge de la grille, détermine la vitesse de commutation et les pertes
Perte de conduction par MOSFET : « MATHINLINE_13 »
Utilisez le [Calculateur de sélection du pont en H] (/calculators/motor/h-bridge-selection) pour calculer le courant de pointe et les valeurs nominales minimales du MOSFET, et le [Calculateur de puissance du pilote du moteur] (/calculators/motor/motor-driver-power) pour estimer les pertes totales.
---
Courant d'appel et de démarrage
Au démarrage, le moteur est immobile (ω = 0), donc Back-EMF = 0. Le courant initial est le suivant :
« MATHBLOCK_3 »
Pour un moteur avec « MATHINLINE_14 » = 0,5 Ω sur 12 V, appel = 24 A, même si le courant nominal n'est que de 2 A. Il s'agit d'un multiplicateur d'appel de 12 fois.
Stratégies d'atténuation :- Augmentez le cycle de service PWM (démarrage progressif)
- Utilisez un contrôleur de limitation de courant (le DRV8434 possède un découpage de courant intégré)
- Dimensionnez le pont en H en fonction du courant d'appel, et non du courant nominal
Encodeurs pour contrôle en boucle fermée
Le contrôle de vitesse PWM en boucle ouverte est suffisant pour les ventilateurs et les pompes. Pour le contrôle de position ou la régulation précise de la vitesse, vous avez besoin du feedback d'un encodeur.
Types d'encodeurs
- Incrémental optique (quadrature AB) : compte les impulsions lorsque l'arbre tourne. Le plus courant, 100 à 10 000 PPR.
- Magnétique (effet Hall) : résistant à la contamination. Utilisé dans les moteurs industriels.
- Absolute : affiche la position absolue ; aucun référencement n'est requis.
Décodage en quadrature
Deux canaux A et B, déphasés de 90°. En détectant tous les bords ascendants et descendants des deux canaux, vous obtenez une résolution 4× :
« MATHBLOCK_4 »
Un encodeur 1000 PPR donne 4000 comptes par tour = une résolution de 0,09°.
Utilisez le [Calculateur de résolution de l'encodeur] (/calculators/motor/encoder-resolution) pour calculer la RCP, la résolution angulaire et la fréquence d'impulsion maximale pour votre compteur.
---
Contrôle de vitesse PID
Une fois que vous avez reçu le feedback de l'encodeur, vous pouvez fermer la boucle avec un régulateur PID :
« MATHBLOCK_5 »
où « MATHINLINE_15 ».
Réglage Ziegler-Nichols
Un point de départ pratique utilisant la réponse par étapes en boucle ouverte :
1. Appliquez une entrée par étape et mesurez le gain du processus « MATHINLINE_16 », le temps mort « MATHINLINE_17 » et la constante de temps « MATHINLINE_18 » 2. Appliquez les formules de Ziegler-Nichols : - « MATHINLINE_19 » - « MATHINLINE_20 » - « MATHINLINE_21 »
Utilisez le [Calculateur de réglage PID] (/calculators/motor/pid-tuning) pour calculer les gains à partir de votre réponse par pas mesurée.
---
Gestion thermique
Les moteurs génèrent de la chaleur dans les enroulements (« MATHINLINE_22 ») et dans le pilote (« MATHINLINE_23 »). Une surcharge prolongée entraîne un déclassement thermique et, éventuellement, une défaillance.
Calculez la température de fonctionnement : « MATHBLOCK_6 »La résistance des enroulements en cuivre augmente avec la température (TCR ≈ 0,39 %/°C), donc la résistance à la chaleur augmente et le couple diminue. Vérifiez la courbe de déclassement thermique de votre moteur.
---
Résumé
1. Modélisez le moteur : utilisez « MATHINLINE_24 » pour prédire la vitesse et le courant 2. Sélectionnez le pilote : taille pour le courant d'appel (5 à 10 fois la valeur nominale), pas seulement pour le courant nominal 3. Choisissez la fréquence PWM : 20—25 kHz pour le silence et l'efficacité 4. Ajouter un commentaire : l'encodeur en quadrature donne une résolution 4× 5. Tune PID : commencez par Ziegler-Nichols, affinez de manière empirique 6. Contrôle thermique : température du moteur et du pilote à la charge maximale