# Guide complet pour configurer GRBL 1.1 sur votre CNC

La transformation d’un simple Arduino en contrôleur CNC performant représente une avancée remarquable dans le monde du prototypage et de la fabrication numérique. GRBL 1.1, firmware open-source reconnu mondialement, offre cette possibilité à tous les passionnés d’usinage numérique. Ce logiciel embarqué transforme votre carte Arduino en un cerveau capable de piloter avec précision les moteurs pas-à-pas de votre machine-outil. Que vous souhaitiez construire une fraiseuse CNC 3 axes, une découpeuse laser ou même un tour automatisé, maîtriser GRBL constitue la pierre angulaire de votre projet. Les possibilités d’applications sont vastes : du prototypage rapide à la gravure de circuits imprimés, en passant par la découpe de pièces mécaniques complexes. Avec plus de 50 000 téléchargements mensuels et une communauté active de développeurs, GRBL s’impose comme la référence incontournable pour le pilotage de machines CNC à faible coût.

## Prérequis matériels et logiciels pour l’installation de GRBL 1.1

Avant de plonger dans l’installation proprement dite, vous devez rassembler l’ensemble des composants électroniques et logiciels nécessaires. Cette étape préparatoire détermine largement la réussite de votre projet. Une configuration matérielle inadaptée peut générer des erreurs frustrantes ou, pire encore, endommager vos composants électroniques. L’investissement initial reste modeste comparé aux contrôleurs CNC industriels : comptez entre 50 et 150 euros selon la qualité des composants choisis.

### Carte contrôleur Arduino Uno et compatibilité avec les shields CNC

L’Arduino Uno constitue le cœur de votre système de contrôle. Cette carte microcontrôleur basée sur l’ATmega328P offre exactement les ressources nécessaires pour faire fonctionner GRBL efficacement. Les spécifications techniques incluent 32 KB de mémoire flash, dont 0,5 KB utilisés par le bootloader, ce qui laisse amplement d’espace pour le firmware GRBL. Privilégiez une carte Arduino Uno officielle ou une version compatible de qualité pour éviter les problèmes de communication série. Les clones chinois fonctionnent généralement bien, mais attention aux contrefaçons de mauvaise qualité.

Les shields CNC, comme le populaire CNC Shield V3, se fixent directement sur l’Arduino et simplifient considérablement le câblage. Ces cartes d’extension intègrent les connecteurs pour quatre drivers de moteurs pas-à-pas (X, Y, Z plus un axe optionnel A), les entrées pour les fins de course, et les sorties pour la broche et le refroidissement. Le CNC Shield V3 supporte nativement les drivers A4988 et DRV8825, offrant ainsi une flexibilité appréciable. Vérifiez que votre shield dispose bien des cavaliers (jumpers) permettant de régler le microstepping, car cette fonctionnalité influence directement la précision de positionnement de votre machine.

### Installation de l’IDE Arduino et des pilotes CH340 ou FTDI

L’environnement de développement intégré Arduino (IDE) représente votre interface principale pour flasher GRBL sur la carte. Téléchargez la version stable la plus récente depuis le site officiel arduino.cc. L’IDE 1.8.19 ou supérieur garantit une compatibilité optimale avec GRBL 1.1h. L’installation sous Windows, macOS ou Linux ne présente aucune difficulté particulière : suivez simplement l’assistant d’installation standard. Accordez les permissions nécessaires lorsque le système vous le demande, notamment pour l

permissions d’installer les pilotes USB nécessaires.

Selon le modèle de votre carte Arduino ou de son clone, la puce de communication USB/série peut être une FTDI, une ATmega16U2 ou une CH340 très répandue sur les cartes low‑cost. Sur Windows en particulier, il est souvent nécessaire d’installer manuellement le pilote CH340 pour que la carte apparaisse correctement dans la liste des ports COM. Sans ce pilote, vous verrez peut‑être votre Arduino clignoter, mais l’IDE Arduino et les logiciels de contrôle GRBL seront incapables de s’y connecter. Vérifiez dans le gestionnaire de périphériques que le port série est bien reconnu avant d’aller plus loin.

