Aller au contenu

GO Print

[TUTO] Calcul des Steps Per MM/Unit : une fois pour toutes !


J-Max.fr

Messages recommandés

Bonjour à toutes et à tous,

Une fois pour toutes, voici la bonne méthode pour renseigner les valeurs Steps_per_unit (nombre de pas moteur par mm parcourus) de votre firmware (logiciel d'interprétation de votre imprimante 3D). Cette méthode est applicable à toute CNC.

INTRO :
Peut-être vous a-t-on conseillé ou lirez-vous que la calibration des Steps_per_mm se fait à partir d'une valeur X que l'on affinera par la suite en mesurant une pièce de calibration, généralement un cube, puis en modifiant par une règle de trois ladite valeur. Vade retro satanas ! C'est le pire conseil que vous pourrez rencontrer.  Il n'y a pas de valeur passe-partout à affiner. D'abord la valeur X ne sort pas d'un chapeau mais est bien d'un calcul à partir de certains composants mécaniques et électroniques. En clair, il y a mille raisons pour lesquelles cette valeur ne soit peut-être pas adaptée à votre machine. Ensuite, lesdits composants n'étant pas élastiques, la valeur calculée ne s'affine pas ! Jouer sur cette valeur calculée : 1/ est inutile ; 2/ déplace l'erreur ailleurs, notamment sur les perçages de vos futures pièces ; 3/ le supposé "ajustement" ne serait correct que pour le cube de calibration et non pour les pièces plus grandes ou plus petites. Évidemment, vous trouverez des membres d'influence aguerris qui prétendront qu'ils font ainsi depuis toujours et que ça se passe à merveille chez eux. Résistez à la tentation, car cela indique seulement qu'ils se satisfont du résultat pour leur usage (quand on fait uniquement des figurines par exemple, la précision n'a pas de vraie importance). Surtout si vous êtes débutant, n'ayant ni leur talent, ni leur aplomb, restez-en à la méthode ci-dessous qui marche forcément à tous les coups. Pour vous faciliter la tâche, il y a un glossaire à la fin ;)

 

1 :: Pour une transmission directe à courroie :

1764E4CE-B6D2-4CB8-80B7-63878F45BE74_pre

steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / (pas_courroie * nombre_de_dents_de_la_poulie)

exemple : (200 pas moteur * 16 micropas) / (courroie 2mm * poulie 16 dents) = 100 steps_per_mm

 

2 :: Pour une transmission directe à vis :

ditch-threaded-rod-reprap-3d-printer-upg

steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / pas_du_filetage

exemple : (400 pas moteur * 32 micropas) / (pas de filetage 8mm) = 1600 steps_per_mm

 

3 :: Pour un extrudeur à entrainement direct (direct drive) :

WP_20140217_003_preview_featured.jpg

steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / (diamètre_effectif_galet * pi)

exemple : (200 pas moteur * 16 micropas) / (diamètre galet 12mm * 3.14159) = 85 steps_per_mm

 

3 :: Pour un extrudeur à réduction (geared) :

Bowden_geared_extruder_NEMA17_V093_byBB1

steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) * (Nb_dents_plateau / nb_dents_pignon) / (diamètre_effectif_galet * pi)

exemple : (400 pas moteur * 32 micropas) * (48 dents plateau /16 dents pignon)  / (diamètre galet 8mm * 3.14159) = 1528 steps_per_mm

 

/!\ Pourquoi ajuster les steps_per_mm extrudeur uniquement ?

1444494917932

Si les composants ne sont pas élastiques, pourquoi la valeur steps_per_mm extrudeur doit-elle être ajustée ? La réponse est simple. Si le diamètre effectif du galet d'entrainement peut être mesuré à l'aide d'un pied à coulisse, les dents du galet pénètrent dans le filament pour l'entrainer. Cela modifie le diamètre effectif du galet de deux fois la valeur de la pénétration des dents dans le filament, or ceci n'est pas mesurable. De plus, selon le type de filament ou la pression qui sera exercée dessus pour le forcer dans le galet, cette mesure peut varier. Voila pourquoi on passe par une étape d'ajustement. Il est important de comprendre que ceci ne s'applique qu'aux extrudeurs, bien entendu.

