======== Gcode pas à pas ======== [[http://fr.insta3dp.com/info/3d-printer-g-code-commands-full-list-tutori-79272752.html|Gcode base FR]] [[https://marlinfw.org/meta/gcode/|Gcode Marlin EN]] [[start:cnc:gcode:reprap|Gcode Marlin FR]] === Syntaxe === {{ :start:cnc:gcode:8b67a47f9c8e10a7.png?direct&400 |}} ==G1/G0 : mouvement manuel== {{ :start:cnc:gcode:0b164d930f4d1e6a.png?direct&400 |}} 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 & G91 : positionnement absolu et relatif == {{ :start:cnc:gcode:pasted-2.png?direct&400 |}} Les commandes G90 et G91 indiquent à la machine comment interpréter les coordonnées utilisées pour le mouvement. G90 établit le "positionnement absolu", qui est généralement la valeur par défaut, tandis que G91 est pour le "positionnement relatif". Aucune des deux commandes ne nécessite de paramètres, et la définition de l'une annule automatiquement l'autre. ==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== {{ :start:cnc:gcode:2885dc74caaeae5d.png?direct&400 |}} 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). 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 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 C8 pour une consigne de plateau à 100°C ==M301 : définir les paramètres PID== 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. ==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. ==M503 : Affiche les données de l'EEPROM== Cette commande donne en retour les données enregistrée dans l'EEPROM de la carte électronique, telles que la calibration des pas par/mm, les vitesses maxi, les offsets......Si l'option d'écriture en EEPROM n'a pas été activée lors de la compilation du firmware, ce sont les valeurs encodées dans les fichiers de compilation qui sont utilisées, à chaque reboot/reset. spécial delta !!! ==M665 : Ajuster le paramétrage de la mécanique d'une Delta== Cette commande permet d'ajuster dans l'EEPROM les informations de longueur des bras, de l'effector.... ==M666 : Modifier l'offset des axes== Fonction très utile sur une delta, mais utilisable sur les autres machines, pour chaque 'axe' (ensemble moteur/endstop), la commande permet de décaler le zéro après avoir fait un 'homing' G28. Attention !! Si vous modifiez la valeur au delà de la position de votre endstop, l'imprimante va essayer d'y aller ! (et éventuellement emplafonner les butées)