Câblage des drivers stepper A4988 et DRV8825 sur les axes X, Y et Z

Les drivers de moteurs pas‑à‑pas A4988 et DRV8825 sont les véritables « amplificateurs de puissance » entre l’Arduino et vos moteurs NEMA. Sur un CNC Shield V3, chaque axe (X, Y, Z, A) dispose d’un emplacement dédié dans lequel il suffit d’enficher le driver dans le bon sens. Respectez scrupuleusement l’orientation : une inversion de 180° grille instantanément le driver, voire l’Arduino. En cas de doute, repérez la broche « EN » ou « DIR » sérigraphiée sur le shield et assurez‑vous qu’elle correspond au marquage du module A4988/DRV8825.

Entre les broches STEP/DIR de l’Arduino et les bobines des moteurs, le rôle du driver est de convertir des impulsions logiques en courant contrôlé. C’est ici que le réglage de microstepping et du courant max prend tout son sens. Installez les cavaliers (jumpers) sous chaque driver pour choisir la résolution 1/2, 1/4, 1/8, 1/16, voire 1/32 de pas selon le modèle. Par exemple, un DRV8825 permet de monter jusqu’à 1/32 micro‑pas, ce qui améliore la finesse de mouvement au prix d’une fréquence d’impulsions plus élevée côté GRBL. Commencez souvent en 1/8 ou 1/16 de pas, un bon compromis entre précision et fiabilité.

Le câblage des moteurs NEMA 17 ou NEMA 23 se fait ensuite via des borniers à vis ou des connecteurs JST. Chaque moteur bipolaire possède deux paires de fils correspondant aux deux enroulements. Si l’axe se déplace dans le sens inverse de celui attendu, inutile de modifier immédiatement les paramètres GRBL : il suffit souvent d’inverser une des paires de fils ou de retourner le connecteur moteur pour corriger la direction mécanique.

Vérification de l’alimentation 12V ou 24V pour moteurs NEMA 17 et NEMA 23

Une alimentation stable et correctement dimensionnée conditionne la fiabilité de votre CNC. La plupart des petites machines fonctionnent en 12 V avec des NEMA 17, tandis que les structures plus rigides ou les NEMA 23 bénéficient d’une alimentation 24 V, qui permet des vitesses plus élevées et une meilleure tenue au couple. Calculez la puissance nécessaire en additionnant le courant maximum de chaque moteur (par exemple 4 moteurs à 1 A sous 24 V nécessitent théoriquement 96 W, comptez une marge et optez pour une alimentation d’au moins 150 W). Une alimentation sous‑dimensionnée provoquera des pertes de pas et des resets intempestifs de l’Arduino.

Avant le premier allumage, vérifiez la polarité (+ et –) au multimètre et assurez‑vous que la masse de l’alimentation est bien commune avec les éventuels autres modules (broche, relais, etc.). Les drivers A4988 et DRV8825 disposent en général d’un dissipateur thermique collé sur le chip : ce n’est pas un gadget, mais une nécessité si vous faites tourner vos moteurs à fort courant. Prévoyez éventuellement un petit ventilateur 40 mm soufflant sur les drivers lorsque vous commencez à augmenter les vitesses et accélérations de GRBL.

Téléchargement et flashage du firmware GRBL 1.1 sur arduino

Une fois la partie matérielle en place, nous allons transformer l’Arduino en véritable contrôleur CNC en y chargeant le firmware GRBL 1.1h. Cette étape ne prend que quelques minutes, mais elle concentre souvent les premières difficultés : librairie mal installée, mauvais type de carte sélectionné, port COM incorrect… En suivant un processus rigoureux, vous éviterez la majorité des pièges classiques.

Récupération du firmware GRBL 1.1h depuis le repository GitHub officiel

