Aller au contenu

GO Print

[MARLIN] Déterminer les dimensions / positions de la zone d'impression de son imprimante (cartésienne / CoreXY)


fran6p

Messages recommandés

Une question qui revient régulièrement parmi les nombreuses questions posées sur ce forum concerne les relations, les interactions qui existent entre :

  • X_MIN_POS,
  • X_MAX_POS,
  • Y_MIN_POS,
  • Y_MAX_POS,
  • X_BED_SIZE,
  • Y_BED_SIZE,
  • MESH_INSET,
  • NOZZLE_TO_PROBE_OFFSET
  • et PROBING_MARGIN,

Il est donc essentiel d’éclairer ce sujet afin de mieux comprendre ces points.

L'objectif de ce guide n’est pas d'essayer d'expliquer le fonctionnement d’un système ABL en ce qui concerne la détermination de la zone à sonder, ni la façon de configurer Marlin pour obtenir les meilleurs résultats lors de l'utilisation d’un tel système. Les directives (MESH_INSET, NOZZLE_TO_PROBE_OFFSET, PROBING_MARGIN) ne seront donc pas abordées. Voir éventuellement le sujet suivant pour ces divers points :

Révélation

 

Que faut-il comprendre avant de configurer votre imprimante :

La "taille du lit" (BED_SIZE) ne correspond pas forcément à la taille physique du lit de l'imprimante.

Dans la configuration de Marlin, la "taille du lit" (X|Y_BED_SIZE) correspond à la surface d'impression utilisable par l’imprimante. Elle ne sera jamais plus grande que le lit physique.

Si la buse ne peut pas atteindre toute la surface du lit, ou s'il y a des obstructions physiques telles que des clips, la zone d'impression sera plus petite que la taille réelle du lit d'impression.

En définissant les paramètres X_BED_SIZE et Y_BED_SIZE, nous définissons en fait la taille de la zone d'impression utilisable.

Limites de l’imprimante et positions de la buse sur le lit

Le plus important dans la configuration consiste à s'assurer que Marlin «comprend bien» où la buse peut se déplacer en toute sécurité et où se trouve la zone d'impression utilisable par rapport à ces limites.

Si je prends l'exemple de mon Ender3 S1 :

  • elle a une taille de lit physique de 235mmx235mm
  • la buse peut non seulement atteindre tout le lit sans obstruction (donc dans ce cas la "taille de la zone d’impression" est en fait la taille physique du lit)
  • la buse peut également se déplacer en toute sécurité vers des positions à l'extérieur du lit sur les quatre côtés :
    - lorsque X est mis à l’origine, la buse est à 5 mm à gauche du bord gauche du lit,
    - lorsque Y est mis à l’origine, la buse est à 5 mm devant le bord avant du lit,
    - la buse peut se déplacer en toute sécurité de 12 mm au-delà du bord droit du lit,
    - et de 2 mm au-delà de l'arrière du lit.

Comment indiquer ces dimensions à Marlin ?

Ce qu’il faut comprendre est que tout est relatif au coin avant gauche du lit : la position de coordonnées (0,0). Les limites de la machine doivent être définies par rapport à cette position.

Dans le cas de mon imprimante, j'utilise la configuration suivante :

define X_BED_SIZE 235
define Y_BED_SIZE 235
...
define X_MIN_POS -5
define Y_MIN_POS -5
define X_MAX_POS (X_BED_SIZE + 12)
define Y_MAX_POS (Y_BED_SIZE + 2)

J’aurais pu également déclarer :

define X_MAX_POS 247
define Y_MAX_POS 237

mais je préfère tirer parti du préprocesseur disponible lors de la compilation de Marlin pour faciliter la visualisation de la relation entre les limites et la taille du lit.

Ce qui donne le schéma suivant :

bed-size-vs-buse.jpg.617fb6c38d188faabc4eb205b146483e.jpg

La zone bleu clair indique les limites de la machine, c'est-à-dire toute la surface que la buse peut atteindre.

La zone rose représente la zone d’impression.

Ce qu'il faut retenir: les positions minimales X et Y sont négatives, car elles sont relatives à la position 0,0 définie comme étant le coin avant gauche du lit ((et c'est d'ailleurs le cas pour de nombreuses imprimantes).

Déterminer les limites de la machine d’une imprimante faisant sa mise à l’origine à Xmin/Ymin

Pour utiliser la procédure suivante, vous aurez besoin :
- Un écran LCD sur l'imprimante, utilisé pour déplacer la buse de manière contrôlée.
- Une connexion à un terminal via un logiciel tel que PronterFace, Repetier Host ou OctoPrint pour pouvoir envoyer les commandes Gcode à l’imprimante.

Déterminer X_MIN_POS et Y_MIN_POS

