Qu’est-ce que le G-Code ?
RS-274, plus communément appelé G-Code est un langage de programmation pour CNC (Computer Numerical Control) utilisé dans la fabrication assistée par ordinateur. L’essentiel du langage est qu’il dit à un outil / appareil « d’y aller et de faire ceci ».
G-Code peut être utilisé avec de nombreux types de machines, des découpeuses laser, des tours, des fraiseuses et des meilleures imprimantes 3D. Pour les imprimantes 3D, le G-code est généralement créé lorsque nous « découpons » un objet pour l’impression. Le découpage convertit un objet en une série de calques, qui utilisent les commandes G-Code pour déplacer l’outil afin d’imiter le contour et la structure interne de l’objet. Les slicers courants, tels que Cura et PrusaSlicer, feront tout le travail acharné pour nous, mais si nous devions écrire notre propre G-Code, nous pourrions créer des scripts pour ajuster et régler notre imprimante 3D pour le meilleur service possible.
Dans ce guide, nous apprendrons à écrire du G-Code, en particulier en utilisant un Créalité Ender 2 Pro comme notre machine de test. Nous allons écrire un script qui sera utile lors de la mise à niveau manuelle du lit d’impression. Le code créé pour cette procédure est sur mesure pour l’Ender 2 Pro et devra être modifié pour votre imprimante 3D.
Écrire un script G-Code
G-Code ne nécessite pas d’éditeur de texte sophistiqué ou d’IDE, tout ce dont nous avons besoin est un simple éditeur de texte, tel que Notepad, ou notre préférence, Notepad ++.
Chaque ligne de G-Code est une instruction destinée à une partie de l’appareil et les commandes sont écrites à l’aide de la référence de commande, suivie des paramètres de commande (le cas échéant). Pour faire un commentaire, nous devons préfixer le commentaire avec un point-virgule.
1. Ouvrez votre éditeur de texte et créez une ligne de commentaire pour expliquer le but du code.
; Ender 2 Pro Example Control G-Code
2. Utilisez la commande G90 pour définir le positionnement absolu. Cela signifie que chaque mouvement est calculé à partir du même point de départ.
G90; Absolute positioning
3. Utilisez la commande M117 pour afficher un message sur l’écran LCD de l’Ender 2 Pro. La chaîne (message) est directement après l’émission de la commande et ne nécessite aucun paramètre.
M117 Tom's Hardware; Prints the string to the LCD screen
4. Utilisez la commande G4 (dwell) pour mettre le script en pause pendant trois secondes.
G4 P3000; Wait for 3 seconds
5. Utilisez les commandes M117 pour afficher un message et G4 pour mettre le script en pause suffisamment longtemps pour que l’utilisateur puisse le lire.
M117 Heating bed; Prints the string to the LCD screen
G4 P1000; Wait for 1 second
6. Utilisez la commande M190 pour chauffer le lit d’impression à 60 degrés Celsius (S60). Cette commande arrêtera l’exécution du script pendant que le lit atteint la température requise.
M190 S60; Set the bed temperature to 60C and wait until it hits that temperature
7. Référencez tous les axes de l’imprimante avec la commande G28.
G28; Home all axis
8. Réglez la vitesse de déplacement sur 1500mm/minute. Cela garantira que le lit et l’extrémité chaude se déplacent à la même vitesse. On peut aller plus haut, 3000mm/minute c’est possible, mais commencer doucement ; de cette façon, vous avez le temps de réagir aux problèmes.
G1 F1500; Set Feedrate (tool movement) to 1500 mm/min
9. Soulevez l’axe Z de 8 mm à l’aide de la commande G1 afin que la buse soit dégagée du lit d’impression. Nous ne voulons pas écraser la buse dans le lit d’impression car cela endommagerait la buse et le lit.
G1 Z8; Lift Z Axis 8mm
dix. Utilisez la commande G1 pour déplacer la buse vers une position X et Y définie. Dans ce cas, la position est directement au-dessus de la molette de réglage du lit avant gauche.
G1 X28 Y35; Move to position 1
11. Imprimer une instruction à l’utilisateur en utilisant M117.
M117 Level the bed #1
12. Attendez l’entrée de l’utilisateur à l’aide de M0. Notez que cette commande ne fonctionne pas sur toutes les imprimantes 3D. S’il ne fonctionne pas pour vous, remplacez-le par G4 et attendez longtemps.
M0; Stop, wait for user input
<<If your 3D printer does not support M), use this for a 20 second wait>>
G4 P20000
13. Répétez le même processus de soulever la buse, de passer à la position suivante, d’instruire l’utilisateur et d’attendre une entrée. N’oubliez pas de remplacer M0 par G4 si votre imprimante ne le prend pas en charge. Cela déplacera la buse de manière à ce qu’elle se trouve au-dessus de la molette de réglage du lit avant droit.
G1 Z8 ; Lift Z Axis 8mm
G1 X140 Y35; Move to position 2
M117 Level the bed #2
M0; Stop, wait for user input
14. Une autre répétition, cette fois à la position 3, la molette de réglage du lit arrière droit.
G1 Z8 ; Lift Z axis
G1 X140 Y130; Move to position 3
M117 Level the bed #3
M0; Stop, wait for user input
15. Encore une fois, cette fois en position 4, la molette de réglage du lit arrière gauche.
G1 Z8; Lift Z axis
G1 X28 Y130; Move to position 4
M117 Level the bed #4
M0; Stop, wait for user input
16. Utilisez la commande G28 pour référencer tous les axes, puis affichez un message de fin (M117) sur l’écran LCD.
G28; Home all axis
M117 Complete; Bed leveling is completed
17. Enregistrez le code sous Ender2-Pro-Test.gcode sur une carte micro SD.
18. Retirez la carte et insérez-la dans l’imprimante.
19. Appuyez sur la molette de commande pour ouvrir le menu.
20. Faites défiler vers le bas jusqu’à Joindre la carte et appuyez sur le cadran. Cela préparera la carte à l’utilisation.
21. Faites défiler vers le bas jusqu’à Imprimer depuis la carte et appuyez sur le cadran.
22. Sélectionnez Ender2-Pro-Test.gcode et appuyez sur le cadran.
23. Sélectionnez Imprimer et appuyez sur la molette pour démarrer. L’imprimante va maintenant passer par les étapes du fichier G-Code.
Le code passera par chaque étape du processus, imitant un processus de nivellement du lit, mais avec la buse dégagée du lit d’impression.
Une fois le processus perfectionné, nous pouvons abaisser la buse et l’utiliser pour effectuer le nivellement du lit de manière semi-autonome.
Liste complète des codes
; Ender 2 Pro Example Control G-Code
G90; Absolute positioning
M117 Tom's Hardware; Prints the string to the LCD screen
G4 P3000; Wait for 3 seconds
M117 Heating bed; Prints the string to the LCD screen
G4 P1000; Wait for 1 second
M190 S60; Set the bed temperature to 60C and wait until it hits that temperature
G28; Home all axis
G1 F1500; Set Feedrate (tool movement) to 1500 mm/min
G1 Z8; Lift Z Axis 8mm
G1 X28 Y35; Move to position 1
M117 Level the bed #1
M0; Stop, wait for user input
G1 Z8 ; Lift Z Axis 8mm
G1 X140 Y35; Move to position 2
M117 Level the bed #2
M0; Stop, wait for user input
G1 Z8 ; Lift Z axis
G1 X140 Y130; Move to position 3
M117 Level the bed #3
M0; Stop, wait for user input
G1 Z8; Lift Z axis
G1 X28 Y130; Move to position 4
M117 Level the bed #4
M0; Stop, wait for user input
G28; Home all axis
M117 Complete; Bed leveling is completed
Ajout de G-Code via un Slicer
L’ajout d’un code G personnalisé à votre slicer permet de contrôler toutes les facettes de votre processus d’impression. Nous pouvons ajouter un chiffon de buse supplémentaire avant une impression, préchauffer le lit à une température personnalisée et ajuster de nombreux autres paramètres pour une impression parfaite. Voici comment modifier le G-Code dans deux des slicers les plus courants, Prusa Slicer et Cura.
Ajout de code G via Prusa Slicer
1. Cliquez sur Paramètres de l’imprimante, puis sur Expert. Cela révélera toutes les fonctionnalités de Prusa Slicer, alors faites attention.
2. Cliquez sur Code G personnalisé.
3. Un code G personnalisé peut être inséré pour le début et la fin d’une impression. Cela affectera chaque impression découpée en tranches à l’aide de Prusa Slicer.
4. Cliquez sur Plater pour revenir à la préparation de l’objet pour l’impression.
Ajout de code G via Cura Slicer
1. Ouvrez Cura et cliquez sur Paramètres >> Imprimante >> Gérer les imprimantes.
2. Cliquez sur Paramètres de l’appareil.
3. Le G-Code de début et de fin d’imprimante peut maintenant être directement modifié.
4. Cliquez sur Extruder 1 pour modifier le G-Code de l’extrudeur.
5. Fermez la fenêtre pour enregistrer et quitter la boîte de dialogue Paramètres de la machine, puis fermez la boîte de dialogue Préférences. Vous serez renvoyé à l’écran de préparation prêt à découper une nouvelle impression.
Commandes courantes du code G
Commande | La description | Exemple |
---|---|---|
G1 | Un mouvement linéaire entre deux points sur la surface de travail. | G1 Z8 ; Soulevez l’axe Z 8mm |
Réglez l’avance (vitesse) à laquelle les moteurs se déplacent en mm/minute. | G1 F1500 ; Réglez la vitesse à 1500 mm par minute | |
Extruder 25 mm de filament en une ligne de 50 mm. (Utile pour nettoyer la buse avant une impression) | G1 X50 E25 | |
G4 | Habiter. Ajoutez une pause, en millisecondes, à la séquence. | G4 P1000 |
G20 | Définir l’unité de mesure en pouces | G20 |
G21 | Définir l’unité de mesure en millimètres | G21 |
G28 | Accueil tous axes | G28 |
G90 | Positionnement absolu. Toutes les coordonnées sont interprétées comme un espace de coordonnées logiques. | G90 |
M0 | Attendez l’entrée de l’utilisateur, généralement une pression sur un bouton. Remarque : Cette commande ne fonctionne pas pour toutes les imprimantes 3D ! | M0 |
M18 | Désactiver les moteurs pas à pas. | M18 ; Tous les steppers |
M18 ZE; Désactivez le stepper de l’axe Z et le stepper de l’extrudeuse. | ||
M117 | Affichez un message sur l’écran de l’imprimante 3D. Les messages sont des chaînes qui peuvent contenir des lettres, des chiffres et des signes de ponctuation. | M117 Bonjour le monde ! |
M190 | Réglez la température du lit, en degrés Celsius. | M190 S60 |
M410 | Arrêt rapide. Un arrêt d’urgence de tous les moteurs pas à pas. Remarque : Les moteurs pas à pas seront hors de position après cette commande et tous les axes devront être référencés. | M410 |
M500 | Enregistrez tous les paramètres dans l’EEPROM. À utiliser avec prudence car cela écrasera la configuration actuelle. | M500 |
M701 | Chargez le filament en tournant le moteur pas à pas de l’extrudeuse pendant une durée définie. | M701 |
M702 | Déchargez le filament, utilisé lors du changement des rouleaux de filament. | M702 |