La vraie raison des difficultés de première couche, et le moyen d’y remédier

Une énorme proportion des plaintes exprimées à propos de la K2 plus (et peut-être aussi des autres modèles de CREALITY) concerne les difficultés de première couche. La plupart des utilisateurs ont fini par se résigner à devoir baby-sitter de façon systématique l’exécution de la première couche, en corrigeant à la main le Z-Offset lorsque les choses commencent à prendre une mauvaise tournure. Le plus crispant est la non reproductibilité des choses, en particulier pour ceux qui – suivant en cela les conseils étranges de CREALITY – refont systématiquement le calcul du mesh à chaque impression.

L’expérience suivante va vous mettre sur la piste de la vraie raison de ces difficultés et du moyen d’y remédier, en attendant que CREALITY modifie son logiciel de la bonne façon.

ATTENTION : La validité de tout ce qui suit dépend du fait que vous n’avez pas, par ailleurs, patché les fichiers de configuration de la machine.

Dans le fichier « printer.cfg », remplacez (temporairement) la ligne (dans les paramètres de bed_mesh, vers la ligne 360)

   probe_count:9,9

par

        prob_count 3,3

Cela aura pour effet de construire, rapidement, un « mesh » de 9 points (3x3). Le but n’est pas d’imprimer avec ce mesh, mais d’observer les résultats sur une réitération du même algorithme.

Sous « fluid », dans l’onglet “console », exécutez, un certain nombre N de fois, les commandes :

BED_MESH_CALIBRATE

Puis

BED_MESH_OUTPUT

Vous allez récupérer N matrices de MESH, qui représentent les hauteurs mesurées de chacun des neuf points. Dans un monde parfait, les matrices seraient identiques, mais il n’existe pas d’instrument de mesure parfait, et le seul problème est de savoir si les écarts observés sont acceptables au regard de l’utilisation qui est faite du résultat de la mesure.

J’ai fait l’expérience 10 fois (faites-la, c’est rapide car il n’y a que neuf points). Vous obtiendrez des résultats certainement différents des miens puisque cela dépend de la machine. Mais, il est probable que vous obtiendrez des résultats similaires. Voici ce que j’ai observé, sur ma machine :

  1. Le maximum de l’écart que j’ai observé, entre les 10 mesures pour chacun des neuf points est de 0,068 mm, soit 34% de la hauteur d’une couche de 0,2 mm.

  2. La moyenne, en valeur absolue, de l’écart que j’ai observé, entre les 10 mesures pour chacun des neuf points est de 0,032 mm, soit 16% d’une couche de 0,2 mm.

Avec un flot supposé constant - ce qui met de toutes les façons l’extrudeur à rude épreuve pour faire face aux variations de pressions - il n’est pas difficile de voir le lien avec les ondulations et décollements qui ruinent la première couche. L’erreur de mesure sur chacun des points du plateau est trop grande pour qu’on puisse obtenir une première couche correcte.

QUE FAIRE :

Tout d’abord, quelques réflexions qui vont à contre-courant des idées reçues :

  1. La qualité principale que l’on attend d’un MESH n’est pas sa plus ou moins grande platitude (même si cela ne fait pas de mal), mais sa capacité à refléter au plus près la topologie du plateau.

  2. La topologie du plateau n’a aucune raison de changer d’une impression à l’autre (car alors elle pourrait aussi changer au cours d’une impression), ni de changer du fait de l’installation d’une nouvelle version du micro-logiciel. Elle n’a pas plus de raison de changer lorsque vous changez de fil d’impression (PLA, PETG, TPU …), ni même si vous installez une nouvelle buse, ni même un nouveau bloc chauffant ou une nouvelle extrudeuse, même si ce n’est pas une CREALITY. Tant que vous ne touchez pas au cadre (« gantry ») ni au plateau, la topologie ne change pas.

Donc, avec « un peu de chance », il peut arriver que l’erreur soit acceptable pour une certaine configuration, donc qui vous donne des impressions « suffisamment » bonnes. Donc, si vous avez réussi à obtenir un MESH qui convient à vos usages, GARDEZ-LE précieusement car il y a peu de chances qu’un nouveau calcul vous en donne un meilleur.

Reste à savoir si on peut forcer un peu la « chance » afin de disposer d’unMESH acceptable. Or, lorsqu’un instrument de mesure fournit des mesures entachées d’une erreur inacceptable, l’approche scientifique est de réitérer la mesure un « certain nombre » de fois et de faire la moyenne des N mesures, dont l’erreur diminue en proportion de racine(N). CREALITY le sait très bien, car la mesure du Z de référence au début de chaque impression est refaite un certain nombre de fois (au moins 5, avec en plus certains essais, probablement pour écarter les mesures qui seraient déclarées « aberrantes », en fonction d’un critère qui n’est pas dévoilé).

Il « suffirait » donc de faire N mesures sur chacun des points pour avoir un MESH « acceptable ». C’est d’ailleurs, semble-t-il, l’approche adoptée par CREALITY pour celles de ses machines qui sont dotées d’un « prtouch » puisque la section [prtouch_v3] de « printer.cfg » comporte un paramètre « samples », dont la valeur par défaut est 1, mais que l’on peut, hélas, modifier tant qu’on veut sans que cela ait le moindre effet sur le MESH calculé par la K2 plus.