1. Compiler Marlin avec X_MIN_POS et Y_MIN_POS déclarés à 0, et X_BED_SIZE/Y_BED_SIZE réglés correctement. Flasher ce nouveau Marlin sur l’imprimante et redémarrer.
2. Se connecter à un terminal, mettre à l’origine seulement X et Y en envoyant G28 X Y. Ne pas utiliser G28 tout seul (on ne veut pas initialiser Z, encore moins si un ABL est utilisé car il utilise normalement la directive Z_SAFE_HOMING et dans ce cas après une rapide mise à l'origine de X et Y la tête (l'ABL en fait) se déplace au centre du plateau pour réaliser le Z0).
3. S’assurer que la buse est en butée en envoyant G0 X0 Y0.
4. L'écran LCD doit afficher X=0, Y=0. La buse doit être aussi loin à gauche et à l'avant du lit qu'elle peut se déplacer, et être en butée sur les contacteurs de fin de course.
5. Vérifier où se trouve la buse par rapport à l'angle avant gauche du lit.
           A. La buse est exactement au-dessus du coin avant gauche du lit, félicitations ! Vos valeurs X_MIN_POS et Y_MIN_POS sont correctes. Passer à la section " Déterminer X_MAX_POS et Y_MAX_POS ".
           B. La buse est à droite du bord gauche du lit, ou derrière le bord avant du lit, ou les deux, passer à la section "Position Xmin/Ymin au-dessus du lit".
           C. Sinon, à l'aide de l'écran LCD, déplacer la buse avec précaution jusqu'à ce qu'elle se trouve exactement au-dessus du coin avant gauche du lit. Lire les valeurs X et Y sur l'écran LCD. Prendre ces valeurs en ajoutant un moins (-) devant pour les rendre négatives, Les utiliser comme nouvelles valeurs pour X_MIN_POS et Y_MIN_POS.
           Par exemple, si lorsque la buse se trouve au-dessus du coin avant gauche du lit, vous lisez X=5 et Y=5 sur l'écran LCD alors utiliser les valeurs suivantes
           define X_MIN_POS -5
           define Y_MIN_POS -5

6. Pour le cas C, compiler une nouvelle version de Marlin avec les nouveaux paramètres X_MIN_POS et Y_MIN_POS puis la téléverser sur votre imprimante.
7. Redémarrer l’imprimante, envoyer G28 X Y suivi de G0 X0 Y0. La buse devrait se retrouver juste au-dessus du coin avant gauche du lit.
8. Passez à la section "Déterminer X_MAX_POS et Y_MAX_POS".

Position Xmin/Ymin au-dessus du lit.

Si la position Xmin ou la position Ymin n'est pas sur le bord ou à l'extérieur du lit alors c’est que la buse ne peut pas atteindre le lit en totalité. La solution la plus sûre dans ce cas est de redéfinir la taille du lit pour n'inclure que la zone que la buse peut atteindre.
Par exemple, supposons que la dimension physique X du lit est de 235 mm, mais que lorsque l'imprimante se met à l’origine et que la buse se trouve à la butée minimale X, elle se trouve au-dessus du lit, à 8 mm du bord. Dans ce cas, vous devez configurer X_MIN_POS à 0, et réduire X_BED_SIZE de 8 :

#define X_BED_SIZE 227
...
#define X_MIN_POS 0

La même chose s'applique à l'axe Y.
Si la buse ne peut toujours pas atteindre le bord droit et/ou arrière du lit, il peut être nécessaire de réduire encore plus la taille du lit - voir la section suivante sur le réglage des positions X et Y maximales.

Déterminer les positions X_MAX_POS et Y_MAX_POS

Une fois les positions minimales déterminées et configurées en suivant la méthode ci-dessus, il est aisé de déterminer et configurer les positions maximales.

  1. Mettre à l’origine X et Y avec G28 X Y.
  2. Désactiver les butées logicielles avec M211 S0.
  3. Via l’écran LCD, déplacer délicatement la buse vers la droite et l’arrière du lit (coin arrière droit), aussi loin qu'elle peut aller en toute sécurité. Surveiller attentivement toute obstruction au mouvement et ne pas forcer (les moteurs / les courroies apprécieraient moyennement 😉 ). 
  4. La position affichée sur l'écran servira à déterminer les valeurs pour X_MAX_POS et Y_MAX_POS. Mon conseil est de baisser (réduire) de quelques millimètres pour plus de sécurité.
  5. Si X_BED_SIZE est supérieur au X_MAX_POS obtenu (idem Y_BED_SIZE supérieur à Y_MAX_POS), régler X_BED_SIZE sur la même valeur que X_MAX_POS (id. Y_BED_SIZE sur Y_MAX_POS).
Modifié (le) par fran6p
  • J'aime 1
  • Merci ! 2
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
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...