Skip to content
RFrftools.io
Motor27 février 202611 min de lecture

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.

Sommaire

Présentation

Sur le papier, faire varier la tension pour modifier la vitesse du moteur à courant continu semble simple. Dans la pratique, vous devez jongler avec un courant d'appel qui peut atteindre un pic 10 fois supérieur à la valeur nominale, une force électromagnétique arrière qui combat votre tension d'alimentation, des limites thermiques qui vous envahissent lors de charges soutenues et des exigences de précision de position qui nécessitent des boucles de rétroaction. Ce guide décompose chaque élément de la console de contrôle afin que vous compreniez réellement ce qui se passe sous le capot.


Le modèle de moteur à courant continu

Un moteur à courant continu à balais n'est pas simplement une résistance : il possède une résistance d'induit, une inductance et une source de tension (contre-champ électromagnétique) qui fonctionnent ensemble. Le modèle de circuit ressemble à ceci :

§ 0§

La force électromotrice arrière est proportionnelle à la vitesse de l'arbre :Vemf=KeωV_{emf} = K_e \cdot \omega. Le couple provient du courant :T=KtIaT = K_t \cdot I_a. Ces constantesKeK_eetKtK_tsont généralement enfouies quelque part dans la fiche technique, souvent dans des unités mixtes qui donnent envie de crier.

Une fois que le moteur atteint un état stable et que l'inducteur cesse de vous combattre, l'équation se simplifie :

§ 1§

Cela vous explique pourquoi les moteurs chargés ralentissent : le termeIaRaI_a R_aréduit votre tension effective. Un moteur tirant 5 A sur 0,5 Ω perd 2,5 V sur place, ce qui se traduit directement par une perte de vitesse.

Jouez avec ces relations à l'aide du Calculateur de vitesse du moteur à courant continu pour voir comment la résistance de l'armature et le courant de charge affectent votre régime final.


# Principes fondamentaux du PWM