Voici la méthode de calibration d'un extrudeur :

  1. On fait une marque sur le filament à 150mm de l'entrée de l'extrudeur
  2. On demande une extrusion de 100mm
  3. On mesure ce qui reste, et on fait une règle de 3 sur les Steps Per Unit de l'extrudeur pour connaitre la valeur approchante.
    ex. #define DEFAULT_AXIS_STEPS_PER_UNIT   {3200/40,3200/40,3200/1.25,12800/22.9041} ... la valeur à changer est en rouge
  4. On modifie la valeur existante par la valeur calculée
  5. on recommence à l'étape 1 jusqu'à ce que 100mm demandé = 100mm extrudé.

 

4 :: GLOSSAIRE :

  • Buse d'extrusion (ou Hotend) : composant dans lequel le filament est fondu
  • Extrudeur (ou plutôt Feeder) : mécanisme qui sert à alimenter la buse d'extrusion en filament.
  • Extrusion : action de fondre du filament
  • Galet (ou Hobbed bolt) : roue dentée/crantée servant à entrainer le filament.
  • Poulie : roue servant à entrainer et/ou guider une courroie.
  • Driver : composant électronique servant à commander un moteur pas à pas.
  • Micropas : procédé électronique organisé par le Driver pour décomposer les pas moteurs. Il en résulte un mouvement plus fluide.
  • Moteur pas à pas : moteur électrique dont le mouvement rotatif est décomposé en pas. Selon l'angle de décomposition, la rotation sera décomposée en un certain nombre de pas.
  • Nombre de dents : s'identifie sur une poulie ou un engrenage. Sert de base au calcul du rapport de transmission.
  • Nombre de pas moteur : Selon l'angle de décomposition, ce nombre varie. Pour un moteur à 1.8° (le plus commun) : 360°/1.8°=200 pas moteur par révolution. 0.9°: 360°/0.9°=400 pas moteur par révolution.
  • Pas de la vis ou pas du filetage (ou Screw Pitch) : distance d'un filet à l'autre sur une vis. Il correspond au déplacement effectué par l'écrou à chaque révolution de la vis.
  • Pas de la courroie (ou Belt Pitch) : distance entre deux dents d'un système de courroie. Par exemple une courroie GT2 2mm a un pas de... 2m. Une T2.5 a un pas de 2.5mm. Attention de bien prendre en compte la valeur du pas, car sur une courroie GT2 de 6mm, les 6mm correspondent à la largeur de cette courroie, non à son pas. Il existe des courroies GT2 au pas de 3mm, mais communément les imprimantes 3D utilisent des courroies GT2 au pas de 2mm, ce qui est amplement suffisant. Un doute ? Mesurez !
  • Pi (ou π) =  3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844 etc.
  • Pignon : dans un système de démultiplication mécanique, le pignon est fixé sur l'axe du moteur, il est généralement plus petit, et entraine le plateau. Plus le pignon est petit par rapport au plateau, plus la démultiplication mécanique est grande.
  • Plateau : dans un système de démultiplication mécanique, le plateau est fixé sur l'axe de transmission, il est généralement le plus grand et est entrainé par le pignon.
  • Réduction (ou geared) : démultiplication mécanique, augmente la précision et le couple et simultanément diminue la vitesse.
  • Règle de trois (ou produit en croix) : Méthode de calcul permettant d'ajuster proportionnellement une valeur.
  • Steps_per_mm (ou Steps_per_unit) : nombre de pas moteur par mm parcourus le long d'un axe, le paramètre à changer se trouve dans le fichier configuration de votre firmware.
    sur Marlin : #define DEFAULT_AXIS_STEPS_PER_UNIT {AXIS_STEPS_PER_UNIT_X, AXIS_STEPS_PER_UNIT_Y, AXIS_STEPS_PER_UNIT_Z, AXIS_STEPS_PER_UNIT_E}
    sur Repetier (une ligne par axe) : #define XAXIS_STEPS_PER_MM (valeur) etc.
    sur Smoothieware : ;Steps per unit: M92 X80.00000 Y80.00000 Z1259.84253 et ;E Steps per mm: M92 E367.0000
  • Transmission directe (direct drive) : se dit d'un système d'entrainement lorsque celui-ci est monté directement sur l'axe du moteur.
  • Vis : composant mécanique de transmission servant à déplacer un ensemble le long d'un axe. Il existe des vis métriques, trapézoïdales ou à bille.

 

