Tutoriel · Intermédiaire · 35 min de lecture
Moteurs pas à pas : angle de retard et perte de pas
Un moteur pas à pas ne fait pas de pas — il traîne un rotor derrière un champ tournant. D'où les micropas, les pas perdus, et un moteur pas où vous croyez.
La phrase qui rend les pas à pas limpides
Un moteur pas à pas ne fait pas des pas.
Cela sonne comme une ruse, mais c’est la chose la plus utile à savoir sur la pièce. Ce que le driver fait vraiment est faire tourner un champ magnétique dans le moteur par petits incréments. Le rotor est un aimant permanent denté, et il suit ce champ comme une aiguille de boussole suit un aimant — non parce qu’on le lui dit, mais parce qu’il est tiré.
Le rotor est donc toujours derrière le champ. Il le faut : s’il était exactement aligné avec le champ, aucune force ne s’exercerait sur lui, et il ne pourrait vaincre le frottement ni entraîner une charge. L’angle entre l’endroit où pointe le champ et l’endroit où est vraiment le rotor a un nom — l’angle de retard, parfois angle de charge — et presque tout ce que fait un moteur pas à pas qui surprend est un fait sur cet angle.
Par écrit, tout le modèle tient en une ligne :
T = T_peak × sin(δ)
où δ est l’angle de retard en degrés électriques. Tout ce qui suit en est une conséquence.
Degrés électriques, et le moteur 1,8°
Les pas à pas se cotent en degrés mécaniques — un « moteur 1,8° » tourne l’arbre de 1,8° par pas complet, soit 200 pas complets par tour. Mais la magnétique se répète bien plus vite que l’arbre. Un moteur hybride standard a 50 dents au rotor, donc le cycle magnétique se répète 50 fois par tour d’arbre :
| Grandeur | Mécanique | Électrique |
|---|---|---|
| Un pas complet | 1.8° | 90° |
| Un tour | 360° | 18 000° (50 cycles) |
| Couple crête à | 1.8° derrière | 90° derrière |
| Plage stable | ±1.8° | ±90° |
La conversion est la seule arithmétique nécessaire : un pas complet vaut 90 degrés électriques, toujours, sur chaque moteur 1,8°. Donc la plage stable — celle où prendre plus de retard fait ramener le rotor plus fort — vaut ±1 pas complet, et le point de non-retour, à 180°, n’est qu’à deux pas complets.
Pourquoi les pas à pas perdent des pas
Regardez à nouveau cette sinusoïde. Entre −90° et +90°, le moteur se comporte comme un ressort : traînez davantage, êtes tiré plus fort. C’est un équilibre stable et c’est pourquoi un pas à pas peut tourner en boucle ouverte, sans encodeur ni rétroaction. Le rotor s’autocorrige.
Passé 90°, la sinusoïde redescend. Traînez davantage désormais et le couple qui vous tire vers l’avant faiblit. Ce qui vous fait traîner encore davantage. Ce qui l’affaiblit encore — et à 180° le couple change carrément de signe et commence à pousser le rotor vers le pôle suivant plutôt que vers celui-ci. De là le rotor glisse jusqu’à s’accrocher sur la dent stable suivante, un cycle électrique entier plus loin.
Donc 90° est là où une charge constante est au bout : au-delà il n’y a aucun équilibre où se tenir, seulement une pente. Une brève excursion passé 90° peut survivre si le rotor a l’élan pour revenir — le pas complet fait exactement cela à chaque front de pas, dépassant vers 100° et récupérant à chaque fois — mais une charge qui se tient passé 90° est déjà en train de tomber.
Voilà un pas perdu, et il a trois propriétés à mémoriser :
- Il est silencieux. Il n’y a pas d’encodeur. Le driver continue de compter les impulsions, le micrologiciel continue de les croire, et l’idée que la machine se fait de l’endroit où elle est est désormais fausse en permanence. Chaque déplacement après celui-ci est décalé.
- Il vient par quatre. Le rotor atterrit sur le point stable suivant, à un cycle électrique de distance — 360 degrés électriques, soit quatre pas complets. Un pas à pas ne perd jamais un pas. Il en perd quatre, ou huit, ou cent.
- Il ne se répare jamais. Perdre des pas dans l’autre sens plus tard ne l’annule pas sauf par coïncidence.
Le simulateur de moteur pas à pas intègre cela directement plutôt que de le scénariser : rien dans le code ne cherche la perte de pas. L’équation du mouvement du rotor est la loi en sinus ci-dessus, et quand sin(δ) redescend, le rotor décroche tout seul — et la perte annoncée sort toujours multiple de quatre.
Ce qui fait grandir l’angle de retard
Trois choses, et les distinguer est comment on diagnostique une machine.
La charge. En régime établi, l’angle de retard se stabilise là où le couple produit égale le couple demandé :
sin(δ) = torque demanded ÷ peak torque available
Une charge à 43 % de la crête se tient à 26 degrés électriques. Une charge à 71 % se tient à 45°. Une charge à 100 % se tient à 90° — pile sur la falaise, sans marge. C’est pourquoi le conseil usuel est de dimensionner un pas à pas à environ la moitié de son couple disponible : non par superstition du coefficient de sécurité, mais parce que la moitié du couple fait 30 degrés électriques de retard et laisse 60° de marge pour le transitoire non modélisé.
L’accélération. Mettre le rotor en mouvement prend aussi du couple, et ce couple sort du même budget. Pendant l’accélération, la demande vaut charge + J × α, donc l’angle de retard est au pire sur la rampe, pas à vitesse. Dites à un moteur à l’arrêt de tourner aussitôt à pleine vitesse et le champ commandé sprinte pendant que le rotor se rassemble encore — le retard dépasse 90° en une ou deux millisecondes, et sans rien pour le ramener il continue et le moteur bourdonne simplement sur place. Cette limite a un nom : le taux d’accrochage, le plus haut taux de pas commandable depuis l’arrêt sans rampe.
La vitesse. Celle-ci est la moins évidente et la cause la plus courante des pannes réelles, et elle a sa propre section.
Le couple chute avec la vitesse, et le couple de maintien est un nombre marketing
Le nombre sur l’étiquette d’un moteur — « couple de maintien 0,44 N·m » — est mesuré arbre bloqué et courant nominal dans les enroulements. Il ne dit presque rien d’un moteur qui bouge.
Un enroulement est une inductance. Pour faire du couple, le driver doit y forcer du courant puis inverser ce courant, encore et encore, de plus en plus vite à mesure que le moteur accélère. Deux choses résistent :
- La réactance. L’opposition de l’enroulement au changement de courant croît en proportion de la fréquence électrique, et la fréquence électrique vaut 50× la vitesse d’arbre.
- La force contre-électromotrice. Un rotor à aimants permanents qui tourne génère sa propre tension, opposée à l’alimentation. Passée une certaine vitesse, l’alimentation ne peut tout simplement plus y pousser le courant.
Cela produit les deux règles qui comptent quand une machine ne veut pas aller assez vite :
| Symptôme | Quoi changer | Pourquoi |
|---|---|---|
| Cale en charge à basse vitesse | Montez la limite de courant | Sous le coin, le courant fixe directement le couple |
| Cale seulement à haute vitesse | Montez la tension d’alimentation | Passé le coin, la tension est ce qui force le courant |
| Cale partout | Mauvais moteur, ou charge trop grosse | Aucun réglage ne sauve un moteur sous-dimensionné |
Plus d’ampères achètent du couple. Plus de volts achètent de la vitesse. Monter le courant pour corriger un calage à haute vitesse ne fait rien du tout, parce que passé le coin le driver n’atteignait jamais le courant réglé de toute façon — et vous gagnez un moteur chaud pour votre peine.
Micropas : ce qu’ils font et ne font pas
Les micropas consistent à tourner le champ en fractions de pas complet en mélangeant les courants des deux phases, plutôt qu’en les commutant pleinement. Au 1/16 de pas, une impulsion STEP avance le champ de 5,625 degrés électriques au lieu de 90.
Ce qu’ils corrigent vraiment, c’est la sonnerie. Le rotor est une masse sur un ressort magnétique avec très peu d’amortissement. Donnez-lui un coup de 90 degrés électriques à la fois et il dépasse, oscille et se stabilise — de façon audible et visible. C’est le bruit que fait un moteur en pas complet et l’ondulation qu’il laisse dans un état de surface. Divisez le coup par seize et l’excitation disparaît presque.
Vous pouvez le mesurer. En entraînant le même axe à la même vitesse avec la même charge, et en enregistrant l’écart du chariot au trajet commandé :
| Micropas | Taille de pas (courroie GT2) | Pire écart au trajet | Erreur permanente due à la charge |
|---|---|---|---|
| Pas complet | 0.200 mm | 0.127 mm | 0.049 mm |
| 1/2 | 0.100 mm | 0.082 mm | 0.045 mm |
| 1/4 | 0.050 mm | 0.061 mm | 0.044 mm |
| 1/8 | 0.025 mm | 0.050 mm | 0.044 mm |
| 1/16 | 0.0125 mm | 0.045 mm | 0.044 mm |
Lisez ces deux dernières colonnes l’une contre l’autre, parce qu’elles sont tout l’argument. Seize fois la résolution achètent environ 2,8× de meilleur suivi puis cessent de s’améliorer — tandis que l’erreur permanente causée par la charge ne bouge pas du tout. Elle est de 0,044 mm en pas complet et 0,044 mm au seizième de pas. La courbe de la troisième colonne s’aplatit sur la quatrième, et la quatrième n’est pas faite de résolution.
Ce que les micropas ne corrigent pas, c’est l’angle de retard. Sous cette charge, le rotor se tient environ 20 degrés électriques derrière le champ, soit 0,4 degré mécanique, soit sur cet axe 0,044 mm d’erreur de position. En pas complet c’est un quart de pas et personne ne remarque. Au 1/16 de pas, les mêmes 0,044 mm font 3,5 micropas, et le driver annonce avec assurance une position où il n’est pas du tout. Diviser le pas a fait paraître l’erreur plus grosse en unités de pas ; cela n’a rien fait du tout à l’erreur.
La raison vaut d’être dite plainement. Pour tenir la position à un micropas du cran, le moteur produit T_peak × sin(90° ÷ micropas) — le couple disponible par micropas s’effondre à mesure qu’on divise :
| Micropas | Couple tenant un micropas | Fraction du couple de maintien |
|---|---|---|
| Pas complet | sin(90°) | 100% |
| 1/8 | sin(11.25°) | 19.5% |
| 1/16 | sin(5.625°) | 9.8% |
| 1/256 | sin(0.352°) | 0.61% |
Ce dernier chiffre correspond au nombre que la littérature des drivers cite pour le 1/256 de pas, et c’est toute l’histoire : aux divisions fines, le couple distinguant un micropas du suivant est plus petit que le frottement de votre machine. Le rotor ne peut physiquement pas les distinguer. Il bouge quand la commande accumulée suffit à vaincre le frottement, et alors il bouge de plusieurs micropas d’un coup.
Donc : des micropas pour la douceur et le silence, pas pour la précision. S’il faut que la position soit juste, il faut assez de marge de couple, ou il faut un encodeur.
Le voir se produire
L’expérience la plus utile est la moins chère. Dans le simulateur de moteur pas à pas, faites un déplacement de 60 mm deux fois avec tout identique sauf la rampe :
| Avec une rampe d’accélération | Commandé direct à pleine vitesse | |
|---|---|---|
| Angle de retard crête | 25° — confortable | passé 90° à 1,2 ms, parti à 3,0 ms |
| Pas complets perdus | 0 | 280 |
| Où finit l’axe | 60.00 mm | 4.0 mm |
Même moteur, même driver, même limite de courant, même cible. La seule différence est si le taux de pas a été rampé, et la différence entre eux est tout le déplacement. C’est pourquoi les profils de mouvement ne sont pas un raffinement sur une machine pas à pas — ils sont ce qui la fait fonctionner.
Quand ça tourne mal
| Symptôme | Cause probable | Quoi faire |
|---|---|---|
| Le moteur bourdonne fort et ne tourne pas | Taux de pas commandé au-dessus du taux d’accrochage | Ajoutez une rampe d’accélération ; vérifiez la vitesse de départ |
| Dérive de quelques millimètres par impression, toujours dans un sens | Pas perdus sur la rampe | Adoucissez l’accélération, montez le courant, ou ralentissez |
| Bien à basse vitesse, cale en accélérant | Passé la vitesse de coin | Montez la tension d’alimentation — le courant n’aidera pas |
| Position fausse d’un multiple de quatre pas complets | Glissement de pôles classique | Trouvez quel déplacement surcharge ; le compte dit combien |
| Moteur chaud au point de brûler | Limite de courant trop haute, ou le moteur travaille vraiment | 60–80 °C est normal ; vérifiez la limite contre le nominal |
| Rugueux, bruyant, vibre à une vitesse particulière | Résonance de bande moyenne | Changez les micropas, ajoutez de l’amortissement, ou évitez cette vitesse |
| Deux bobines câblées comme une paire | Mauvais appariement des fils | Mesurez la résistance : une paire lit quelques ohms, un mauvais appariement lit ouvert |
Où cela mène
Une fois l’angle de retard en tête, le reste du monde pas à pas cesse d’être un ensemble de règles sans rapport. Régler la limite de courant sur un A4988 est régler T_peak. Choisir une courroie ou une vis mère est choisir combien de degrés électriques coûte un millimètre d’erreur. La prise d’origine contre un fin de course est comment une machine en boucle ouverte récupère la position absolue qu’elle ne peut jamais mesurer. Et un profil de mouvement est ce qui maintient l’angle de retard dans ±90° pendant tout le déplacement.
Ce sont quatre faces de la même sinusoïde.
Explorer le graphe
Fait partie de ces réalisations
Les projets et parcours d'apprentissage qui incluent ce tutoriel.
Pour aller plus loin