Rôle et réglage des pilotes moteurs pas à pas

 Les pilotes de moteurs pas à pas sont des petits modules qui permettent de contrôler la rotation d'un moteur en fonction des instructions reçues de la carte de pilotage. Ils sont connectés à cette dernière, soit directement, soit par l'intermédiaire d'une interface.

A gauche le pilote  A4988, à droite le DRV8825

 

Pour les imprimantes 3D, les modèles couramment utilisés sont le A4988 et le DRV8825.

Ces modules gèrent des moteurs pas-à-pas bipolaires ou unipolaires. La majorité des cartes de pilotage et leurs adaptateurs dédiés à l’impression 3D, sont conçus pour utiliser des moteurs bipolaires, dotés de 4 fils (2 par bobine). Ces moteurs pas à pas ont généralement une résolution angulaire de 200 pas / tour (1,8°), ou de 400 (0,9°).

La résolution angulaire à un impact direct sur la précision des mouvements de nos machines. L'avantage de ces pilotes est d'avoir la capacité d'augmenter le nombre de micros pas des moteurs pour en améliorer la précision. Pour y parvenir, ils font varier les champs magnétiques des 2 bobines pour créer des positions intermédiaires.

Le microcontrôleur A4988 offre la possibilité d’augmenter la finesse du pas dans les proportions suivantes: 1, 1/2, 1/4, 1/8 et 1/16ème de pas.

Le DRV8825, lui, offre une résolution supplémentaire de 1/32ème de pas.

Par exemple, un moteur qui a 200 pas, passe respectivement à 3200 pas / tour (0,1125°) pour le réglage de 1/16, et à 6400 pas / tour (0,05625°) pour 1/32. Pour des raisons évidentes de qualité, c'est toujours la résolution la plus élevée disponible qui est utilisée pour l'impression 3D.

Pour paramétrer ces micros pas, il suffit de déplacer des cavaliers ou des switches situés par groupes de 3 sous les emplacements des pilotes. Un circuit fermé = 1 et ouvert = 0.

 

A gauche réglage par "cavaliers" (sur un Ramps 1.4). A droite par "switches" (sur une carte RUMBA)

Tableau des paramètres pour le pilote moteur A4988:

M0 M1 M2 Résolution du micro pas
0 0  0  Pas complet (valeur moteur)
1 0 0 1/2 pas
0 1 0 1/4 de pas
1 1 0 1/8 de pas
1 1 1 1/16 de pas

 

Tableau des paramètres pour le pilote moteur DRV8825:

M0 M1 M2 Résolution du micro pas
0 0  0  Pas complet (valeur moteur)
1 0 0 1/2 pas
0 1 0 1/4 de pas
1 1 0 1/8 de pas
0 0 1 1/16 de pas
1 0 1 1/32 de pas
0 1 1 1/32 de pas
1 1 1 1/32 de pas

 

Notez que par défaut, quand les cartes sont paramétrées d'origine, elles sont sur les modes 1,1,1, ce qui évite d'y toucher.

 Attention, si vous changez la résolution, modifiez en conséquence l'étalonnage de déplacement de l'axe concerné dans le firmware. Par exemple, pour le passage de 1/16 à 1/32, vous devrez multiplier par 2 le nombre de pas / mm pour conserver le même déplacement.

Concernant le choix de la résolution à 1/32 plutôt que celle à 1/16, cela dépend de la fonction du moteur piloté et de la conception de l'imprimante. Si cela ne se justifie pas, vous ferez une petite économie en utilisant les modules 1/16ème. Par exemple, c'est souvent le cas pour les moteurs d’extrusion où la régularité du fil et la performance de la poulie d’entrainement impacteront plus la matière déposée que les microns gagnés par le pilote. C'est aussi le cas pour l’axe Z, quand le gain obtenu est inférieur à la hauteur de la couche mini dont l’imprimante est capable.

Par contre, pour l’axe X et Y c'est un bénéfice appréciable, car cela double le lissage des formes courbes. Ce gain est d’autant plus marqué que les rayons sont grands.

L’utilité d’une résolution élevée n’est pas l’unique critère de choix à prendre en compte. La puissance délivrée par le composant est très importante. Bien qu’il y ait plusieurs versions de ces pilotes, le module A4988 a majoritairement une capacité de 1A par phase (bobine moteur) en courant continu, et de 2A maximum (nécessite une ventilation en plus du dissipateur). Il gère les tensions de 8 à 35V. 

Le DRV8825 lui a une capacité de 1,5A par phase en courant continu, et de 2,2A à 2,5A maximum (nécessite aussi une ventilation en plus du dissipateur). Il gère les tensions de 8,2 à 45V (par sécurité ils disposent tous deux d’un dispositif d’arrêt en cas de surchauffe). Il est donc important de choisir le pilote en fonction des spécifications du moteur pour éviter tout problème. Il est aussi important de ne pas prendre un moteur nécessitant une puissance supérieure à ce que peut délivrer un pilote au risque de devoir limiter sa puissance. L’intensité par phase nécessaire au moteur est généralement clairement indiquée dans sa documentation.

 

