banner

Nouvelles

Apr 04, 2023

Quelle est la précision du microstepping ?

Les moteurs pas à pas divisent une rotation complète en centaines d'étapes discrètes, ce qui les rend idéaux pour contrôler avec précision les mouvements, que ce soit dans les voitures, les robots, les imprimantes 3D ou les machines CNC. La plupart des moteurs pas à pas que vous rencontrerez dans les projets de bricolage, les imprimantes 3D et les petites machines CNC sont des moteurs pas à pas hybrides bipolaires à 2 phases, soit avec 200 ou - dans la variante haute résolution - avec 400 pas par tour. Il en résulte un angle de pas de 1,8°, respectivement 0,9°.

D'une certaine manière, les pas sont les pixels du mouvement, et souvent, la résolution physique donnée n'est pas suffisante. La commutation dure des bobines d'un moteur pas à pas en mode pas à pas complet (entraînement par ondes) fait sauter le moteur d'une position de pas à la suivante, ce qui entraîne un dépassement, une ondulation du couple et des vibrations. De plus, nous voulons augmenter la résolution d'un moteur pas à pas pour un positionnement plus précis. Les pilotes de moteurs pas à pas modernes comportent des micropas, une technique de conduite qui comprime un nombre arbitraire de micropas dans chaque pas complet d'un moteur pas à pas, ce qui réduit sensiblement les vibrations et (soi-disant) augmente la résolution et la précision du moteur pas à pas.

D'une part, les micropas sont vraiment des pas qu'un moteur pas à pas peut exécuter physiquement, même sous charge. D'autre part, ils n'ajoutent généralement pas à la précision de positionnement du moteur pas à pas. Le microstepping est lié à la confusion. Cet article est dédié à clarifier un peu cela et - comme il s'agit d'une question très dépendante du pilote - je comparerai également les capacités de micropas des pilotes de moteur A4988, DRV8825 et TB6560AHQ couramment utilisés.

Dans un moteur pas à pas hybride, un pilote de moteur à micropas ajustera le courant dans les bobines du stator pour positionner le rotor à aimant permanent dans une position intermédiaire entre deux pas complets consécutifs. Un pas complet est ensuite divisé en un certain nombre de micropas, et chaque micropas est réalisé par les deux courants de bobine.

De nombreux pilotes de moteurs industriels plus anciens ne comportent que 4 micropas (mode quart de pas), mais aujourd'hui, on trouve couramment 16, 32 et même 256 micropas par pas complet. Si nous avions auparavant un moteur pas à pas de 200 pas par tour, nous avons maintenant un miracle de 51 200 pas par tour. En théorie.

En pratique, nous avons toujours affaire à des pilotes en boucle ouverte, ce qui signifie que le pilote du moteur ne connaît pas la position angulaire exacte de l'arbre du moteur et qu'il ne corrigera pas les écarts. Le frottement, le couple de détente du moteur et, plus frappant encore, la charge externe qui agit sur le rotor passeront inaperçus pour le conducteur. Sans fermer la boucle via un encodeur et un pilote spécial plus sophistiqué, le mieux que nous puissions supposer est que le moteur sera quelque part ± 2 pas complets (oui, si mauvais) près de sa position cible, qui est la déviation maximale avant le rotor s'enclenche dans la mauvaise position de pas complet, ce qui entraîne une perte de pas.

Le couple incrémental d'un micro pas à l'autre n'est — régi par une trigonométrie impitoyable — qu'une fraction du couple dynamique du moteur. Pour s'assurer que l'arbre du moteur se règle réellement à +/- 1 micropas, nous devons également réduire la charge en conséquence. Le dépassement de ce couple incrémentiel plus petit n'entraînera pas de perte de pas, mais entraînera la même erreur de positionnement absolue pouvant atteindre ± 2 pas complets. Le tableau ci-dessous montre la relation dévastatrice.

Source : Note technique du moteur pas à pas : Microstepping Myths and Realities by Micromo

La bonne nouvelle est que tant que nous utilisons un pilote de moteur suffisamment puissant, et si nous ne dépassons pas ce couple incrémentiel, que ce soit par une charge externe ou l'inertie interne du moteur, la seule limite théorique pour obtenir une précision de positionnement au micropas est le frottement interne du moteur et le couple de détente. Ces valeurs dépendent fortement du type de moteur, mais sont généralement des valeurs plutôt faibles (presque négligeables). Par exemple, le moteur utilisé dans le test suivant est spécifié avec un couple de détente de 200 g cm. C'est seulement 5% de son couple de maintien de 4000 g cm. Selon le tableau ci-dessus, ce moteur doit être capable d'un positionnement précis avec 16 micropas par pilote pas à pas.

