Construire un traceur à stylo : deux axes pas à pas qui arrivent
Un traceur qui se référence seul, dessine un carré de 100 mm qui se referme à quelques dixièmes de millimètre, et le répète.
Ce que vous construisez
Un traceur à stylo cartésien : deux axes à courroie à angle droit, un stylo qui se lève, et un contrôleur qui sait où est le stylo car il s’est référencé contre un interrupteur au démarrage et a compté chaque impulsion depuis.
Il vaut d’être clair sur pourquoi c’est une bonne première machine de précision, car ce n’est pas le projet le plus voyant de ce site. Tout le reste ici — suiveurs de ligne, éviteurs d’obstacles, équilibristes — a une rétroaction. Un capteur voit le monde, le code réagit, les erreurs se corrigent en continu. Cette machine n’en a aucune. Rien dessus ne mesure où est le stylo. La seule raison pour laquelle une ligne tracée sur papier finit au bon endroit est que chaque hypothèse intégrée était vraie.
Cela en fait un enseignant inhabituellement honnête. Un suiveur qui dérive suit encore la ligne. Un traceur qui dérive dessine un carré qui ne se referme pas, et l’écart est là en encre sur papier, en millimètres, disant exactement à quel point vous aviez tort.
Le nombre qui pilote le projet
Dessinez un carré de 100 mm et mesurez l’écart où le dernier coin devrait rejoindre le premier.
Cette seule mesure est tout le tableau de bord du projet, et sa valeur est que la forme de l’erreur dit la cause :
| Ce que fait le carré | Cause | Où c’est traité |
|---|---|---|
| Systématiquement trop grand ou petit de quelques pourcents | Pas/mm faux | Calibration |
| Ouvert du même montant à toute taille | Jeu | Tension des courroies et vis sans tête |
| Ouvert d’un montant différent à chaque fois | Perte de pas | Courant, vitesse, accélération |
| Se referme mais en parallélogramme | Axes pas d’équerre | Le cadre |
| Se referme à froid, s’ouvre en vitesse | Passé le taux d’accrochage ou la vitesse de coin | Accélération, ou 24 V |
Quatre de ces cinq sont des réglages. Un est un problème de cadre. Savoir lequel vous avez avant de changer des choses est l’essentiel de la compétence.
Nomenclature
| Pièce | Qté | Coût | Notes |
|---|---|---|---|
| Pas à pas NEMA 17, 1,5–1,8 A | 2 | £18–28 | Corps 40 mm. Évitez les pancakes 20 mm. |
| Pilote A4988 | 2 (+1 rechange) | £6–12 | Ou DRV8825 — vérifiez la formule Vref différente |
| Arduino Uno | 1 | £4–20 | Un Nano marche et est plus petit |
| Shield CNC v3 | 1 | £5 | Optionnel mais recommandé — inclut le condensateur bulk |
| Servomoteur SG90 | 1 | £2 | Le levage du stylo |
| Microrupteur à levier | 2 | £1 | Un par axe, au bout minimum |
| Courroie GT2, 6 mm | 2 m | £5 | Âme fibre de verre. Le caoutchouc seul s’étire. |
| Poulie GT2 20 dents, alésage 5 mm | 2 | £4 | C’est d’où viennent 80 pas/mm |
| Poulie folle GT2 | 4 | £5 | Alésage lisse, pas denté, pour les retours |
| Tige lisse 8 mm, 400 mm | 4 | £10 | Ou extrusion 2020 avec roues |
| Roulements linéaires LM8UU | 8 | £6 | Deux par bout de tige |
| Alim 12–24 V, 2 A+ | 1 | £8–15 | 24 V si vous voulez la vitesse |
| Électrolytique 100 µF, 35 V+ | 1 | £0.20 | Pas optionnel ; sans le shield il vous faut ceci |
| Multimètre | 1 | £10–25 | Exigé pour Vref. Il n’y a pas de substitut. |
| Visserie M3, supports imprimés | — | £5 | Ou contreplaqué découpé laser |
Environ £90–130. Le multimètre et l’alimentation sont réutilisables ; les pièces de mouvement font environ £60.
Deux fausses économies à nommer. La courroie GT2 tout caoutchouc s’étire assez pour apparaître comme du jeu, et celle à âme fibre de verre coûte une livre de plus. Et acheter exactement deux pilotes plutôt que trois signifie que le premier tué par l’oubli du condensateur arrête le projet pour une semaine.
Comment tout se relie
12–24 V ──┬── 100 µF ──┬── VMOT (X driver)
│ └── VMOT (Y driver)
└── GND ─────┬── Arduino GND
│
Arduino Uno │
D2 ── X STEP D5 ── Y STEP │ X driver ── coil A ── motor X
D3 ── X DIR D6 ── Y DIR │ └ coil B
D8 ── ENABLE (both, active low) │ Y driver ── coil A ── motor Y
D9 ── X endstop (INPUT_PULLUP) │ └ coil B
D10 ── Y endstop (INPUT_PULLUP) │
D11 ── pen servo signal ────────────┴── servo 5 V from the Arduino
La seule règle pas évidente : éloignez les fils de fins de course des câbles moteurs. Un câble pas à pas est une source de courant haché et un fil de fin de course longeant 300 mm est une antenne. Une machine qui se référence correctement moteurs désactivés et échoue moteurs actifs a ce problème et aucun autre.
Construisez par étapes
Chaque étape finit par un test. Ne les sautez pas — chacune attrape un défaut bien plus dur à trouver ensuite, une fois que trois autres choses sont aussi fausses.
1. Un moteur sur l’établi. Pilote câblé, Vref réglée, ENABLE bas, 3200 impulsions commandées.
→ Réussi : l’arbre tourne exactement un tour et une marque revient au même endroit, dix fois de suite.
2. Vref sur les deux pilotes. Calculez depuis le nominal de votre moteur et les résistances de mesure de votre carte — vérifiez le marquage, R100 ou R050.
→ Réussi : les deux multimètres lisent à 0,02 V près de la cible, et après dix minutes de maintien, les moteurs sont chauds mais on peut garder le doigt dessus.
3. Le cadre, les deux axes bougent. Courroies montées et tendues — fermes, pas tendues comme une corde de guitare. → Réussi : poussé à la main moteurs coupés, chaque axe coulisse doucement de bout en bout sans point dur. Corrigez le grippage maintenant ; il se déguisera en pas perdus pour toujours sinon.
4. Pas par millimètre. Commandez 100 mm sur chaque axe, mesurez au réglet, corrigez par le ratio, remesurez. → Réussi : 100 mm commandés donnent 99,5–100,5 mm sur les deux axes, deux fois.
5. Jeu. Approchez une marque par la gauche, notez ; approchez par la droite, notez. → Réussi : moins de 0,2 mm. Au-delà, tendez les courroies et vérifiez que les vis sans tête des poulies sont sur le méplat de l’arbre.
6. Trouvez la limite, puis reculez. Montez vitesse et accélération jusqu’à ce qu’un axe saute, puis réglez les deux à 50–60 % de cela. → Réussi : vingt allers-retours à vos réglages choisis reviennent à la même marque à 0,1 mm près.
7. Référencement. Fins de course montés, recherche en trois phases implémentée, dix cycles de référencement avec une marque à chaque fois. → Réussi : les dix marques dans 0,05 mm. Et : débranchez un fin de course, référencez, et confirmez qu’il abandonne avec une erreur au lieu de labourer.
8. Le levage du stylo. Servo monté, angles haut et bas trouvés par essais. → Réussi : le stylo touche le papier avec une pression légère et régulière sur tout le lit. Un stylo monté rigide creusera d’un côté d’un lit pas de niveau — suspendu par ressort ou gravité est bien plus indulgent.
9. Le carré. Référencez, puis dessinez 100 mm sur papier. → Réussi : le dernier coin rejoint le premier à 0,3 mm près, et le dessiner trois fois donne trois carrés au même endroit.
À quoi ressemble un bon résultat
| Mesure | Premier montage fonctionnel | Après calibration | La limite |
|---|---|---|---|
| Fermeture du carré à 100 mm | 1–3 mm | 0,2–0,3 mm | Équerrage du cadre |
| Répétabilité de référencement | 0,3 mm | 0,02–0,05 mm | Répétabilité de l’interrupteur |
| Jeu | 0,5 mm | 0,05–0,15 mm | Courroie et emmanchement poulie |
| Vitesse de dessin | 20 mm/s | 100–200 mm/s | Taux d’accrochage, puis vitesse de coin |
| Taille de micropas | — | 0,0125 mm | Bien plus fine que tout le reste |
Les deux dernières lignes ensemble sont la leçon de tout le projet. La résolution du moteur — 0,0125 mm — est environ vingt fois plus fine que l’erreur réellement atteinte. Aucune partie de la précision finale n’est limitée par le pas à pas. Tout est courroie, cadre et équerrage.
Cela vaut d’être intégré avant d’acheter un meilleur moteur pour corriger un problème de tracé, et c’est pourquoi le simulateur pas à pas est sur le parcours : il montre que sous charge réaliste le rotor est déjà trois ou quatre micropas derrière où le pilote croit qu’il est, quel que soit le micropas choisi.
Notes matérielles importantes
24 V plutôt que 12 V, si vous avez le choix. Les deux marchent. La différence est où le couple commence à s’effondrer : environ 280 tr/min à 12 V contre 600 tr/min à 24 V pour même moteur et même limite de courant. Sur une poulie GT2 20 dents, c’est environ 190 mm/s contre 400 mm/s avant que la machine peine. Si le traceur ne fera que ramper, 12 V suffit.
Cavaliez MS1–MS3 au haut. Le seizième de pas ne rend pas la machine plus précise, mais il empêche les moteurs de sonner à chaque pas, ce qui sur un cadre léger fait la différence entre une machine qui sonne comme une machine et une qui sonne comme une guêpe en colère. Le coût est 8 000 impulsions par seconde à 100 mm/s, ce qu’un Uno gère.
Tendez les courroies fermes, pas tendues. Des courroies sur-tendues chargent les roulements moteurs et ajoutent du frottement qui mange la marge de couple. Sous-tendues elles ajoutent du jeu. Assez fermes pour sonner sourd est juste.
Les deux vis sans tête sur le méplat de poulie. Une poulie 20 dents qui rampe sur un arbre produit une erreur qui ressemble exactement à des pas perdus et ne répond à aucun des correctifs des pas perdus. Du frein-filet n’est pas excessif ici.
Quand ça tourne mal
| Symptôme | Cause | Correctif |
|---|---|---|
| Le moteur bourdonne, ne tourne pas | Paires de bobines croisées, ou pas de rampe d’accélération | Réappairez au multimètre ; ajoutez une rampe |
| Un axe dérive un peu plus à chaque passe | Perte de pas sur rampes | Baissez l’accélération, montez Vref, ou ralentissez |
| Bien lentement, saute à vitesse | Passé la vitesse de coin | Passez en 24 V — plus de courant n’aidera pas |
| Carré systématiquement 2 % trop grand | pas/mm faux | Calibrez contre un réglet et corrigez le ratio |
| Carré ouvert d’un montant constant | Jeu | Tendez les courroies ; vérifiez les vis sans tête |
| Se référence à un endroit différent à chaque fois | Pas de seconde passe lente | Ajoutez la recherche à 1–3 mm/s |
| Se référence bien seul, échoue en dessinant | Fil de fin de course captant le bruit pilote | Réacheminez-le ; ajoutez 100 nF vers la masse à la broche |
| Le pilote meurt à la mise sous tension | Pas de condensateur bulk sur VMOT | 100 µF, près de la carte |
| Les pilotes coupent en plein dessin | Arrêt thermique | Baissez Vref ; ajoutez dissipateurs et ventilation |
| Le stylo traîne d’un côté de la page | Lit pas de niveau, ou stylo monté rigide | Mettez de niveau ; suspendez le stylo, ne le fixez pas |
| Les lignes ondulent à une vitesse donnée | Résonance médiane | Changez légèrement la vitesse, ou ajoutez de la masse au portique |
| Tout correct, formes toujours biaisées | Axes pas à angle droit | Mettez le cadre d’équerre — aucun réglage ne corrige cela |
Pour aller plus loin
Passez à GRBL. Une fois la machine prouvée, flasher GRBL donne un vrai interpréteur de G-code avec référencement, limites logicielles, systèmes de coordonnées et accélération déjà écrits. Configurez $100 et $101 avec vos pas/mm calibrés et vous pouvez la piloter depuis tout outil FAO.
CoreXY. Les mêmes deux moteurs, tous deux fixés au cadre, avec des courroies routées pour que X et Y soient des combinaisons des deux moteurs plutôt qu’un chacun. Moins de masse mobile, donc plus vite et plus précis — au prix d’une couche de mélange cinématique entre les coordonnées et les moteurs.
Un laser au lieu d’un stylo. Mécaniquement c’est la même machine avec un autre outil, mais une diode laser ajoute de vraies exigences de sécurité oculaire, un caisson et des verrouillages. Traitez-le comme un projet séparé plutôt qu’un échange.
Un axe Z à vis-mère. Si vous voulez tracer sur quelque chose avec du relief, ou passer à la gravure légère, une vis T8 donne 400 pas/mm et tient la position hors tension.
Pas à pas en boucle fermée. La seule amélioration qui supprime entièrement le mode de défaillance le plus net de ce projet. Un codeur au dos de chaque moteur transforme un pas perdu silencieux en correction ou alarme. Trois ou quatre fois le coût, et vraiment inutile si les étapes ci-dessus ont toutes passé.
Parcours du projet
Le parcours de construction
Suivez l'arbre technologique, des pièces jusqu'à un robot qui fonctionne. Chaque nœud se débloque quand ses prérequis sont terminés, et votre progression est enregistrée sur cet appareil.
0 / 20 terminés
Composants
- ActionneurNEMA 17 Stepper MotorUne position en boucle ouverte sans codeur, tant qu'on ne lui demande jamais plus de couple qu'il n'en a.
- PiloteA4988 Stepper DriverUn régulateur de courant avec un potentiomètre — réglez bien ce seul nombre et tout le reste fonctionne.
- ContrôleurArduino UnoLa carte 8 bits indulgente par laquelle la plupart découvrent la robotique.
- CapteurLever MicroswitchLe seul bit de détection qui dit à un robot qu'il a déjà touché quelque chose.
- ActionneurSG90 Servo MotorLe servo neuf grammes derrière la plupart des bras, pinces et directions de robots.
- AlimentationRobot Battery & Power PackLa différence entre un robot qui roule et un qui redémarre sans cesse.
Tutoriels de ce parcours
- Intermédiaire · 35 min de lectureMoteurs pas à pas : angle de retard et perte de pasL'angle de retard est tout le comportement du moteur pas à pas. Apprenez-le une fois et la perte de pas cesse d'être mystérieuse.
- Débutant · 30 min de lectureA4988 : câblage et Vref pour limiter le courantLe seul réglage qui décide si votre moteur pas à pas tourne ou grille : régler Vref avec un multimètre.
- Débutant · 25 min de lecturePas par millimètre : courroies, vis mères, résolutionUn nombre lie les impulsions aux millimètres. Dérivez-le, puis prouvez-le par une mesure.
- Intermédiaire · 30 min de lecturePrise d'origine avec fins de course : machine et piècePourquoi chaque machine CNC fonce dans un interrupteur au démarrage, et ce que le nombre qu'elle cale signifie vraiment.
- Intermédiaire · 40 min de lectureProfils de mouvement : trapézoïdal et courbe en SRampez un déplacement au lieu de le commander — profils trapézoïdaux, limites d'à-coups, et ce que la courbe en S coûte vraiment.
- Intermédiaire · 30 min de lectureJeu du réducteur en robotique : comment le mesurer et le corrigerChaque réducteur a du jeu. Découvrez combien le vôtre en a, et ce qu'il coûte discrètement à votre robot.
- Débutant · 30 min de lecturePourquoi delay() casse les robots : timing avec millis()Un robot assis dans delay() est aveugle. Remplacez-le par millis(), et faites juste la comparaison de bouclage.
- Débutant · 30 min de lecturePourquoi votre robot redémarre quand les moteurs démarrentLe redémarrage qui ressemble à un bogue est presque toujours la batterie. Budgétez le courant, puis mesurez l'affaissement.
Entraînez-vous avant de câbler
Réglez-le dans le simulateur interactif
Le parcours de construction passe par un labo dans le navigateur. Obtenez ici le bon comportement, puis reportez vos réglages sur le vrai robot.
Questions fréquentes
Quelle précision un traceur à stylo amateur peut-il atteindre ?
Un traceur à courroie soigneusement construit répétera à environ 0,1 à 0,2 mm et refermera un carré de 100 mm à quelques dixièmes. Les limites ne sont pas le moteur : en 1/16 sur une poulie GT2 20 dents, un micropas fait 0,0125 mm, bien plus fin que tout le reste dans la machine. Ce qui fixe vraiment l'erreur est la tension des courroies, la rigidité du cadre, le jeu aux poulies et l'équerrage des deux axes entre eux. Si vous êtes pire que le demi-millimètre, mesurez ces quatre-là avant de toucher un réglage de micrologiciel.
Faut-il un shield CNC ou peut-on câbler sur platine ?
Les deux marchent. Un shield CNC coûte environ cinq livres, donne des supports pour les pilotes, sort les broches de fins de course et de broche, et inclut le condensateur bulk — ce qui supprime la façon la plus fréquente de tuer un pilote. Le câblage sur platine convient pour deux axes si vous ajoutez votre propre 100 µF sur VMOT et tenez le câblage moteur loin des signaux de pas, mais le shield coûte moins cher que le second pilote que vous détruiriez sinon.
Pourquoi un servo pour le stylo au lieu d'un troisième pas à pas ?
Parce que le stylo n'a besoin que de deux positions, haut et bas, sans précision dans aucune. Un servo amateur fait cela avec une broche de signal et aucun pilote, ce qui est exactement le travail où il excelle. Un axe Z à pas à pas exigerait un troisième pilote, un troisième jeu de broches, une vis-mère et un interrupteur de référencement, tout cela pour reproduire ce qu'un servo à deux livres fait en une ligne de code.
Courroie ou vis-mère pour les axes X et Y ?
Courroie, sans guère d'hésitation. Une courroie GT2 donne 80 pas/mm et tournera volontiers à 200 mm/s ou plus ; une vis-mère T8 donne 400 pas/mm mais exige cinq fois plus d'impulsions pour la même distance, ce qui sur un Arduino Uno vous plafonne vers 30 mm/s. Un traceur ne porte presque rien et doit bouger vite sur une page, exactement le cas où les courroies excellent. Les vis gagnent leur place sur un axe Z qui doit tenir un poids levé.
Pourquoi mon carré ne se referme-t-il pas ?
Quatre causes, et elles se distinguent. Si l'erreur est un pourcentage fixe de la distance, vos pas par millimètre sont faux — calibrez contre un réglet. Si c'est une quantité constante quelle que soit la taille, c'est du jeu, donc tendez les courroies et vérifiez les vis sans tête des poulies. Si c'est différent à chaque fois, vous perdez des pas, donc baissez l'accélération ou montez le courant. Et si le carré est un parallélogramme plutôt qu'ouvert, les deux axes ne sont pas à angle droit, ce qui est un problème de cadre qu'aucun réglage ne corrigera.
Puis-je utiliser GRBL au lieu d'écrire le micrologiciel ?
Oui, et c'est la voie sensée une fois la machine fonctionnelle. GRBL transforme le Uno en interpréteur de G-code avec référencement, limites logicielles, accélération et systèmes de coordonnées déjà implémentés, et vous configurez les pas par millimètre avec $100 et $101. La raison d'écrire d'abord la version simple est que déboguer une machine et une configuration de micrologiciel en même temps est bien plus dur que l'un après l'autre.