G-code/fr

From RepRap
Revision as of 16:16, 28 October 2015 by BOBOSS (talk | contribs)
Jump to: navigation, search



Cette page tente de décrire le 'G-code' que les firmwares Reprap utilisent et comment ils fonctionnent. La cible principale est la fabrication additive en utilisant FFF processus. Codes pour les mouvements de la tête d'impression suivent le NIST RS274NGC norme G-code, de sorte que les firmwares Reprap sont tout à fait utilisables pour le fraisage CNC et autres applications similaires. Voir aussi sur G-Code article de Wikipedia.

Il ya plusieurs façons de préparer Gcode pour une imprimante. La première consiste à utiliser une trancheuse comme Slic3r, Skeinforge ou Cura. Ces programmes prennent un modèle CAO, le découper en couches. Les trancheurs sont la meilleure façon de passer d'un modèle 3D en fichier gcode imprimable, mais l'utilisateur sacrifie une certaine flexibilité lors de leur utilisation. Une autre option pour la génération gcode est d'utiliser une bibliothèque de niveau inférieur comme mecode. Les bibliothèques comme mecode vous donnent un contrôle précis sur la trajectoire de l'outil, et ainsi sont utiles si vous avez une impression complexe qui ne convient pas pour le tranchage natïf. La dernière option est de simplement écrire le Gcode vous-même. Cela peut être le meilleur choix si vous avez juste besoin de courir quelques lignes de test lors de l'étalonnage de votre imprimante.


Introduction

Un morceau de fichier Gcode d'une imprimante 3D Reprap peut ressemblé à ça:

N3 T0*57
N4 G92 E0*67
N5 G28*22
N6 G1 F1500.0*82
N7 G1 X2.0 Y2.0 F3000.0*85
N8 G1 X3.0 Y3.0*33

Le Gcode peut être stocké dans un fichier sur une carte SD, votre disque dur ou tout autre support. L'extension du fichier Gcode peut être .g, .gco or .gcode. Pour les BFB/RapMan l'extention est .bfb. Le fichier Gcode stocker et/ou crée par un trancheur peut ressemblé également a ça:

G92 E0
G28
G1 F1500
G1 X2.0 Y2.0 F3000
G1 X3.0 Y3.0


La signification de tous ces symboles et chiffres (et plus) sont expliqués ci-dessous.

Les Trancheuses peuvent (éventuellement?) ajouter des scripts de gcode au début et à la fin de leur fichier de sortie pour effectuer des actions spécifiques avant et / ou après l'impression tels que l'autolevelling, le chauffage / refroidissement du lit et hotend, effectuer un mouvement pour essuyer la buse grace à un servomoteur,mise en route de l'alimentation Ps_on (ATX). Plus d'info sur les Start GCode routines and End GCode routines pages.


Pour savoir quels GCode spécifique(s) sont mis en œuvre dans cette page, il ya de petites tables attachés à la description des commandes, comme celui-ci:

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Partial ??? ??? ??? ??? Experimental depreciated ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
??? No ??? Yes ??? ??? automatic ??? ???

Légende:

{{yes}}
Le Gcode est complétement supporté par le firmware.
{{partial}} or {{experimental}}
Le Gcode peut fonctionné apres qque manipulation. Souvent, il est nécessaire de consulter la branche de code source pour le firmware (généralement stocké dans une branche différente) ou pour inverser les commutateurs de configuration sur la carte mère.
automatic
Le firmware gère cette GCode automatiquement, donc il n'y a pas besoin d'envoyer la commande. Un exemple est alimentation on / off GCode (M80 / M81) dans le firmware Teacup.
 ???
On ne sait pas si le firmware prend en charge ce GCode. Vous devez le tester vous-même.
{{no}}
Le firmware ne support pas le Gcode.
depreciated
The firmware à retiré this Gcode. L'auteur du firmware a sans doute retiré ce Gcode en le remplaçant par un autre.

Fields

Un GCode RepRap est une liste de champs qui sont séparés par des espaces blancs ou des sauts de ligne. Un champ peut être interprété comme une commande, paramètre, ou pour tout autre but spécial. Il se compose d'une lettre directement suivi d'un nombre, ou peut être seulement une lettre autonome (Flag). La lettre donne des informations sur le sens du champ (voir la liste ci-dessous dans cette section). Les nombres peuvent être entiers (128) ou nombres fractionnaires (12.42), en fonction du contexte. Par exemple, une coordonnée X peut prendre entiers ( 'x175' ) ou fractionels ( 'X17.62' ), mais en sélectionnant un extrudeur par le numéro 2,76 aurait aucun sens. Dans cette description, les numéros dans les domaines sont représentés par 'nnn' comme un espace réservé.