La PWM (modulation de largeur d'impulsion) permet de contrôler la tension du moteur sans brûler d'énergie dans une résistance en série, comme en 1985. Vous allumez et éteignez rapidement l'alimentation : l'inductance du moteur permet de lisser les impulsions pour obtenir une tension continue effective :

Veff=D×VsupplyV_{eff} = D \times V_{supply}
DDest votre cycle de travail de 0 à 1. Un fonctionnement à 75 % à 12 V vous donne 9 V efficaces. Des calculs simples, mais le choix de la fréquence est plus important que la plupart des gens ne le pensent.

FréquenceAvantagesInconvénients
1 à 5 kHzFaibles pertes de commutation, facile à mettre en œuvreUn gémissement sonore vous rend fou
20—50 kHzFonctionnement silencieux, bon rendementPertes de commutation modérées
> 100 kHzRéponse transitoire ultra-rapideLes interférences électromagnétiques deviennent un cauchemar, les pertes de commutation augmentent
Règle générale : Limitez à 20-25 kHz pour les moteurs à courant continu à balais classiques. Il est au-dessus de la plage audible (pas de gémissement gênant), les pertes de commutation restent raisonnables et la plupart des minuteries à microcontrôleur les gèrent facilement. J'ai vu des ingénieurs passer à 100 kHz en pensant que plus vite est toujours mieux, puis passer des semaines à déboguer les interférences électromagnétiques rayonnées et à gérer les sonneries du pilote de grille.

Le Calculateur de cycle de service PWM vous permet de calculer la tension effective et d'estimer à quoi ressemblera votre courant de décrochage avant de faire exploser votre moteur.


# Pilotes H-Bridge

Le contrôle bidirectionnel nécessite un pont en H : quatre commutateurs sont disposés de manière à ce que vous puissiez inverser la polarité aux bornes du moteur. Le nom vient de la topologie du circuit, qui ressemble littéralement à un H.

Discret ou intégré

Les pilotes intégrés tels que le DRV8833, le TB6612 ou le L298N sont la solution, sauf si vous avez une raison précise de ne pas le faire. Ils gèrent l'insertion en temps mort (afin de ne pas court-circuiter l'alimentation via les MOSFET du côté haut et du côté bas), l'arrêt thermique et la protection contre les surintensités. Le L298N est ancien et inefficace mais pratiquement indestructible : idéal pour l'apprentissage, nul pour les projets alimentés par batterie. Les MOSFET discrets sont utiles lorsque vous devez transmettre un courant important ou que vous souhaitez une efficacité maximale. Vous aurez besoin de pilotes de grille (les circuits d'amorçage côté haut sont amusants à déboguer), d'une disposition minutieuse des circuits imprimés pour éviter les fuites et d'une gestion appropriée des temps morts dans votre code de contrôle. Le gain d'efficacité est cependant réel : les conceptions discrètes peuvent atteindre plus de 95 % alors que le L298N peine à atteindre 70 %.

Sélection du MOSFET

Lorsque vous choisissez des MOSFET pour un pont en H, quatre caractéristiques sont importantes :

  1. VDSV_{DS} — Doit dépasser votre tension d'alimentation avec une marge. Utilisez leVDS1.5×VsupplyV_{DS} \geq 1.5 \times V_{supply}comme point de départ. Les transitoires et les pointes inductives vous mordront sinon.
  1. IDI_D — Doit gérer le courant d'appel de pointe, pas seulement le courant nominal. Appliquez leID1.5×IinrushI_D \geq 1.5 \times I_{inrush}au minimum. Ce courant d'appel peut être 10 fois supérieur à la valeur en régime permanent.
  1. RDS(on)R_{DS(on)} — Plus c'est bas, mieux c'est. Cela détermine vos pertes de conduction. Un MOSFET de 10 mΩ contre 50 mΩ fait une énorme différence à des courants élevés.
  1. QgQ_g — La charge du portail détermine la vitesse à laquelle vous pouvez changer et la quantité d'énergie consommée par votre pilote de portail. Plus c'est bas, mieux c'est pour le PWM haute fréquence.
La perte de conduction par MOSFET correspond à :
Pcond=I2×RDS(on)×DP_{cond} = I^2 \times R_{DS(on)} \times D
DDest le cycle de service pour lequel l'interrupteur est activé. Les pertes du côté haut et du côté bas sont différentes car elles se produisent selon des cycles de service complémentaires.

Le Calculateur de sélection H-Bridge vous aide à déterminer les exigences en matière de courant de pointe et les valeurs nominales minimales des MOSFET. Utilisez le Calculateur de puissance du moteur pour estimer la dissipation de puissance totale et voir si vous avez besoin d'un dissipateur thermique.


Courant d'appel et de démarrage

Voici ce qui attire les gens : lorsque vous appliquez une tension à un moteur stationnaire pour la première fois, la force électromotrice arrière est nulle. Rien ne s'oppose à la tension appliquée, sauf la minuscule résistance d'armature. Le courant initial devient :

Iinrush=VsupplyRaI_{inrush} = \frac{V_{supply}}{R_a}
Supposons que vous ayez un moteur avec une résistance d'armature de 0,5 Ω fonctionnant sur 12 V. Le courant d'appel est de 24 A, même si la plaque signalétique du moteur indique 2 A en continu. C'est un multiplicateur de 12 fois. Votre chauffeur doit gérer cela sans laisser échapper la fumée magique.

Des stratégies d'atténuation qui fonctionnent réellement :
  • Démarrez en douceur le cycle de service PWM : passez de 0 % à la cible sur 100 à 500 ms. Simple, efficace, il ne vous coûte que quelques lignes de code.
  • Utilisez un limiteur de courant — Des composants tels que le DRV8434 sont dotés d'un découpage de courant intégré qui limite automatiquement le courant de pointe.
  • Dimensionnez le pont en H en fonction du courant d'appel, non nominal — Ceci n'est pas négociable. Un moteur de 2 A a besoin d'un pilote capable de 20 à 30 A si vous voulez de la fiabilité.
La plupart des ingénieurs évitent le démarrage progressif et se demandent pourquoi leurs pilotes continuent de mourir. Ne soyez pas cet ingénieur.

Encodeurs pour contrôle en boucle fermée

La commande PWM en boucle ouverte fonctionne parfaitement pour les ventilateurs, les pompes et autres applications où vous ne vous souciez pas de la vitesse ou de la position exactes. Dès que vous avez besoin de précision (robotique, CNC, tout ce qui concerne le contrôle de position), vous avez besoin du feedback d'un encodeur.

Types d'encodeurs

Les codeurs incrémentaux optiques utilisent un disque à fentes et des photointerrupteurs pour générer des impulsions en quadrature AB. Il s'agit du type le plus courant, disponible de 100 à 10 000 impulsions par révolution (PPR). Des signaux propres, une bonne résolution, mais ils n'aiment ni la poussière ni les vibrations. Les codeurs magnétiques utilisent des capteurs à effet Hall et un anneau magnétisé. Bien plus résistant à la contamination et aux chocs. Vous les trouverez dans les moteurs industriels et les applications automobiles. La résolution est généralement inférieure à celle de l'optique, mais ils peuvent survivre à des environnements susceptibles de tuer instantanément un encodeur optique. Les encodeurs absolus transmettent la position réelle de l'arbre sous forme de mot numérique : aucun comptage n'est requis, aucune séquence de référence n'est nécessaire après la mise sous tension. Ils sont coûteux et excessifs pour la plupart des projets, mais ils sont essentiels pour le suivi de position multitour dans des objets tels que les supports de télescope ou les robots industriels.

Décodage en quadrature

Deux canaux A et B sont déphasés de 90°. En regardant à la fois les bords ascendants et descendants sur les deux canaux, vous obtenez une résolution 4 fois supérieure à celle du PPR de base :

§ 5

Un encodeur de 1000 PPR vous donne 4 000 comptes par tour, ce qui correspond à une résolution angulaire de 0,09°. Le sens de rotation provient du canal qui mène : si A mène B, vous avancez, si B mène A, vous remontez.

La plupart des microcontrôleurs ont des périphériques de décodeur en quadrature matérielle qui gèrent cela automatiquement. Si vous essayez de le faire dans un logiciel avec des interruptions, vous commencerez à manquer des comptes supérieurs à quelques milliers de tours par minute.

Utilisez le Calculateur de résolution de l'encodeur pour déterminer votre RCP réelle, votre résolution angulaire et la fréquence d'impulsion maximale que votre compteur doit gérer.


Contrôle de vitesse PID

Une fois que l'encodeur vous indique la vitesse réelle de l'arbre, vous pouvez fermer la boucle à l'aide d'un régulateur PID. L'équation PID classique :

§ 6

e(t)=ωsetpointωmeasurede(t) = \omega_{setpoint} - \omega_{measured}est votre erreur de vitesse.

Le terme proportionnelKpK_pvous donne une réponse immédiate proportionnelle à l'erreur. Le terme intégralKiK_iélimine les erreurs en régime permanent en accumulant les erreurs au fil du temps. Le terme dérivéKdK_damortit les oscillations en réagissant au taux de variation. Faire en sorte que les trois jouent bien ensemble relève plus de l'art que de la science.

Réglage Ziegler-Nichols

Ziegler-Nichols vous donne un point de départ pratique basé sur la réponse pas à pas en boucle ouverte. Ce ne sera pas parfait, mais il vaut mieux que les suppositions aléatoires :

  1. Appliquez une entrée par étapes (par exemple, passez de 0 % à 50 % PWM) et mesurez la réponse à la vitesse du moteur
  2. Extrayez trois paramètres : gain de processusKK, temps mortLLet constante de tempsτ\tau3. Calculez les gains PID initiaux :
- Article 28 - Article 29 - Article 30

Ils ne seront pas optimaux, mais ils vous permettront de vous situer dans la bonne voie. À partir de là, vous réglez de manière empirique : augmentezKpK_pjusqu'à obtenir des oscillations, recule de 50 %, puis ajustezKiK_ietKdK_dà votre goût.

Le Calculateur PID Tuning calcule les gains initiaux à partir de vos paramètres de réponse par pas mesurés. Cela vous évite de faire le calcul à la main et de faire des erreurs arithmétiques à 2 heures du matin.


Gestion thermique

Les moteurs génèrent de la chaleur dans les enroulements à partir de pertes résistives :P=I2RaP = I^2 R_a. Votre pilote génère de la chaleur à partir des pertes de conduction dans les MOSFET :P=I2RDS(on)P = I^2 R_{DS(on)}. Si vous faites trop chaud pendant trop longtemps, vous risquez un déclassement thermique ou une panne pure et simple.

La température de fonctionnement s'élève à :

§ 7§

RθR_{\theta}est la résistance thermique du carter du moteur à la température ambiante. Les fiches techniques vous donnent généralement ce chiffre, ou vous pouvez le mesurer de manière empirique en faisant fonctionner le moteur à une puissance connue et en vérifiant l'élévation de température à l'aide d'un thermocouple.

Voici ce qui fait mal aux gens : la résistance des enroulements en cuivre augmente avec la température d'environ 0,39 % par °C. Un moteur dont la température est supérieure de 50 °C à la température ambiante a une résistance d'enroulement supérieure d'environ 20 %. Cela signifie moins de couple pour le même courant, ce qui signifie que vous avez besoin de plus de courant pour maintenir le couple, ce qui génère plus de chaleur. C'est un cercle vicieux si vous courez près de la limite thermique.

Vérifiez la courbe de déclassement thermique de votre moteur dans la fiche technique. La plupart des moteurs commencent à déclasser à environ 100 °C de température du boîtier et sont complètement déclassés à 150 °C. Si vous prévoyez de fonctionner en continu à une charge élevée, vous avez besoin d'un refroidissement par air forcé ou d'un moteur plus gros.


Résumé

Pour contrôler correctement les moteurs à courant continu, il faut comprendre le système complet :

  1. Modélisez correctement le moteur — Utilisez leV=IR+KeωV = IR + K_e\omegapour prédire la vitesse et le courant en charge, et pas seulement les spécifications à vide
  2. Dimensionnez le pilote pour qu'il soit réalité — Conçu en fonction du courant d'appel (5 à 10 fois le courant nominal), et non en fonction de la valeur nominale
  3. Choisissez avec soin votre fréquence PWM — 20 à 25 kHz constituent le point idéal en termes de silence et d'efficacité dans la plupart des applications
  4. Ajoutez du feedback lorsque vous avez besoin de précision — Les encodeurs en quadrature vous offrent une résolution 4x et une détection de direction
  5. Réglez votre contrôleur PID — Commencez par Ziegler-Nichols, puis affinez en fonction de la réponse réelle du système
  6. Ne négligez pas les limites thermiques — Calculez la température du moteur et du pilote à la charge continue maximale, et non à la charge maximale
La différence entre un système de commande moteur qui fonctionne et un système qui fonctionne de manière fiable réside dans la gestion correcte de ces détails. Dimensionnez le tout en fonction des pires conditions, ajoutez de la marge et testez à des températures extrêmes avant de vous lancer dans la production.

Articles connexes