GRBL est hébergé sur GitHub, ce qui garantit de toujours disposer de la dernière version stable. La branche recommandée pour la plupart des utilisateurs est actuellement la 1.1h, compatible avec l’écosystème des logiciels de contrôle modernes (LaserGRBL, Candle, Universal Gcode Sender, etc.). Rendez‑vous sur le dépôt officiel et téléchargez l’archive ZIP du projet. N’utilisez pas de forks exotiques à moins de savoir exactement ce qu’ils modifient (par exemple des versions « Mega » pour Arduino Mega 2560).

Une fois le ZIP téléchargé, décompressez‑le dans votre dossier de projets Arduino ou dans un répertoire facilement accessible. Le firmware GRBL se présente sous forme de code source en C compilable directement via l’IDE Arduino ou via un outil en ligne de commande (Makefile, PlatformIO…). Si vous débutez, restez sur l’IDE Arduino : l’objectif est d’abord de faire fonctionner la machine, vous pourrez toujours passer à un workflow plus avancé par la suite.

Compilation et upload du code via l’IDE arduino en mode programmateur

Dans l’IDE Arduino, la méthode la plus simple consiste à installer GRBL comme une bibliothèque, puis à utiliser l’exemple « grblUpload ». Copiez le dossier grbl extrait de l’archive dans le répertoire Documents/Arduino/libraries/, puis relancez l’IDE. Vous devriez voir apparaître une nouvelle entrée « grbl » dans le menu Fichier > Exemples. Ouvrez l’exemple grblUpload : il s’agit d’un sketch minimal dont l’unique but est de flasher GRBL dans l’ATmega328P.

Dans le menu Outils, sélectionnez « Arduino Uno » comme type de carte et choisissez le port COM détecté précédemment. Inutile de changer le « programmateur » par défaut si vous passez par l’USB : l’IDE utilise automatiquement le bootloader de l’Arduino. Cliquez ensuite sur « Téléverser ». Après compilation, la barre de progression d’avrdude s’affiche en bas et, si tout se passe bien, vous obtenez un message « Téléversement terminé ». À ce stade, votre Arduino n’est plus un simple microcontrôleur généraliste : il exécute désormais GRBL en continu.

Résolution des erreurs « avrdude » et problèmes de communication série

Il arrive que le premier téléversement échoue avec des erreurs « avrdude: stk500_recv(): programmer is not responding » ou « avrdude: ser_open(): can’t open device ». Dans la plupart des cas, la cause est bénigne : mauvais port COM sélectionné, autre logiciel occupant déjà le port (par exemple un ancien terminal série resté ouvert) ou câble USB défectueux. Fermez tous les logiciels susceptibles d’utiliser le port série, changez de câble si nécessaire et vérifiez votre sélection de carte dans le menu Outils.

Si les erreurs persistent, posez‑vous quelques questions : votre Arduino est‑il bien alimenté (LED ON allumée) ? Le clone utilise‑t‑il une puce CH340 non reconnue par le système faute de pilote ? Dans de rares cas, le bootloader de l’ATmega peut être corrompu, ce qui nécessite de le regraver via un programmateur ISP ou un second Arduino. Heureusement, pour un usage classique avec un Uno officiel ou un clone de qualité, ces situations restent marginales.

Vérification du baudrate 115200 et test de connexion USB

Après le flashage, nous allons vérifier que GRBL répond correctement. Ouvrez le Moniteur série de l’IDE Arduino ou un logiciel comme Candle ou Universal Gcode Sender. Sélectionnez une vitesse de communication de 115200 bauds, qui est le baudrate standard de GRBL 1.1. Appuyez éventuellement sur le bouton reset de la carte : vous devriez voir s’afficher quelque chose comme Grbl 1.1h ['$' for help]. C’est le signe que le firmware tourne correctement et que la liaison série est opérationnelle.

Si vous ne recevez que des caractères illisibles, c’est presque toujours un problème de débit : vérifiez que le logiciel est bien configuré en 115200 bauds, 8 bits de données, sans parité et 1 bit de stop (8N1). Un autre symptôme fréquent est l’absence totale de réponse : dans ce cas, assurez‑vous que vous êtes connecté au bon port COM et que GRBL n’est pas déjà ouvert dans un autre logiciel. Une fois cette étape validée, vous êtes prêt à passer à la configuration fine des paramètres GRBL stockés en EEPROM.

