Liste des GCODE principaux et couramment utilisés
G1 : mouvement manuel
Permet de faire un mouvement sur un axe ou plusieurs.
G1 X50
permet de faire un mouvement de 50mm selon l'axe X.
G1 Z100
permet de faire un mouvement de 100mm selon l'axe Z.
G1 X50 Y50
permet de faire un mouvement de 50mm selon les axes X et Y. Cela se traduira par un mouvement en diagonale.
Il est possible d'ajouter aussi une notion de vitesse avec le paramètre Fxxx, xxx étant la valeur en mm/minutes de la vitesse :
G1 X50 F100
permet de faire un mouvement de 50mm selon l'axe X lent (100mm/min soit 1.66mm/s).
G1 X50 F12000
permet de faire un mouvement de 50mm selon l'axe X rapide (12000mm/min soit 200mm/s).
G90 et G91 : passer en coordonnées absolues et relatives
Permet de ne plus considérer des positions par rapport au home X, Y, Z ou E mais seulement de la valeur demandée.
Par exemple, si à la fin d'une impression on veut monter en Z de 10mm avant de dégager la tête vers le fond de la machine, on ne peut pas faire simplement un G1 Z10. En effet si on est actuellement à Z=100mm en fin d'impression et qu'on demande un Z10, alors la machine va redescendre de 90mm pour arriver à Z=10mm (par rapport au fin de course Z).
Dans ce cas, on va simplement écraser la pièce imprimée et risque d'abimer la machine. Il faudrait, si on connait la position Z faire un G1 Z110 mais on ne connait pas toujours la position en fin d'impression.
Pour monter de 10mm en Z sans s'occuper de savoir où on est, ensuite aller au fond de la machine et redescendre de 10mm (script type de fin d'impression par exemple) :
G91 ;permet de passer en coordonnées relatives G1 Z10 ;on monte de 10mm par rapport à la position actuelle G90 ;on repasse en coordonnées absolues G1 Y300 F6000 ;on emmène la tête d'impression en fond de machine (dans la mesure où le fond machine est à 300mm) G91 ;permet de passer en coordonnées relatives G1 Z-10 ;on redescend de 10mm par rapport à la position actuelle G90 ;on repasse en coordonnées absolues
G92 : Initialiser un axe
Cette commande permet de forcer un axe à la position voulue.
G92 Z0
permet par exemple de forcer la position de l'axe Z à 0.
G28 : initialisation des axes
Cette commande permet d'initialiser en position 0 les axes X, Y et Z de l'imprimante.
G28
: fait une initialisation à 0 des 3 axes X, Y et Z.
G28 X0 Y0
: ne fait une initialisation à 0 que des axes X et Y.
G28 Z0
: ne fait une initialisation à 0 que de l'axe Z.
G29 : autocalibration du plateau
Lance une autocalibration du plateau d'impression dans le cas où l'imprimante dispose d'un capteur de calibration automatique (cas des imprimantes professionnelles notamment).
Il faut nécessairement que au moins les axes X et Y aient été initialisés à 0 avant de lancer cette commande (G28 X0 Y0
ou alors G28
).
G29
: lance la calibration automatique du plateau (généralement en 9 points, dépendant de la configuration de l'imprimante). Une fois fait, un plan moyen du plateau est définit et tout mouvement en X et/ou Y verra sa compensation en Z se réaliser (le plateau d'impression montera ou descendra un peu en fonction du mouvement).
G29 V4 T
: permet de faire une calibration automatique du plateau avec toutes les informations de mesures affichées dans les logs (points mesurés, moyennage du plan, etc).
Il est aussi possible d'avoir des options détaillées sur le G29, pour par exemple faire des mesures avec moins de points que ce qui est définit dans le firmware, ou alors restreindre les mesures dans une certaine zone :
G29 F35 L130 R230 B100 P2
les marqueurs F, L, E et B permettent de restreindre la zone avec respectivement F pour l'avant (Front), L pour la gauche (Left), R pour la droite (Right) et B pour l'arrière (Back). De plus, le P2 permet de faire une grille de mesure à 2×2 soit 4 points de mesures dans les coins, là où un P3 fera une grille de 3×3 soit 9 points dans la zone délimitée.
M303 : autocalibration PID
Permet de faire une autocalibration PID d'une tête d'impression (voir Améliorer la précision de la température d'impression avec le réglage PID pour la procédure détaillée).
Sur une tête d'impression
M303 E0 S210 C8
permet de faire une autocalibration d'un extrudeur avec les paramètres suivants :
- E0 : calibration réalisée sur l'extrudeur 0, c'est à dire la tête n°1 de l'imprimante
- S210 : la température cible de la calibration est de 210°C
- C8 : 8 itérations sont réalisées pour avoir un échantillonnage de mesure plus grand
Sur un plateau épais (200mm Fiplan, machines industrielles)
Pour la calibration PID de votre plateau d'impression (si le firmware le prend en charge, il faut utiliser E-1 pour le sélectionner :
Exemple : M303 E-1 S100 C3
pour une consigne de plateau à 100°C
On notera le passage de C8 à C3, pour faire moins d'itérations et donc éviter un timeout, du à l'inertie du système.
M301 : définir les paramètres PID
Voir la vidéo Youtube ici
Cette commande permet de définir manuellement les paramètres de PID après un M303.
M301 H1 P31.58 I1.17 D67.98
définit sur l'extrudeur 0 (H1) les paramètres P de 31.58, I de 1.17 et D de 67.98.
H0 est pour le plateau.
Cette commande est utile si on a pas accès aux réglages EEPROM de l'imprimante (sous Simplify3D par exemple).
Il est important de sauvegarder ensuite ces réglages avec un M500.
M304 : définir les paramètres PID pour le plateau
Il est possible de configurer les paramètres du PID plateau avec un M301 (voir ci dessus). Mais une commande dédiée existe uniquement pour le réglage du plateau.
M304 P31.58 I1.17 D67.98
Il est important de sauvegarder ensuite ces réglages avec un M500.
M500 : sauvegarder EEPROM
Cette commande permet d'enregistrer dans l'EEPROM de la carte électronique les paramètres rentrés (par exemple après un réglage PID M301).
M501 : Lire EEPROM
Cette commande permet de lire et d'afficher dans le terminal tous les paramètres EEPROM de l'imprimante. Pratique pour voir si une modification a bien été prise en compte par exemple.
M92 : définir les pas/mm des axes
Cette commande permet de définir manuellement les pas par mm des axes de l'imprimante. Pratique pour faire un reréglage rapide lors de tests.
M92 X67.5 Y67.5 Z4000 E139.75
définit respectivement des pas/mm de 67.5 pour X et Y, 4000 pour Z et 139.75 pour l'extrudeur.
Il est possible de ne faire le réglage que pour un axe :
M92 E139.75
Il est important de sauvegarder ensuite ces réglages avec un M500 si vous souhaitez que les nouvelles valeurs soient conservées après un redémarrage.
M119 : afficher l'état des capteurs de fin de course
Cette commande permet de retourner l'état des capteurs de fin de course de l'imprimante. Très utile à la fin d'un montage pour vérifier si les capteurs sont convenablement branchés et sans faux contact. Très utile aussi en diagnostic si un axe ne veut pas s'initialiser en position 0.
M119
va par exemple retourner :
x_min : TRIGGERED
x_max : open
y_min : open
y_max : open
z_min : TRIGGERED
z_max : open
C'est à dire que le capteur de fin de course X est en contact (position 0 du chariot d'impression), que le capteur de fin de course Y n'est pas en contact (contact ouvert) et que le capteur de fin de course Z est en contact (touche le plateau).
Cas d'un faux contact sur un capteur
Si un capteur est mal branché, détruit ou a un faux contact, l'état sera TRIGGERED et donc en faisant une initialisation 0 de l'axe en question (G28 X0
s'il s'agit de l'axe X), celui ci fera un petit mouvement (environ 10mm) en positif (donc en s'écartant de son capteur).
Un M119
permettra de mettre en avant ce défaut.
M851 : Afficher et régler l'offset Z
Dans le cas d'une imprimante permettant de faire une calibration automatique, il est possible de régler directement en GCODE la valeur d'offset en Z.
M851
Retourne la valeur actuelle de l'offset en Z (par exemple Z : -0.65
).
M851 Z-0.9
Définit la valeur d'offset Z à -0.9mm et écrase l'ancienne valeur.
Il est important de sauvegarder ensuite ces réglages avec un M500.
Plus d'information sur le réglage de l'offset Z ici.
M42 : activer manuellement une sortie
Grâce à la commande M42, il est possible d'activer manuellement une sortie de la carte, assez pratique pour certains tests.
M42 S255 P58
active à l'état haut (255) la sortie sur le pin 58.
M42 S0 P58
désactive à l'état bas (0) la sortie sur le pin 58.
M78 : lire les informations de stats machine
Cette commande permet sur les dernières version de Marlin (à partir de mars 2017) de lire les informations machine telles que :
- Durée du job le plus long
- Temps total d'impression machine
Pratique pour des opérations de maintenance à planifier par exemple.
M163 et M164 : configurer la répartition de mélange (mixing extruder)
M163 S0 P0.6
permet de définir une répartition de 60% sur T0
M163 S1 P0.4
permet de définir une répartition de 40% sur T1
M164 S5
permet d'enregistrer ce réglage de répartition en tant qu'outil virtuel T5
Pour utiliser cet outil avec ces réglages, il faut choisir l'outil T5 dans le GCODE pour le sélectionner.
Il est possible ainsi de base de créer jusqu'à 16 outils virtuels de mélange (à partir de 1).
M114 : Avoir la position actuelle de la tête d'impression
Permet d'avoir en retour la position actuelle des axes :
M114
X:148.8480 Y:209.6580 Z:0.6000 E:66.4170
M562 : Remise à 0 des erreurs de chauffe
Permet de remettre les chauffages en reset suite à une erreur de température (par exemple Heater Fault sur Duet) :
M562