Qu’est ce que GRBL ?
Grbl est un logiciel gratuit et open source qui permet de contrôler le mouvement de machines telles que les CNC, les graveurs laser, les imprimantes 3d… équipées d’un Arduino ou d’une carte basée sur Arduino.
Première étape
Commencez par brancher et allumer votre machine, réglez le Baudrate et sélectionnez le bon port COM puis connectez le logiciel à la machine.
Vous devriez avoir le message suivant qui s’affiche dans la console :
Grbl 1.1* ['$' for help]
Les commandes de GRBL 1.1
Les commandes système fournissent des contrôles supplémentaires pour l’utilisateur.
Pour afficher la liste des commandes, tapez $ dans la console :
[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]
Maintenant que vous avez compris le système, on va voir a quoi elles servent.
$$ – Afficher les paramètres de GRBL
Pour afficher la liste des paramètres et les valeurs actuelles de votre Grbl, il faut utiliser la fonction $$.
Pour modifier ces paramètres, il faut utiliser $x=val (voir plus bas)
$# – Afficher les paramètres GCODE
Ces paramètres stockent :
- G54 à G59 : les valeurs de décalage pour les coordonnées
- G28 & G30 : les positions prédéfinies
- G92 : le décalage
- G43.1 : la longueur d’outil
- G38.2 : palpeur.
Voir plus bas dans cette article pour plus de détail sur ces commandes.
$G – Voir l’état de l’analyseur de GCODE
Cette commande renvoie les modes actifs de l’analyseur G-Code. Quelque chose comme ceci devrait s’afficher :
[G0 G54 G17 G21 G90 G94 M0 M5 M9 T0 S0.0 F500.0]
Ce sont ces modes actifs qui déterminent la façon dont sera interprétée le prochain envoi de G-code.
$I – Afficher les informations de version
Affiche la version et la date de construction du code source de Grbl.
$N – Afficher les blocs de démarrage
Les blocs de démarrage sont des lignes de G-code que Grbl exécute automatiquement à chaque démarrage ou réinitialisation. Par défaut, Grbl stocke deux blocs vide que voici :
$N0=
$N1=
ok
Pour ajouter des commandes il faut utiliser $Nx=line (voir plus bas)
$x=val – Modifier un paramètre de GRBL
Pour modifier un paramètre de Grbl, il faut utiliser la fonction $x=val :
Exemple : $100=250
Change la valeur du paramètre $100 (Pas/mm de l’axe X) à 250.
$Nx=line – Sauvegarder le bloc de démarrage
Il faut faire extrêmement attention aux commandes de mouvements (G0/1, G2/3, G28/30) que vous allez stocker dans les blocs de démarrage. En effet ces commandes se dérouleront à chaque démarrage ou reset !
Il ne faut pas y placer les commandes comme G10, G28.1 ou G30.1 car elles sont persistantes et cela forcerait GRBL à réécrire l’EEPROM de l’Arduino à chaque redémarrage ou reset… ça risquerait de l’user prématurément.
Pour définir un bloc de démarrage, tapez $N0= suivi d’un bloc G-code valide et taper entrer.
Exemple : $N0=G20 G54 G17
Grbl lancera le bloc pour vérifier si il est valide et ensuite répondra par un ok si il as réussi ou par une erreur si quelque chose s’est mal passé.
Si il y a une erreur, Grbl ne sauvegardera pas.
Si vous souhaitez effacer l’un des blocs de démarrage (par exemple, le bloc 0) tapez $N0=
Si le homing est activé sur votre machine, les blocs de démarrages seront activés après le cycle de homing.
$J=line – Exécuter le mouvement de jogging
Nouveauté de Grbl v1.1, cette commande de mouvement sert un configurer un Joystick.
$SLP – Activer le mode veille
Cette commande placera Grbl dans un état de veille hors tension, arrêtant la broche, le liquide de refroidissement, les moteurs pas à pas et bloquera toutes les commandes. Il ne peut être quitté que par une réinitialisation logicielle ou un redémarrage. Une fois réinitialisé, Grbl entrera automatiquement dans un état ALARM, car il ne sait pas où il se trouve en raison de la désactivation des steppers. Cette fonctionnalité est utile si vous avez besoin de tout mettre hors tension automatiquement à la fin d’un travail. Il est fortement recommandé d’ajouter des commandes pour déplacer votre machine vers un emplacement de stationnement sûr avant d’utiliser cette commande de mise en veille.
$C – Vérifier le mode gcode
Permet de traiter la totalité des blocs G-code sans bouger les axes et sans activer la broche et le refroidissement. Utile pour tester son G-code avant de le lancer en production.
$X – Extinction du blocage d’alarme
Si l’alarme de Grbl est activée, c’est qu’il y a un problème critique (interrupteur de fin de course activé, arrêt d’urgence…) Cette fonction permet de la désactiver. Si le homing est installé sur votre machine, il faudra relancer un cycle de homing.
$H – Démarrer le cycle de homing
Si votre machine est équipée d’interrupteurs de fin de course, cette fonction permet de lancer un cycle de homing.
~ – Démarrage du cycle
C’est une commande de démarrage de cycle ou de reprise d’une commande (si la mémoire tampon de GRBL contient des ordres en attentes.) Cette commande est peu utile car par défaut l’auto-cycle est activé.
! – Pause
Met votre programme en pause de façon contrôlée afin de ne pas perdre la position pendant l’arrêt. Pour relancer, il faut utiliser la fonction ~ (Cycle start).
? – Statut actuel
Affiche l’état actif de Grbl (Idle, Run, Hold, Door, Home, Alarm, Check) et la position en temps réel avec les coordonnées de la machine ou les coordonnées de travail.
Ctrl-X – Réinitialiser Grbl
Cette commande permet de réinitialiser Grbl de manière contrôlée.
Il est recommandé d’effectuer cette commande avant de commencer tout travail.
Les paramètres de GRBL 1.1
Pour afficher les paramètres de Grbl enregistré dans votre contrôleur, il faut utiliser la commande $$.
Pour modifier les valeurs de ces paramètres il faut utiliser la commande $x=val (par exemple $22=1 pour activer le homing).
Modifications par rapport a GRBL 0.9
- $10 – status report a été modifié
- $30 – Spindle rpm max a été ajouté
- $31 – Spindle rpm min a été ajouté
- $32 – Laser mode a été ajouté
Le reste fonctionne de la même façon.
Détail des paramètres de GRBL 1.1
$0 – Impulsions de pas (en microsecondes)
Les moteurs pas-à-pas sont conçus pour une certaine longueur minimale d’impulsions de pas.
Consultez la fiche technique de vos moteurs pas-à-pas pour connaitre le réglage idéal.
L’idéal est d’avoir les impulsions les plus courtes que vos moteur peuvent reconnaître de manière fiable. Si elles sont trop longues, les impulsions de pas peuvent commencer à se chevaucher.
Valeur par défaut : $0=10
$1 – Délais d’attente de pas ( millisecondes)
Chaque fois que vos moteurs pas-à-pas complètent un mouvement et s’arrêtent, Grbl va retarder leur désactivation par cette valeur.
Selon votre machine, vous pouvez :
- Garder vos axes activés en permanence (Ils restent alimentés de manière à maintenir la position). $1=255
- Définir cette valeur à zéro et ainsi la désactiver. $1=0
- Régler 25-50 millisecondes pour vous assurer que vos axes sont complètement stoppés avant de le désactiver. $1=25
Attention, certains pilotes pas à pas ne se souviennent pas à quel micro-pas ils se sont arrêtés, alors quand vous les réactivez, vous pouvez être confronté à une perte de pas. Dans ce cas, il suffit de garder vos moteurs activés en permanence.
Valeur par défaut : $1=25
$2 – Inversion du signal d’impulsion de pas (masque – binaire)
Ce paramètre inverse le signal d’impulsions de pas.
Par défaut, un signal de pas commence à un niveau bas et va vers le haut lors d’un événement d’impulsions de pas. Après un temps d’impulsions de pas fixé par $0, il se réinitialise au niveau bas, jusqu’au prochain événement d’impulsion de pas.
Quand il est inversé, le comportement de l’impulsion de pas passe du niveau haut, au niveau bas pendant l’impulsion, et retourne au niveau haut.
Ce paramètre n’est pas utile pour la plupart des utilisateurs, mais cela peut être utile pour certains moteurs pas à pas qui ont des exigences particulières.
Pour inverser le signal d’impulsion d’un ou plusieurs axes, il vous suffit de suivre les informations du tableau ci dessous.
Exemple : pour inverser les axes X et Z, écrivez $2=5 et tapez sur entrée.
Valeur par défaut : $2=0
$3 – Inversion de la direction des axes (masque – binaire)
De base le paramètre est sur 0. Si un ou plusieurs axes sont inversés, changez le paramètre en suivant le tableau ci dessous.
Exemple : pour inverser les axes Y et Z, écrivez $3=6 et tapez sur entrée.
Valeur par défaut : $3=0
$4 – Inversion du signal d’activation (booléen)
Par défaut, l’activation se fait vers le haut pour désactiver et vers le bas pour activer.
Si votre configuration a besoin de l’inverse, il suffit de taper $4=1.
Vous devez redémarrer après avoir changé ce paramètre.
Valeur par défaut : $4=0
$5 – Inversion du type de contact des fin de courses (boolean)
Par défaut, les broches de limites sont maintenues au niveau haut via une résistance « pull-up » interne à l’Arduino.
Si vous utilisez des interrupteurs de fin de course de type « NO » (normalement ouvert), les actionner correspond à passer au niveau bas.
Si vous utilisez des interrupteurs de fin de course de type « NF » (normalement fermé), il va falloir inverser en passant ce paramètre à 1.
Attention, il va aussi falloir ajouter des résistances « pull-down » externe.
Vous devez redémarrer après avoir changé ce paramètre.
Valeur par défaut : $5=0
$6 – Inversion de la broche de sonde (Booléen)
Par défaut, la broche du Z-probe est maintenue au niveau haut via une résistance “pull-up” interne à l’Arduino. Le capteur indique un niveau bas lors du contact de la pince (masse) avec la base du Z-probe, GRBL l’interprète comme déclenché. Si vous avez besoin de l’inverse, il faut taper $6=1.
Attention, il va aussi falloir ajouter une résistance « pull-down » externe.
Vous devez redémarrer après avoir changé ce paramètre.
Valeur par défaut : $6=0
$10 – Rapport de situation en temps réel (Masque – binaire)
Ce paramètre détermine les données que grbl enverra en temps réel lorsque la commande « ? » est envoyée.
Par défaut grbl envoie les données suivante :
- l’état d’exécution actuel (current run state)
- la position en temps réel (real-time position)
- le taux d’alimentation en temps réel (real-time feed rate)
- les états des pins (pin states)
- les valeurs de remplacement actuelles (current override values)
- les états tampons (buffer states)
- le numéro de ligne g-code actuellement en cours d’exécution (s’il est activé).
Le nouveau rapport de Grbl v1.1+ comprend à peu près tout dans le rapport d’état standard. Une grande partie des données sont cachées et n’apparaîtront que si elles changent. Cela augmente considérablement l’efficacité par rapport à l’ancien style de rapport et permet d’obtenir des mises à jour plus rapides tout en obtenant plus de données sur votre machine.
Pour garder les choses simples et cohérentes, Grbl v1.1 n’a que deux options de rapport. Ceux-ci sont principalement ici juste pour les utilisateurs et les développeurs pour aider à mettre des choses en place.
- Le type de position peut être spécifié pour afficher la position de la machine « MPos: » ou la position de travail « WPos: », mais plus les deux en même temps.
- Les données d’utilisation du planificateur de Grbl et des buffers RX en série peuvent être activées. Cela montre le nombre de blocs ou d’octets disponibles dans les buffers respectifs. Ceci est généralement utilisé pour aider à déterminer comment Grbl fonctionne lors de l’essai d’une interface de streaming.
Pour activer/désactiver les options de rapports utilisez le tableau ci dessous.
Valeur par défaut : $10=1
$11 – Écart de jonction (millimètres)
L’écart de jonction est utilisé par le gestionnaire d’accélération pour déterminer à quelle vitesse il peut se déplacer à travers les jonctions du segment de ligne d’un chemin de programme G-code.
Par exemple, si le chemin a un virage serré de 10 degrés à venir et la machine se déplace à pleine vitesse, ce paramètre aide à déterminer combien la machine a besoin de ralentir pour passer en toute sécurité sans perdre de pas.
Plus la valeur est élevée, plus le mouvement sera rapide dans les virages, cela augmente le risque de perdre des pas.
Valeur par défaut : $11=0.010
$12 – Tolérance des arcs (millimètres)
Pour le rendu des cercles, arcs et hélices G2/G3, Grbl les subdivise en lignes minuscules, de sorte que la précision du traçage de l’arc n’est jamais inférieure à cette valeur.
Vous n’aurez probablement jamais besoin d’ajuster ce paramètre, car il est bien en dessous de la précision de la plupart des machines CNC (0.002mm).
Vous pouvez tout de même ajuster ce paramètre si vous trouvez que vos cercles sont trop bruts ou que le traçage des arcs est trop lent.
Des valeurs inférieures donnent une plus grande précision, mais peuvent entraîner des problèmes de performances en surchargeant Grbl de trop de lignes minuscules.
Des valeurs plus élevées tracent une précision inférieure, mais peuvent accélérer les performances de l’arc puisque Grbl a moins de lignes à traiter.
Valeur par défaut : $12=0.002
$13 – Unités des rapports d’état (booléen)
Grbl dispose d’une fonction de rapport de positionnement en temps réel pour fournir un retour d’information à l’utilisateur sur la position exacte de la machine à ce moment-là, ainsi que des paramètres pour les décalages de coordonnées et le palpage. Vous pouvez choisir de les afficher en millimètres ou en pouces.
- $13=0 : Millimètres
- $13=1 : Pouces
Valeur par défaut : $13=0
$20 – Limites logicielles (Booléen)
Les « soft limits » sont une fonction de sécurité qui aide à empêcher votre machine de se déplacer trop loin et au-delà des limites de déplacement.
Il fonctionne en connaissant les limites de course maximales pour chaque axe ($130, $131 et $132) et si le homing est activé ($22).
Chaque fois qu’un nouveau mouvement G-code est envoyé à Grbl, il vérifie si vous avez accidentellement dépassé l’espace de votre machine. Si vous le faites, Grbl stoppera tout (déplacement d’axes, broches et liquide de refroidissement), puis définira l’alarme du système indiquant le problème.
- $20=1 : activer.
- $20=0 : désactiver.
Valeur par défaut : $20=0
$21 – Limites matérielles (Booléen)
Les limites strictes fonctionnent essentiellement de la même manière que les limites souples, mais utilise des commutateurs physiques à la place.
Pour cela, il faut que votre machine soit équipée d’interrupteurs de fin de course (mécaniques, magnétiques ou optiques) à la limite de chaque axe. Lorsque l’interrupteur se déclenche, il arrête immédiatement tout mouvement, arrête le liquide de refroidissement et la broche, puis passe en mode alarme, ce qui vous oblige à vérifier votre machine et à tout réinitialiser.
Tout ce que vous avez à faire est de câbler un interrupteur « No » (normalement ouvert) sur le point haut de chaque axe et d’activer les limites strictes.
Si vous voulez une limite pour les deux extrémités de course d’un axe, il faut câbler deux interrupteurs en parallèle.
Il est conseillé de prendre des mesures de prévention contre les interférences électriques.
Valeur par défaut : $21=0
$22 – Cycle de homing (Booléen)
Le cycle de homing est utilisé pour localiser avec précision et précision une position connue et cohérente sur une machine à chaque fois que vous démarrez votre Grbl.
Utilité : Vous commencez à usiner quelque chose et le courant est coupé, vous redémarrez Grbl et Grbl n’a plus aucune idée de l’endroit ou se trouve la broche. Embêtant n’est ce pas…
Si vous avez fait un homing, vous avez toujours le point de référence zéro de la machine grâce a vos interrupteurs de fin de course. Il vous suffit donc de relancer un cycle de homing pour recalibrer la machine exactement comme avant la coupure de courant et reprendre là où vous vous étiez arrêté.
Pour utiliser le homing, vous aurez donc besoin d’interrupteurs de fin de course.
Par défaut, le cycle de homing déplace d’abord l’axe Z pour effacer l’espace de travail, puis déplace les axes X et Y en même temps.
Lorsque la prise d’origine est activée, Grbl verrouille toutes les commandes de G-code jusqu’à ce que vous exécutiez un cycle de homing « $H ».
Valeur par défaut : $22=1
$23 – Inversion de direction du homing (Masque binaire)
Par défaut, Grbl suppose que vos commutateurs de limite d’homing sont dans la direction positive, déplaçant d’abord le z-axe positif, puis les axes x-y positifs avant d’essayer de localiser précisément la machine zéro en faisant des allers-retours lentement autour de l’interrupteur.
Si votre machine a un commutateur de limite dans la direction négative, le masque de direction d’homing peut inverser la direction des axes. Pour cela, changez le paramètre en suivant le tableau ci dessous.
Exemple : pour inverser les axes Y et Z, écrivez $23=6 et tapez sur entrée.
Valeur par défaut : $23=0
$24 – Vitesse d’avance du homing (mm/mn)
Le cycle de homing recherche d’abord les interrupteurs de fin de course à une vitesse plus élevée, et après les avoir trouvés, il se déplace à une vitesse d’avance plus lente pour revenir à l’emplacement précis du zéro machine. La vitesse d’avance du homing est la vitesse d’avance la plus lente. Réglez le sur la valeur qui fournit une localisation du zéro machine répétable et précise.
Valeur par défaut : $24=25
$25 – Vitesse de recherche du homing (mm/min)
Le cycle de homing recherche d’abord les interrupteurs de fin de course à une vitesse plus élevée, et après les avoir trouvés, il se déplace à une vitesse d’avance plus lente pour revenir à l’emplacement précis du zéro machine. La vitesse de recherche du homing est la vitesse d’avance la plus élevée. Ajustez la vitesse pour atteindre les interrupteurs de fin de course dans un temps assez court sans toutefois les écraser si le déplacement est trop rapide.
Valeur par défaut : $25=500
$26 – Anti-rebond de homing (millisecondes)
Chaque fois qu’un interrupteur se déclenche, il peut y avoir un bruit électrique / mécanique qui fait « rebondir » le signal haut et bas pendant quelques millisecondes (parasite électrique). Pour résoudre ce problème, Grbl introduit un court délai pour laisser le signal rebondir pendant le homing lors de la localisation du zéro machine. Dans la plupart des cas, 5 à 25 millisecondes fonctionnent très bien.
Valeur par défaut : $26=250
$27 – Retrait de sécurité du homing (mm)
Une fois la détection du point zéro d’un axe faite, il faut indiquer un distance de retrait pour éviter des déclenchement intempestifs. 1 ou 2 mm sont généralement suffisants.
Valeur par défaut : $27=1
$30 – Vitesse maximum de la broche (tr/mm)
Définit la vitesse de rotation maximum à laquelle peut tourner votre broche à 5V.
Valeur par défaut : $30=1000
$31 – Vitesse minimum de la broche (tr/mm)
Définit la vitesse de rotation minimum à laquelle peut tourner votre broche à 0.02V. (0V = désactivé)
Valeur par défaut : $31=0
$32 – Mode Laser (booléen)
$32=1 : activer
Grbl se déplace continuellement à travers des commandes de mouvement consécutives G1, G2 ou G3 lorsqu’il est programmé avec une vitesse de broche (puissance du laser). La broche PWM de la broche est mise à jour instantanément à chaque mouvement sans s’arrêter.
$32=0 : désactiver
Grbl fonctionne comme il l’a toujours fait, il arrête le mouvement à chaque commande de vitesse de broche. Il s’agit du fonctionnement par défaut d’une fraiseuse pour permettre une pause afin de laisser la broche changer de vitesse.
Valeur par défaut : $32=0
$100 $101 $102 – [X,Y,Z] (pas/mm)
Il s’agit du nombre de millimètres parcourus à chaque révolution du moteur.
Pour calculer les pas/mm pour un axe de votre machine, vous devez savoir :
- Le nombre de pas du moteur par révolution (360°) (généralement 200)
- Le nombre de micro-pas des drivers (généralement 1, 2, 4, 8 ou 16).
- Vis sans fin : Le nombre de pas du filetage (Déplacement effectué par l’écrou à chaque révolution de la vis)
- Courroie : Le nombre de dents de la poulie et l’espacement entre les dents.
Plus d’informations : Calculer le nombre de pas par millimètre
Valeurs par défaut : $100=250, $101=250, $102=250
$110 $111 $112 – [X,Y,Z] Déplacement maximal possible (mm/mn)
Définit la vitesse maximale de déplacement de chaque axe. Si un déplacement est prévu a une vitesse supérieur, Grbl ralentie le déplacement pour qu’il ne dépasse pas la vitesse maximale. Chaque axe a sa propre vitesse indépendante, ce qui est extrêmement utile pour limiter l’axe Z généralement plus lent.
Pour déterminer la valeur de chaque axe, il faut les tester un par un en augmentant petit à petit le paramètre et en lançant un déplacement a chaque fois. Lorsque vous aurez atteint la vitesse maximale que peut accepter votre moteur, celui ci calera, réduisez la vitesse de 10 a 20%.
Valeurs par défaut : $110=500, $111=500, $112=500
$120 $121 $122 – [X,Y,Z] Taux d’accélération (mm/sec²)
Définit les paramètres d’accélération des axes en millimètres par seconde². Une valeur inférieure ralentit la mise en mouvement, alors qu’une valeur plus élevée produit des mouvements plus serrés et permet d’atteindre les vitesses d’avance souhaitées beaucoup plus rapidement.
Tout comme le réglage de la vitesse maximale, chaque axe a sa propre valeur d’accélération et est indépendant. Cela signifie que lors d’un mouvement multiaxes l’ensemble accélérera a vitesse la plus basse renseignée pour ces axes.
Pour déterminer la valeur de chaque axe, il faut les tester un par un en augmentant petit à petit le paramètre et en lançant un déplacement a chaque fois. Lorsque vous aurez atteint la vitesse maximale que peut accepter votre moteur, celui ci calera, réduisez la vitesse de 10 a 20%.
Valeurs par défaut : $120=10, $121=10, $122=10
$130 $131 $132 – [X,Y,Z] Déplacement maximum (mm)
Définit le déplacement maximum d’un bout à l’autre pour chaque axe en mm. N’est utile que si vous avez activé des soft limits et le homing.
Valeurs par défaut : $130=200, $131=200, $132=200
Commandes G-codes acceptées par GRBL 1.1
F : Vitesse de déplacement en unité/mm (suivant G20 et G21)
S : Vitesse de rotation de la broche en RPM ou puissance du laser.
G0 : Déplacement rapide (en mode laser, désactive le laser)
G1 : Déplacement en ligne droite a la vitesse indiquée par F
G2 : Déplacement en arc dans le sens des aiguille d’une montre.
G3 : Déplacement en arc dans le sens inverse des aiguille d’une montre.
G4 : Commande de pause a associer a Pnnn en secondes (Exemple : G4 P10 fera une pause de 10 secondes)
G10 L2 : Ajuste les valeurs d’offset. (Décalage depuis l’origine machine)
G10 L20 : Ajuste les valeurs d’offset (Décalage depuis la position courante)
G17 : Dessine sur le plan de travail XY
G18 : Dessine sur le plan de travail ZX
G19 : Dessine sur le plan de travail YZ
G20 : Défini les unités en inch
G21 : Défini les unités en millimètres
G28 : Envoyer la broche sur la position de sécurité (Safe Position) A utiliser uniquement si le homing a été effectué !
G28.1 : Définir la position de sécurité (Safe Position)
G30 : Aller à la position prédéfinie G30
G30.1 : Définir la position prédéfinie G30
G38.2 : Mesure au palpeur, palpe vers la pièce, avec alarme s’il n’y a pas de détection.
G38.3 : Mesure au palpeur, palpe vers la pièce, s’arrête au toucher.
G38.4 : Mesure au palpeur, palpe en quittant la pièce, avec alarme s’il n’y a pas de détection.
G38.5 : Mesure au palpeur, palpe en quittant la pièce, s’arrête lorsqu’il perd le contact.
G40 : Compensation de coupe désactivée. (Grbl ne prend pas en charge la compensation de coupe.)
G43.1 : Décalage dynamique de la longueur de l’outil, compense l’extrémité Z de la position de l’outil pour les mouvements ultérieurs.
G49 : Annulation du décalage dynamique de la longueur de l’outil.
G53 : Déplacements en coordonnées machine (Absolues)
G54, G55, G56, G57, G58, G59 : Activation de l’origine enregistrée correspondante.
G61 : Mode trajectoire exacte (Grbl ne prend en charge aucun autre mode.)
G80 : Révocation des codes modaux (Grbl ne prend en charge aucun des modes de cycle prédéfinis que cela annule donc il ne fait rien.)
G90 : Toutes les distances et positions sont des valeurs absolues à partir de l’origine actuelle.
G91 : Toutes les distances et positions sont des valeurs relatives par rapport à la position actuelle.
G91.1 : Mode de déplacement relatif pour les offsets I, J et K
G92 : Définit le point de coordonnées actuel, utilisé pour définir un point d’origine de zéro, communément appelé position d’origine.
G92.1 : Réinitialisez tous les décalages G92 en vigueur à zéro et mettez à zéro toutes les valeurs enregistrées
G93 : Mode de vitesse : Passe en mode inverse du temps.
G94 : Mode de vitesse : Passe en mode unités par minute.
M0 : Pause
M1 : Comme M0 mais ne fait une pause que si un interrupteur d’arrêt (en option) est activé.
M2 : Fin du programme, éteint la broche/le laser et arrête la machine.
M3 : Démarre la broche dans le sens des aiguilles d’une montre. Avec un laser, passe en mode puissance constante.
M4 : Comme M3, Avec un laser passe en mode puissance dynamique.
M5 : Arrête la broche.
M7* , M8 : Démarrage du liquide de refroidissement
M9 : Arrêt du liquide de refroidissement
M30 : Fin du programme, éteint la broche/le laser et arrête la machine. (identique a M2)
M56* : Commande de neutralisation du mouvement de stationnement
(*) indique les commandes non activées dans config.h par défaut.
Paramètres Gcode de GRBL 1.1
Tous ces paramètres doivent être suivis d’un numéro.
X Y Z : Distances ou positions sur les axes X Y Z.
I J K : Distances ou positions pour les arcs G2 et G3. Correspondent respectivement aux axes Z Y X. Coordonnées incrémentales indépendantes de G90/G91.
L : Nombre de cycles de boucle (pris en charge mais non utilisé).
N : Numéro de ligne (pris en charge mais non utilisé).
R : Rayon d’arc pour G2 et G3.
P : Paramètre polyvalent, dépend de la commande dans laquelle il est utilisé.
T : Sélection d’outils (non utilisé).
Statuts de GRBL 1.1
Alarm : Le cycle de homing n’est pas exécuté ou une erreur a été détectée (interrupteur de fin de course activé par exemple).
Idle : En attente de commande.
Jog : Exécution d’un mouvement en cours, aucune nouvelle commande n’est acceptée jusqu’à la fin du déplacement (à l’exception des commandes de déplacement).
Homing : Cycle de homing en cours, aucune nouvelle commande n’est acceptée jusqu’à la fin du cycle.
Check : Le mode vérification est activé. Toutes les commandes seront acceptées mais uniquement pour analyse, elle se seront pas exécutées.
Cycle : Commande Gcode en cours d’exécution. Passe en Idle une fois les commandes terminées.
Hold : Programme en pause, Resume pour relancer.
Safety Door : L’interrupteur de sécurité de la porte a été activé. Met la machine en pause (Hold), reprend quand la porte est fermée.
Sleep : Machine en veille. Reset ou redémarrage pour continuer.
Messages d’erreur de GRBL 1.1
Error
error:0 : Pas d’erreur, tout va bien !
error:1 : Le G-code se compose d’une lettre et d’une valeur. La lettre n’a pas été trouvée. »
error:2 : Le format de la valeur numérique n’est pas valide ou il manque une valeur attendue.
error:3 : La commande n’a pas été reconnue ou prise en charge.
error:4 : Valeur négative reçue pour une valeur positive attendue.
error:5 : Le cycle de référencement n’est pas activé via les paramètres.
error:6 : Le temps d’impulsion minimum est trop court.
error:7 : Échec de la lecture de l’EEPROM. Réinitialiser et restaurer les valeurs par défaut.
error:8 : La commande ne peut être utilisée que si Grbl est IDLE. Assure un bon fonctionnement pendant un travail.
error:9 : le G-code verrouillé pendant l’état d’alarme ou de jogging.
error:10 : Les limites logicielles ne peuvent pas être activées sans que le homing soit aussi activé.
error:11 : Nombre maximal de caractères par ligne dépassé. La ligne n’a pas été traitée et exécutée.
error:12 : La valeur du paramètre dépasse la fréquence de pas maximale prise en charge. vérifiez $110, $111 et $112.
error:13 : La porte de sécurité a été détectée comme ouverte et l’état de la porte a été déclenché.
error:14 : (Grbl-Mega uniquement) Les informations de construction ou la ligne de démarrage ont dépassé la limite de longueur de ligne EEPROM.
error:15 : Le déplacement ou le fichier lancé dépasse des soft limits de la machine.
error:16 : Commande de déplacement sans ‘=’ ou contient un G-code interdit.
error:20 : Commande G-code non prise en charge ou invalide trouvée dans le bloc.
error:21 : Plus d’une commande G-code du même groupe modal trouvée dans le bloc.
error:22 : Le feed rate n’a pas encore été défini ou n’est pas défini.
error:23 : La commande G-code nécessite une valeur entière.
error:24 : Deux commandes G-code qui nécessitent toutes les deux l’utilisation des mots de l’axe XYZ ont été détectées dans le bloc.
error:25 : Un mot de G-code a été répété dans le bloc.
error:26 : Une commande de G-code nécessite implicitement ou explicitement des mots d’axe XYZ dans le bloc, mais aucun n’a été détecté.
error:27 : La valeur du numéro de ligne N n’est pas dans la plage valide de 1 à 9 999 999.
error:28 : Une commande de G-code a été envoyée, mais il manque certains mots de valeur P ou L requis dans la ligne.
error:29 : Grbl prend en charge six systèmes de coordonnées de travail G54-G59. G59.1, G59.2 et G59.3 ne sont pas pris en charge.
error:30 : La commande de G-code G53 nécessite un mode de mouvement de recherche G0 ou d’alimentation G1 pour être actif. Un mouvement différent était actif.
error:31 : Il y a des mots d’axe inutilisés dans le bloc et l’annulation du mode mouvement G80 est active.
error:32 : Un arc G2 ou G3 a été commandé mais il n’y a pas de mots d’axe XYZ dans le plan sélectionné pour tracer l’arc.
error:33 : La commande de mouvement a une cible invalide. G2, G3 et G38.2 génèrent cette erreur, si l’arc est impossible à générer ou si la cible du palpeur est la position actuelle.
error:34 : Un arc G2 ou G3, tracé avec la définition du rayon, a eu une erreur mathématique lors du calcul de la géométrie de l’arc. Essayez de diviser l’arc en demi-cercles ou en quadrants, ou redéfinissez-les avec l’arc définition du décalage.
error:35 : Un arc G2 ou G3, tracé avec la définition de décalage, manque le mot de décalage IJK dans le plan sélectionné pour tracer l’arc.
error:36 : Il y a des mots de G-code qui ne sont utilisés par aucune commande du bloc.
error:37 : La commande de décalage de longueur d’outil dynamique G43.1 ne peut pas appliquer un décalage à un axe autre que son axe configuré. L’axe par défaut de Grbl est l’axe Z.
error:38 : Un numéro d’outil invalide envoyé à l’analyseur.
Alarm
ALARM:1 : Limite matérielle déclenchée. La position de la machine est probablement perdue en raison d’un arrêt soudain et immédiat. La relocalisation est fortement recommandée.
ALARM:2 : La cible de mouvement du G-code dépasse la course de la machine. La position de la machine est conservée en toute sécurité. L’alarme peut être déverrouillée.
ALARM:3 : Réinitialiser en mouvement. Grbl ne peut pas garantir la position. Des pas perdus sont probables. Le re-homing est fortement recommandé.
ALARM:4 : Probe fail. La sonde n’est pas dans l’état initial attendu avant le démarrage du cycle de sonde, où G38.2 et G38.3 ne sont pas déclenchés et G38.4 et G38.5 sont déclenchés.
ALARM:5 : Probe fail. Le palpeur n’a pas contacté la pièce dans la course programmée pour G38.2 et G38.4. »
ALARM:6 : Homing fail. Reset pendant le cycle de homing actif.
ALARM:7 : Homing fail. La porte de sécurité a été ouverte pendant le cycle de homing actif.
ALARM:8 : Homing fail. Le cycle n’a pas réussi à effacer l’interrupteur de fin de course lors du retrait. Essayez d’augmenter le réglage de retrait ou vérifiez le câblage.
ALARM:9 : Homing fail. Impossible de trouver l’interrupteur de fin de course dans la distance de recherche.
Hold
Hold:0 : Hold terminé. Prêt à reprendre.
Hold:1 : Hold en cours. La réinitialisation déclenchera une alarme.
Door
Door:0 : Porte fermée. Prêt à reprendre.
Door:1 : Machine arrêtée. Porte toujours entrouverte. Impossible de reprendre tant qu’elle n’est pas fermée.
Door:2 : Porte ouverte. Maintien (ou retrait du stationnement) en cours. La réinitialisation déclenchera une alarme.
Door:3 : Porte fermée et reprise. Restauration depuis le parc, le cas échéant. La réinitialisation déclenchera une alarme.
Source : Github de Grbl
bonsoir et merci pour votre aide très importantes, pouvez vous me donne une programmation type pour carte cnc 3018 pro .
Au démarrage du fraisage affichage code erreur 09. Pour les retour automatique x y z R A S.
Merci pour tout
Bonsoir, si l’erreur est apparue après avoir installé des interrupteurs de fin de course pour le homing (c’est souvent le cas), c’est surement due a la distance de rétractation du homing qui de base est réglé sur 1mm. Pour régler le problème, passe le paramètre $27 sur 2mm en tapant « $27=2 » dans la console de Candle. Sinon il va me falloir un peu plus d’informations pour t’aider. 😉
Bonjour merci pour la réponse, je vais voir cela, je vous tiendrai au courant, merci beaucoup pour les aides apporté, Bonne journée
Bonjour,
j’ai une Ortur, OLM-2, depuis quelques jours je n’arrive carrément plus a graver, a peine je lance la gravure la machine s’arrête nette. Pouvez-vous m’aider dans ce sens s’il vous plait ? Merci
Bonjour, difficile de répondre sans plus d’informations, est ce qu’il y a des messages d’erreur dans la console ?
Bonjour.
j’ai une cnc 3018 et en plein usinage , le capteur fin de course a été touché et la machine s’est arrêté.
Le homing se lance bien mais impossible de faire bouger les axes avec les fleches sous candle. j’entend le bruit des moteurs pas à pas mais ne bougent pas ni en Z ni en X et Y.
avez vous une idée?
merci bcp
Si le homing fonctionne, c’est que les moteurs fonctionnent, vérifie que le nombre de pas (step) ou la vitesse (feed) sont bien réglés. Si c’es ok, vérifie si tu as un bouton reset sur la carte ça peut aussi fonctionner.
Bonjour
Je me permets de vous exposer mon problème. Je possède une table de découpe TOTEM S. sous GRBL.Jusqu’à présent, pas de problèmes. Elle a toujours bien fonctionnée. J’ai décidé depuis un mois d’installer des capteurs mécaniques de homing. Ils fonctionnent très bien, mais lorsque je lance un fichier, la tête se déplace alors en diagonale vers le coin opposé. Le homing est bas gauche, elle se déplace haut droit. Mes réglages sont $21=1, $22=1, $23=3. J’ai aussi essayé en mixant avec $20=1, mais sans résultats. Autre chose, lors de la fin du homing, GRBL m’indique une position MCO de X -279.000 et Y -279.000.
Alors voilà, AU SECOURS !!
Bonne journée.
La commande : G10 L2 P1 X-279 Y-279 va créer un offset pour inverser les coordonnées et afficher x0 y0 dans l’angle inférieur gauche. Normalement ça devrait fonctionner.
Vérifie aussi que $10 est sur 0 pour utiliser les coordonnées de travail plutôt que les coordonnées machines.
Bonjour.
Mille excuses pour le retard apporté à ma réponse. Effectivement, le fait de modifier les coordonnées par G10 L2 me permet de démarrer ma découpe comme il se doit. Je note toutefois un comportement bizarre de la machine, sur certaines actions, mais le principal est qu’elle fasse ce que je lui demande. Si vraiment j’avais des problèmes trop importants, je supprimerais les stop end. Merci encore. Cordialement.
bonjour
j’ai un petit problème avec le logiciel grbl car j’ai une machine de gravure de 100cm x 100cm mais quand j’ouvre un fichier cela m’envoies un message que je ne dois pas dépassé 200mm x 300mm $131 $130
omit cela cela refuse la connections entre l’ordinateur et la machine et m’envoies un message de port com n’ont vide
comment faire svp pour corriger cela ??
or toujours gravé à cette machine
Merci 🙏 de me répondre
Bonjour, si la machine n’est pas reconnue, si tu as utilisé un autre logiciel utilisant les ports com, ça peut faire un conflit, essaye de redémarrer le pc.
Sinon essaye de changer de port USB et/ou de câble, si ça ne fonctionne pas essaye de désinstaller le driver et de le réinstaller.
Surement une mauvaise connexion ou un conflit sur le port.
Bonjour j’ai un Scultpfun s30 5w je ne le trouve pas dans la liste des laser, du coup tout se que je peut faire c’est découper et graver sur du bois mais pas sur les autres matérieaux prévue… j’ai besoin d’aide je suis dans le désespoir totale.
Bonjour, Sculpfun ne donne pas beaucoup de réglages, il préconisent de faire des tests pour trouver soit même les bons réglages.
Je te met quelques réglages que j’avais sauvegardé pour le S30 5W, ça peut te donner une base de départ pour tes tests.
– Gravure Cuir : 15% 1800mm/min
– Gravure Papier Kraft : 25% 1800mm/min
– Gravure Inox : 100% 180mm/min
– Découpe Acrylique noir 6mm : 100% 180mm/min 5 passes
– Découpe Liège 10mm : 100% 300mm/min 4 passes
– Découpe Liège 15mm : 100% 300mm/min 7 passes
– Gravure MDF : 35% 3000mm/min
– Découpe MDF 3.6 : 100% 180mm/min 4 passes
– Gravure contreplaqué : 43% 3000mm/min
– Découpe contreplaqué 3mm : 100% 300mm/min 1 passe
– Découpe contreplaqué 6mm : 100% 240mm/min 3 passes
Bonjour à tous,
Je vous écris en désespoir de cause. J’avais un laser atomstack A5 20w sur grbl, qui fonctionne nickel. J’ai acheté plus puissant atomstack A40 pro pour mon travail. Ma difficulté c’est que lorsque je télécharge une image, je ne retrouve pas mon laser dans les modèles proposés dans vitesse, engraving speed-> l’icône à droite et ensuite Laser model. Je vais dans material DB et il n’apparaît pas et je ne sais pas comment l’ajouter.
Je suis nulle s’il faut rentrer dans un logiciel ou quoi mais je peux essayer. Je vous remercie si quelqu’un a la patience de m’expliquer.
Bonne soirée
Maryne
Bonjour, tu retrouveras les réglages pour l’A40 Pro dans ce tableau https://atomstack.com/fr/pages/material-setting dans « A series » > » A40Pro ».
Tu y trouveras les réglages pour Lightburn et LaserGRBL. Il faudra ajouter ceux qui t’intéressent manuellement a la materialDB.
Merci Ben Maker, ca à l’air très simple je vais essayer de ce pas. Merci encore pour ta réponse aussi rapide.
Bonsoir,
Je galère avec ce code dans lightburn j’utilise un graveur atomstack a20 pro j’ai régulièrement acheté lightburn.
ALARM:2 : La cible de mouvement du G-code dépasse la course de la machine. La position de la machine est conservée en toute sécurité. L’alarme peut être déverrouillée.
Que puis je faire pour recommencer à graver svp ?
Bonsoir, cela signifie que la gravure dépasse de la zone de travail de la machine. Tu utilises les coordonnées absolues (avec homing) ou la position utilisateur ?
Si coordonnées absolues, peut-être un problème de point d’origine, Après le homing, dans Déplacer > Obtenir la position c’est bien a X0 Y0 ?
Si position utilisateur, tu as assez de marge pour lancer la gravure depuis ton point d’origine ? Il est placé dans le bon angle de ton motif ?
bonjour j’ai un atomstack a10 pro mon probleme est que mes gravure ne sont pas a la taille reel en faite on a l’impression qu’il sont applatie
je suit toujour obliger de regler la hauteur merci a vous de m’aider
Bonjour, il est possible qu’un paramètre de nombre de pas par mm ne soit pas bon sur un axe, il me semble que 110 et 111 sont sur 6000 pour l’A10 Pro, si ce n’est pas ça, voir ici : https://benmaker.fr/calculer-nombre-de-pas-par-millimetre/.
Si le problème n’est pas du a ça, il me faudra plus d’informations (logiciels utilisés, paramètres GRBL et photos du problème si possible), n’hésite pas a ouvrir un post sur le forum 😉
Bonjour à tous
Svp j’ ai besoin d’ aide sur un problème que je rencontre avec ma machine à graver Laser GBRL.
En effet le diamètre de mon laser apparait très large (environ 3 cm ) et du coup aucune precision . De plus lorsque je lance une gravure laser les mouvements s’ executent bien mais aucune gravure n’ est faite l’ objet à graver reste tout lisse bien que le laser brille .
Je rappelle que cette machine fonctionnait bien avant sans problème
Comment faire pour resoudre ce problème svp
Merci d’ avance de votre aide
Bonjour, 3cm a la même distance du matériaux qu’avant ? ça me parait étrange, tu n’aurais pas démonté la lentille pour nettoyer et oublié de la remettre ?
Bonjour BEN Maker et merci pour l’ assistance que tu m’ apporte
Non je n’ ai jamais demonté la lentille pour la nettoyer. Il y’ a eu une seance de gravure il y’ a de cela 4 mois ca fonctionnait et le laser avait sa largeur normal ( moin d’ un millimetre ) . Apres j’ ai rangé la machine mais depuis que je l’ ai ressorti voila comment ca fonctionne
Pour le réglage de la focale, il y a la bague de réglage de la lentille (si le laser a une focale réglable) ou la distance entre le laser et le matériau (s’il n’y a pas de bague de réglage). Mais un diamètre de 3cm ça me parait vraiment beaucoup… C’est quel modèle de laser ? La lentille est démontable ?
Bonjour à tous,
Merci pour ces infos concernant Grbl.
Je me suis lancé récemment dans la fabrication d’une fraiseuse cnc pour l’horlogerie.
Pour les axe X et Y je vais utiliser une table croisée mais les vis micrometriques de celle-ci ont un jeu de 2 centièmes.
J’ai une question concernant le code Grbl:
Est t-il possible de dire à Grbl qu’ à chaque changement de direction de chaque axe, il ajoute 2 centièmes ( x pas du moteur) afin de rattraper le jeu de chaque vis.
Merci à vous pour vos éventuelles réponses.
Vir
salut à tous,
je suis un peu embêté avec Candle qui plante dès que je lui demande d’ouvrir un projet et lorsque j’arrive à contourner l’erreur en faisant glisser le projet directement sur la page de Candle, celui-ci se lance mais s’arrête d’un coup avec message « error 9 »
si quelqu’un à une idée ?
merci
Bonjour,
j’ai réalisé une cnc avec arduino uno + grbl 1.1 + Candel grbl.
je n’ai pas de fins de course, mais j’ai un problème avec la probe raccorde sur l’entree A5.
Cette entrée est oujours à la masse, donc avec le parametre $6=0, lorsque je lance une recherche de zero grbl me declare une erreur, normal puisque, mon entree est a la masse si je mets $6=1 alors le cycle commence mais le zero n’est jamais détecté. j’ai changé de carte arduino le pb est le même. Pouvez vous m’éclairer mes neurones sont a bout de souffle ?Merci
Bonjour,
Regarde dans cette vidéo https://www.youtube.com/watch?v=PtJF8q3RrDo
Normalement ce sont les pin A5 et GND. Il ne montre pas ses paramètres au complet mais je pense que c’est $6=0.
Bonjour a vous j’ai recu une CNC 3018 Pro ,mon problème est que la console offline me marque error 2 en rouge comment remédier je suis novice dans le domaine comment réinitialiser la carte mère à son origine merci d’avance .
Bonjour, Error 2 sur le contrôleur hors ligne indique qu’il ne répond pas. Le câble USB ne serait il pas branché en même temps ?
Pour remettre les paramètres de la carte de contrôle avec ses paramètre d’usine c’est la commande $rst=*
Je vous conseille de sauvegarder vos paramètres actuels avant cette manipulation.
Bonjour
Ma cnc a bien le $H programmé d origine, mais vu que j ai ajouté une planche au dessus de la base mon point Z es trop bas avec la fraise
comment puis je modifier le Z de la commande $H, peut on éditer cette commande ou y a t il une autre manœuvre a faire.
Merci
Jean-Pierre
Le homing se fait en bas de l’axe Z? Normalement il doit se faire sur le point haut de l’axe Z. S’il y a un interrupteur en haut de l’axe il suffit de modifier la direction du homing pour l’axe Z avec le paramètre $23 (voir tableau dans l’article)
S’il n’y a pas d’interrupteur en haut de l’axe Z il faudrait le déplacer.