Configuration des paramètres GRBL via les commandes $$ et EEPROM

GRBL stocke l’ensemble de ses réglages (pas par millimètre, vitesses, limites de course, etc.) dans la mémoire EEPROM de l’ATmega. Cela signifie que vos paramètres persistent après chaque redémarrage, comme le BIOS d’un PC. L’accès à ces paramètres se fait via l’interface série : la commande $$ affiche la liste complète, et chaque ligne peut être modifiée avec la syntaxe $x=valeur. C’est ici que vous allez adapter GRBL à la mécanique très spécifique de votre CNC.

Réglage des pas par millimètre $100, $101 et $102 selon le type de vis à billes

Les paramètres $100, $101 et $102 définissent la résolution de déplacement des axes X, Y et Z en « pas par millimètre ». En d’autres termes, ils indiquent à GRBL combien d’impulsions STEP envoyer au driver pour obtenir 1 mm de mouvement réel. Cette valeur dépend de trois éléments : le nombre de pas du moteur par tour, le facteur de microstepping et le pas mécanique (vis trapézoïdale, vis à billes, courroie crantée, etc.). Une formule simple permet de tout calculer :

steps_per_mm = (steps_per_rev × microsteps) / mm_par_tour

Imaginons une machine équipée de moteurs NEMA 17 à 200 pas par tour (1,8°/pas), de drivers réglés en 1/16 micro‑pas et de vis à billes de pas 5 mm. Chaque tour moteur produit donc 5 mm de déplacement. On obtient alors (200 × 16) / 5 = 640 pas/mm. Il suffit de saisir $100=640, $101=640 (si X et Y partagent la même cinématique) et, par exemple, $102=320 si l’axe Z utilise une vis au pas de 10 mm.

Même avec un calcul théorique précis, il est recommandé d’affiner ces valeurs par étalonnage. Pour cela, tracez une distance de référence (par exemple 100 mm) sur une règle ou un comparateur, demandez à la machine un déplacement G‑code correspondant et mesurez le déplacement réel. Si vous obtenez 99 mm au lieu de 100, corrigez la valeur de pas/mm proportionnellement. GRBL vous permet de viser une précision bien inférieure au dixième de millimètre sur une structure mécanique bien conçue.

Paramétrage de la vitesse maximale $110-$112 et accélération $120-$122

Les paramètres $110, $111 et $112 définissent la vitesse maximale (en mm/min) des axes X, Y et Z. Ils représentent une sorte de « plafond » au‑delà duquel GRBL n’ira pas, même si votre G‑code demande une avance plus rapide. Commencez avec des valeurs conservatrices, par exemple 1000 à 2000 mm/min, le temps de vérifier que les moteurs tournent sans décrocher. Ensuite, augmentez progressivement jusqu’à trouver la limite acceptable pour votre mécanique et vos drivers, puis redescendez d’environ 10 à 20 % pour garder une marge de sécurité.

Les paramètres $120, $121, $122 contrôlent l’accélération en mm/s². Une accélération trop faible rendra votre machine molle, surtout sur les trajets courts. À l’inverse, une accélération trop élevée produit des à‑coups qui peuvent faire perdre des pas ou provoquer des vibrations importantes. Un bon point de départ pour une petite CNC à vis trapézoïdales est de l’ordre de 50 à 100 mm/s² sur X/Y et 20 à 50 mm/s² sur Z. Montez progressivement jusqu’à ce que vous observiez des ratés, puis reculez légèrement. Pensez à tester ces réglages en jogging rapide et sur un G‑code de trajectoire complexe : c’est souvent dans les changements de direction que les limites apparaissent.

Configuration des limites de course $130-$132 et activation du homing $22

Les paramètres $130, $131 et $132 indiquent à GRBL la course maximale théorique de chaque axe, en millimètres. Ils sont utilisés en conjonction avec les soft limits pour empêcher la machine de dépasser ses capacités physiques. Par exemple, pour une zone utile de 300 × 400 × 100 mm, vous pourrez définir $130=300, $131=400 et $132=100. Ces valeurs doivent correspondre à la course réelle entre vos butées mécaniques, homing effectué.