Voila, qu'on se le dise ! ;)

++JM

Modifié (le) par J-Max.fr
je devrais me relire !!!
  • J'aime 10
  • Merci ! 3
Lien vers le commentaire
Partager sur d’autres sites

Il y a 6 heures, J-Max.fr a dit :

3 :: Pour un extrudeur à réduction (geared) :

Bowden_geared_extruder_NEMA17_V093_byBB1

steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) * (Nb_dents_pignon / nb_dents_plateau) / (diamètre_effectif_galet * pi)

exemple : (400 pas moteur * 32 micropas) * (16 dents pignon /48 dents plateau)  / (diamètre galet 8mm * 3.14159) = 1528 steps_per_mm

Par contre, c'est pas plutôt le nombre de dents de la couronne divisé par le nombre de dents du pignon ?

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 6 months later...

Bonjour @J-Max.fr

J'ai lu ton tuto, mais j'avoue qu'il y a deux trois trucs que je n'ai pas compris. J'ai bien compris les formules et le rapport qu'il y a avec la mécanique, ça, pas de problème et c'est logique. Par contre je ne sais pas ou trouver les infos de "nbre de pas moteur" et de "micropas". De plus, les valeurs dans mon marlin ne sont pas indiqué tout à fait de la même manière, je n'ai qu'un seul chiffre dans  #define DEFAULT_AXIS_STEPS_PER_UNIT  {160,160,3200,882}. Je suis sur une Tevo Black Widow avec BLtouch, et j'ai récupérer le marlin sur le compte Facebook de la communauté Tevo, le dernier en date pour ma machine avec BLtouch. Apparement plusieurs réglages sont déjà fait mes je souhaite les vérifier car les côtes de mes pièces ne sont pas juste exact. 

Peux-tu m'aider. Merci.

@+ Gazton

  • Confus 1
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir @Gazton,

Cela fait un bail que l'on a pas vue j-max, il risque de ne pas te répondre tout de suite.

pour les chiffres dans le default axix c'est x,y,z,e (pour extruder)

les micropas sont donner par les steppers qui équipe la carte et les jumpers qui sont installés

sur la tevo apparemment on est sur du 1/8 de pas

pour finaliser les stepps, rien de mieux que la règle de 3

quand tu demande une extrusion de 100 mm, tu mesure la dimensions qui à été englouti par l'extruder et suivant cela appliquer la règle

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @Morpheus

Merci pour ta réponse, c'est très sympa. Pour les chiffres et les axes, ok, j'ai compris. Pour l'extrudeur, j'avais compris le réglage, il était d'ailleurs bien régler dans le marlin d'origine, 8 cm demandés, 8 cm pris par la machine. Par contre se sont les réglages pour les xyz, les côtes de mes cubes de test ne sont pas juste. Je voulais vérifier les règlages en xyz, et pour un newbie comme moi, là, tu me parles chinois xD

C'est quoi les steppers et les jumpers O.o

@+ Gazton

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @Gazton,

Pour les ajustements c'est plutôt simple.

Tu commence par t'imprimer une pièce de calibration (genre une cube de 20x20x20), tu prends les mesures et tu fais un produit en croix entre la valeur actuel et la valeurs cible :

