dimanche 15 avril 2018

Calibrer les moteurs d'une imprimante 3D

Calibrer les moteurs pas à pas de l'Anet A8

Que vous veniez de recevoir et d'assembler l'anet A8 ou que vous veniez de suivre mon tuto sur l'installation de Marlin, l'imprimante nécessite un calibrage avant d'être totalement fonctionnelle.

Et oui, les moteurs pas à pas ne sont pas tous identiques et il est nécessaire de corriger dans le logiciel (firmware Anet ou Marlin) leurs imperfections.

Donc pour calibrer les moteurs, il faut utiliser le G-code. Il s'agit du langage de la machine, c'est un style de programmation qui existe depuis les années 60 et, j'ai de la chance, je l'ai étudié au lycée... il y a 20 ans...

Malheureusement pour vous, la seul méthode que je connaisse pour accéder au G-code est via mon serveur Octoprint. Si vous n'en avez pas, il va vous falloir soit en installer un, soit faire des recherches sur Google (bon courage).

L'avantage, c'est que cette méthode fonctionne aussi bien avec le firmware d'origine qu'avec Marlin.

Calibrer le moteur d'extrusion :


La méthode que j'ai utilisé est simple.

Extrusion du fil à mesurer :


Démontez le corps de chauffe et la buse d'impression de votre imprimante. Ne laissant que la tige filetée.

Insérez le filament et laissez le à peine dépasser de la tige filetée. Un petit coup de pince coupante le plus à ras possible vous créera votre point d'origine.
Dans le menu de l'Anet A8, allez sur "Position" puis "Extrudeur" et faites sortir 100 mm de fil (ils seront perdu).
A noter que sous marlin, une sécurité empêche de sortir du fil "à froid". Du coup, j'ai fait chauffer la cartouche dans le corps de chauffe que j'avais mis de coté (suspendue loin de toute surface inflammable).






Ensuite, coupez le fils sorti le plus à ras possible de la tige filetée.

Il ne vous reste plus qu'à mesurer le fil avec un pied à coulisse.


Correction dans le firmware de l'imprimante :


Si le fil extrudé fait exactement 100 mm, parfait vous avez fini, sinon...

On entre dans le vif du sujet et dans le G-code.

Octoprint possède un onglet "Terminal". Lors des impressions, on peut y voir le code défiler.


Mais lorsque Octoprint est en position d'attente, il est possible d'envoyer du code à la machine grace à la commande "Send".

On part du principe que vous n'obtenez pas 100 mm lors de la mesure mais plutôt quelque-chose comme 89,8 mm.
Il va donc falloir corriger cela.
Obtention de la valeur actuelle de E :

Commencez par taper :

m503
et cliquez sur le bouton send.

L'imprimante devrait retourner :


Send:m503
Recv:Steps per unit:
Recv: M92 X91.429 Y91.429 Z4000.000 E945.000
Recv:Maximum feedrates (mm/s):
Recv: M203 X500.000 Y500.000 Z3.400 E45.000
Recv:Maximum Acceleration (mm/s2):
Recv: M201 X2500 Y2500 Z50 E2500
Recv:Acceleration: S=acceleration, T=retract acceleration
Recv: M204 S2000.000 T2000.000
Recv:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm/s), K=advance_k
Recv: M205 S0.000 T0.000 B20000 X15.000 Z0.400 E25.000
Recv: M206 X0.000 Y0.000 Z-0.250
Recv: M208 X150.000 Y150.000 Z97.000
Recv:PID settings:
Recv: M301 P10.000 I2.200 D80.000 W70
Recv:Thermistor settings: M304 Hh Bb Rr Tt, H0=Bed, H1..n=nozzle, b=thermistor beta value, r=series resistor, t=thermistor resistance as 25C
Recv: M304 H0 B4200 R4800 T100000 M304 H1 B3960 R4700 T100000
FPU Enabled no


La ligne qui nous intéresse est la troisième :
Recv: M92 X91.429 Y91.429 Z4000.000 E945.000

Elle correspond au réglage pour X, Y, Z et E (extrudeur).
Pour l'instant, on ne s'occupe que de l'extrudeur don E.
Calcul de la nouvelle valeur de E :

Il va falloir calculer la nouvelle valeur de E pour corriger ce problème de calibrage.

On multiplie donc la valeur de E actuel par la longueur voulue (100 mmm) que l'on divise par la longueur obtenue (89,8mm dans notre exemple).

Ce qui donne :
E= E*100/L
E= 945*100/89,6
E= 1054,6875
Envoie de la correction :

Toujours avec le bouton "Send", il suffit d'envoyer le nouvelle valeur de E :
M92 E1054.6875

Et pour rendre ce changement permanent :
M500

Calibrer les axes X, Y et Z

Pour calibrer ces axes, vous allez devoir imprimer un cube.
Il existe un modèle qui repère les différents axes. Vous l'imprimez et mesurez (comme pour le fil) au pied à coulisse les dimensions pour pouvoir faire les corrections.

Imprimer le cube de calibrage

Le fichier STL est disponible à cette adresse : https://www.thingiverse.com/thing:1278865
Téléchargez le et imprimez le.
Cube à 100% et 200%
Une petite astuces est de doubler la taille du cube dans cura. Ainsi si il y a un défaut, il sera doublé et donc plus facilement mesurable.

Calcul de la correction

Mesurez le cube :

Mesure de X

Mesure de Y

Mesure de Z
Ensuite, vous reprenez la ligne obtenue dans octoprint en envoyant :

m503


Souvenez-vous de la ligne qui nous intéresse est la troisième :
Recv: M92 X91.429 Y91.429 Z4000.000 E945.000

E ne nous intéresse plus et on va s'occuper de X, Y, Z.
Appliquez la formule suivantes :
 (taille_désirée_du_cube* Paramètre)/Mesure = nouveau_paramètre

Soit dans l'exemple :
X :
(20*91.429)/20.28 = 90.167

Y :
(20*91.429)/20.27 = 90.211

Z :
(20*4000)/19.92 = 4016.064

Envoi de la correction

Toujours avec le bouton "Send", il suffit d'envoyer les nouvelles valeurs de X, Y et Z :
M92 X90.167 Y90.211 Z1016.064

Et pour rendre ce changement permanent :
M500

Conclusion

Si vous imprimez à nouveau un cube, celui-ci devrait avoir de bien meilleures proportions.

Aucun commentaire:

Enregistrer un commentaire