L’activation du homing se fait via $22=1. Une fois ce paramètre activé et les fins de course correctement câblés, GRBL exigera un cycle de référencement ($H) avant d’accepter des commandes de mouvement en coordonnées absolues. C’est une sécurité importante : sans homing, la machine ignore totalement où elle se trouve à l’allumage. En réalisant un cycle de homing systématique, vous gagnez la possibilité de reprendre un usinage après une coupure de courant, à condition que la pièce n’ait pas bougé sur le plateau.

Ajustement du courant moteur et réglage des microstepping 1/16 ou 1/32

Bien que cela ne se règle pas directement dans GRBL, le courant max des drivers et le microstepping ont un impact direct sur le comportement du firmware. Le courant se règle à l’aide du petit potentiomètre présent sur chaque A4988/DRV8825, en mesurant la tension de référence (Vref) entre la broche de test et la masse. La relation type est Imax = Vref × 2 pour un A4988, d’où un réglage à environ 0,4 V pour un courant de 0,8 A. Un courant trop faible provoque des pertes de pas sous charge, tandis qu’un courant excessif fait chauffer moteurs et drivers, pouvant aller jusqu’à la destruction.

Le microstepping (1/8, 1/16, 1/32) se configure via les cavaliers sous le driver. Plus la résolution est fine, plus la machine peut se déplacer en petites incréments, ce qui améliore la qualité de surface et la précision sur les petits déplacements. En contrepartie, GRBL doit générer davantage d’impulsions, ce qui augmente la charge CPU et la sensibilité au bruit électrique. Comme pour la résolution d’un écran, passer de 1/1 à 1/8 apporte un saut qualitatif majeur, alors que la différence entre 1/16 et 1/32 est moins perceptible dans la plupart des usinages. Choisissez une valeur, calculez vos pas/mm en conséquence et évitez ensuite de la modifier, sous peine de devoir recalibrer toute votre machine.

Utilisation des logiciels de contrôle universal gcode sender et candle

Pour exploiter pleinement GRBL 1.1, vous avez besoin d’un logiciel de contrôle CNC capable d’envoyer le G‑code, de piloter les déplacements manuels et de visualiser le parcours outil. Universal Gcode Sender (UGS) et Candle font partie des interfaces les plus populaires dans la communauté GRBL. L’un comme l’autre offrent une connexion simple en USB, des fonctions de jogging, de gestion des offsets et une vue 3D des trajectoires issues de votre logiciel de FAO, comme Fusion 360.

Interface UGS platform et envoi de fichiers gcode depuis fusion 360

Universal Gcode Sender Platform est une version moderne, basée sur Java, qui tourne aussi bien sous Windows, macOS que Linux. Une fois installé, sélectionnez le port série de votre Arduino et le baudrate 115200, puis cliquez sur « Connect ». UGS doit afficher le message d’accueil de GRBL 1.1 et basculer en mode connecté. Depuis l’onglet « File Mode », vous pouvez charger un fichier G‑code généré par votre logiciel de CAO/FAO, par exemple Fusion 360 avec le post‑processeur « GRBL ».

Le flux de travail typique est le suivant : vous modelez ou importez votre pièce dans Fusion 360, vous définissez les stratégies de parcours (contournage, poche, perçage, etc.) puis vous post‑processez la configuration en sélectionnant le post GRBL. Fusion 360 génère alors un fichier .nc ou .gcode compatible que vous ouvrez dans UGS. Avant de lancer l’usinage, prenez le temps de parcourir visuellement les parcours dans l’onglet de visualisation 3D : cela vous permet de repérer d’éventuelles incohérences (origine mal placée, axes inversés, profondeur de passe trop importante).

Calibration du zéro machine et définition des offsets de travail G54-G59