STEPS_PER_UNIT_CORRIGE = STEPS_PER_UNIT_ACTUEL * VALEUR_CIBLE / VALEUR_ACTUEL

 

Dans ton cas si tu as x=19.5 au lieu de 20 et en reprenant tes valeurs :

#define DEFAULT_AXIS_STEPS_PER_UNIT  {160,160,3200,882}

STEPS_PER_UNIT_CORRIGE = 160 * 20 / 19.5

STEPS_PER_UNIT_CORRIGE = 164.102

 

Tu auras donc :

#define DEFAULT_AXIS_STEPS_PER_UNIT  {164.102,160,3200,882}

  • J'aime 1
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous

J'ai regarder dans le marlin et je n'est pas trouver cette ligne....

Sans doute pas les yeux en face des trous 9_9

pouvez vous me dire ou elle ce situe.

Merci par avance.

Modifié (le) par synergy41
Faute de frappe.
Lien vers le commentaire
Partager sur d’autres sites

Moi perso je suis un peu pomé..., je comprend pas, l'histoire du cube de 20mm à mesurer c'est justement ce que J-max.fr dit de NE PAS faire... mais simplement de privilégier le calcul avec les éléments mécaniques.

Mais si on calcul avec ces éléments justement, bah on tombe tout simplement sur les valeurs "usine" du firmware, c'est ce que je viens de faire et ca ne m'avance pas lol.

En gros il voulait dire qu'il faut faire le calcul pour avoir les valeurs "de base" (si toutefois le fabricant ne l'a pas rentrer dans le firmware) et ensuite affiner ces valeurs avec une pièce de calibration ?

Sinon, l'histoire des micro-pas n'est pas expliquée dans le tuto, pour ceux que ca dit, voici un lien super intéressant, c'est les petits modules que vous voyez derrière la carte RAMPS :)

Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, pa39 a dit :

Mais si on calcul avec ces éléments justement, bah on tombe tout simplement sur les valeurs "usine" du firmware, c'est ce que je viens de faire et ca ne m'avance pas lol.

 

Salut,

