Calibrer un encodeur rotatif sur un slider caméra imprimé en 3D
Calibrer un encodeur rotatif sur un slider caméra imprimé en 3D
Calibrer un encodeur rotatif sur un slider caméra imprimé en 3D, ce n’est pas du luxe. C’est le genre d’étape qu’on a envie de zapper, jusqu’au jour où on visionne son time-lapse et qu’on voit le chariot hésiter, ralentir, repartir par saccades. Sans réglage correct, le slider peut sauter des pas, dériver au fil du temps ou afficher une vitesse irrégulière parfaitement visible à l’écran. Voici, pas à pas, comment régler votre encodeur pour obtenir un rendu propre, celui qu’on attend d’un matériel professionnel.
Pourquoi un encodeur rotatif sur un slider caméra ?
Un moteur pas-à-pas classique fonctionne en boucle ouverte : il envoie des impulsions et espère que le chariot suit. Un encodeur rotatif, lui, vous dit où se trouve réellement le chariot, à l’instant T. La différence est loin d’être anecdotique, surtout dans ces cas :
- Le slider utilise une transmission par courroie, et une courroie, ça glisse un peu, toujours.
- Vous voulez un retour de position fiable pour piloter le mouvement en boucle fermée.
- Le déplacement doit coller parfaitement au déclenchement de l’obturateur.
Sur une pièce imprimée en 3D, les tolérances mécaniques jouent contre vous : jeu dans les paliers, légère flexion du PLA ou du PETG sous contrainte. Autant de détails qui n’existeraient presque pas sur des pièces usinées en métal, mais qui deviennent ici bien réels. D’où l’intérêt, presque l’obligation, de calibrer sérieusement.
Matériel nécessaire
- Un encodeur rotatif incrémental (type LPD3806 600PPR, ou équivalent), ou l’encodeur déjà intégré à votre moteur.
- Un microcontrôleur : Arduino Nano/Uno pour du basique, ESP32 si vous voulez de la marge en performance.
- Le firmware de votre slider, qu’il s’agisse d’un Marlin modifié ou d’un code Arduino maison.
- Un pied à coulisse et un mètre ruban, pour confronter la théorie aux distances réellement parcourues.
Étape 1 : vérifier le montage mécanique
Avant même de toucher au code, inspectez le montage physique de l’encodeur imprimé :
- L’accouplement entre l’axe moteur (ou la poulie) et l’encodeur doit être sans jeu, aucun. Un accouplement flexible mal imprimé, avec un peu de mou, et toutes vos mesures deviennent fausses.
- La courroie GT2 doit être tendue de façon homogène sur toute la longueur du rail, pas juste tendue « à l’œil » d’un côté.
- Les paliers linéaires (LM8UU ou roulements imprimés maison) doivent glisser sans point dur, sans à-coup au toucher.
Un jeu mécanique, même de quelques dixièmes de millimètre, s’accumule. Sur un plan de 30 secondes ça ne se voit pas. Sur un time-lapse de deux heures, ça devient flagrant.
Étape 2 : déterminer la résolution réelle
Les fabricants annoncent une résolution en PPR (pulses per revolution), 600 PPR par exemple. Sauf que ce chiffre brut ne vous sert à rien tout seul. Ce qui compte vraiment, c’est le déplacement linéaire par impulsion :
- Mesurez le diamètre de la poulie motrice (une poulie GT2 20 dents fait environ 40,8 mm de diamètre effectif).
- Calculez la circonférence :
circonférence = π × diamètre. - Divisez par le nombre d’impulsions par tour :
mm/pulse = circonférence / PPR.
Exemple concret : poulie GT2 20 dents + encodeur 600 PPR, la circonférence tombe à environ 128 mm, soit 0,213 mm par impulsion. C’est cette valeur, et pas le PPR brut, qu’il faut injecter dans votre code.
Étape 3 : calibrer dans le firmware
Dans votre code Arduino ou votre Marlin custom :
- Entrez la valeur
mm/pulsecalculée dans les paramètres de conversion (souvent une variable proche desteps_per_mm, adaptée à l’encodeur). - Faites parcourir au chariot une distance connue, 200 mm mesurés au mètre ruban par exemple, puis comparez avec ce que rapporte l’encodeur.
- Corrigez le facteur jusqu’à obtenir un écart inférieur à 0,5 mm sur ces 200 mm. Au-delà, quelque chose ne va pas, mécaniquement ou dans le calcul.
Étape 4 : tester la répétabilité
Une calibration validée sur un seul passage ne veut rien dire. Faites l’aller-retour du chariot 10 fois de suite et regardez si la position finale reste identique. Une dérive progressive qui s’installe ? Trois pistes à explorer :
- La courroie glisse, sa tension est insuffisante. Resserrez.
- L’accouplement imprimé a du jeu. Remplacez-le par une version avec insert métallique, c’est souvent le vrai coupable.
- Des interférences électriques polluent le signal : un câble d’encodeur non blindé qui longe le câble moteur peut générer des impulsions parasites, invisibles à l’œil mais bien réelles pour le microcontrôleur.
Erreurs fréquentes à éviter
- Ignorer le bruit électrique. Des sauts aléatoires dans la lecture ? Ajoutez des condensateurs de découplage près des broches A/B de l’encodeur, ça règle souvent le problème en cinq minutes.
- Oublier le sens de rotation. Le slider avance quand il devrait reculer ? Pas besoin de retoucher le code : inversez simplement les fils A et B de l’encodeur.
- Négliger la température. Le PLA se déforme dès qu’il chauffe un peu, en plein soleil sur un tournage extérieur par exemple. Pour les pièces de fixation de l’encodeur, préférez le PETG ou l’ASA, bien plus stables thermiquement.
Conclusion
Calibrer un encodeur rotatif sur un slider caméra imprimé en 3D demande un peu de rigueur, mais rien d’inaccessible avec du matériel simple et un peu de patience. Vérifiez d’abord la mécanique, calculez ensuite précisément votre résolution réelle, testez enfin la répétabilité sur plusieurs allers-retours : vous obtiendrez un mouvement caméra fluide et fiable, comparable à ce que proposent les sliders motorisés du commerce, pour une fraction du prix.