Calibrations (machine, extrudeur, PID)

Calibrations (machine, extrudeur, PID)

Il y a plusieurs calibrations essentielles à effectuer pour s’assurer que l’imprimante est bien réglée. La calibration de la géométrie de machine, celle de l’extrudeur et les PID. On peut y ajouter la Linear Advance qui est un peu moins essentielle.

Ce sont des calibrations physiques, matérielles. Elles assurent que la machine est bien réglée mécaniquement.

L’avantage est que, si, par la suite, vous obtenez de mauvais résultats, vous pouvez être quasi certain que le problème est logiciel et vient soit de votre trancheur, soit de votre stl, soit de votre outil de modélisation.

Naturellement ces réglages doivent être refaits en cas de changement de matériel comme le changement d’extrudeur, de hotend ou de buse.

Voici comment procéder.

Tous les réglages possibles depuis l’écran

Une excellente vidéo en français qui montre tous les réglages possibles que vous pouvez faire depuis l’écran de votre machine… si vous l’avez passée au firmware officiel 1.4

Très pratique pour ceux qui ne veulent pas ou ne peuvent pas utiliser pronterface ou un trancheur pour faire leurs réglages.

Calibration de la géométrie de l’imprimante

Théorie

La calibration d’une imprimante delta est différente de celle d’une imprimante cartésienne. Dans une imprimante cartésienne chaque axe (X, Y et Z) dispose d’un moteur dédié, parfois deux moteurs pour le Z. Dans une delta, il n’y a pas de moteur dédié et les déplacement sont une combinaison des 3 moteurs des trois bras. En revanche le réglage de l’extrudeur est identique pour les deux types d’imprimante.

Le réglage de la géométrie utilise 5 données

  • La longueur des bras mesurée entre le centre de chaque coque située à l’extrémité du bras : Detla_Diagonal_Rod. Sur la SR, cette distance est de 315 mm. Cette longueur est donnée par FLSun dans sa FAQ.
  • La longueur horizontale entre le haut du bras et le bas du bras : Delta_Radius.
  • La hauteur entre la pointe de la buse et le plateau : Delta_Height.
  • Le rayon de la surface d’impression (pas le diamètre) : Delta_Printing_Radius. La surface imprimable sur la SR a un diamètre de 260mm, donc, un rayon de 130mm
  • Le rayon de la zone de calibration, un peu plus petit que le rayon d’impression : Delta_Calibration_Radius. On pourrait utiliser 120mm

Procédure

Il faut normalement modifier le firmware pour indiquer les valeurs correspondantes aux 5 données Delta_xxx ci-dessus. Mais heureusement, il y a un moyen beaucoup plus simple de faire ce réglage. Il faut utiliser la commande G33 (Delta Auto Calibration) qui se charge de tout. Pour utiliser G33 :

Avant tout, préparez-vous un café ! Il va y avoir un enchaînement de calibrations. N’arrêtez pas avant que plus rien ne bouge ! A titre indicatif, chez moi, le g33 dure environ 10mn.

  • – Faire un Home
  • – Installer le capteur de niveau (très important)
  • – Avec Pronterface, Octoprint ou votre trancheur, envoyer la commande G33
  • – Une fois la calibration terminée, sauver les valeurs en envoyant la commande m500
  • Faire ensuite un auto-levelling puis un ajustement du Z depuis l’écran de l’imprimante

Vous avez fini votre réglage de géométrie

Calibration de l’extrudeur

1ère étape : vérifier le réglage des pas/mm (steps/mm)

  • Choisissez plutôt un filament clair pour ce réglage car vous allez devoir faire un repère au feutre dessus.
  • Faites chauffer la buse pour permettre au filament d’être extrudé. Par exemple à 210°C. Une fois à la bonne température, extrudez un peu de filament pour vérifier que l’extrusion fonctionne.
  • Mesurez 110mm au-dessus de l’entrée dans la machine, sur le capot. Mettez une marque au feutre sur le filament. Vous pouvez vous aider de l’outil que j’ai laissé sur Thingiverse.
  • Connectez votre imprimante et lancez un outil qui vous permet d’envoyer des commandes à l’imprimante. Par exemple un trancheur (Simplify 3D, Repetier Host, Prusa Slicer, etc) ou un outil plus général comme Pronterface ou Octoprint.
  • Envoyez la commande M83 (passage de l’imprimante en mode relatif).
  • Si vous utilisez Pronterface vous pouvez demander directement 100 mm à la vitesse de 200 mm/mn
  • Vous pouvez également envoyer la commande G1 F200 (indique à l’imprimante qu’il faut extruder à la vitesse de 200mm par minute) puis la commande G1 E100 (demande d’extruder 100mm de filament).
  • Comme vous avez fait un repère à 110mm et que vous avez demandé d’extruder 100mm, il devrait rester exactement 10mm à l’extérieur de votre machine. Donc, le repère que vous avez mis sur le filament devrait être exactement à 10mm au-dessus de l’imprimante. Mesurez la distance entre le repère et le l’entrée. SI vous trouvez 10mm, bravo, votre imprimante est réglée pile poil. Si vous trouvez une autre valeur, il faut corriger.