Oui, mais le calcul théorique te donne une valeur ... théorique, hors dans la vraie vie, les cotes ne sont jamais parfaites, une vis au pas de 1.5 n'aura pas exactement 1.5 de pas, une poulie de Ø10 n'aura pas un Ø d'exactement 10, en mécanique les cotes parfaites ça n'existe pas, il y a tj une tolérance, d’où la nécessité de peaufiner les réglages théoriques. (à plus forte raison avec du matos made in China, ou la précision la précision n'est pas au)

ex, ta poulie d’entrainement qui est censé faire 10mm de Ø en fait peut être, en réalité, 10.01, et bien tu rajoute 0.01*Pi -> 0.031mm à la taille de la pièce à chaque tour de poulie, et sur une pièce de 31.4 mm tu aura un défaut de 0.03mm, de 0.06 sur une pièce de 62.8 .. etc

Citation

c'est justement ce que J-max.fr dit de NE PAS faire

9_9 c'est surement pour ça que sur les softs de pilotage de CNc, il y a justement un utilitaires intégré pour calculer ces petites corrections à apporter à la valeur théorique du step per, ou que les fabricant de CN donnent des procédure de réglage et d'affinage, mais les gens qui font ces softs, eux, y connaissent un minimum en mécanique.

Sur les CNc on peut même aller jusqu'à "mapper" les vis, c.a.d. faire une cartographie des défauts de la vis, car non seulement le pas peut ne pas être exact, mais en plus il peut varier tout au long de la vis, donc on a des corrections différentes sur chaque zones de la vis.

le calibrage d'une machine ne se fait pas en mesurant une pièce, mais en mesurant un déplacement de l'axe (comparateur, pied à coulisse avec jauge ..)

++
David

Modifié (le) par dh42
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonjour,

Je viens de finaliser ma dago discoeasy 200. Encore quelques derniers réglages mécaniques (ajustement des tiges filetés depuis l'impression du guide pour les tige, réglage de l'offset) et après je m'attaque à ce tuto.

Du coup je vous pose mes questions en avance pour être sûr d'avoir bien compris. Je préviens c'est basique :

- j'ai une discoeasy donc moi c'est une transmission directe par courroie ?

- il y a un exemple de modification d'une discoeasy.

- la modification s'apporte dans le marlin ?

- extruder 100mm : vous faîtes comment ? Il y a un fichier spécifique ?

Merci de vos éclaircissements.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 9 heures, dafette a dit :

- extruder 100mm : vous faîtes comment ? Il y a un fichier spécifique ?

salut,

Je pense que le plus simple c'est de brancher ta machine en USB sur le PC et d'utiliser un soft comme Pronterface ; il y a une case ou tu entre une valeur de filament à extruder.

(extrude: 5mm)

Pronterface.png?1452859227528

++
David

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Bonsoir, j'ai une question concernant les CTC dans le firmware, j'ai 78.74 pour X et Y

Si je fais le calcul classique:

(200X16)/(2x20) = 80

Je ne comprend pas ce résultat inclus dans le firmware du constructeur ?

Merci

Modifié (le) par macmootpro
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir @macmootpro,

Les courroies des ctc n'ont pas tout a fait un entraxe de 2 mm (2.03 mm environ) ce qui donne le résultat de 78.74 dans le firmware, plusieurs constructeurs d'ailleurs sont dans ce cas là.

Par contre si vous remplacez vos courroies il faudra ajuster.

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Ok merci pour la précision c'est super clair.
Ai-je un avantage à mettre un courroie avec un pitch de 2mm par rapport à la roue qui a 20 dents ( par rapport au contact sur les dents de la roue).
Merci.


Envoyé de mon iPhone en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

salut a tous

bon j ai vraiment pas compris comment vs faite pr regler precisement le step per mmm pour le x,y,z hormis avec la formule mecanique qui n est pas precise a cause des cotes des pieces de l imprimante..

j ai bien reglé celui de l extruder, mais quand je fais un cube de 20*20 j ai sur le x 19,5 et le z 20,05mm et 19 sur le y..comment voulez vous regler ce probleme sans toucher au step per mm???

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pourquoi vouloir les régler sans toucher aux steps per mm ?

 

Pour affiner le réglage il faut faire un produit en croix.

Si tu as en X 19,.5 le calcule est alors :

valeur_step_per_mm x cote cible / cote obtenue = valeur_step_per_mm_ajustée

(valeurx20)/19,5= valeur_ajustée

Ensuite, dans ton firmeware, tu remplaces la valeur_step_per_mm par la valeur_step_per_mm_ajustée

Et c'est la même pour tous les axes.

 

nb : tu peux aussi forcer cette valeur par l'eeprom ou par le gcode, fouilles sur le forum, tout est déjà dit ;-)

Lien vers le commentaire
Partager sur d’autres sites

Chacun son point de vue sur la question, dans un monde parfait, oui on devrait pouvoir se suffire d'un calcul mécanique, sauf que ça ne marche pas à tous les coups (encore moins avec des machines en kit à pas chère (voir montée soi même avec des pièces mix)).

Est-ce qu'on le micro pas et bine celui demandé au dixième prêt ? est-ce que la tige et le boulon son ajusté à la casquette ? est ce ce tes roulements n'offrent pas une résistance ? etc etc etc

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...

bonjour a ts

moi j'ai fais le teste du cube et j'ai  Y 20 X 20 Z 10

cela me donne que la moitie en hauteur mon step est 80/80/2560/93

si j'ai bien compris je doit augmenter mon Z en le multipliant par 2

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, as tu changé des composants physiques sur ton imprimante ? En général il faut changer les steps/mm de ton extrudeur via les conseil du tuto au petit oignon, le reste c'est simplement la somme d'un calcul suivant les caractéristiques de chaque composant.

tu as quoi comme tiges en Z, ton x2 serait dans le cas où tu as plusieurs filet sur tes tiges. 

Bon courage 

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...