Alors, cette théorie s'applique-t-elle? Et tous les pilotes de moteur micropas offrent-ils les mêmes performances en termes de précision de positionnement micropas ? J'ai récemment eu la chance de tester quelques pilotes de moteur pour un projet, et j'ai été plutôt surpris par les résultats.

Pour la configuration du test, j'ai emprunté le pointeur laser rouge de mon thermomètre infrarouge et je l'ai attaché au moteur via un appareil imprimé en 3D. Un support de miroir imprimé en 3D fixe un premier miroir de surface à l'arbre du moteur et comporte deux leviers d'une longueur de 100 mm chacun pour charger le moteur avec une masse donnée. Pour le test de charge, j'ai attaché une masse de 100 g à un levier, ce qui se traduit par un moment de charge de 1000 g cm à travers le levier. C'est le quart du couple de maintien du moteur utilisé pour ce test : Un Wantai 42BYGHW609 avec 1,7 A par phase, 4000 g cm de couple de maintien et 200 pas par tour.

J'ai monté l'ensemble moteur sur un rebord de fenêtre rigide et je l'ai positionné de manière à ce que le point du pointeur laser soit projeté à travers la pièce sur une règle de poche fixée au mur opposé, à environ 6 mètres de distance. Le levier optique agrandit les étapes pour des lectures précises. Au départ, j'avais prévu de simplement noter les lectures manuellement, mais j'ai rapidement réalisé que l'écriture d'un petit script de traitement d'image Java pour extraire les lectures des photographies pouvait se faire en une fraction du temps. Ainsi, un appareil photo reflex numérique a été connecté à mon électronique de test - un Arduino et un RAMPS 1.4 - pour être déclenché pour acquérir les lectures de position. J'aurais certainement dû pointer le laser sur le mur blanc propre à côté de la règle, mais un simple seuil sur le canal rouge a fait du bon travail pour extraire avec précision le point laser rouge vif de la règle. À partir de la lecture sur la règle et de la distance sur le mur, j'ai ensuite calculé la position angulaire de l'arbre du moteur.

Tous les pilotes de moteur pas à pas ont été testés dans leur mode 16 micropas par pas complet. Avant la mesure, le moteur pas à pas a été amené dans une position de détente à pas complet et le miroir a été aligné sur un faisceau perpendiculaire au mur. Ensuite, 16 micropas ont été exécutés dans une direction tout en déclenchant la caméra après chaque pas. Après cela, 16 micropas ont été exécutés dans le sens inverse, ramenant le moteur pas à pas à sa position d'origine. Encore une fois, la caméra se déclenchait après chaque pas. La mesure de la position dans les deux sens devrait me permettre d'avoir une idée du jeu amorti du moteur (le cas échéant), mais a donné des informations plus intéressantes que prévu. Cette séquence de test a été exécutée pour chaque pilote, à la fois déchargé et chargé avec 1000 g cm. Les pilotes les plus forts ont provoqué un peu de dépassement lors des tests chargés, ils ont donc eu le temps de se reposer avant qu'une photo ne soit déclenchée.