2ème étape : corriger si nécessaire

  • Prenons le cas où il reste 15 mm de filament à l’entrée de la machine. Comme il ne devrait en rester que 10 (puisqu’on a fait un repère à 110 mm), on a donc 5 mm de trop (15-10 mm). On n’a donc extrudé que 95 mm (100-5) pour 100 mm demandés. L’extrudeur n’extrude donc pas assez puisqu’on n’obtient que 95 mm en sortie de buse au lieu de 100 mm. Le nombre de pas par millimètre n’est pas bon.
  • Pour calculer la bonne valeur de pas, il faut déjà connaître celle qui est actuellement enregistrée et qui fait trop peu extruder.
  • Flsun donne une valeur standard de 420 pour la SR. En envoyant la commande M503, on obtient une série de données dont la valeur de pas/mm (steps per unit). Vous obtenez quelque chose comme ça (avec Pronterface)
  • Ce qui nous intéresse c’est la ligne M92. Il y a des valeurs pour X, Y, Z et E (comme extrudeur). C’est le E (comme extrudeur) qu’il faut corriger. On voit qu’ici il est à 415 (et qu’il ne faut donc pas se fier à ce que dit FLSun :).
  • Donc, la valeur 415.00 extrude 95mm au lieu de 100mm. Il va falloir la modifier.
  • La formule à appliquer est : (longueur demandée / longueur extrudée) * valeur actuelle.
    Dans notre cas cela donne (100 / 95) * 415 = 436.84 (deux décimales suffisent). Il faut donc remplacer 415,00 par 436,84
  • Pour modifier cette valeur il faut envoyer la commande M92 E436.84 (attention, c’est un point décimal et pas une virgule).
  • Puis pour l’enregistrer dans l’EEPROM, envoyez la commande M500
  • Pour vérifier que tout est correct, faites à nouveau une extrusion de 100 mm. Vous devriez obtenir un reste de 10 mm. Si ce n’est pas le cas recommencez le calcul comme on vient de le voir.

Voici une petite calculette qui vous permet d’obtenir la bonne valeur.

Calculette de pas/mm

Vous avez fini votre réglage d’extrudeur.

Réglage de PID

Théorie

Vous n’êtes pas obligé de lire cette partie et vous pouvez passer directement au réglage si la l’explication ne vous intéresse pas.

PID, c’est l’acronyme de “Proportional Integral Derivative”. Très évocateur, n’est-ce pas ?

En fait ce sont trois valeurs : Proportional, Integral et Derivative, abrégées en P, I et D et qu’on retrouve dans les paramètres de l’imprimante

Ces valeurs règlent le chauffage de la buse d’une part et de plateau d’autre part.

Prenons l’exemple de la buse. Que se passe-t-il quand on la fait chauffer ?

On a indiqué la température que l’on voulait obtenir, par exemple 200°. Alors pourquoi régler autre chose ? Tout simplement parce que chaque machine se heurte à un problème : l’inertie. La carte mère va envoyer du courant pour chauffer la buse. Quand la buse atteint 200°, le capteur de température interrompt l’envoi du courant et le bloc de chauffe cesse de chauffer. Mais à cause de l’inertie, la température va continuer à monter pendant un moment. Par exemple jusqu’à 210°.

De même dans l’autre sens, au refroidissement, lorsque la température passe en dessous des 200° requis, on va recommencer à chauffer. Mais le temps que la buse remonte en température on sera descendu à 195° par exemple.

On obtient donc une courbe de température qui n’est pas plate mais sinusoïdale. Voici un exemple.

Or, ce qu’on cherche, c’est d’avoir une température aussi constante que possible et donc une courbe plate. Comme celle-ci.

Si on reprend l’explication on voit que la solution consiste à :

  • arrêter de chauffer un peu avant d’avoir atteint les 200°
  • recommencer à chauffer un peu avant d’être passé sous 200°

Peut-être vous demanderez-vous pourquoi cela n’est pas fait d’office ? Parce que cette inertie dépend de plusieurs paramètres, dont par exemple la composition de la buse et du bloc de chauffe. On ne peut pas prévoir ces paramètres. C’est pour cette raison qu’il faut refaire le réglage de PID de la buse si vous en changez.

Le principe est le même pour le PID du plateau

Régler

Avant tout, on va regarder les valeurs courantes de PID. Pour cela on envoie toujours la commande M503 à l’imprimante. Dans mon cas on obtient ceci

Dans la zone PID settings, il y a deux lignes.

Celle qui commence par M301 concerne la buse et celle qui commence par M304 concerne le plateau. On voit que :

  • pour la buse P vaut 13.70, I vaut 0.48 et D vaut 70.22
  • pour le plateau P vaut 111.12, I vaut 22.05 et D vaut 373.36

Inutile de savoir ce que représentent ces valeurs. Pour nous, elle permettront de vérifier que le réglage aura bien marché à la fin de l’opération.

