Le moteur pas à pas NEMA 17 à corps court est le moteur d’axe le plus courant des imprimantes 3D, des petites CNC et des projets de robotique. Sous sa bride carrée de 42 mm se trouve un moteur hybride biphasé : le rotor avance d’un angle fixe à chaque impulsion reçue, sans capteur ni boucle d’asservissement. Le microcontrôleur envoie des impulsions, le moteur les exécute — c’est tout le principe, et c’est ce qui rend le positionnement si simple à programmer.
Avec ses 34 mm de long, ce moteur est la version la plus compacte du format NEMA 17 : même bride, mêmes trous de fixation, même arbre de 5 mm que les modèles de 40 mm, mais moins de masse à déplacer et moins de place occupée. Il convient aux axes légers — l’axe Z d’une imprimante, un chariot de graveur, un plateau qui doit s’indexer d’un angle précis. Le montage mécanique se fait par la bride, avec quatre vis M3, et l’arbre de 5 mm reçoit indifféremment une poulie, un coupleur ou un pignon.
Ce que ce moteur apporte
- Un positionnement angulaire exact sans capteur — chaque impulsion vaut un pas, toujours le même angle : la position se compte, elle ne se mesure pas.
- Du couple à l’arrêt — moteur alimenté, le rotor reste bloqué dans sa position, ce qui maintient la charge sans frein mécanique.
- Une commande à deux fils — avec un driver à régulation de courant, deux broches du microcontrôleur suffisent : une pour l’impulsion, une pour le sens.
- Un format standardisé — bride 42 mm, entraxe de fixation et arbre de 5 mm sont les cotes du NEMA 17 : poulies, supports et équerres du commerce se montent sans adaptation.
- Basse vitesse utilisable directement — pas de réducteur nécessaire pour un axe lent, là où un moteur à courant continu devrait tourner vite et être démultiplié.
Caractéristiques techniques
| Format | NEMA 17 — bride carrée de 42,3 mm de côté, parfois désigné « 42-34 » pour 42 mm de bride et 34 mm de corps |
|---|---|
| Longueur du corps | 34 mm, hors arbre : c’est la version courte du format, à comparer aux 40, 48 et 60 mm des modèles plus coupleux |
| Type de moteur | Hybride, deux phases, bipolaire — quatre fils, deux bobines indépendantes |
| Angle de pas | 1,8 degré par pas, soit 200 pas pour un tour complet : la valeur de tous les NEMA 17 à corps court |
| Arbre | Acier, diamètre 5 mm, sortie par l’avant |
| Fixation | Quatre trous M3 sur la face avant, entraxe de 31 mm (cotes du standard NEMA 17) |
| Câblage | Quatre fils souples terminés par un connecteur blanc à quatre broches ; les fils peuvent aussi être coupés pour être vissés dans un bornier |
| Alimentation | Choisie par le driver, pas par le moteur : avec un driver à régulation de courant, on travaille couramment en 12 ou 24 V continus |
| Position à l’arrêt | Maintenue tant que les bobines sont alimentées ; rotor libre lorsque le driver est mis en veille |
| Refroidissement | Convection naturelle — le bobinage chauffe normalement en service, jusqu’à environ 80 degrés sans défaut |
Ce qui n’est pas marqué sur le moteur, et comment le régler
Ce moteur ne porte aucune étiquette ni sérigraphie : ni référence, ni tension, ni courant. C’est le cas de la plupart des NEMA 17 vendus nus, et ce n’est pas un défaut — sur ce format, les séries se suivent avec des bobinages différents, d’environ 0,4 A à un peu plus de 1 A par phase selon le fabricant, pour un couple de maintien de l’ordre de 2 à 3 kg.cm. Comme ces valeurs changent d’un lot à l’autre sans changer l’aspect, la seule façon de régler correctement le courant est de mesurer.
La méthode tient en deux gestes, avec un multimètre en position ohmmètre :
| 1. Trouver les deux bobines | Mesurer la résistance entre chaque paire de fils. Les deux fils d’une même bobine se lisent à quelques ohms l’un de l’autre ; entre deux bobines différentes, l’ohmmètre ne lit rien. On obtient ainsi deux paires, chacune formant une bobine. |
|---|---|
| 2. Fixer la limite de courant | Régler le potentiomètre Vref du driver sur une limite modérée au départ, puis augmenter par petits pas : le moteur doit entraîner sa charge sans devenir brûlant. Un moteur qui siffle et vibre sans tourner manque de courant ; un moteur qui chauffe au point de ne plus être touchable en a trop. |
En l’absence de toute référence, il est plus sûr de partir bas et de monter que l’inverse : une limite de courant trop élevée abîme le bobinage, alors qu’une limite trop faible ne fait que perdre du couple. Noter aussi que la résistance mesurée entre les fils d’une bobine ne dépend pas du sens de branchement : si, à la fin du montage, le moteur tourne à l’envers, il suffit d’inverser deux fils d’une même paire, ou de changer le niveau envoyé sur la broche DIR du driver.
Applications typiques
- Axe d’imprimante 3D — l’axe Z ou l’axe d’extrusion d’une machine d’entrée de gamme, là où un corps de 34 mm suffit.
- Petite CNC de gravure — déplacement d’un chariot léger par courroie ou vis trapézoïdale.
- Plateau à indexation — rotation d’un angle fixe puis arrêt : support tournant, distributeur, table de présentation.
- Robotique — base mobile à deux roues, orientation de tête de capteur, bras à axes lents.
- Pilotage de précision en boucle ouverte — dosages, positionneurs, mécanismes d’avance où l’on compte les pas plutôt que de mesurer la position.
Montage mécanique : ce qui se fixe sur l’arbre de 5 mm
L’arbre fait 5 mm, ce qui ouvre tout le catalogue mécanique du NEMA 17 : une poulie GT2 à 20 dents pour une transmission par courroie GT2, ou un coupleur d’axe souple pour attaquer directement une tige filetée. Un axe à chariot, lui, se monte sur des tiges lisses guidées par des roulements linéaires, de sorte que le moteur n’ait que la courroie à entraîner.
Côté bride, la fixation demande quatre vis M3 de longueur adaptée à l’épaisseur du support ; les vis M3 de 10 mm avec leurs écrous couvrent la plupart des supports imprimés en 3D. Attention à la profondeur de vissage : la vis ne doit jamais venir toucher le bobinage à l’intérieur du moteur, et les trous du NEMA 17 ont une profondeur limitée — une vis trop longue se sent immédiatement à la résistance qu’elle oppose.
Mini-projet : un axe qui avance puis revient, commandé pas à pas
Objectif : faire faire cinq tours à la poulie dans un sens, puis cinq tours en sens inverse, avec une rampe de démarrage. Aucune soudure, tout se pose sur une plaque d’essai, et le mouvement se compte directement en pas.
Ce qu’il faut
| Le cerveau | Arduino Uno R3 et son câble USB |
|---|---|
| Le driver | Driver A4988 — l’étage de puissance qui alimente les bobines à la place du microcontrôleur |
| Le moteur | Le moteur NEMA 17 de cette page, avec sa poulie ou son coupleur |
| L’alimentation moteur | Alimentation 12 V 2 A, plus un condensateur électrolytique de 100 µF entre VMOT et la masse du driver |
| Les liaisons | Fils Dupont pour le côté logique, deux fils par bobine côté moteur |
| Le montage | Quatre vis M3 pour fixer le moteur sur son support, sa poulie GT2 ou son coupleur sur l’arbre |
Le câblage
Driver VDD | Arduino 5V |
|---|---|
Driver GND (logique) | Arduino GND |
Driver DIR | Arduino D2 |
Driver STEP | Arduino D3 |
Driver ENABLE | Arduino D4 — mis au niveau bas, le moteur est alimenté |
Driver RESET | Relié à SLEEP du même driver |
Driver MS1, MS2, MS3 | Tous à la masse : mode pas entier, 200 pas par tour |
Driver VMOT | Alimentation +12V, avec le condensateur de 100 µF au plus près |
Driver GND (puissance) | Alimentation 0V et Arduino GND : les deux masses doivent être communes |
Driver 1A et 1B | Première bobine du moteur (les deux fils d’une même paire repérés à l’ohmmètre) |
Driver 2A et 2B | Deuxième bobine du moteur (l’autre paire) |
Le réglage du potentiomètre Vref du driver se fait avant de brancher le moteur, et l’alimentation se coupe systématiquement avant de toucher un fil de bobine : débrancher un moteur sous tension détruit l’étage de puissance.
Le programme
À copier dans l’IDE Arduino puis à téléverser :
/*
* Axe a courroie pas a pas - moteur NEMA 17 34 mm et driver A4988
* Carte : Arduino Uno R3
* Cablage : STEP sur D3, DIR sur D2, ENABLE sur D4, alimentation moteur 12 V sur VMOT
* Micro-pas : MS1, MS2 et MS3 a la masse, donc 200 pas par tour
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_DIR = 2;
const byte PIN_STEP = 3;
const byte PIN_ENABLE = 4;
const int PAS_PAR_TOUR = 200; // moteur de 200 pas par tour
const long PAS_PAR_COURSE = 5L * PAS_PAR_TOUR; // cinq tours de poulie
void setup() {
pinMode(PIN_DIR, OUTPUT);
pinMode(PIN_STEP, OUTPUT);
pinMode(PIN_ENABLE, OUTPUT);
digitalWrite(PIN_ENABLE, LOW); // ENABLE est actif a l'etat bas
digitalWrite(PIN_STEP, LOW);
Serial.begin(9600);
}
/*
* Envoie un nombre de pas dans le sens demande.
* Les trois premiers pas et le dernier sont ralentis : c'est cette rampe
* qui evite que le moteur decroche au demarrage et a l'arret.
*/
void deplacer(long nbPas, byte sens) {
digitalWrite(PIN_DIR, sens);
long i = 0;
while (i != nbPas) {
int pause = 1500; // cadence de croisiere, en microsecondes
if (i == 0) { pause = 3000; } // premier pas
if (i == 1) { pause = 2200; }
if (i == 2) { pause = 1800; }
if (i == (nbPas - 1)) { pause = 3000; } // dernier pas, pour s'arreter net
digitalWrite(PIN_STEP, HIGH);
delayMicroseconds(5); // impulsion courte : le driver la lit sur le front
digitalWrite(PIN_STEP, LOW);
delayMicroseconds(pause);
i = i + 1;
}
}
void loop() {
Serial.println("Aller : cinq tours de poulie");
deplacer(PAS_PAR_COURSE, LOW);
delay(1000);
Serial.println("Retour : cinq tours dans l'autre sens");
deplacer(PAS_PAR_COURSE, HIGH);
delay(1000);
}Comment ça marche
- Le moteur ne reçoit jamais d’ordre de position : il reçoit des impulsions. Chacune fait avancer le rotor de 1,8 degré, soit 200 impulsions pour un tour de poulie.
- La broche
DIRdécide du sens ; elle est relue à chaque impulsion, donc elle peut changer à tout moment sans provoquer d’à-coup. - Les microsecondes de pause entre deux impulsions fixent la vitesse. Une pause de 1,5 ms correspond à environ 660 pas par seconde, soit un peu plus de trois tours par seconde : largement dans les possibilités de ce moteur à vide, à réduire dès que la charge augmente.
- La rampe des premiers pas sert au décollage. Un moteur pas à pas lancé d’un coup à pleine cadence décroche et « saute » des pas sans que rien ne le signale : le comptage du programme ne correspond alors plus à la position réelle.
- Avec un corps de 34 mm, le couple reste modeste. Sur un axe à courroie, la poulie de 20 dents transforme ce couple de rotation en effort linéaire : moins la poulie est grande de diamètre, plus l’effort est élevé pour un même couple.
Les erreurs qui coûtent un moteur ou un driver
| Brancher le moteur sur le driver sans condensateur | Un électrolytique de 100 µF entre VMOT et la masse est obligatoire : sans lui, les surtensions de commutation détruisent l’étage de puissance. |
|---|---|
| Débrancher une bobine sous tension | Un fil de bobine retiré alors que le driver est alimenté abîme immédiatement le module. Couper avant de toucher. |
| Vref laissé tel quel | Un driver neuf peut être réglé au maximum. Régler la limite de courant avant tout essai. |
| Confondre les bobines | Un moteur qui vibre et siffle sans tourner signale le plus souvent deux fils de bobines différentes mis côte à côte. Reprendre la mesure à l’ohmmètre. |
| Cadence trop élevée d’emblée | Le moteur ne décolle pas et perd des pas. Toujours démarrer lentement, puis accélérer. |
| Visser trop profond | Une vis M3 trop longue vient buter contre le bobinage à l’intérieur du carter. Choisir la longueur selon l’épaisseur du support. |
Questions fréquentes
Quelle différence avec un NEMA 17 de 40 mm ?
Le même format extérieur, mais un corps plus court : le moteur de 34 mm est plus léger et prend moins de place, avec un couple de maintien plus faible que les versions longues. C’est le bon choix pour un axe peu chargé — tête d’extrusion, chariot léger, indexation — ou lorsque la place manque derrière la mécanique. Si la charge est lourde, mieux vaut une version de 40 ou 48 mm plutôt qu’une limite de courant poussée sur un corps court.
Peut-on le brancher directement sur les broches d’un Arduino ?
Non. Les sorties d’un microcontrôleur fournissent quelques dizaines de milliampères, alors qu’une bobine de ce moteur en demande plusieurs centaines. Il faut un étage de puissance entre les deux : un driver DRV8825 ou un A4988 pour un moteur bipolaire comme celui-ci. Un module à ULN2003A ne convient pas ici : il est fait pour les petits moteurs unipolaires à cinq fils.
Faut-il un microcontrôleur, ou existe-t-il un mode autonome ?
Il faut un générateur d’impulsions, mais il n’est pas obligatoire d’écrire un programme : un petit générateur de signaux ou un montage à base de NE555 produit les impulsions et un interrupteur décide du sens. Pour un mouvement qui doit s’arrêter à une position exacte, le microcontrôleur reste la solution la plus simple à régler.
Le moteur chauffe, est-ce normal ?
Un moteur pas à pas en service chauffe réellement : le bobinage sous courant monte vers 70 ou 80 degrés et cela reste dans les limites de construction. Ce qui n’est pas normal, c’est un moteur que l’on ne peut plus toucher : la limite de courant du driver est trop haute. La baisser avant d’ajouter un ventilateur. À noter aussi qu’à l’arrêt le moteur consomme autant qu’en rotation : il tient sa position, et cette tenue se paie en chaleur.
Peut-on le faire tourner en micro-pas pour lisser le mouvement ?
Oui, en reliant les broches MS du driver. Le micro-pas ne change pas le moteur : il interpole entre les positions entières, ce qui réduit le bruit et les vibrations, au prix d’une fréquence d’impulsions plus élevée pour une même vitesse. Le couple par micro-pas, lui, baisse — pour un axe qui force, le mode pas entier reste plus sûr.
Ce moteur convient-il pour une CNC qui usine ?
Pour une gravure légère ou un tracé au stylo, oui : la charge d’un outil qui n’enlève pas de matière reste dans ses possibilités. Pour usiner réellement, en revanche, le couple d’un corps de 34 mm est insuffisant et un driver au format 16 broches atteindrait vite sa limite de courant. Les axes qui forcent demandent à la fois des moteurs plus longs, de 40 ou 48 mm, et un module de puissance externe comme celui proposé en fin de page.
À combiner avec
Ce moteur prend toute sa valeur sur une carte : la CNC Shield V3 accueille trois ou quatre drivers au format 16 broches et permet de câbler les trois axes d’une petite machine sans plaque d’essai. Pour les mouvements d’un chariot, les roulements linéaires LM8UU guident une tige lisse de 8 mm avec un jeu minimal, et le module TB6600 prend le relais lorsque l’axe devient trop lourd pour un driver au format 16 broches.