Le courant délivré par le pilote à besoin d'être ajusté aux spécifications du moteur pour lui garantir un bon fonctionnement. Celui-ci s'effectue en tournant le potentiomètre présent sur le dessus des modules (voir image ci-dessous).

Modèle A4988

Pour réaliser cet ajustement, je vous propose deux méthodes.

La première, approximative, a l’avantage de ne pas nécessiter de compétence ou matériel particulier. La seconde , précise, nécessite l'utilisation d'un voltmètre. Pour effectuer ce réglage, vous devez avoir correctement connecté les composants concernés et être en capacité de commander les mouvements des moteurs par l'intermédiaire d'un logiciel ou d'un "smart controller"

 

Attention: Prenez toutes les précautions nécessaires pour vous prémunir des chocs électriques. Apportez aussi un soin particulier à ne pas créer de court-circuit, pour épargner vos composants.

 

Attention: Pour le positionnement des pilotes, ne vous fiez pas au potentiomètre, car celui-ci n'est pas situé du même côté entre le A4988 et le DRV8825.

 

Intéressons-nous à la première méthode. Munissez-vous d'un tournevis approprié pour agir sur le potentiomètre. Mettez ensuite l'ensemble sous tension et faites réaliser un petit mouvement au moteur. Ensuite, tournez le potentiomètre pour trouver une zone où le moteur sera immobile et silencieux. Une fois cette position trouvée, tournez lentement la vis dans le sens horaire pour augmenter le courant jusqu'à ce que le moteur fasse un petit bruit, ou des petites vibrations. Vous êtes à ce moment-là juste au-dessus de la limite où le moteur ne peut plus gérer correctement sa position entre 2 micros pas. Revenez lentement en arrière, jusqu'à ce que le moteur ne réagisse plus, puis tournez encore très légèrement dans le même sens pour aménager une petite plage de sécurité.

Si le réglage est bien réalisé, le moteur ne doit pas faire le moindre bruit à l'arrêt.