Réglage PID de l’extrudeur

Pour lancer le réglage on va envoyer 3 paramètres à l’imprimante au moyen de la commande M303 :

  • L’indication de l’extrudeur à traiter. Là, c’est facile il n’y en a qu’un sur les FLSun et il a le numéro 0 (E0).
  • La température à laquelle va se faire le réglage. On va le faire à 210° (S210).
  • Le nombre d’itérations, donc combien de fois on va faire une montée/descente de température. On fera 8 itérations (C8). Mais vous pouvez en faire plus ou moins.

Le réglage se fait toujours en partant d’une buse froide.

Donc envoyez la commande “M303 E0 S210 C8”. L’ordre des paramètre n’a pas d’importance.

Le message “PID Autotune start” s’affiche pour indiquer que l’opération est en cours.

Laissez faire sans rien toucher. Ca peut prendre du temps. Si vous regardez l’écran de votre imprimante, vous verrez que la température fait du yoyo autour de 210°

Une fois terminé vous obtenez ceci :

Vous devez absolument voir “PID Autotune finished”.

Les nouvelles valeurs à envoyer à l’imprimante sont donc p=14.88, i=0.95 et d=58.34

Ce qui donne la commande (M301=buse) suivante
“M301 p14.88 i0.95 d58.34” (toujours un point à la place de la virgule)) pour entrer les valeurs dans l’eeprom suivie de “M503” pour vérifier qu’elles ont bien été saisies et “M500” pour les enregistrer.

Réglage PID du plateau

Pour le plateau, c’est exactement la même chose. On envoie aussi la commande M303 mais, cette fois-ci, on met l’extrudeur à -1 (l’extrudeur “-1”, c’est le plateau).

On va itérer 8 fois à 65° avec la commande “M303 E-1 S65 C8”

Sur ma machine j’obtiens ça :

On envoie les valeur à l’imprimante avec la commande (M304 = plateau) suivante :

“M304 p60.93 i12.09 d204.73” pour entrer les valeurs dans l’eeprom
Puis “M503” pour vérifier et “M500” pour sauvegarder.

C’est fini pour le réglage de PID. Si vous refaites un M503 et que vous notez les valeurs, vous verrez qu’elles sont différentes de celles de départ.

Réglage de Linear Advance

Qu’est-ce que c’est ?

Vous avez sans doute remarqué que votre imprimante change de vitesse très fréquemment pendant une impression. On comprend assez intuitivement que, si on accélère l’impression, il va falloir sortir le filament très vite.

Dit autrement, en imprimant une ligne, si, on accélère pour atteindre 2 fois la vitesse de départ, par exemple, et qu’on ne change rien, pendant le temps de l’accélération, la ligne va devenir toute fine puisqu’on sortira autant de filament pour une plus grande distance parcourue. Si on veut garder une largeur de ligne constante pendant l’accélération, il va falloir que l’extrudeur augmente la pression dans la buse. Une fois la vitesse stabilisée, la machine sait quelle pression exercer. Le point critique est donc la période d’accélération.

Pour résumer, pour un filament donné, la pression à exercer est proportionnelle à l’accélération.

Cette proportion est notée K en impression 3d. Régler ce facteur K c’est cela qu’on appelle régler le (ou plutôt la, il me semble) Linear Advance.

Pour pouvoir régler K, il faut que le firmware accepte la fonction Linear Advance. C’est le cas des FLSun donc tout va bien. La valeur actuelle de K se lit (vers le bas du listing) en tapant la commande M503 sous la forme :

echo:; Linear Advance:
echo: M900 K0.00

Généralement, de base, le K est à zéro. Si ce n’est pas le cas, il faudra le mettre à zéro avant de commencer les tests. Pour cela il faudra taper le commandes :

M900 K0.00
M500

Le M900 met à zéro et le M500 sauve dans l’eeprom.

Comment régler K ?

Voici deux vidéos qui vous expliquent tout

Et voici l’adresse de la page qui vous permet de créer le gcode de test : https://marlinfw.org/tools/lin_advance/k-factor.html

Calibration avec les trancheurs

Avec IdeaMaker

Si vous utilisez Ideamaker, voici un récapitulatif intéressant (mais en anglais) : 3D Printer Calibration Guide using IdeaMaker

Avec Prusa Slicer

Si vous utilisez Prusa Slicer, voici un tuto qui vous semblera familier. Il traite de la calibration au moyen du trancheur SuperSlicer, qui est de la même origine que Prusa Slicer (Slic3r). SuperSlicer intègre un certain nombres d’outils de test et de réglage qui en font un outil très utile.

Réglage de la pression de l’extrudeur d’origine

Le réglage de la pression de l’extrudeur sur le filament n’a rien d’évident, surtout lorsqu’on vient d’une machine direct drive. Et c’est pourtant un réglage fondamental puisque c’est lui qui permet d’entraîner le filament avec la force nécessaire sur les 50 cm de tube ptfe avant d’arriver à la buse.

Voici une vidéo très claire et très rapide qui vous montre comment régler cette pression.