- Le code G définit la géométrie et le mouvement des machines CNC et des imprimantes 3D.
- Le code M contrôle les fonctions auxiliaires telles que la broche, le liquide de refroidissement et les changements d'outils.
- Les logiciels de CAO/FAO et les trancheurs génèrent automatiquement les codes G et M, mais il est essentiel de les comprendre.
- La maîtrise de ces codes permet d'éviter les erreurs, d'améliorer la précision et d'optimiser la production.
Si vous travaillez avec Machines CNC ou imprimantes 3DTôt ou tard, vous rencontrerez le fameux code G et son indissociable compagnon, le code M. Pour beaucoup, cela sonne comme une langue martienne, mais en réalité, il s'agit simplement d'instructions très structurées que la machine comprend parfaitement. Comprendre leur signification et leur combinaison est essentiel pour ne plus travailler « à l'aveugle » et pour maîtriser pleinement l'usinage ou l'impression.
Considérez votre machine, aussi coûteuse ou moderne soit-elle, comme étant tout à fait « simple » : elle ne sait que… se déplacer aux coordonnées X, Y, Z, faire tourner une broche ou extruder du matériau Lorsque vous donnez l'ordre, tout le reste est géré par les codes G et M. Dans cet article, nous allons détailler leur fonctionnement, leur origine, leurs différences, leur utilisation actuelle avec les logiciels de CAO/FAO et les trancheurs, les erreurs typiques qu'ils peuvent engendrer, et nous examinerons même des exemples de programmes plus complexes, pour les tours CNC et l'impression 3D.
Qu’est-ce que l’usinage CNC et pourquoi dépend-il autant des codes G et M ?
L'usinage CNC consiste essentiellement en l'utilisation de machines à commande numérique par ordinateur Les tours, fraiseuses, centres d'usinage, etc., servent à fabriquer des pièces avec une précision impossible à atteindre manuellement et de manière répétée. La commande numérique définit les positions, les vitesses et les trajectoires ; la machine exécute ces instructions.
Parmi ses avantages, l'un se distingue Précision et efficacité extrêmement élevées dans l'enlèvement de matière, possibilité de travailler avec des géométries très complexes et une répétabilité brutale : si le programme est bien fait, vous pouvez produire 10 ou 10 000 pièces pratiquement identiques.
Avant l'existence des ordinateurs tels que nous les connaissons aujourd'hui, les conducteurs de train utilisaient cartes perforées ou bandes perforées Pour encoder les instructions, il fallait perforer les trous dans le bon ordre : c’était un processus lent et délicat. Si la carte était endommagée ou perdue, le travail était ruiné et la production était arrêtée.
Avec l'avènement de la commande numérique et des premiers ordinateurs, les opérateurs ont commencé à introduire lignes de code manuellementC'était une amélioration, mais pour les pièces complexes comportant de nombreuses opérations, cela devenait extrêmement fastidieux et sujet aux erreurs de frappe ou de calcul.
Aujourd'hui, la situation est très différente : nous utilisons des logiciels de CAO pour la conception et des logiciels de FAO pour générer automatiquement les trajectoires d'outils. La FAO produit elle-même les… Fichiers de code G et de code M Prête à fonctionner, la machine doit néanmoins comprendre son fonctionnement interne afin de pouvoir l'examiner, l'optimiser, la corriger et, le cas échéant, la programmer manuellement.
Comment la programmation CNC contrôle les machines
Dans un flux de travail typique, le programmeur prépare l'environnement d'usinage dans le logiciel de FAO : Modèle de pièce, modèle de mâchoire ou d'outillage, sélection d'outils et les trajectoires d'outil pour chaque opération (ébauche, finition, perçage, taraudage, etc.). À partir de ces informations, le logiciel génère le programme CNC composé de blocs d'instructions.
Chaque bloc est généralement une ligne de texte contenant un code G, éventuellement un code M et divers paramètres : coordonnées X, Y, Z, rayons, avances (F), vitesse de broche (S), nombre d'outils (T), etc. La commande interprète ces blocs dans l'ordre séquentiel et déplace la machine ou modifie son état en fonction de ce qui est écrit.
En pratique, le programme combine généralement des instructions de mouvement (code G) et des fonctions auxiliaires (code M), ainsi que quelques autres éléments. commandes Des caractères supplémentaires comme F, S, T ou N sont utilisés pour numéroter les lignes. La logique est la suivante : Le code G dicte « comment » la machine se déplace.Le code M dicte « ce que » la machine fait en termes de fonctions matériel.
Bien que la FAO permette de gagner beaucoup de temps, un post-traitement peut s'avérer nécessaire pour les pièces complexes. examiner manuellement les cycles, les compensations et les progrès ou des séquences de sécurité. Dans les projets complexes, il n'est pas rare que la génération, l'ajustement et la validation du code prennent des jours, voire des semaines.
Qu'est-ce que le code G en CNC et impression 3D ?
Le code G, également connu sous le nom de RS-274 ou code ISO, est le langue standard de programmation géométrique des machines CNC (Différences entre le code machine et le bytecodeLe « G » vient précisément de « géométrie » : il décrit comment la machine doit se déplacer dans l'espace et selon quels paramètres.
Dans les machines CNC traditionnelles (tours, fraiseuses, lasers, etc.), le code G indique trajectoires, plans de travail, vitesses d'avance et d'autres informations relatives au mouvement de l'outil par rapport à la pièce. En impression 3D, le principe est identique, mais appliqué aux axes de l'imprimante et à l'extrudeuse.
Une commande G-code typique commence par la lettre G suivie d'un nombre, par exemple : G00, G01, G02, G03, G17etc. Chaque combinaison a une signification très précise. Souvent, la ligne intègre davantage de paramètres tels que X, Y, Z, R, F, S ou E (en impression 3D pour l'extrudeuse).
Bien qu'il existe des normes (ISO 6983, DIN 66025, dialectes Siemens, FANUC, Haas, entre autres), chaque commande peut ajouter des extensions ou des variantesDe plus, certains détails de formatage varient d'un fabricant à l'autre : par exemple, une machine peut accepter G3 et une autre peut exiger G03, ou autoriser l'omission de certains zéros et espaces.
Dans tous les cas, l'idée de base est la même : une séquence de blocs qui, lorsqu'ils sont exécutés dans l'ordre, Elles constituent la totalité de la trajectoire de l'outil et donc la forme finale de la pièce ou de l'objet imprimé.
Lettres et paramètres communs du code G
Outre la lettre G, la langue utilise d'autres lettres pour indiquer paramètres importantsEn usinage CNC classique, on trouve notamment :
- X, Y, ZLes coordonnées cartésiennes permettent de positionner l'outil ou la pièce à usiner dans les trois dimensions. X et Y correspondent généralement au plan horizontal, Z à la profondeur ou à la hauteur.
- A: rotation ou rotation autour de l'axe X (dans les machines multi-axes).
- R: rayon d'un arc lors d'une interpolation circulaire.
- Je, J: composantes incrémentales du centre d'un arc dans les interpolations circulaires.
- N: numéro de ligne ou de bloc du programme.
- F: l'avance, c'est-à-dire la vitesse de coupe ou de déplacement dans les opérations d'usinage.
- S: vitesse de rotation de la broche, en tours par minute.
- T: outil à utiliser en combinaison avec des instructions telles que M06.
En impression 3D FFF/FDM, cette lettre apparaît également très fréquemment. E pour indiquer la quantité de filament extrudé, ainsi que les commandes de positionnement G0/G1 sur X, Y et Z.
Principaux codes G en usinage CNC
Certaines Codes G les plus fréquents Voici les spécifications des machines de fraisage et de tournage CNC :
- G00 – Positionnement rapide : Déplacez l'outil aussi rapidement que possible vers une coordonnée spécifiée, sans intention de couper. Cette technique est utilisée pour les approches et les replis où le seul objectif est d'arriver rapidement et sans collision.
- G01 – Interpolation linéaire : Elle commande un déplacement en ligne droite entre deux points avec une vitesse d'avance F spécifiée. C'est la commande classique pour les coupes droites et l'usinage de contours.
- G02 – Interpolation temporelle circulaire : Tracez des arcs ou des cercles en suivant une direction horaire, généralement en utilisant X, Y (ou X, Z / Y, Z selon le plan actif) et un rayon R ou un centre I, J.
- G03 – Interpolation circulaire dans le sens antihoraire : Identique au G02 mais inversé, très utile pour le profilage des ronds, des rainures circulaires ou des poches courbes.
- G04 – Pause ou maintien : Elle immobilise la machine pendant une durée déterminée. Ceci permet à la broche de se stabiliser, à l'outil de refroidir ou au liquide de refroidissement d'agir.
- G17, G18, G19 – Sélection du plan : G17 active le plan XY, G18 le plan XZ et G19 le plan YZ, ce qui est essentiel lors du travail en mode multi-axes ou lors de l'interpolation d'arcs en dehors du plan standard.
- G21 / G20 : Ils définissent le système d'unités, généralement G21 pour les millimètres et G20 pour les pouces.
- G43 – Compensation de la longueur de l'outil : Il tient compte du fait que chaque outil a une longueur différente et applique le correcteur approprié afin que la profondeur d'usinage réelle soit conforme aux attentes.
Des codes spécifiques sont également courants dans les tours, tels que G71 pour les cycles de dégrossissage longitudinaux, G70 pour la finition de profil, ou G76 pour le filetage cyclique, qui vous permettent de définir un contour et de laisser la commande générer automatiquement la fameuse « échelle » de passes intermédiaires.
Exemple avancé de code G sur un tour CNC
Pour saisir le véritable potentiel de ces cycles, prenons l'exemple suivant : nous partons d'un bloc cylindrique et nous voulons dégrossir de grandes quantités de matériaux avec peu de traits, en laissant un peu de matière en excès pour une passe de finition et en terminant par un fil.
Dans un programme de tour, nous pourrions commencer par définir la taille initiale du matériau avec une instruction standard dans le simulateur, identifier le programme avec un numéro tel que O0001, sélectionner le système métrique avec G21 et définir le mode d'avance par tour avec G99.
Ensuite, un changement d'outil est commandé avec quelque chose comme M06 T0101 (outil 1 avec son décalage 1), les révolutions de la broche sont définies en mode G97 (RPM constant) avec S1800 M03 pour tourner dans le sens horaire, et il est rapidement positionné avec G00 près de la pièce (par exemple X26 Z2).
Ensuite, en utilisant G01, vous pouvez face à la brique En passant par le centre (X-1 F.05), retournez à la position de sécurité et entrez dans le fameux cycle d'ébauche G71. Ce cycle est défini en deux lignes, spécifiant la profondeur de passe U, le retrait R, le bloc initial P et le bloc final Q du contour, les surépaisseurs U et W et l'avance F.
Les lignes de contour entre, par exemple, N1 et N2 sont décrites ci-dessous : un surfaçage jusqu’à X0, une avance en Z, un arc G03 de rayon spécifique, un tournage cylindrique et un tournage conique. L’important est que le profil soit croissant ou décroissant de façon monotone en diamètre afin que le cycle fonctionne correctement.
Une fois l'ébauche effectuée par G71 terminée, un G70 P1 Q2 est lancé afin que, avec la vitesse et l'avance fines, apporter les touches finales En suivant le même contour, vous pouvez ensuite envoyer le chariot en référence avec G28 U0 W0, arrêter la broche avec M05, changer d'outil de filetage avec T0303 et activer un cycle G76 pour générer un filetage à passes multiples avec des paramètres de profondeur, d'angle, de pas (F1.5, par exemple) et de diamètre intérieur.
Enfin, le chariot est ramené en position de sécurité (G28 U0 W0) et le programme est terminé par M30 (fin et rembobinage) ou M00 (arrêt sans rembobinage). Ce processus complet peut être décrit par très peu de lignes de programme grâce aux cycles fixesce qui simplifie grandement le travail quotidien.
Qu'est-ce que le code M et quel rôle joue-t-il ?
Le code M est aussi appelé code « divers » ou code « fonction machine ». Alors que le code G gère la géométrie et le mouvement, le code M contrôle les mouvements. Actions auxiliaires : démarrer ou arrêter la broche, activer le liquide de refroidissement, changer d’outil, arrêter ou terminer le programme, etc.
Formellement, il s'agit de commandes qui commencent par la lettre M suivie d'un chiffre, comme par exemple : M00, M03, M05, M06, M08, M30Chacun d'eux agit comme un interrupteur qui active ou désactive quelque chose, ou qui fait passer la commande à un autre état.
Un détail important est que, en règle générale, un seul bloc est utilisé dans chaque bloc. un seul code MPlacer deux ou plusieurs éléments sur la même ligne est généralement une mauvaise idée car de nombreuses fonctions s'excluent mutuellement : la broche ne peut pas démarrer et s'arrêter en même temps dans la même commande sans que la machine ne se bloque.
Contrairement au code G, qui est plus standardisé, les codes M Elles varient considérablement d'un fabricant à l'autre.La signification de M03 ou M05 est généralement la même dans presque tous les cas, mais d'autres codes (changement de palette, pince, cycles spéciaux) peuvent changer et même le format (M3 vs M03) peut provoquer des erreurs si le contrôle est strict.
Les codes M les plus fréquemment utilisés en CNC
Parmi les codes M les plus fréquents Les programmes que vous verrez dans CNC sont :
- M00 – Arrêt du programme : Il interrompt l'exécution de manière contrôlée jusqu'à ce que l'opérateur appuie sur un bouton pour la reprendre. Il est utilisé pour les inspections, les modifications manuelles ou les interventions ponctuelles.
- M02 / M30 – Fin du programme : Elles indiquent que le programme est terminé. La touche M30, sur de nombreuses manettes, en plus d'arrêter le programme, permet de le rembobiner au début pour le terminer.
- M03 – Broche en mouvement (sens horaire) : La broche démarre dans le sens horaire, généralement accompagnée d'une valeur S de RPM.
- M04 – Broche en mouvement (sens antihoraire) : Identique à M03 mais avec une rotation dans le sens inverse, utile pour certaines opérations ou configurations spéciales.
- M05 – Butée de broche : Elle ralentit la rotation, une étape nécessaire avant de changer d'outil ou de terminer une opération de coupe.
- M06 – Changement d'outil : Indique à la machine d'effectuer un changement d'outil automatique vers l'outil indiqué en T. Essentiel dans les centres d'usinage avec magasin d'outils.
- M08 – Réfrigérant activé : Mettez en marche le système de refroidissement (jet, pluie, etc.) pour maintenir la température et améliorer la finition de surface.
- M09 – Réfrigérant OFF : Cela coupe l'arrivée de liquide de refroidissement, ce qui est très utile juste avant un changement d'outil ou à la fin de l'opération.
Bien que nombre de ces codes soient similaires d'une machine à l'autre, il est obligatoire de les examiner. manuel de commande spécifique car certains modèles M peuvent avoir des fonctions complètement différentes selon le fabricant.
Codes G et M en impression 3D FDM/FFF
Il se passe quelque chose de très curieux en impression 3D : bien qu’il s’agisse d’une technologie différente, le cœur du contrôle repose sur… même concept que le code G et le code M que dans une machine CNC. Le firmware de l'imprimante (Marlin, Klipper, RepRap, etc.) interprète les lignes et actionne les moteurs, chauffe la buse, active les ventilateurs ou effectue le nivellement du plateau.
L'imprimante ne comprend pas les fichiers STL, OBJ ni les maillages 3D ; elle sait seulement qu'elle doit Déplacer la tête vers certaines coordonnéesLe procédé consiste à déposer de la matière (extruder) à une vitesse et une température spécifiques. Le logiciel de découpe traduit la géométrie 3D en des milliers de lignes de code G.
Un exemple simple de commande d'imprimante serait G0 X15, qui déplace l'axe X de 15 mm dans le sens positif. La combinaison des axes X, Y, Z et E avec les commandes G0/G1 permet d'obtenir les résultats suivants : dessiner chaque couche de la pièce sur le lit.
En plus du G-code qui décrit la pièce, les logiciels de découpe génèrent toujours un code de début et de fin (G-code de début et de fin) : ces scripts s’exécutent avant et après chaque impression. Ils sont répétés pour toutes les impressions, sauf modification.
La configuration initiale comprend généralement le retour à l'origine (G28), le chauffage du plateau et de la tête d'impression (M140, M104, M109) et le nivellement automatique si un capteur est présent. extrusion d'une ligne de purgeetc. Une fois terminé, les éléments chauffants (M104 S0, M140 S0), les moteurs (M84), les ventilateurs (M106 S0) sont éteints, et parfois l'axe Z est déplacé pour éloigner la pièce de l'extrémité chaude.
Pourquoi modifier le code G de début et de fin en impression 3D
Bien que la plupart des trancheuses apportent scripts par défaut assez génériques Comme elles sont compatibles avec de nombreuses imprimantes, il est souvent judicieux de les personnaliser pour en tirer le meilleur parti. Voici quelques raisons typiques :
- Ajouter une séquence de mise à niveau automatique du lit si votre imprimante possède un capteur.
- Intégrer des lignes de pré-purge pour nettoyer l'extrudeuse et améliorer l'adhérence de la première couche.
- Configurez les sons ou les alertes lorsque l'impression est terminée.
- Un meilleur contrôle de refroidissement de la buse et du plateau pour éviter les déformations ou les coulures de filament.
- Sur les imprimantes sans EEPROM, réinitialisez les décalages Z, les paramètres PID ou les réglages qui sont perdus lors de la mise hors tension.
Dans les logiciels de découpe comme Cura, c'est assez simple : vous accédez aux paramètres de l'imprimante, ouvrez les paramètres de la machine et vous verrez deux champs de texte pour le Code G de début et code G de finVous pouvez y modifier, coller des extraits de code et les adapter à votre modèle spécifique.
Commandes G-code courantes dans les scripts d'imprimantes 3D
Voici quelques commandes qui apparaissent habituellement Ces scripts (et non des programmes complets) sont :
- G92 E0 : Réinitialisez l'extrudeuse à zéro afin que, désormais, les commandes d'extrusion soient relatives à ce point.
- G28: Cela ramène tous les axes à leur point d'origine (retour à l'origine), opération essentielle avant de commencer l'impression.
- G1 XYFE : Il combine le mouvement X/Y, l'alimentation F et l'extrusion E, généralement pour tracer des lignes de purge ou se déplacer vers une position spécifique sur le plateau.
- G1 Z : Ajustez la hauteur de l'axe Z pour éviter que la buse ne heurte le plateau ou la pièce finie.
- G1 FE : Commandes de rétraction du filament à la fin, pour éviter les gouttes.
- M106 S : Configurez la vitesse du ventilateur de la couche, de 0 (arrêt) à maximum.
- M104 S0 / M140 S0 : Ils éteignent l'extrudeuse et le plateau tournant une fois le travail terminé.
- M84: Désactivez tous les moteurs afin que les axes soient libres.
En plus de ces commandes, chaque firmware ajoute ses propres codes pour le nivellement du plateau, les pauses avancées, les changements de filament, etc. C'est pourquoi c'est si important. pour savoir exactement ce que votre imprimante comprend.
Principales différences entre le code G et le code M
Bien qu'ils apparaissent toujours ensemble et se complètent mutuellement, le code G et le code M ont différents rôles En matière de programmation CNC et d'impression 3D, leurs différences peuvent être résumées en plusieurs points :
- But: Le code G contrôle les trajectoires d'outil, les positions, les orientations et les vitesses d'avance. Le code M gère les fonctions auxiliaires telles que les broches, les fluides de refroidissement, les changements d'outils et l'arrêt du programme.
- Type d'instruction : Le code G est de nature géométrique, il dicte comment la machine se déplace ; le code M est opérationnel, il se concentre sur les états de la machine qui n'impliquent pas nécessairement de mouvement.
- Standardisation: Les codes G sont relativement standardisés dans l'industrie, de sorte que G00, G01, G02, etc., signifient généralement la même chose sur différentes machines. En revanche, de nombreux codes M sont plus dépendant du fabricant et leur signification peut changer.
- Poids en précision : Le code G influe directement sur la précision dimensionnelle de la pièce ; un paramétrage incorrect du G01 peut compromettre un contour. Le code M a une influence plus indirecte (par exemple, l’activation ou la désactivation du liquide de refroidissement influe sur la stabilité thermique et l’état de surface).
- Complexité: Les blocs de code G ont tendance à être plus denses, avec de nombreuses coordonnées, rayons et avances, tandis que le code M a tendance à être plus simple mais très important pour la sécurité et le séquençage.
En fin de compte, le programme peut être considéré comme un orchestre où le Le code G marque les notes et la mélodie.Et le code M détermine l'entrée en scène de chaque instrument, les moments de silence et la fermeture du rideau.
Autres commandes complémentaires en programmation CNC
Outre G et M, trois lettres sont essentielles à la fois en usinage CNC et en impression 3D : F, S et T. Il ne s’agit pas de codes indépendants, mais paramètres qui accompagnent les mouvements ou fonctions :
- F (Alimentation) : Définit la vitesse d'avance, par exemple en mm/min ou mm/tr, selon que G94 ou G95 (ou G99 sur certaines commandes) est actif. Une valeur F trop élevée risque d'endommager les outils ; une valeur trop faible pénalise les temps de cycle et peut entraîner des finitions médiocres.
- S (Vitesse de broche) : Indique la vitesse de broche en tr/min lorsqu'elle est combinée avec M03 ou M04. Elle peut également représenter d'autres vitesses dans certains contextes.
- T (Outil) : Sélectionnez l'outil à utiliser pour le changement d'outil M06, en veillant à ce qu'il corresponde à la position réelle de l'outil dans l'entrepôt.
Un exemple de commande de mouvement CNC pourrait être G01 X-100. Y-50. Z35. F10, qui commande un déplacement linéaire à une vitesse d'avance de 10 unités par minute (selon le système). Si nous ajoutons M03 S3000, nous indiquons qu'à cette position, nous souhaitons que la broche tourne à la vitesse indiquée. 3000 tr/min dans le sens horaire.
Écrivain passionné par le monde des octets et de la technologie en général. J'aime partager mes connaissances à travers l'écriture, et c'est ce que je vais faire dans ce blog, vous montrer toutes les choses les plus intéressantes sur les gadgets, les logiciels, le matériel, les tendances technologiques et plus encore. Mon objectif est de vous aider à naviguer dans le monde numérique de manière simple et divertissante.