Lettre Signification
Gnnn Commande GCode Standard, Déplacement d'un ou plusieurs axes
Mnnn Commande defini pour les RepRap, M106 Pour allumé le ventilateur
Tnnn Selectionné un outils nnn. En RepRap, outils et extrudeur
Snnn Commande de paramètre , Le Temps ; Les temperatures; La tension à envoyer aux moteurs
Pnnn Commande de paramètre, En milliseconeds; Comme le Proportionnel Intégral Dérivé proportional (Kp)
Xnnn Coordonnée X, Généralement pour le faire bouger . Il peut etre un nombre entier ou décimal.
Ynnn Coordonnée Y, Généralement pour le faire bouger. Il peut etre un nombre entier ou décimal.
Znnn Coordonnée Z, Généralement pour le faire bouger . Il peut etre un nombre entier ou décimal.
Innn Paramètre - X-offset in arc move; integral (Ki) in PID Tuning
Jnnn Paramètre - Y-offset in arc move
Dnnn Paramètre- Utilisé pour le diametre ; derivé (Kd) pour le réglage du PID
Hnnn Parameter - Utilisé pour la chauffe de la résistance pour le PID
Fnnn Paramètre en mm/secondes. (Vitesse de déplacement de la tête d'impression)
Rnnn Paramètre - Utilisé pour la température
Qnnn Paramètre - pas utilisé actuellement
Ennn Longueur du matière extrudé. Il est identique à X, Y et Z, mais il correspond à la longueur de filament à extruder.
Nnnn N° de ligne. Utilisé pour demander la transmission de répétition dans le cas d'erreurs de communication.
*nnn Checksum. Utilisé pour vérifier les erreurs de communication..



G-commands

G0 & G1: Move

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes Yes Yes Yes Yes Yes ??? Yes
  • G0 : Déplacement rapide
  • G1 : Déplacement Linéair
Usage
G0 Xnnn Ynnn Znnn Ennn Fnnn Snnn
G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn
Paramètre
""Tous les paramètres ne nécessite pas d'être utilisé, mais au moins 'un' doit être utilisé
Xnnn L'axe X bouge sur ça position
Ynnn L'axe Y bouge sur ça position
Znnn L'axe Z bouge sur ça position
Ennn Le Moteur de l'extrudeur tourne de nnn pas
Fnnn La vitesse par minute d'un ou des axes
Snnn Test pour vérifier si un endstop a été délecnchés (S1 pour vérifier, S0 pour ignoré, S2 voir la note , par défaut si S0)1
Exemple
G0 X12 (Déplacer l'axe X de 12mm)
G0 F1500 (Régler la vitesse à 1500mm/minute)
G1 X90.6 Y13.8 E22.4 (Déplacer l'axes X de 90.6mm l'axeY de 13.8mm en extrudent 22.4mm de matière)

Les Firmware RepRap ont la même spécificités pour les commandes G0 and G1 , .2


1. G1 F1500
2. G1 X50 Y25.3 E22.4

Dans l'exemple ci-dessus, nous avons mis l'avance à 1500mm / minute sur la ligne 1, puis déplacé l'axe X de 50 mm, l'axe Y de 25.3mm et extrudé 22.4mm de filament.


1. G1 F1500
2. G1 X50 Y25.3 E22.4 F3000

Cependant, dans l'exemple ci-dessus, nous avons mis une avance de 1500 mm / minute sur la ligne 1, puis Déplaceé les axes comme demandé mais à 3000 mm / minute. L'extrusion va accélérer avec le X et le mouvement Y, donc tout reste synchronisé.

La spécification RepRap traite l'avance comme simplement une autre variable (comme X, Y, Z et E) pour être interpolées linéairement. Cela donne un contrôle complet sur l'accélération et la décélération de la tête d'impression de manière à ce que le firmware assure que tout se déplace ensemble.3

Pour inverser l'extrudeuse par une quantité donnée (par exemple pour réduire sa pression interne pendant qu'il fait un mouvement (en X,y ou Z) afin qu'il ne dribble pas) il suffit d'utiliser G0 ou G1 d'envoyer une valeur de E qui est inférieure à la longueur actuellement extrudé .


G2 & G3: Controle des mouvements des Arc

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes1 No ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes No No Yes ??? No ??? ???
Usage
G2 Xnnn Ynnn Innn Jnnn Ennn Fnnn (Arc sens des aiguilles d'une montre)
G3 Xnnn Ynnn Innn Jnnn Ennn Fnnn (CArc sens inverse des aiguilles d'une montre)
Parameters
Xnnn L'axe X bouge sur ça position
Ynnn L'axe Y bouge sur ça position
Innn Le point X part de sa position actuelle X afin de maintenir une distance constante à partir de
Jnnn Le point Y part de sa position actuelle X afin de maintenir une distance constante à partir de
Ennn Le Moteur de l'extrudeur tourne de nnn pas
Fnnn La vitesse par minute d'un ou des axes
Examples
G2 X90.6 Y13.8 I5 J10 E22.4 (Déplacement dans le sens des aiguilles d'ue montre de ce point à ce point(X=90.6,Y=13.8), avec un point central à (X=current_X+5, Y=current_Y+10), en extrudent 22.4mm de matière entre le début et la fin du movement des axes)
G3 X90.6 Y13.8 I5 J10 E22.4 ((Déplacement dans le sens inverse des aiguilles d'ue montre de ce point à ce point(X=90.6,Y=13.8), avec un point central à (X=current_X+5, Y=current_Y+10), en extrudent 22.4mm de matière entre le début et la fin du movement des axes)
Notes

1Dans le Firmware Marlin cette commande n'est pas implanté pour les imprimantes DELTA et SCARA .

G4: Dwell

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes Yes Yes Yes Yes Yes ??? Yes
Parameters
Pnnn Temps à attendre, en millisecondes
Snnn TTemps à attendre, en secondes (Seulement pour Marlin et Smoothieware)
Exemple
G4 P200

Dans ce cas, Rien ne se passe pendant 200 millisecondes. Pendant les pauses l'état de la machine (par exemple, les températures de ses extrudeuses) sera toujours préservée et contrôlée

Pour Marlin et Smoothie, le parametre d'attente "S" est en secondes, et le parametre "P" est en millisecondes.


G20: Définir les unités en Pouces

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
No Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes No Yes Yes ??? Yes ??? ???

Example: G20

Les unités à partir de maintenant sont en pouces.

G21: Définir les unités en Millimètres

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
No Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes Yes Yes Yes Yes Yes ??? ???

Example: G21

Les unités à partir de maintenant sont en Millimètres. (Le Millimètre est l'unité par défaut sur les RepRap.)


G28: Déplacement aux origines (Homing)

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes Yes Yes Yes Yes Yes ??? Yes
Paramètres
Ces Commandes peuvet être utilisées sans paramètres additionels.
X Déplacement de l'axe X vers son origine
Y Déplacement de l'axe Y vers son origine
Z Déplacement de l'axe Z vers son origine
Examples
G28 (Déplacement de tous les axes vers leurs origines)
G28 X Z (Déplacement seulement des axes X et Y vers leurs origines)

Lorsque le firmware RepRap reçoit cette commande, il déplace le ou les axes vers leur(s) butées aussi rapidement que possible, puis il(s)recule(nt) d'un millimètre et se déplace lentement vers les points d'activation de butée zéro pour augmenter la précision de position. Ce processus est également connu sous le nom de " Homing ".

Si vous ajouter une coordonnée, elle sera ignorée. Par exemple, G28 Z0.00 le résultat sera le même que G28 Z.


G29: Autolevel

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes No, see G32 ??? ??? ??? Yes No ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
??? No No No Yes Yes No ??? ???

Example: G29

Déplace l'axe Z sur 3 points ou plus pour calculer la planéité du plateau. La comande G28 est à éxécutée avant le G29.

G90: Paramétré la position absolu

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes Yes Yes Yes Yes Yes ??? ???

Example: G90

Toutes les coordonnées éxécutées à partir de maintenant sont absolues rapport à l'origine de la machine. (la position absolu est l'unité par défaut sur les RepRap.)

G91: Set to Relative Positioning

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes No Yes Yes Yes Yes ??? ???

Example: G91

Toutes les coordonnées à partir de maintenant sont liés à la dernière position.


G92: Définir la Position

Support Marlin RepRapFirmware Klipper Prusa Buddy Repetier Smoothie Druid MK4duo
Yes Yes ??? ??? ??? Yes Yes ??? ???
grbl Sprinter BFB FiveD Machinekit Redeem Teacup Yaskawa MakerBot
Yes Yes Yes Yes Yes Yes Yes ??? Yes
Parameters
Ces Commandes peuvet être utilisées sans paramètres additionels.
Xnnn Difini la nouvelle position de l'axe X
Ynnn Difini la nouvelle position de l'axe Y
Znnn Difini la nouvelle position de l'axe Z
Ennn Difini la nouvelle position de l'extruder
Exemple
G92 X10 E90

Permet la programmation du point zéro absolu, en réinitialisant la position actuelle aux valeurs spécifiées. Ici le X de la machine passe en coordonnées à 10, et l'extrudeur à 90. Aucun mouvement physique se produira.

Un G92 sans coordonées paramétra tous les axes à 0.