La seconde possibilité consiste à adapter le courant limite délivré par la carte à celui du moteur. Cette opération est facilitée par la relation qui existe entre la tension mesurable au point de référence (voir l'image ci-dessous) et le courant délivré au moteur.

Pour le contrôleur moteur DRV8825 le courant limite correspond à la tension de référence (VREF) X 2. Ce qui donne pour un moteur indiquant un courant limite de 1A par phase, une tension "VREF" à régler à (1/2), soit 0,5V.

Concernant le contrôleur A4988 ce rapport varie en fonction des versions. Il est fréquemment de 2 comme le DRV8825, mais parfois ce n'est pas le cas. Pour un rapport de 4, cela donne pour notre exemple précédent une tension à régler à (1/4), soit 0,25V.

En cas de doute sur le bon coefficient de votre pilote, prenez le rapport de 4. Si le moteur émet des bruits ou n'a pas de couple, réglez-le sur le rapport de 2.

Pour mesurer cette tension "VREF", vous devez placer le stylet positif du voltmètre sur le point de référence, et le négatif sur la broche indiquée "GND", à l'angle de la carte (voir ci-dessous)

Modèle DRV8825

Pour régler plus facilement la bonne valeur, il y a une astuce: on peut aussi prendre la tension sur le potentiomètre qui a la même valeur que le point de référence. Cela offre la possibilité de lire dynamiquement l'effet du réglage en cours d'ajustement, à condition de munir la pointe de votre stylet d'une pince, et de placer cette pince sur la tige métallique de votre tournevis.

Modèle A4988

  Lire  la deuxième partie de cet article ici



Écrire commentaire

Commentaires : 13
  • #1

    maxxou (mardi, 20 décembre 2016 21:38)

    bonjour,
    est il possible de d'installer 2 modèles sur une même carte?
    merci

  • #2

    Genapart (mercredi, 21 décembre 2016 09:34)

    Il est possible de mixer différentes versions et puissances sur la même carte, sans aucun problème.

  • #3

    Rafi (dimanche, 08 janvier 2017 09:30)

    Franchement super intéressant votre site pour des novice qui essaies débuter dans la conception 3D. Je suis Fan �

  • #4

    petit pascal (samedi, 18 février 2017 13:35)

    bonjour, pour obtenir 1/16 de pas avec un trv8825, il faut mettre un seul cavalier en M2, comment reconnait on cet emplacement sue la carte ramps1.4?
    Merci, très interessant site.

  • #5

    Razerm (lundi, 13 mars 2017 15:41)

    Bonjour,

    lorsque j'imprime, mes moteurs chauffent énormément (je ne peux pas les toucher à la main) notamment celui de l'extrudeur. J'ai vérifié mes Vref de chaque moteurs (Vref environ égal à 0,7/0,8). Savez-vous d'où cela peut venir?

  • #6

    Genapart (mercredi, 15 mars 2017 15:58)

    "Petit Pascal"

    Sur le Ramps 1.4, le brochage M0 se trouve à côté du condensateur CS100 35V, le M1 au centre, et le M2 est le plus à l’extérieur (attention à bien se référer aux éléments concernant le même driver).

  • #7

    Genapart (mercredi, 15 mars 2017 16:07)

    "Razerm"

    Une température est à considérer excessive quand elle risque de dégrader le moteur ou son environnement.
    Un moteur peut généralement accepter jusqu’à 80°, mais les éléments avec lequel il est en contact (comme des pièces en plastique) supportent souvent beaucoup moins.
    Pour réduire la chauffe du moteur, vous devez limiter le courant fourni par le driver jusqu’à obtenir la température que vous jugerez adéquat.
    Il est possible que les caractéristiques du moteur ou du driver que vous avez pris en compte pour le calcul de la tension de référence soient erronées, ou que la température, bien que brûlante à la main, n’est peut être pas excessive d’un point de vue fonctionnel.

  • #8

    Razerm (mercredi, 15 mars 2017 19:48)

    Bonjour,

    Tout d'abord, je tiens à vous remercier pour votre retour.

    Le soucis c'est que ça pose problème au niveau de l'extrudeur car il me semble que le moteur chauffe la roue d'entrainement qui chauffe donc le filament (et donc le "grignote"). En attendant j'ai mis un ventilateur pour éviter que le filament chauffe mais j'ai peur que pour une longue impression cela ne suffise pas.
    Je vous remercie pour votre aide !

  • #9

    Genapart (jeudi, 16 mars 2017 09:47)

    La chauffe excessive de la roue d’entraînement est un « classique ». Le moteur chauffe le système d’entraînement qui de ce fait aplatit le fil. Une fois déformé, celui-ci ne peut plus pénétrer dans le guide-fil ce qui entraîne un patinage ou un blocage du moteur.
    Une ventilation peut aider à stabiliser la température de l’entraînement si la conception de la tête le permet, mais vous devez impérativement réduire le réglage du driver concerné si vous n’arrivez pas à limiter l’échauffement par ce biais.
    Mesurez la température et stabilisez-la en dessous de 45° pour conserver les caractéristiques mécaniques des matières sensibles aux basses températures comme le PLA.

  • #10

    Ghalem (jeudi, 30 mars 2017 14:17)

    Merci
    Merci
    Pas de publicite sur le site, ni d’inscription pour lire l'article merci et encore merci

  • #11

    tgv26 (dimanche, 06 août 2017 00:02)

    Merci pour toute votre documentation, je suis en train de calibrer une imprimante Core XY.
    N'ayant pas de connaissance spécifique sur les Nema, j'ai fais l'acquisition de modèle 17HD34008-22B, avec driver DRV8825. Hélas j'ai malgré un réglage à 0.45 volts pris entre le potentiomètre et le ground, j'ai des échauffements sur chaque moteur, très élevées, plus de 60° sur le carter inférieur, et ce sur chacun des moteurs.
    J'ai remarqué que la tension entre le point ref et le ground reste à 12,9 volts quelque soit la position du potentiomètre..
    Merci de votre aide, je patauge vraiment!

  • #12

    Danny (vendredi, 01 décembre 2017 09:15)

    Bonjour, j'ai un soucie avec une carte Bigtreetech, j'ai une imprimente qui fonctionnait avec une Melzy avec des drivers incorporé dans la carte, les moteurs fonctionnaient parfaitement bien avec cette carte, voulant mettre un ecran LCD sur ma machine et disposant d'une carte Bigtreetech qui fonctionnait parfaitement bien avec un ecran que je disposais aussi, j'ai voulu la mettre a la place de la Melzy, mais en voulant régler les drivers A4988 sur la Bigtreetech j'ai cramé deux des drivers (erreur de débutant), j'ai maintenant racheté des drivers, et j'ai tout réglé au meme voltage que les drivers de la Melzy, le Marlin est le même (aucun changement, sauf le type de carte), a la mise en route de l'imprimante, probleme l'axe Y fait beaucoup de bruit et vibre beaucoup, je décide de remettre la Melzy pour voir si j'avais le meme probleme, et bien non pas de probleme, avec la Melzy l'imprimante est totalement silencieuse, les seules choses changé sont la carte et les cable moteurs, dans le doute j'ai essayé de mettre sur le moteur Y le cable de la Melzy et connecté sur la Bigtreetech (pour voir si le probleme venait du cable), meme probleme. Je ne vois donc pas ou est le probleme, les drivers sont neuf et réglé au meme voltage que sur la Melzy, la connectique est apparemment bonne, avec la Melzy pas de probleme, avec la Bigtreetech j'ai des vibrations a fond, j'ai pensé à des parasites electrique, a une incompatibilité entre les moteurs de mon imprimante et la carte Bigtreetech, mais le probleme c'est que je ne sais pas comment vérifier ça. Auriez vous une solution à m'apporter ou a me soumettre ?
    Merci d'avance.

  • #13

    Genapart (dimanche, 03 décembre 2017 12:38)

    Bonjour,
    Les drivers A4988 que vous utilisez sur votre carte Bigtreetech (vous ne précisez pas son type) sont d’une conception différente de ceux incorporés à votre carte d’origine.
    Pour un fonctionnement correct, vous ne devez pas appliquer le même réglage de courant que la Melzy, mais celui adapté aux caractéristiques de vos nouveaux drivers.