GRBL distingue deux systèmes de coordonnées : les coordonnées machine, liées au homing et au point zéro « physique » de la CNC, et les coordonnées de travail (G54 à G59), que vous utilisez au quotidien pour placer vos pièces. Après un cycle de homing réussi, le zéro machine (G53) est défini par GRBL. À partir de là, vous pouvez amener la broche au coin de votre pièce (X0 Y0) et à la surface (Z0), puis définir un offset de travail via des commandes G‑code ou directement via l’interface du logiciel.

Par exemple, dans UGS ou Candle, vous trouverez souvent des boutons « Set X=0 », « Set Y=0 », « Set Z=0 ». Ils envoient des commandes du type G10 L20 P1 X0 Y0 Z0 pour définir l’origine G54 à la position actuelle. GRBL stocke ces offsets en EEPROM, ce qui permet de garder des références d’usinage constantes si votre montage reste en place. Pour des usages plus avancés, vous pouvez utiliser G55 à G59 pour configurer plusieurs origines de travail, par exemple pour usiner plusieurs pièces identiques fixées sur différentes zones du plateau.

Test des commandes jogging et visualisation en temps réel du parcours outil

Avant de lancer un usinage réel, il est fortement conseillé de tester votre machine en jogging, c’est‑à‑dire en déplacements manuels via les flèches de l’interface. Dans UGS, Candle ou d’autres frontends GRBL, vous pouvez définir des incréments de déplacement (0,1 mm, 1 mm, 10 mm) et une vitesse de jogging. Observez attentivement le sens de rotation de chaque axe : lorsque vous cliquez sur X+, le chariot doit se déplacer vers la droite (vu de face), et sur Y+, le plateau doit reculer. Si ce n’est pas le cas, ajustez soit le câblage, soit le paramètre $3 d’inversion de direction.

La plupart de ces logiciels affichent également en temps réel la position rapportée par GRBL via la commande ?, ainsi que l’état de la machine (Idle, Run, Hold, Alarm…). Pendant un usinage, la visualisation 3D suit le curseur de la ligne de G‑code en cours d’exécution, ce qui est très utile pour comprendre ce que la machine est en train de faire. C’est un peu l’équivalent du GPS dans une voiture : vous voyez non seulement où vous êtes, mais aussi où vous allez, ce qui permet d’anticiper d’éventuels problèmes.

Optimisation avancée des paramètres GRBL pour usinage de précision

Une fois votre CNC opérationnelle et calibrée, vous pouvez aller plus loin en optimisant certains paramètres spécifiques à vos usages : gravure laser, usinage de précision, travail sur matériaux tendres ou durs, etc. GRBL 1.1 intègre des fonctionnalités avancées comme le mode laser, la gestion fine de la broche via PWM, ou encore les soft/hard limits pour sécuriser les courses. Bien exploités, ces réglages transforment une simple machine de loisir en outil de production fiable.

Activation du mode laser $32 et ajustement du PWM spindle $30-$31

Si votre machine est équipée d’un module laser, le paramètre clé est $32. En passant $32=1, vous activez le « laser mode » de GRBL. Dans ce mode, le firmware évite les arrêts de mouvement inutiles lors des changements de puissance et désactive automatiquement le laser pendant les déplacements rapides (G0). Cela permet d’obtenir des gravures plus homogènes, sans marques de brûlures aux points de décélération. Lorsque vous repassez à un usage fraiseuse, pensez à remettre $32=0 pour retrouver le comportement classique de la broche.

Les paramètres $30 et $31 définissent respectivement la valeur maximale et minimale de la commande de broche (ou de puissance laser) en G‑code. Par défaut, $30=1000 signifie que S1000 correspond à un PWM à 100 % (5 V), tandis que $31=0 fixe le point bas. Pour un laser, il est courant d’utiliser S entre 0 et 1000 ou 0 et 255 selon le logiciel de pilotage. Assurez‑vous que le post‑processeur ou le logiciel de gravure (par exemple LaserGRBL) est configuré pour utiliser la même échelle que GRBL, afin d’éviter de saturer le laser en permanence ou de manquer de dynamique sur les niveaux de gris.

Configuration des soft limits $20 et hard limits $21 avec fin de course optiques