Le problème de MESH serait donc résolu si, dans son infinie bonté, CREALITY envisageait de donner vie à ce paramètre, qui permettrait à l’utilisateur d’arbitrer lui-même entre avoir rapidement un « mauvais » MESH et mettre plus longtemps à en fabriquer un « bon ».

En attendant, on peut obtenir quelque chose d’approchant en exécutant plusieurs mesures de MESH, en moyennant les matrices obtenues et en substituant le résultat à la matrice enregistrée en commentaire à la fin de « printer.cfg ». Attention tout de même à un point crucial : les valeurs calculées par chacune des passes sont des valeurs relatives à un certain Z qui change (un petit peu) à chacune des passes puisque la mesure est elle-même entachée d’erreur. Il ne faut pas moyenniser les matrices brutes mais les matrices « corrigées » pour les ramener auparavant à un Z de référence qu’on ne connaît pas, mais dont la meilleure estimation est la moyenne des valeurs relevées dans la passe considérée. L’algorithme est donc :

  1. Choisir une valeur N pour la taille de la grille (9x9 ou 11x11 …) la « bonne valeur est une autre histoire sur laquelle je reviendrai plus loin.

  2. Exécuter P fois (à vous de choisir) les commandes BED_MESH_CALIBRATE, puis BED_MESH_OUTPUT et conserver les matrices.

  3. Normaliser chaque matrice par rapport à sa valeur moyenne

  4. Calculer la matrice moyenne des P matrices et mettre le résultat à la place de la matrice enregistrée à la fin de « printer.cfg », la matrice que vous avez calculée deviendra la matrice par défaut au prochain redémarrage. ATTENTION : Étant donné qu’on n’est pas censé manipuler cette partie du fichier, il faut respecter strictement la syntaxe de cette partie, je ne sais pas ce qui arrive sinon.

  5. Pour assurer que, dans TOUS les cas, cette matrice sera utilisée par l’algorithme de MESH après le redémarrage, il ne vous reste plus qu’à ajouter, au fichier « gcode_macro.cfg », dans la macro [gcode_macro START_PRINT], après les instructions

NEXT_HOMEZ_NACCU

G28 Z

        L’instruction

BED_MESH_PROFILE LOAD=default

  1. Redémarrez la machine et il ne vous restera plus qu’à choisir la bonne valeur pour le Z-OFFSET qui devrait être proche de 0 et ne dépendre que du filament que vous utilisez.

MES RÉSULTATS :** Après avoir validé la méthode décrite sur une grille 13x13 exécutée 10 fois, le résultat donnait une première couche quasiment parfaite jusqu’à un carré 250x250. De légers défauts apparaissent au-delà, d’autant plus visibles que la taille est grande. Cela provient de la caractéristique incontournable des algorithmes d’interpolation : Ils ne savent pas interpoler près des bords, et encore moins près des coins. Avec une matrice 13x13, le pourtour laisse un intervalle de 25 mm de large dont la topologie est mal reproduite, par l’algorithme. Plus on s’approche du bord, moins l’approximation est bonne. Si on veut aller plus loin en taille, il faut donc augmenter la taille de la matrice pour réduire la largeur du bord, mais le temps de mesure augmente en fonction du carré de la taille.

Étant donné que je suis un perfectionniste à la fois compulsif et incorrigible, j’ai « poussé le bouchon » beaucoup plus loin que le raisonnable. Avec une matrice 65x65 (4225 points) mesurée 17 fois (2 jours de mesures), voici le MESH obtenu, range 0,4290 donc pas particulièrement glorieux :

Mais qui, à l’utilisation, me permet d’obtenir, de façon reproductible, l’impression d’une première couche sur la totalité du plateau (348x348 pour laisser une petite place à un skirt) parfaitement reproductible, et dont voici une photo :

J’utilise ce MESH depuis deux semaines. J’ai déjà imprimé de grandes pièces en PLA et de plus petites en TPU. Je ne referai certainement pas cette expérience, qui aboutit à une perfection dont on n’a pas besoin en pratique, mais ce sera mon MESH de référence jusqu’à ce que je sois forcé d’intervenir sur le plateau (par précaution, je ne touche jamais au plateau magnétique).

1 Like

Voici ma conclusion, que je n’ai pas pu ajouter au post initial :

Cette expérience démontre une chose de manière incontestable : la machine elle-même n’est pas le problème. La K2 plus offre un excellent contrôle du flux et compense parfaitement les variations mesurées de la géométrie du plateau (pour autant que celles-ci soient correctement mesurées), et est mécaniquement solide.

Le seul problème est un choix de design : CREALITY a choisi de donner la priorité à la vitesse de calcul du MESH sur la qualité de ce dernier. Ce choix handicape la consistance de la première couche et les utilisateurs ne devraient pas s’en contenter. CREALITY devrait simplement nous donner le contrôle par un paramètre qui nous laisse choisir le nombre de répétitions des mesures de chaque point. Un petit changement pour eux, et une complète transformation de l’expérience utilisateur.

Une version anglaise de ce post est disponible ici-même.

1 Like