Source de l’article : Gcode de base pour Grbl V2.0 – SainSmart.com
Un guide sur ce qu’est le GCode sur une fraiseuse basé sur Grbl, comment il fonctionne, à quoi il sert et comment lire, modifier et, si nécessaire, écrire des programmes simples. Il n’est pas destiné à être un tutoriel sur la façon de l’écrire ; Ceci n’est qu’une introduction aux bases.
Il existe de nombreux tutoriels, introductions et descriptions, mais ils ont tendance à être des descriptions larges couvrant de nombreuses fraiseuses différentes, y compris de nombreuses commandes non prises en charge par Grbl. Celui-ci s’adresse spécifiquement aux utilisateurs de systèmes basés sur Grbl.
Qu’est-ce que le Gcode
La fraiseuse comprend un ensemble de commandes appelé Gcode (Geometric Code, développé pour la première fois à la fin des années 1950, c’est-à-dire il y a plus de 60 ans !) qui contrôlent le mouvement, les vitesses, etc. de la broche permettant un usinage précis et reproductible. Elle est définie dans plusieurs normes (https://en.wikipedia.org/wiki/G-code), mais personne n’a prêté beaucoup d’attention à la norme autrement qu’en tant que tronc commun. Les fabricants de machines CNC (Computer Numerically Controlled) ont utilisé les concepts de base, mais ont développé leurs propres extensions et implémentations. Donc, de nos jours, il s’agit plutôt d’un ensemble de directives dépendant en fin de compte de la fraiseuse spécifique sur lequel il est mis en œuvre, pensez-y comme à l’anglais avec beaucoup de dialectes et tous les mots n’ont pas exactement les mêmes significations, toutes les significations n’utilisent pas les mêmes mots.
Gcode est une série d’instructions qui indique à la fraiseuse à Gauche un peu, va plus vite, Droite un peu, descends, va plus lentement….. La meilleure analogie que j’ai est comme les instructions qu’un cerveau humain envoie aux mains lorsqu’elles tournent les boutons sur un jeu Etch-a-Sketch en 3 dimensions !
Lorsque votre logiciel de FAO emprunte un chemin d’outil qu’il a généré et le transforme en Gcode, il le fait passer par un post-processeur spécifique au dialecte Gcode que votre fraiseuse comprend. Certains vous permettent spécifiquement de sélectionner un post-processeur, d’autres s’appuient sur les paramètres de la configuration de la machine, mais le processus est le même. La sélection du mauvais post-processeur ou de la mauvaise machine entraînera des problèmes et des erreurs lors de l’envoi du Gcode au fraiseuse.
Qu’est-ce que Grbl ?
Lorsque Simen Svale Skogsrud s’est assis pour la première fois et a écrit Grbl en 2009, il y a 15 ans, il l’a nommé d’après une version plus grande d’une souris d’ordinateur. Il est petit, utile et ne fait pas grand-chose d’autre que ce pour quoi il est conçu. Donc, si vous lui demandez, il se prononce « gerbille ».
Il s’agit du logiciel qui s’exécute sur la carte mère de la fraiseuse ; il prend essentiellement des commandes Gcode et les traduit en impulsions électriques vers les moteurs qui contrôlent les mouvements et les vitesses. Grbl est libre d’utiliser des logiciels open source.
Ce guide est basé sur la version 1.1 de Grbl, mais il existe un grand nombre de variantes de cette version. Au moment de la rédaction de cet article, il s’agit de la version la plus courante que vous êtes susceptible d’utiliser, à moins que vous n’ayez une carte contrôleur plus ancienne. Lorsqu’une version spécifique de Grbl est construite, il y a un certain nombre d’options que le constructeur doit spécifier, cela peut changer certaines des fonctions, mais j’ai inclus ici les plus courantes.
Au cours des dernières années, la plate-forme sur laquelle Grbl fonctionne a changé, à l’origine, il a été conçu pour un processeur Arduino 8 bits avec une mémoire limitée, maintenant les versions qui fonctionnent sur des processeurs 32 bits sont courantes. Mais le Gcode de base est le même, mais d’autres fonctionnalités ont été ajoutées.
Grbl comprend également les commandes pour faire bouger la broche (ou le faisceau laser), modifier les paramètres… et je rendrai également compte de la situation et de ce qui se passe. Ceux-ci sont en dehors du cadre Gcode, mais sont également décrits dans ce guide.
Le fraiseuse reçoit ces commandes une ligne ou un bloc à la fois via une liaison de communication série, normalement à partir d’un PC ou d’un autre périphérique tel qu’un contrôleur hors ligne. REMARQUE : dans les systèmes basés sur Grbl, le contrôleur hors ligne utilise souvent le même port série que la connexion USB, en utilisant simplement un câble et une prise différents. C’est l’une des raisons pour lesquelles vous ne pouvez pas avoir une manette hors ligne et une connexion USB actives en même temps. Une autre raison est que, pour des raisons de fiabilité, vous ne pouvez pas avoir deux sources distinctes pour les commandes exécutées en même temps.
REMARQUE : Grbl fonctionne sur un microprocesseur qui utilise un certain nombre de sorties pour contrôler des choses comme les moteurs pas à pas, les moteurs de broche, les lasers….. Il dispose également d’un certain nombre d’entrées qui sont utilisées pour des choses comme la connexion d’interrupteurs de fin de course, d’interrupteurs de porte….. Si la carte principale de votre fraiseuse n’expose pas ces entrées et sorties, ou si elles ne sont connectées à rien, l’utilisation de la fonctionnalité devient inutile ! Des exemples évidents sont les interrupteurs de fin de course, l’utilisation d’une entrée d’ouverture de porte de sécurité et d’une sortie de commande d’assistance de refroidissement/air. Même si Grbl les soutient, ils ne feront rien s’ils ne sont pas connectés.
Les options disponibles dans le Grbl que vous utilisez dépendent également d’un certain nombre d’options de construction qui sont sélectionnées par le fabricant de votre carte et la version qu’ils utilisent.
Format de fichier Gcode
C’est un fichier texte, très simple, qui peut être affiché et édité par n’importe quel éditeur de texte, l’extension de fichier peut varier de .nc, .txt, .tap, .gc, ….. Bien que le type de fichier puisse être différent, il est défini par le logiciel qui crée le fichier et reconnu par le logiciel qui va le lire, le contenu des fichiers sera toujours le même.
Mais (il y a toujours un mais !) Il existe de nombreuses normes pour les fichiers texte, la plus importante est la façon dont la fin de chaque ligne est marquée. Différents systèmes d’exploitation utilisent un format différent de fichiers texte. Les formats les plus courants sont les formats Unix/Mac et Windows. La différence est que sur Unix/Mac, il ne s’agit que d’un caractère LF (n). Sous Windows, il s’agit d’une séquence de deux caractères, CR et LF (rn).
Grbl reconnaît les deux, mais votre contrôleur Gcode Sender ou Offline ne peut reconnaître qu’un format spécifique.
Une convention probable, mais très large, pour un fichier Gcode est :
- En-tête de commentaire décrivant ce que fait le fichier et comment le configurer. (Normalement omis lorsque vous avez besoin de savoir quel bit vous êtes censé utiliser)
Configuration des modes de base. Normalement défini une fois en haut du fichier, mais peut être modifié à tout moment. Mais il est peu probable qu’un fichier passe de l’utilisation d’unités de mm à des unités de pouces au milieu !
- Mouvements avec vitesses et avances
- Fin du programme, il se peut qu’il s’arrête ou qu’il déplace la broche (ou le faisceau laser) quelque part en premier.
Format de ligne/bloc Gcode
Indépendamment du format de fichier, à quoi ressemble chaque ligne ? Une ligne est également appelée bloc Gcode.
Lors du traitement d’une ligne en premier, Grbl ignore tous les espaces et les caractères de tabulation, convertit tous les caractères en majuscules et ignore toutes les lignes vides, de sorte que tous les éléments suivants sont traités de la même manière :
- G1 X4 Y7
- G1X4Y7
- G1X4 Y 7
- g 1x 4 Y7
Les commandes et les paramètres se composent normalement d’une lettre suivie d’un chiffre, par exemple G est une commande générale suivie d’une valeur numérique, 0 indique un mouvement de position. Le numéro est converti à partir de tous les chiffres jusqu’à ce qu’une nouvelle lettre de commande soit trouvée, de sorte que les éléments suivants sont traités
identiquement:
- G1
- G01
- G01.0
- G000001
- g 0 00 1
(rappelez-vous que les espaces sont supprimés et que les lettres sont converties en majuscules)
G0001.001 ne serait pas le même car le nombre ne se résout pas en 1 mais en 1,001
Les commandes peuvent (tant qu’elles ne partagent pas de paramètres ou n’entrent pas en conflit les unes avec les autres) être spécifiées sur la même ligne, l’ordre dans lequel elles apparaissent sur la ligne n’a pas d’importance. Les conflits évidents seraient de placer un mouvement tranchant (G1) et un mouvement non tranchant (G0) sur la même ligne, comme un sergent instructeur criant placez votre pied gauche droit en avant. Ainsi, tous les éléments suivants ont le même effet :
- G90G20G0X1
- G20 G90 G0 X1
- X1 G20 G90 G0
- G90 G0 G20 X1
Commentaires
Il existe deux types de commentaires dans Gcode, un ‘ ;’ indique que le reste de la ligne est un commentaire. (Attention le ; n’est pas toujours reconnu, et, à ma connaissance, le post-processeur GRBL de Fusion 360 ne génère jamais ce type de commentaire.
(Piece Test Un)
(PIN)
(Machine)
( vendor: Le Bear CNC)
( model: 800x900)
( description: MA machine complete....)
(T1 D=45 CR=0 - ZMIN=-1.9 - fraise a surfacer)
(T4 D=5 CR=0 - ZMIN=-20.95 - fraise deux tailles)
(T6 D=3 CR=1.5 - ZMIN=-14.73 - fraise a bout spherique)
(T11 D=2 CR=0 - ZMIN=-14.6 - fraise deux tailles)
(T14 D=5 CR=0.5 - ZMIN=-28 - bullnose end mill)
G90 G94
G17
G21
( --Document: 1ER EXEMPLE Cam v4 -- )
( --Setup: Setup1 -- )
G28 G91 Z0
G90
Les commentaires peuvent également être placés entre crochets ronds. Le commentaire commence par un ‘(‘ et se termine par le premier ‘)’ rencontré ou la fin de la ligne.
Les commentaires imbriqués comme (ceci est un (commentaire) et c’est ainsi que ceci) ne sont PAS pris en charge, le premier ‘)’ mettra fin au commentaire puis le ‘et ainsi est-ce)’ seront traités normalement mais généreront une erreur car ce n’est pas valide Gcode. Cependant, quelque chose comme ‘G0 (positionnement mouvement) X3 (mouvement 3mm)’ est valide et sera traité comme ‘G0 X3’.
N’utilisez pas le commentaire ‘ ;’ entre parenthèses pour essayer de commenter le reste de la ligne, il sera ignoré comme faisant partie du commentaire original !
Commandes modales et non modales
Les commandes modales définissent un mode ; Un mode est mémorisé pour toutes les commandes suivantes jusqu’à ce qu’il soit explicitement modifié. Les commandes non modales ne s’appliquent qu’à la ligne dans laquelle elles sont contenues et ne sont pas mémorisées pour les lignes suivantes.
Par exemple, Snnn définit la vitesse de la broche sur nnn ; Il s’agit d’une commande modale qui sera mémorisée jusqu’à ce que changée.
Ainsi:
G1 X1 Y1 S1000
G1 X2 Y2 S1000
Et
G1 X1 Y1 S1000
G1 X2 Y2
Et
S1000
G1 X1 Y1
G1 X2 Y2
Se comportent de la même manière.
Les mouvements de type G1, G0… est aussi une commande modale donc
G1 X1 Y1 S1000
X2 Y2
Se souviendra également du mode G1 pour la deuxième ligne.
Lorsque Grbl est démarré ou réinitialisé, il définit et charge les valeurs par défaut pour tous les modes.
Commandes et paramètres persistants
Certaines valeurs, lorsqu’elles sont modifiées, sont stockées dans l’EEPROM intégrée, tout comme tous les paramètres $. Ces valeurs persisteront même après une réinitialisation ou un cycle d’alimentation. Cela peut être utile mais aussi être une gêne si vous ne comprenez pas ce qui se passe.
Ceci est différent des commandes et des valeurs modales qui, bien qu’enregistrées, seront réinitialisées à la valeur par défaut lors d’une réinitialisation ou d’un cycle d’alimentation.
Toute position persistante est enregistrée à l’aide des coordonnées de la machine, elle dépend donc de l’exécution d’un cycle de guidage pour définir une origine précise de la machine. Si la commande utilise d’autres coordonnées, elles sont traduites en coordonnées machine avant d’être enregistrées. Ceux-ci n’ont de sens qu’avec une position zéro cohérente de la machine, c’est-à-dire que votre fraiseuse a des interrupteurs de fin de course et qu’un cycle de guidage a été effectué. Si vous n’avez pas d’interrupteurs de fin de course ou si vous ne lancez pas le guidage, les résultats seront aléatoires car la position zéro de la machine sera quelle que soit l’identité XYZ des coordonnées XYZ lors de la dernière mise sous tension ou réinitialisation du fraiseuse.
Si vous modifiez la position d’accueil de la machine, cela peut être en modifiant les paramètres de guidage tels que $23 ou $27, ces valeurs enregistrées seront incorrectes. Changer également quelque chose comme le moteur de la broche pour un laser, ce qui, bien que cela n’affectera pas les points zéro de coordonnées de la machine, changera la position effective du « bit » à la position zéro de la machine.
Les paramètres de commande suivants sont persistants
- G10 L2 Set Décalage d’origine enregistré à l’aide des coordonnées absolues de la machine.
G10 L20 Set Décalage d’origine enregistré à l’aide de décalages par rapport à la position actuelle.
G28.1 Régler la position « Sûr » à l’aide des coordonnées absolues de la machine.
- G30.1 Définissez une position prédéfinie à l’aide des coordonnées absolues de la machine.
Un décalage de position zéro défini par la commande G92 N’ EST PAS persistant.
Ces valeurs persistantes ne peuvent être effacées ou modifiées qu’en les modifiant directement, par exemple un G10L2 X0Y0Z0, ou en utilisant la commande $RST=# ou $RST=*, pour les effacer toutes !
Commandes et paramètres
Certaines commandes ont des paramètres, d’autres non. Par exemple, G0 est une commande de mouvement et utilise les paramètres des nouvelles positions des axes ; Xnn, Ynn, Znn et Ann. Il n’est pas nécessaire de les spécifier tous, ceux qui ne le sont pas seront considérés comme sans changement. G21 définit les unités dans les commandes Gcode suivantes pour l’axe XYZ en mm et n’a aucun paramètre.
Vous ne pouvez pas avoir deux commandes sur la même ligne qui partagent les mêmes paramètres, même s’ils ne sont pas spécifiés, et vous ne pouvez pas avoir plusieurs paramètres identiques sur la même ligne car l’analyseur est confus et renverra donc une erreur. Par exemple
G0 X1 G1 créera une erreur car il est ambigu pour l’analyseur quant à la commande à laquelle le X s’applique. Il s’opposera également à plus d’une commande de mouvement différente sur la même ligne.
G0 X1
G1 X1
Sur des lignes séparées n’est pas ambigu.
G0 X1 X2 créera également une erreur pour des raisons similaires.
Coordonnées absolues et relatives
Les coordonnées relatives sont la position atteinte ou définie en se déplaçant d’une certaine distance par rapport à la position actuelle.
X1 est une unité à droite de la position actuelle.
Les coordonnées absolues ne tiennent pas compte de la position actuelle et la position atteinte ou définie provient d’un décalage absolu par rapport au point zéro de la machine ou de la coordonnée de travail. X1 est une unité à droite de l’Origine.
G90 signifie utiliser des coordonnées absolues, G91 signifie utiliser des coordonnées relatives.
Les G90 X1 et G91 X1 produiront des mouvements très différents !!
Mouvements et espaces positifs et négatifs
Dans Grbl, un mouvement vers la gauche, vers le bas ou vers l’avant est un mouvement négatif.
Un mouvement relatif de X-10 se déplacera de 10 unités vers la gauche, X10 se déplacera de 10 unités vers la droite. Un mouvement absolu de X-10 déplacera 10 unités vers la gauche de l’origine du WCS, X10 se déplacera de 10 unités vers la droite de l’origine du WCS.
Si vous avez défini l’origine du travail en bas à l’avant gauche de la crosse, tous les mouvements à travers la crosse seront dans un espace positif, toutes les coordonnées absolues seront positives.
Si vous définissez l’origine de l’œuvre en haut à l’arrière droit de la crosse, tous les mouvements à travers la crosse seront dans un espace négatif, toutes les coordonnées absolues seront négatives.
Selon la position de l’origine, les mouvements peuvent être dans un ordre mixte, positif ou négatif
espace.
Systèmes de coordonnées
Il y a deux systèmes de coordonnées complémentaires utilisés dans Grbl.
Coordonnées de la machine
L’origine ou les points zéro des coordonnées de la machine sont initialement définis par la position de la broche lorsque la toupie est sous tension. Dans ce cas, l’origine de la machine n’a vraiment aucune signification pratique car elle ne sera pas cohérente.
Si le fraiseuse est configuré pour effectuer un cycle de guidage en recherchant des interrupteurs de fin de course sur les axes XYZ (les axes de rotation AB ne sont pas hébergés) en fonction des paramètres de guidage. L’exécution d’un cycle de guidage réinitialisera l’origine des coordonnées de la machine à un point connu et cohérent.
Les valeurs que vous verrez dépendent des paramètres de ralliement ; 23 $ définit le coin dans lequel la machine se logera (en haut à l’avant gauche est ou 23 $ = 3)
Certaines versions de Grbl définiront la position d’origine au moment où l’interrupteur est déclenché, ce qui signifie que la position après le guidage sera la valeur de retrait de 27 $, d’autres définiront la position zéro après que le retrait a été effectué, ce qui signifie que la position de retour sera zéro.
Si le guidage est activé, la machine peut être placée dans un état d’alarme lors d’une mise sous tension ou d’une réinitialisation pour indiquer que les coordonnées de la machine n’ont pas encore été définies. Cela peut être effacé en exécutant un cycle de guidage ou simplement en déverrouillant la machine, ce qui laissera les coordonnées de la machine telles qu’elles étaient, mais placera la machine dans un état d’inactivité.
Il y a certaines options qui ne sont pas judicieuses à utiliser à moins que l’origine des coordonnées de la machine ne soit constamment définie par un cycle de guidage réussi. Celles-ci reposent sur le fait que les coordonnées de la machine sont dans une position connue et cohérente. Un exemple est la position « Safe » G28 qui utilise les coordonnées absolues de la machine. Si l’origine de la machine n’a pas été définie, il s’agira d’une position « dangereuse » !
Normalement, dans un fichier Gcode, tous les mouvements qu’il utilisera seront utilisés pour les coordonnées de travail, et non pour les coordonnées de la machine, donc même si cela peut être utile, le guidage n’est pas nécessaire.
Coordonnées du système de travail
Également appelé SCG (Work Coordinate System), coordonnées de travail ou coordonnées locales.
Ceux-ci définissent les coordonnées de tous vos travaux. Lorsque vous mettez à zéro l’origine des axes avant de commencer une tâche, vous définissez l’origine des coordonnées de travail et tous les mouvements seront alors basés sur cette origine.
Grbl prend en charge 6 jeux de coordonnées de système de travail distincts (G54-G59 G54 est la valeur par défaut). L’origine de ceux-ci peut être définie séparément et peut être enregistrée de manière permanente jusqu’à ce qu’elle soit modifiée, ce qui permettrait à une machine d’être configurée avec un certain nombre de pinces fixes ou de montages avec un ensemble d’origine différent et enregistré pour chacun, ce qui permet de couper plusieurs pièces à l’aide du même Gcode sans avoir à définir manuellement l’origine pour chacune. Il suffit de modifier les coordonnées du système de travail en fonctionnement à l’aide d’une commande G54-G59 qui active l’origine des coordonnées de travail appropriée.
Pour enregistrer les coordonnées de ceux-ci, vous devez avoir effectué un cycle de guidage car leurs coordonnées sont basées sur des décalages par rapport aux coordonnées d’origine de la machine. L’utilisation de plusieurs origines WCS n’entre pas dans le cadre de ce guide car 99,9% des utilisateurs ne les utiliseront jamais, ils sont mentionnés brièvement au cas où vous les rencontreriez. Mais ils ne sont pas difficiles à utiliser.
Axes
X, Y et Z sont les axes 3D (X gauche et droite, Y avant et arrière et Z haut et bas). Les mouvements sur ceux-ci sont en mm ou en pouces.
Si vous utilisez un axe de rotation, l’axe A est une rotation autour de l’axe X, l’ axe B est une rotation autour de l’axe Y. Les mouvements et les positions sur les axes AB sont toujours en degrés. En regardant l’avant d’un axe de rotation + est dans le sens des aiguilles d’une montre, – est dans le sens inverse des aiguilles d’une montre.
Expéditeurs Gcode
Ne fait pas partie de Grbl, mais l’expéditeur (ou “envoyeur” ) de Gcode que vous utilisez peut affecter les choses. Par exemple, UGS supprimera toutes les lignes vides et les commentaires AVANT d’envoyer le code à Grbl. En outre, il peut y avoir des différences dans la façon dont les origines WCS sont définies, à l’aide des commandes G10 ou G92.
Votre expéditeur peut également disposer de commandes de démarrage qu’il enverra à la fraiseuse …….
Commandes et paramètres pris en charge
Tout ce qui est Gcode n’est pas pris en charge dans Grbl. Certains sont archaïques, d’autres ont été introduits pour les imprimantes 3D, et d’autres sont pour des fonctionnalités que Grbl n’a pas la capacité d’exécuter telles que les changeurs d’outils automatiques. D’autres peuvent être pris en charge, mais concernent des fonctionnalités que l’on ne trouve normalement pas sur les petites défonceuses de loisir, telles que la rotation de la broche dans le sens inverse des aiguilles d’une montre.
REMARQUE : Dans les tableaux ci-dessous, un mode par défaut pour une commande modale est celui en fonctionnement après une mise sous tension ou une réinitialisation de la carte principale du fraiseuse.
Numéros de ligne
Commande | Modal | Description | Paramètres |
Nnnnn | Non | Définit le numéro de ligne de cette ligne comme nnnn. | Aucun |
Ceux-ci ne sont pas normalement utilisés mais vous pouvez les voir, ils sont ignorés par Grbl.
Unités de mesure
Commande | Modal | Description | Paramètres |
G20 | Oui | Toutes les distances et positions de cette ligne et de toutes les lignes suivantes sont en pouces | Aucun |
G21 | Oui, par défaut | Toutes les distances et positions de cette ligne et de toutes les lignes suivantes sont en pouces | Aucun |
REMARQUE : Les unités que Grbl utilise pour signaler les positions, etc. à l’expéditeur de Gcode sont définies par un paramètre Grbl ($13) et ne seront pas affectées par ces commandes.
Mode de coordonnées
Commande | Modal | Description | Paramètres |
G90 | Oui, par défaut | Toutes les distances et positions de cette ligne et de toutes les lignes suivantes sont des valeurs absolues mesurées à partir de l’origine actuelle. | Aucun |
G91 | Oui | Toutes les distances et positions de cette ligne et de toutes les lignes suivantes sont des valeurs relatives à partir de la position actuelle. | Aucun |
G53 | Non | Utilisez les coordonnées absolues de la machine Une commande G53 G0 X-10 Y-10 effectuerait un déplacement rapide vers les coordonnées de la machine X -10 Y-10. G53 ne peut être utilisé qu’avec les commandes G0 et G1. | Aucun |
Mode de coordonnées
Commande | Modal | Description | Paramètres |
G17 | Oui, par défaut | Lorsque vous vous déplacez dans un arc (G2 ou G3), l’arc est dessiné dans le plan XY (horizontal), c’est l’utilisation normale. | Aucun |
G18 | Oui | Lorsque vous vous déplacez dans un arc (G2 ou G3), l’arc est dessiné dans le plan ZX. | Aucun |
G19 | Oui | Lorsque vous vous déplacez dans un arc (G2 ou G3), l’arc est dessiné dans le plan YZ. | Aucun |
Mode de vitesse d’avance
Commande | Modal | Description | Paramètres |
G93 | Non | En mode temps inverse, un mouvement doit être terminé en 1/F minutes. Le paramètre F doit apparaître sur chaque commande G1, G2 ou G3. | Aucun |
G94 | Oui, par défaut | Unités par mode min, le taux F actuel spécifie la vitesse. Les unités réelles dépendent du mode G21 / G20. | Aucun |
Vitesse d’avance
Commande | Modal | Description | Paramètres |
Fnnnn | Oui | nnnn est la vitesse d’avance en unités par minute, les unités sont déterminées par le mode G20/G21 actuel, pouces ou mm. | Aucun |
Si la vitesse d’avance spécifiée dépasse la valeur du paramètre dans les paramètres Grbl pour la vitesse d’avance maximale sur n’importe quel axe dans une commande de mouvement, la valeur du paramètre sera utilisée.
Remarque : Changer les unités (G20/G21) alors qu’une vitesse d’avance est déjà réglée sans ajustement pour les nouvelles unités aura des conséquences inattendues.
Remarque sur l’avance et l’accélération
Lorsque Grbl doit changer la direction de la broche pour démarrer un nouveau mouvement, il ralentit la broche dans chaque axe pour lui permettre de changer de direction proprement, puis accélère la vitesse du mouvement jusqu’à ce que la vitesse d’avance demandée soit atteinte.
Si vous effectuez un certain nombre de petits mouvements, par exemple, le dessin d’un cercle est souvent décomposé en un grand nombre de petits mouvements en lignes droites, alors la vitesse d’avance demandée peut ne jamais être atteinte avant qu’elle ne commence à décélérer avant le prochain changement de direction. Ces mouvements peuvent souvent être beaucoup plus lents dans la pratique que la vitesse d’avance spécifiée.
Les taux d’accélération utilisés peuvent être ajustés (avec prudence) par les paramètres Grbl.
Vitesse de la broche
Commande | Modal | Description | Paramètres |
Snnnn | Oui | nnnn est le taux de vitesse de la broche en RPM. Il n’y a pas de mesure de la vitesse réelle de la broche renvoyée à Grbl, ce qui correspond à une valeur approximative. Ceci est également utilisé pour régler la puissance du laser si un laser est connecté. | Aucun |
La valeur réelle de la vitesse de broche Snnnn sera « ajustée » si nécessaire, par les valeurs de réglage Grbl $30 et $31 pour les vitesses maximale et minimale. Si la vitesse maximale de votre moteur de broche est de 10 000 tr/min, un réglage plus élevé ne le fera pas tourner plus vite. Lors de l’utilisation d’un laser, la puissance est déterminée par le pourcentage calculé à partir du réglage Grbl 30 $ pour la vitesse maximale de la broche.
Remarque sur la vitesse et l’accélération de la broche
Lorsqu’on demande à Grbl de modifier la vitesse de la broche, il s’arrête pendant un court moment pour permettre au moteur de la broche d’atteindre la nouvelle vitesse avant de continuer, celle-ci ne peut pas être ajustée. Lorsque le mode laser est activé, ces pauses ne sont pas utilisées car le changement de puissance du laser sera presque instantané et la pause entraînera une surchauffe à ce moment-là.
Contrôle de la broche
Commande | Modal | Description | Paramètres |
M3 | Non | Démarre la rotation de la broche dans le sens des aiguilles d’une montre à la vitesse définie par la valeur Snnn actuelle. En mode Laser, il est réglé sur la puissance constante. | Aucun |
M4 | Non | En tant que M3, mais règle la broche dans le sens inverse des aiguilles d’une montre, mais les circuits de commande du moteur de la broche ne peuvent normalement pas gérer l’inversion de la polarité du moteur de la broche. En mode Laser, la puissance dynamique est réglée. | Aucun |
M5 | Non | Arrêtez la rotation de la broche. | Aucun |
REMARQUE : M2 et M30 qui sont des extrémités de programme arrêteront également la broche.
Mouvement – Lignes
Commande | Modal | Description | Paramètres |
G0 | Oui, par défaut | Positionnement rapide sans coupe en ligne droite jusqu’à la position définie par les paramètres de l’axe. Souvent appelé un déménagement rapide. C’est à vous de vous assurer qu’il ne coupe rien et de régler la vitesse d’avance souhaitée. En mode laser, le laser sera désactivé pour éviter de laisser des lignes indésirables. Si vous utilisez une broche, elle tournera toujours. | X Y Z A B |
G1 | Oui | Un mouvement de coupe en ligne droite jusqu’à la position définie par les paramètres des axes. | X Y Z A B |
Mouvement – Arcs
Commande | Modal | Description | Paramètres |
G2 | Oui | Mode arc dans le sens des aiguilles d’une montre. L’interprète coupera un arc ou un cercle de la position actuelle à la destination en utilisant le rayon I ou le centre spécifié (emplacement IJK) dans le sens des aiguilles d’une montre. I, J et K sont des décalages relatifs par rapport à la position actuelle pour définir le point central de l’arc (I=X, J=Y et K=Z), R n’est que le rayon. | x Y et I J K ou R |
G2 | Oui | Comme G2 mais l’arc est tracé dans le sens inverse des aiguilles d’une montre. | x Y et I J K ou R |
G91.1 | Faire défaut | Définit le mode de position incrémentielle de l’arc, I, J et K seront toujours des coordonnées incrémentielles, quel que soit le mode G90 G91. Il existe également une commande G90.1 pour les ramener à des coordonnées absolues, mais elle n’est pas prise en charge par Grbl, les coordonnées incrémentielles I J K étant le seul mode pris en charge. C’est l’une de ces commandes qui est juste reconnue pour éviter que des erreurs ne soient générées mais qui ne fait rien. |
Comment dessiner un arc
Il n’y a que 8 options de base ! Enfin, tant que l’arc est dessiné dans le plan XY, c’est-à-dire.
Deux séries de 4 options chacune pour les arcs dans le sens des aiguilles d’une montre et dans le sens inverse des aiguilles d’une montre, à l’intérieur de chaque ensemble en utilisant des coordonnées relatives ou absolues laissent 2 options de base, spécifiant l’arc par l’utilisation du paramètre R ou les paramètres IJK I J K correspondent aux axes Z, Y et X pour définir l’emplacement du point central de l’arc.
Tous ces exemples utilisent des coordonnées relatives (mode G91), le mode de coordonnées absolues (G90) peut être utilisé, mais cela n’affecterait que les coordonnées du point final X Y qui devraient simplement être traduites en valeurs absolues, Les coordonnées I, J et K dans Grbl sont toujours relatives à la position de départ et R n’est qu’une valeur.
Les principes du dessin d’un arc sont simples ; Il n’y a que la pratique qui soit complexe !
- Un arc commence à l’emplacement actuel
- La direction dans laquelle l’arc est tracé est spécifiée par G2 ou G3
- L’arc a un rayon fixe• L’emplacement du point central de l’arc est spécifié soit par l’indication du rayon I, soit par les coordonnées toujours incrémentielles du point central (I, J, K) à partir de la position de départ. Vous ne pouvez pas utiliser IJK et R dans la même commande arc.
- L’arc s’arrête lorsque les coordonnées XYZ de la commande G2/3 sont atteintes. S’ils sont identiques à la position de départ, un cercle complet sera dessiné.
- Deux valeurs de paramètre X, Y, Z doivent être spécifiées correspondant au plan de l’axe, même si elles sont nulles.
- Certaines implémentations de Gcode supportent un paramètre P pour les arcs afin de spécifier le nombre de rotations à effectuer, ce qui n’est pas le cas de Grbl.
Exemples d’arcs
Un simple arc pour donner un coin arrondi
Le Gcode utilisant IJK serait
G2 I0 J-2 K0 X2 Y-2
Le Gcode utilisant R serait
G2 R2 X2 Y-2
Arrêter l’arc en utilisant les coordonnées XY peut causer des problèmes, que se passe-t-il si l’arc ne croise jamais les coordonnées finales ? Eh bien, vous obtenez des erreurs !
Et si c’était le résultat souhaité, très similaire mais totalement différent. La coupe va se faire dans le sens inverse des aiguilles d’une montre et le point central de l’arc est différent.
Le Gcode utilisant IJK serait
G3 J0 K2 X2 Y-2
Le Gcode utilisant R serait
G3 R2 X2 Y-2
Mais qu’en est-il ?
Les deux droites ne peuvent pas être spécifiées à l’aide d’une simple coordonnée R, elles devraient être spécifiées à l’aide des coordonnées IJK. C’est normalement le cas de n’importe quel cercle complet car le point final est le même que le point de départ et donc aucune information ne peut être glanée par Grbl sur la façon dont le cercle doit être dessiné.
Quant à celui de gauche malheureusement j’écris ceci un jeudi, je ne fais pas de maths le jeudi ! Si vous avez besoin de plus d’informations, il existe de nombreux tutoriels disponibles en ligne et c’est l’une des raisons pour lesquelles les ordinateurs et les programmes de FAO ont été inventés !
Un arc peut également être décomposé en beaucoup de petites lignes droites, je crois que c’est ainsi que Grbl les dessine réellement, mais le logiciel de FAO peut également le faire.
Sondage
L’utilisation « normale » consiste à utiliser une sonde Z, mais Grbl prend en charge le palpage sur les axes X, Y et Z. Les paramètres de l’axe Indiquez la direction dans laquelle se déplacer et jusqu’où se déplacer pour trouver la sonde.
REMARQUE : Si vous avez activé les limites souples, une violation de limite sera générée si le mouvement maximum dépasser une limite souple.
Exemples d’arcs
Un simple arc pour donner un coin arrondi comme sur la photo.
Le Gcode utilisant IJK serait
G2 I0 J-2 K0 X2 Y-2
Le Gcode utilisant R serait
G2 R2 X2 Y-2
Arrêter l’arc en utilisant les coordonnées XY peut causer des problèmes, que se passe-t-il si l’arc ne croise jamais les coordonnées finales ? Eh bien, vous obtenez des erreurs !
Et si c’était le résultat souhaité, très similaire mais totalement différent. La coupe va se faire dans le sens inverse des aiguilles d’une montre et le point central de l’arc est différent.
Le Gcode utilisant IJK serait
G3 J0 K2 X2 Y-2
Le Gcode utilisant R serait
G3 R2 X2 Y-2
Mais qu’en est-il ?
Les deux droites ne peuvent pas être spécifiées à l’aide d’une simple coordonnée R, elles devraient être spécifiées à l’aide des coordonnées IJK. C’est normalement le cas de n’importe quel cercle complet car le point final est le même que le point de départ et donc aucune information ne peut être glanée par Grbl sur la façon dont le cercle doit être dessiné.
Quant à celui de gauche malheureusement j’écris ceci un jeudi, je ne fais pas de maths le jeudi ! Si vous avez besoin de plus d’informations, il existe de nombreux tutoriels disponibles en ligne et c’est l’une des raisons pour lesquelles les ordinateurs et les programmes de FAO ont été inventés !
Un arc peut également être décomposé en beaucoup de petites lignes droites, je crois que c’est ainsi que Grbl les dessine réellement, mais le logiciel de FAO peut également le faire.
Sondage
L’utilisation « normale » consiste à utiliser une sonde Z, mais Grbl prend en charge le palpage sur les axes X, Y et Z. Les paramètres de l’axe indiquent la direction dans laquelle se déplacer et jusqu’où se déplacer pour trouver la sonde.
REMARQUE : Si vous avez activé les limites souples, une violation de limite sera générée si le mouvement maximum dépasse une limite souple.
Commande | Modal | Description | Paramètres |
G38.2 | Non | Sonder vers la crosse, s’arrêter au contact, signaler une erreur en cas de panne. avant qu’une erreur sans contact ne soit générée, c’est-à-dire que G38.2 Z-10 déplacera l’axe Z vers le bas de 10 unités (mm ou pouces comme défini par G20-21) à la vitesse d’avance actuelle et s’arrêtera lorsqu’un contact de sonde est détecté ou renverra une erreur si aucun contact n’est détecté dans les 10 unités de mouvement. | X Y Z |
G38.3 | Non | Comme G38.2 mais aucune erreur n’est renvoyée si le contact n’est pas détecté. | X Y Z |
G38.4 | Non | Comme G38.2 mais éloignez-vous du point de contact et arrêtez-vous sur une perte de contact. | X Y Z |
G38.4 | Non | Comme G38.3 mais éloignez-vous du point de contact et arrêtez-vous sur une perte de contact. | X Y Z |
À la fin de la commande de sonde, les coordonnées actuelles peuvent être utilisées pour définir des valeurs telles que la position zéro dans le système de coordonnées de travail.
Origines et décalages du système de coordonnées de travail
Commande | Modal | Description | Paramètres |
G10 L2* | Non, persistant | Définit le décalage d’une origine enregistrée à l’aide des coordonnées absolues de la machine. P détermine le système de coordonnées modifié, 0 étant l’origine par défaut de G54, 1-6 spécifiant respectivement G55 à 59. Les valeurs X, Y et Z définissent le décalage approprié. Les nouvelles valeurs seront définitivement sauvegardées jusqu’à ce qu’elles soient modifiées. | P X Y Z A B |
G10 L20* | Non, persistant | Comme G10 L2, mais les paramètres XYZ sont décalés par rapport à la position actuelle de la machine. | P X Y Z A B |
G28 | Non, persistant | Aller en position de sécurité, si X, Y et Z sont spécifiés, la machine effectuera un mouvement G0 en utilisant ces coordonnées selon les modes actuels avant de passer à la position absolue enregistrée. REMARQUE : Si vous n’avez pas exécuté de cycle de guidage ou si vous n’avez pas réglé la position de sécurité, c’est très « dangereux » à utiliser. Si aucun décalage n’a été défini, celui-ci reviendra à l’origine de la machine, ce qui déclenchera automatiquement un interrupteur de fin de course ou sera simplement l’endroit où vous avez allumé la machine ! | X Y Z |
G28.1 | Oui, persistant | Réglez la position de sécurité. Les coordonnées X Y Z sont des coordonnées absolues de la machine. | X Y Z |
G30 | Non | Rétablissez la position prédéfinie. Accédez à la position G30 enregistrée. Si des paramètres sont spécifiés, il s’agit de décalages par rapport à la position. | X Y Z |
G30.1 | Non, persistant | Définissez une position prédéfinie. Si des paramètres sont utilisés, ils sont en coordonnées absolues de la machine et un mouvement rapide de G0 vers cette position sera effectué avant que les coordonnées ne soient enregistrées. Si aucun paramètre n’est spécifié, la position actuelle est enregistrée. | X Y Z |
G43.1 | Oui | Décalage dynamique de la longueur de l’outil, décalage de l’extrémité Z de la position de l’outil pour les mouvements ultérieurs. | Z |
G49 | Oui | Annuler Décalage de la longueur de l’outil. (Identique à G43.1 Z0) | |
G54 | Oui, par défaut | Activez l’origine enregistrée du WCS. | |
G55 à 59 | Oui | Comme pour G54, mais active une position d’origine WCS enregistrée différente. | |
G92 | Oui | Définit le point courant aux coordonnées souhaitées avec les paramètres définissant les décalages par rapport à la position actuelle. Normalement utilisé pour définir un point d’origine WCS égal à zéro. G92 X0 Y0 Z0 définit le point actuel comme point zéro, G92 Z-14 est couramment utilisé pour définir l’origine de l’axe Z à zéro dans Z-Probing où 14 serait l’épaisseur de la base de la sonde Z avec la position Z actuelle à son sommet. Si un paramètre d’axe est omis, il reste inchangé. | X Y Z A B |
G92.1 | Oui | Réinitialisez tous les décalages G92 en vigueur à zéro et mettez à zéro toutes les valeurs enregistrées |
L à proprement parler est un paramètre de la commande G10, Grbl n’accepte que L2 et L20, donc je les ai documentés comme des commandes distinctes.
Arrêt et pause (ou “rester”)
Commande | Modal | Description | Paramètres |
M0 | Non | Pause. Le paramètre P est le temps en ms de pause. Si P est omis, il s’agit d’une pause permanente jusqu’à ce qu’une commande de reprise de ‘~’ soit reçue | P* |
M1 | Non | Comme M0 mais ne s’arrête que si un interrupteur d’arrêt facultatif est activé, appelé par Grbl Feed Hold. Vous n’avez presque certainement pas d’interrupteur d’arrêt en option, donc cela ne fera rien (je pense !). | |
M2 | Non | Fin du programme, éteint la broche ou le laser et arrête la machine. | |
M3 0 | Non | Identique à M2. |
* Beaucoup d’autres systèmes implémentent le paramètre P en utilisant les secondes, Grbl utilise les millisecondes.
Contrôle du liquide de refroidissement et assistance pneumatique)
Commande | Modal | Description | Paramètres |
M7 | Oui | Le liquide de refroidissement est allumé en tant que brouillard/assistance d’air. | |
M8 | Oui | Le liquide de refroidissement est activé en tant qu’inondation/assistance d’air. | |
M9 | Oui, defu1t | Tous les systèmes d’assistance liquide de refroidissement/air sont désactivés. |
Grbl prend en charge ces commandes si elles sont activées dans les options de construction de Grbl. Ce qu’ils font, c’est allumer et éteindre une broche de sortie sur la carte de commande qui peut contrôler un relais pour allumer et éteindre quelque chose. Ces commandes peuvent contrôler un système de refroidissement, mais elles sont plus susceptibles de contrôler une pompe d’assistance pneumatique lors de l’utilisation d’un laser. De nombreuses planches n’exposent pas ces broches.
Commandes prises en charge pour éviter les erreurs
Il s’agit d’un ensemble de commandes non liées qui ne provoqueront pas d’erreurs de commande Gcode non reconnues, mais qui ne feront rien. Le support semble être inclus pour éviter que leur utilisation ne génère des erreurs alors qu’ils sont simplement présents, normalement ce serait dans la zone d’installation d’un fichier Gcode au début.
Commande | Modal | Description | Paramètres |
G80 | Non | Annulation du cycle prédéfini. Grbl ne prend en charge aucun des modes de cycle prédéfini (macro) que cela annule et ne fait donc rien. | |
G61 | Non | Mode Chemin exact. Grbl ne prend pas en charge d’autres modes. | |
G40 | Non | Compensation de coupe désactivée. Grbl ne prend pas en charge la compensation de la fraise. |