Il convient de mentionner que tous les résultats suivants proviennent du même moteur et du même pas de moteur physique pour assurer la comparabilité. Rien n'a été moyenné ou autrement traité, à l'exception du calcul de l'angle de position de l'arbre. Cependant, tous les tests ont été effectués plusieurs fois sur différents matériels (c'est-à-dire le même pilote IC, mais différentes cartes de dérivation provenant de différentes sources) pour garantir la validité des résultats. Même les résultats originaux (comme le DRV8825) étaient reproductibles sur différentes configurations. Veuillez noter que les graphiques suivants peuvent donner la fausse impression d'une mesure continue dans le temps. Ils montrent en fait une série de mesures discrètes au niveau des marques sur l'axe des x, et le graphique linéaire devrait permettre de voir plus facilement les non-linéarités en un coup d'œil.

L'Allegro A4988 sur une carte de dérivation de pilote pas à pas de type Pololu a donné les meilleurs résultats, à la fois déchargés et sous charge. Même s'il ne délivre que 1 A par phase, il a réalisé des micropas très linéaires et également espacés dans le test sans charge, avec des écarts faibles mais reproductibles par rapport à la position idéale à ± 1 micropas. Fait intéressant, l'A4988 montre sa plus grande déviation à la position du demi-pas.

Sans surprise, la position de l'arbre est sensiblement déviée sous charge : plus d'un demi-pas. Voilà le rêve de la résolution infinie. Cependant, le graphique montre également que les positions à pas complet ne sont pas à l'abri de cette déviation, même si elles sont soutenues par le léger couple de détente du moteur.

Le Texas Instruments DRV8825 sur une carte de dérivation de pilote pas à pas de type Pololu a donné les pires résultats. J'ai répété la mesure plusieurs fois avec différentes cartes de dérivation de différentes sources, toutes ont abouti à des courbes presque identiques à celle-ci. Cependant, étant donné que le pilote est capable de fournir un courant plus élevé de 2,2 A au moteur, il présente une déviation nettement plus faible sous charge aux positions de pas complet et de demi-pas.

À la fois chargé et déchargé, le DRV8825 fonctionne bien jusqu'à ce qu'il atteigne le demi-pas. Ensuite, il saute presque jusqu'à la prochaine position de pas complet en un seul micropas. Dans le sens inverse, il fonctionne à nouveau bien jusqu'à ce qu'il atteigne le demi-pas - cette fois dans l'autre moitié du pas complet - avant de revenir à la position originale du pas complet. Le comportement est difficile à expliquer. Au moins, des déficiences dans le chemin de détection de courant du moteur devraient affecter le positionnement de manière plus uniforme. Je suis sûr que les lecteurs de Hackaday peuvent contribuer à expliquer, confirmer ou réfuter ce comportement du DRV8825, ou peut-être signaler des défauts dans la configuration de mesure qui auraient pu causer ces résultats.

Je dois admettre que je n'attendais pas grand-chose de la carte de commande ST6560T4 rouge bon marché avec quatre canaux de commande de moteur Toshiba TB6560AHQ 3A, mais c'est un excellent circuit intégré de commande et il a étonnamment bien fonctionné. Les pilotes ont été réglés à 2,25 A pour ce test et ont obtenu une bonne linéarité tout au long de la séquence de micropas avec un écart de ± 2 micropas lorsqu'ils sont déchargés.

Il y avait cependant des non-linéarités reproductibles à la position supérieure du pas complet que l'A4988 n'a pas montrées, et le comportement du TB6560AHQ sous charge diffère sensiblement du comportement au ralenti. De plus, il est surprenant que le moteur soit dévié sous la charge de plus d'un demi-pas complet, car le courant plus élevé devrait augmenter le couple moteur de la même manière que le DRV8825.

J'espère que cette rédaction et ces résultats de mesure vous aideront dans vos décisions de conception et lorsque vous travaillez avec ces pilotes très courants. J'ai fait ces tests pour une application assez restreinte, et il ne faut pas trop les généraliser. Bien que j'ose conclure ce qui suit:

Les moteurs pas à pas des machines plus lourdes, telles que les routeurs CNC, qui utilisent le micropas en boucle ouverte, bénéficient principalement des vibrations réduites et de l'ondulation de couple plus faible du mode micropas. Ils ne peuvent pas compter sur le micropas comme moyen d'augmenter la précision de positionnement (du moins pas sans conserver de grandes marges de couple), car une charge peut toujours dévier la position de l'axe de plus d'un pas complet.

Cependant, les applications petites et légères avec une faible charge et un faible frottement peuvent en effet recourir au micropas comme une astuce bon marché pour extraire plus de précision d'un moteur pas à pas standard. Même avec un pilote de moteur bon marché à faible courant, en regardant l'A4988 très performant, un positionnement angulaire précis est possible, tant que la charge est maintenue faible, idéalement dans le couple incrémentiel d'un micropas.

Comme toujours, je serai heureux d'entendre vos pensées, opinions et expériences sur le sujet de cet article. Que se passe-t-il avec mes DRV8825 ? Sur quels pilotes de moteur pas à pas comptez-vous la plupart du temps ? Faites le nous savoir dans les commentaires!

PARTAGER