This will delete the page "TouchMi"
. Please be certain.
WORK IN PROGESS MAY BE INACCURATE. THIS PIECE OF DOC MAY CONTAINS TYPOES AND GRAMMAR MISTAKES
Quelques remarques avant de commencer :
ABL
(pour Automatic Bed Leveling), il ne s'agit pas (obviously) de Bed Leveling Manuel (via le LCD par exemple) ou d'UBL
(Unified Bed Leveling). Ce point est important, certaines commandes, comme la G29
, reagissent différement en fonction du type de leveling.J'utilise la version 1.1-bugfix
de Marlin. Ma version est disponible ici : https://git.dahwa.fr/3DPrinting/Tips/src/master/firmwares/marlin
Sur l'Ender-3, la carte mère necessite de passer par le bootloader arduino. Personnellement, j'utilise un clone de l'Arduino Nano
.
Je fonctionne avec un auto levelling automatique, mais pas systèmatique, avant chaque impression.
Je suis parti, de la documentation officielle (disponible ici ou sur le Google Drive de hotends.fr) et de l'howto d'ender3.fr
Le palpeur du Touch Mi se deploie soit manuellement, soit de maniere automatique, via un aimant au niveau de l'Endstop X.
Le support pour le Touch Mi est sur le carter stock de l'ender 3 (en jaune) et le support de l'aimant est sur la carter de l'axe X (en violet)
Ces supports ont été désigné par fluffaille et sont disponible sur thingiverse
Il n'y a pas de contraite d'installation si ce n'est que vous devez connaitre la distance en X et Y entre la buse et le palpeur, et que l'extremité du palpeur rentré doit etre entre 2,5mm et 1mm plus haut que la buse.
Le réglage se fait en plusieurs étapes :
Z-Offset
La mise à niveau classique, pour avoir un bed à peu près à niveau avant d'attaquer avec le palpeur.
Z-Offset
Le GCODE d'initialisation
M420 S0; Ensure previous mesh is unused
G28; Homing XYZ
M851 Z0; Setting Z=0
M500; Save to EEPROM
G28 Z0; Homing Z
G1 F50 Z0; Ensure Z=0
M211 S0; Overriding Soft Endstops
M114
) M211 S1; reenabling soft endstops
M851 Z<Z_Offset_Value>; Setting Z Offset
M500; Save to eeprom
Une fois que c'est fait, refaire un G28
puis un G1 Z0
et verifier que la feuille touche toujours de la même maniere
Ne pas hésiter à refaire un niveau à l'ancienne et de recheck le Z offset avant de passer au step 3
Personnellement, je passe par le controlleur LCD via le menu Prepare
-> Level Bed
.
Une fois activé, l'imprimante va collecter les points de mesure ( une grille de 5x5 pour moi) et sauver dans l'EEPROM les données.
Vous pouvez voir les données collectées avec la commande M420 T1 V
Send: M420 T1 V
Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3 4
Recv: 0 -0.104 -0.070 -0.024 +0.022 +0.039
Recv: 1 -0.101 -0.053 -0.038 -0.019 +0.015
Recv: 2 -0.029 -0.002 -0.043 -0.014 -0.004
Recv: 3 +0.042 +0.056 +0.001 -0.007 -0.026
Recv: 4 -0.002 +0.020 +0.008 +0.005 -0.026
Recv:
Recv: echo:Bed Leveling On
Recv: echo:Fade Height Off
Recv: ok
Dans le menu Prepare
, l'option Bel Leveling
va passer de Off
à On
.
Je n'utilise pas l'ABL à chaque impression, en revanche, l'activation du palpeur est automatique. Mon gcode va donc juste d'assurer que le bed levelling
est bien actif et faire en sorte de desactiver le palpeur avant de se deplacer sur le plateau :
; Ender 3 Custom Start G-code
G28 ; Home all axes
M420 S1 ; Ensure BL loaded from EEPROM.
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z15.0 F8000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X50 Y50 F8000 ; Going in a safe place to rectract pin
G1 Z0.5 F8000 ; deactivating Touch Mi
G1 Z1 F1500 ; Ensure some height before printing.
; End of custom start GCode
NOTE : la commande
M420
, qui permet de controler l'usage des données de leveling, n'est pas nécessaire ici dans la mesure où la featureRESTORE_LEVELING_AFTER_G28
est active. Je l'ai conservée néanmoins pour m'assurer que c'est bien le cas et pour avoir un rappel que c'est ici qu'il faut mettre unM420 S0
si je dois imprimer sans utiliser ces données.
Bed Visualizer
d'OctoprintCe plugin permet d'avoir une représentation visuelle de votre bed et d'en estimer la planéité (en fait, c'est la planéité, plus les erreurs et plus les effets de la mise à niveau du bed)
La page du projet est ici et le plugin est disponible dans le catalogue des plugins
il permet de tranformer la sortie de la commande M420 T1 V
en une représentation d'une surface 3D
par exemple, les données suivantes :
Send: M420 T1 V
Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3 4
Recv: 0 -0.104 -0.070 -0.024 +0.022 +0.039
Recv: 1 -0.101 -0.053 -0.038 -0.019 +0.015
Recv: 2 -0.029 -0.002 -0.043 -0.014 -0.004
Recv: 3 +0.042 +0.056 +0.001 -0.007 -0.026
Recv: 4 -0.002 +0.020 +0.008 +0.005 -0.026
Recv:
Recv: echo:Bed Leveling On
Recv: echo:Fade Height Off
Recv: ok
donne cette representation
Si comme moi, vous avez la flemme d'être délicat et que lors du retrait de la piece, vous avez tendance à defoncer votre leveling ou que votre chat (ou enfant) a tripoté les molettes de réglage, il faut refaire le niveau. L'auto leveling a ses limites.
Pour le refaire, j'utilise deux méthodes, pas forcément académique :
L'idée est de corriger le niveau manuellement. et quand je dis manuellement, c'est avec la main.
G28
pour refaire le homingG1 Z0
pour aller à niveau zéro du bedM18 X Y
pour couper l'asservissement des steppers X et Y (histoire de pouvoir les bouger à la main)bed leveling
(le step 3)Bed Leveling Wizard
Ce plugin est également dispo dans le catalogue de plugin. il permet de pré-placer la buse pour le leveling
Ma configuration est la suivante :
Il y a 2 options :
M420 S0
AVANT si vous voulez refaire completement le mesh.Dans les deux cas, il faut refaire un bed leveling
(step 3)
Vous pouvez aussi utiliser le plugin pour valider que le mesh est bon et verifiant juste avec une feuille pour chaque point. Dans ce cas, il faut laisser l'ABL actif
Depuis marlin 1.1, il existe une feature qui permet de couper la correction du leveling a partir d'une certaine hauteur. Cette fonctionnalité est disponible en activant ENABLE_LEVELING_FADE_HEIGHT
lors de la compilation.
L'interet de cette fonctionnalité est d'arreter de compenser les défauts du bed et donc de ne pas "reporter" la correction sur toute la hauteur de l'impression.
Je la configure dans le Gcode de démarrage apres le G28
avec la commande M420 Z<height>
où height
est la hauteur à partir de laquelle vous ne voulez plus de correction.
Normalement, un M420 Z<height>
suivi d'un M500
devrait la stocker avec le mesh. On devrait pouvoir se passer de cette ligne dans le Gcode de démarrage, mais, j'en suis pas sûr à 100%, bien qu'on puisse le regler depuis le menu Prepare
C'est un comportement assez ennuyeux dans la mesure où la sonde sert exactement à contrer ce problème ;)
J'ai un peu ce souci sur mon Ender 3, regulierement, j'ai un mesh trop écarté de la buse a droite du plateau. Je pense que c'est un souci purement mécanique et pas lié à la sonde. Fondamentalement, ce problème peut apparaitre avec n'importe capteur (BLtouch, inductif, etc .. )
L'Ender 3 utilise un simple axe Z. Toute sa précision part du principe que tout deplacement de l'axe Z est identique pour les deux cotés de la poutre qui soutient le chariot d'impression. Si vous faites du Z-Hop lors de l'impression, vous devriez voir que le deplacement sur Z pour la partie droite de la potence à un léger décalage temporel la partie gauche.
C'est 'normal', enfin ... logique. Le but est que cela se voit le moins possible, en reglant les exentriques des 2 cotés de la potence (coté alim et coté Z).
L'autre chose a verifier est la tension des ressorts du bed. En decollant ou bougeant le print ou le bed, on peut arriver à une situation ou le niveau du bed change sans qu'on le remarque.
Il faut aussi verifier que le cadre en alu est bien monté, et que l'ensemble de la strucuture n'est pas déformée. Cela se produit si c'est trop ou pas assez vissé. De même pour le reglage des différentes pièces de la potence (cf. cette vidéo https://youtu.be/pu6bJwq60oc?t=1543 )
Pour savoir si un truc déconne, une methode simple consiste a faire un mesh from scratch, puis de replacer la buse a Z=0 plusieurs fois pour voir si le niveau est toujours le même.
This will delete the page "TouchMi"
. Please be certain.