Les soft limits (paramètre $20) permettent à GRBL de vérifier chaque mouvement avant de l’exécuter, afin de s’assurer qu’il reste dans la zone de travail définie par $130, $131 et $132. Pour les activer, définissez d’abord un homing fiable, puis passez $20=1. Dès lors, si un G‑code tente de sortir de l’enveloppe machine, GRBL déclenche une alarme et bloque le mouvement. C’est une sécurité logicielle précieuse, notamment lorsqu’on teste des parcours générés par un nouveau logiciel de FAO.

Les hard limits, paramétrées par $21, s’appuient sur des capteurs physiques (microswitch, capteurs magnétiques ou optiques) placés en fin de course de chaque axe. Avec $21=1, tout déclenchement d’un fin de course génère une alarme immédiate et arrête la machine, même en l’absence de soft limits. Pour réduire les faux positifs liés au bruit électrique des moteurs, utilisez des câbles blindés, des résistances de pull‑up/pull‑down appropriées et, si nécessaire, un petit circuit d’isolement (optocoupleur). Une fois bien configurés, soft et hard limits se complètent pour protéger à la fois la mécanique et vos travaux d’usinage.

Réglage du debounce $26 et de la direction de homing $23 pour axes inversés

Le paramètre $26 définit le temps d’anti‑rebond (en millisecondes) appliqué lors du homing. Lorsqu’un contact de fin de course se ferme ou s’ouvre, le signal peut « rebondir » brièvement, provoquant plusieurs détections au lieu d’une seule. Un $26 entre 5 et 25 ms suffit pour la plupart des interrupteurs mécaniques. Des valeurs trop élevées rallongent inutilement la durée du homing, tandis que des valeurs trop basses peuvent entraîner des erreurs ALARM:8 (impossibilité de libérer le switch) ou ALARM:9 (fin de course introuvable).

La direction du homing se règle avec $23, un masque binaire similaire à $3. GRBL suppose par défaut que les fins de course de homing se trouvent dans le sens positif de chaque axe. Si vos capteurs sont en X‑, Y‑ ou Z‑, vous devez inverser les bits correspondants. Par exemple, $23=3 (binaire 00000011) inverse le sens de homing sur X et Y. C’est un peu l’équivalent d’un GPS qui aurait sa notion du « nord » inversée : en ajustant ce paramètre, vous indiquez à GRBL dans quel coin de la machine se trouve réellement votre « maison ».

Diagnostic et résolution des problèmes courants avec GRBL 1.1

Même avec une configuration soignée, il est probable que vous rencontriez un jour ou l’autre des messages d’erreur ou des comportements inattendus. L’important est de savoir les interpréter. GRBL 1.1 fournit une liste détaillée de codes d’erreur (error:XX) et d’alarmes (ALARM:XX) qui orientent rapidement le diagnostic. Par exemple, ALARM:1 signale le déclenchement d’une limite matérielle, tandis que error:9 indique que vous tentez d’envoyer du G‑code alors que la machine est toujours en état d’alarme ou en jogging.

Un bon réflexe en cas de blocage est de demander le statut actuel avec ? dans la console, puis de consulter les paramètres avec $$ et les offsets avec $#. Pour sortir d’une alarme non critique, la commande $X déverrouille GRBL, mais veillez à comprendre l’origine du problème avant de reprendre la production. Les pertes de pas répétées, par exemple, sont souvent liées à un cumul de facteurs : accélérations trop élevées, courants mal réglés, guidages mécaniques trop serrés ou G‑code demandant des changements de direction brutaux.

Enfin, n’oubliez pas que GRBL 1.1 est utilisé par des dizaines de milliers de machines dans le monde. La plupart des problèmes que vous rencontrerez ont déjà été résolus par quelqu’un d’autre. Les issues GitHub du projet, les forums spécialisés CNC et les documentations en ligne sont autant de mines d’informations pour affiner vos réglages et fiabiliser votre installation. Avec un peu de méthode et de patience, vous transformerez votre Arduino et quelques drivers pas‑à‑pas en une CNC précise et fiable, adaptée à vos propres besoins d’usinage numérique.