Publié le

Panneau de Contrôle Grbl

Panneau de contrôle Grbl en Français
image_pdfVoir PDFimage_printImprimer

Comme je l’ai évoqué dans mon article précédent, Grbl est un logiciel “firmware”, exécuté sur un Arduino, qui analyse le GCode reçu, construit un modèle mathématique des actions à effectuer, et exécute ces mouvements en envoyant un flot continu de pulsions haute fréquences aux moteurs pas à pas. Le seul petit détail, c’est que Grbl n’a aucune interface utilisateur, par différence avec Mach3, PlanetCNC où encore LinuxCNC, qui tous répondent à la même définition, mais permettent de piloter la machine depuis des écrans appropriés. Il faut donc disposer d’un autre logiciel, exécuté sur une autre machine, en liaison avec Arduino, pour pouvoir interagir avec la machine. Il existe plusieurs de ces logiciels, mais aujourd’hui je veux vous présenter le “Panneau de Contrôle Grbl” (Grbl-Panel, en Anglais) logiciel Open source dont je viens de finir la traduction complète.

Présentation

Le Panneau de Contrôle Grbl n’est pas le plus “joli” des divers logiciels interfaces pour Grbl qui existent, par contre il est certainement le plus “professionnel”, dans la mesure où il intègre de nombreuses fonctions habituellement trouvées sur des machines industrielles. Il “clone” plus où moins un panneau physique comme on pourrait le trouver sur une machine Fanuc où Haas. Tous les outils nécessaires au réglage et au fraisage sont organisés de manière claire, correspondant à l’expérience acquise par la pratique de dizaines d’années d’organisation d’un poste de machiniste. L’interface est épurée et ne comprend pas la partie graphique qui flatte l’œil mais n’apporte pas grand chose de concret à l’interface home machine.

Le Panneau de Contrôle Grbl est compatible avec Grbl 0.9g et suivants, et intègre notamment les nouvelles possibilités de Grbl v1.1, dont nous parlerons plus loin dans cet article. Il donne aussi la possibilité de switcher la disposition des contrôles de manière à être mieux adapté à un(e) gaucher(ère).

Survol Rapide

Une opération de fraisage typique requière le déplacement manuel par petits pas (jogging) au point origine 0 pour la pièce considérée. Souvent cela demande une mise au point sur chacun des axes. C’est pour cette raison qu’il y a un bouton zéro près de chaque axe. Une fois que vous exécutez un fichier GCode, vous ne devriez plus être capable de “jogger” où d’envoyer des commandes manuelles. ici les 2 sont liés, une opération bloque l’autre. Lorsque qu’une condition d’alarme est détectée par Grbl, l’exécution du GCode est stoppée. Les boutons de contrôle et la visualisation est groupée en sous-panneaux qui sont activés/désactivés en fonction de ce que le Panneau de Contrôle Grbl est en train de faire. Un onglet pour les réglages fourni un certain nombre de zones éditables qui modifient le fonctionnement du panneau, où ce qui est envoyé à Grbl. Bien sûr vous pouvez aussi modifier directement les réglages internes à Grbl depuis ce même onglet.

Dans le Détail

1- Installation

Il n’y a pas encore de procédure d’installation, ce qui va venir. Pour l’instant il faut donc télécharger ici un fichier ZIP, et le décompacter, de préférence dans votre répertoire C:\Program Files (x86), ou tout simplement c:\Programmes sur une machine 32 bits. Par la suite, vous trouverez la version francisée sur GitHub, avec la version originale de Grbl-Panel.

2 – Connection

Pour effectuer la liaison série avec l’Arduino, il vous faut brancher un câble USB entre votre Ordi et Arduino. Le driver USB/Série est installé avec l’IDE Arduino, sinon, un Windows récent comme Windows 7 où Windows 10 devrait être capable de le trouver et l’installer tout seul comme un grand, lorsque vous branchez votre micro-contrôleur. Vous avez certainement remarqué un onglet IP, permettant d’effectuer la liaison série au travers d’un module WiFi pour Arduino. Nous reviendrons plus tard sur cette possibilité, et comment effectuer ce lien coté Arduino. A ma connaissance, Le Panneau de Contrôle Grbl est le seul à offrir cette option. Avant de cliquer sur “Connecter”, tous les boutons et panneaux sont désactivés, aucune des diverses options n’est disponible.

3 – Réglages

Panneau de Controle Grbl - RéglagesLe sous panneau des réglages comporte 2 cotés distincts. Sur la gauche, vous retrouvez les paramètres internes de Grbl, que vous pouvez obtenir en tapant “$$” dans un terminal série, comme expliqué dans l’article à ce sujet. Un certain nombre de paramètres, plus bas dans la liste, permettent d’indiquer des valeurs interactivement alors qu’auparavant il fallait aller modifier le fichier config.h, comme pour les courses maximum (Valable depuis Grbl 1.1). Pour modifier une valeur, cliquez sur la case valeur, pour la sélectionner, une 2ème fois pour l’éditer, puis un double-clic rapide pour aller écrire la nouvelle valeur dans Grbl. Beaucoup plus simple, vous pouvez simplement appuyer sur la touche entrée. Vous pouvez vérifier que la nouvelle valeur a bien été prise en compte et cliquant sur “charge réglages.

Sur la partie droite figurent un certain nombre de réglages qui vont modifier ce que le Panneau de Contrôle envoi à Grbl, et non directement Grbl lui même. Comme cet article n’est pas un manuel utilisateur, ni un manuel d’apprentissage de GCode, je ne vais pas entrer dans le détail de chacun des réglages. Je vais par contre évoquer rapidement leur utilisation:

Sous Panneau Position. Les commandes GCode G28 et G30 sont communément utilisées pour indiquer la position de repos, où de départ et de fin. Nous verrons par la suite comment indiquer à Grbl quelles sont ces positions sur votre machine. Les autres commandes font ce qui est indiqué à coté. Plongez-vous dans un manuel sur GCode pour comprendre quels sont les ordres envoyés à la machine, mais à priori je ne changerais rien ici, sauf cas particulier.
Sous Panneau Divers. La aussi, sauf à savoir vraiment ce que vous faites, je ne changerais rien ici, sauf pour la dernière ligne “Ext Fic. par Défaut”. Cette entrée est destinée à faciliter la recherche des fichiers GCode, sur la page Interface. Suivant vos habitudes et préférences, entrez “nc”, où “cnc”, sans le point devant. Les autres paramètres concernent: la fréquence de rafraîchissement des données en provenance de Grbl, la taille de la Queue de commandes envoyées, et le buffer mémoire dans lequel ces commandes sont stockées, et le délai au démarrage, en millisecondes.

Parmi les cases à cocher au bas du panneau, il est préférable de laisser celles cochées par défaut. Si vous cochez “connecte à l’ouverture”, le panneau de contrôle essayera de se connecter comme il l’est maintenant la prochaine fois que vous le lancez. Si vous cochez interface Utilisateur pour gaucher, sur la page Interface, les panneaux Position et Grbl Jogging s’intervertissent, pour avoir Jogging à gauche et Position à droite.

Sous Panneau Jogging. Tout d’abord la case à cocher métrique, qui signifie que tout ce que vous allez faire avec le jogging est en dimension métriques. Sinon, tout est en pouces. ATTENTION, cela ne concerne que le jogging. Les incréments d’avance sont les différents nombre de millimètres (pour les valeurs métriques) d’avance que vous voulez commander. Les taux d’avance, est la vitesse, en millimètres/minutes, à laquelle vous voulez que le déplacement s’effectue. Ces choix sont ceux proposés sur la page Interface, dans le sous panneau jogging. Par exemple, si vous sélectionnez 10 comme Incrément, et 100 comme Taux, un appui sur X+ provoquera un mouvement de 10 millimètres sur l’Axe des X à une vitesse de 100 millimètres/minutes. il faudra donc (100/60) x 10, soit 16.66 secondes pour effectuer ce déplacement.
Le taux de répétition concerne le nombre de fois où l’ordre est envoyé, par seconde. La case à cocher dessous permet d’utiliser les flèches clavier pour ces déplacements; Pratique sur un ordi, pas vraiment sur une tablette….

Sous Panneau Décalage. Nous venons de voir ci-dessus que les commandes GCode G28 et G30 permettent de dire à la machine d’aller se positionner sur une position préalablement définie, qui pourrait correspondre à celui d’une sonde d’outil, par exemple, où tout simplement au coin supérieur gauche de repos de la machine (sans déclencher les fins de course). Pour définir cette position, positionnez (par jogging) la broche exactement où vous le souhaitez, puis revenez sur cette page réglage, et appuyez sur le bouton “Ré”, pour entrer ce réglage. Par la suite, à la fin de votre programme GCode (si votre générateur ne le fait pas), ajoutez cette commande G28, et la machine retournera à cette position que vous venez de définir. Même chose pour G30.

Comme indiqué au-dessus de ces sous-panneaux, ces réglages sont sauvegardés à chaque fois que vous quittez le programme, vous n’avez donc rien à faire pour les conserver.

4 – Fonctionnement

Nous aurons d’autres occasions de revenir plus en détail sur les différentes manières de régler et faire fonctionner une machine, et donc de revenir sur décalages (offsets), référencements (homing), etc. Pour l’instant nous allons simplement expliquer les bases du fonctionnement du Panneau de Contrôle Grbl pour faire fonctionner votre machine. En gros, on a 2 manières principales de piloter sa machine au travers de Grbl depuis le panneau de contrôle: “manuellement”, en envoyant directement des commandes GCode, où par un fichier de programme GCode.

La partie “manuelle” comporte la partie “Jogging”, mais aussi la zone de saisie “Commande Manuelle”, où vous pouvez saisir vous-même une commande, où une suite de commandes, qui sont envoyées à la machine lorsque vous pressez le bouton Envoi. Il comporte aussi la partie “Macros”, qui peut s’avérer très pratique pour de petites opérations “semi manuelles”. Vous définissez une macro dans l’onglet du même nom, et vous verrez apparaître, sous la zone de saisie de commande manuelle, un bouton du nom de votre macro. Appuyer sur ce bouton envoi à la machine la suite de commandes GCode définie dans votre macro.

Panneau de Contrôl Grbl en action
Le panneau de Contrôle prêt à lancer l’exécution d’un programme GCode

La partie “automatique”, où Fichier GCode, commence par la sélection d’un fichier GCode, en cliquant l’icone ressemblant à un document. Une fois le fichier chargé, les éventuelles lignes de statut créées par l’envoi de commandes manuelles sont remplacées par les lignes du programme GCode. La colonne statut passe de “Sent”, lorsqu’elle à été envoyée à Grbl, à “OK” une fois exécutée, où à ‘’Err” si GRBL n’a pas pu comprendre/exécuter la commande. Selon l’erreur, vous pouvez sélectionner la ligne de code suivante, et presse la flèche envoi à nouveau, pour poursuivre l’exécution du programme. J’ai personnellement expérimenté avec un programmes GCode dépassant allégrement le million de lignes sans rencontrer le moindre problème. Le dernier commentaire rencontré s’affiche dessous “Message”.

Pendant l’exécution d’un programme GCode, tous les boutons, zones, etc. , sont désactivés sauf les boutons pause et arrêt, qui vont respectivement mettre en pause le déroulement de la lecture des lignes de GCode, où complétement arrêter le programme.

Conclusion

Ce contrôleur pour Grbl n’est certainement le plus connu des divers programmes existants ayant la même fonction, mais c’est à mon sens le plus complet, offrant des possibilités inconnues des autres logiciels du même type, telles que macros et plusieurs décalages pré-réglés. Il intègre déjà toutes les nouvelles fonctions de la version 1.1 de Grbl, et est entièrement en Français (si votre Windows est réglé pour être en Français).

Vous pouvez télécharger les sources de Grbl-Panel sur GitHub: https://github.com/gerritv/Grbl-Panel, et compiler/modifier avec Visual Studio. Peut-être plus pratique pour beaucoup, vous pouvez télécharger les fichiers binaires ici, sur le site, mais aussi sur Github, en téléchargeant la dernière mise à jour, V1.0.9.8.

Un petit mot, pour finir, sur le futur du Panneau de Contrôle Grbl. Gerrit et moi avons pas mal discuté pendant mon travail de localisation/traduction, qui va permettre à ce logiciel d’être maintenant traduit dans d’autres langues que juste Anglais et Français. Il nous apparaît évident à tous deux qu’il est beaucoup plus pratique, et conforme aux pratiques “modernes”, de piloter sa machine CNC depuis une tablette que depuis un vieux PC coincé à l’atelier, prenant poussière et toiles d’araignées…. C’est pourquoi le Grbl-Panel, en dehors d’autres améliorations ponctuelles, va être porté en C# avec Xamarin, de manière à pouvoir être exécuté depuis n’importe quel matériel fonctionnant sous Windows où sous Android, en communiquant avec l’Arduino par Bluetooth (donc sans fil), et peut-être aussi sous Apple/IoS.

Autrement dit, le Panneau de Contrôle GRBL est bien vivant, et va continuer à évoluer. Si vous avez des remarques, suggestions, souhaits, n’hésitez pas à en faire part, nous ferons de notre mieux, avec Gerrit, pour en tenir compte si cela apparaît faisable, et souhaitable…

?s=96&d=mm&r=g - Panneau de Contrôle Grbl

Bernard Grosperrin, alias « Le Bear », est un programmeur depuis plus d’années qu’il n’ose l’avouer. Étant passionné de modèles réduits d’avions, depuis encore beaucoup plus longtemps, réunir les deux ne pouvait que le séduire.

Il a donc bien fallu qu’un jour il se construise sa propre machine CNC, ce qui revient à mettre le doigt dans un engrenage conduisant à une nouvelle passion. D’où ce site et cette aventure….

Vous aimez? Prenez une seconde pour soutenir Le Bear CNC & 3D sur Patreon!
become a patron button - Panneau de Contrôle Grbl

26 réflexions au sujet de « Panneau de Contrôle Grbl »

  1. Salut Bernard
    C’est un peu l’autre côté du miroir!
    Super blog, surtout pour encourager les gens un peut « peureux » de cette technologie.
    Ca doit prendre pas mal de temps pour maintenir.

    Faire clignoter une led avec un bout de code, tu trouves celà magique, moi aussi. Je me rappelle encore quand, en 1977 je crois, j’ai fait tirer un relais avec mon Tandy RadioShack avec un Zilog 80 16k. de RAM et le Basic Microsoft. C’est comme si c’était hier!
    J’ai fais pas mal de PIC Microchip 16F 12F … Mais, c’est vrai, l’Arduino est quand même beaucoup mieux!

    A bientôt de ce côté ou de l’autre.

    Cordialement
    jpbbricole

    1. Bonjour Jp, et merci des encouragements! C’est vrai que c’est du boulot, mais je commençais à être fatigué, lors de mes vagabondages sur Google, à ne trouver guère qu’en Anglais des explications claires et « pédagogiques ». Du coup, j’ai décidé de me lancer, et il semble que pas mal de monde est content de trouver mon site. Donc j’insiste…

  2. Bonjour
    Beaux travail éffectivement.
    Il semblerai cependant que ce système ne fonctionne pas sous Linux, ce qui, si tel est le cas est bien regrétable. Me trompe-je?
    A part cela, je ne comprends pas pourquoi les caractères sont en blanc dans ce message.
    Cordialement
    RC

    1. Effectivement, c’est WindowsForm .Net, donc exclusivement Windows. Gerritt et moi avons décidé de portr cette application sous Xamarin, ce qui va lui permettre de fonctionner sous IOS et Android, mais ça risque de prendre du temps.
      Pour les caractères en blanc, désolé, erreur de CSS qu’il me faut corriger.

  3. Bonjour
    Je suis tombé sur votre site par hasard et depuis je le mets en favori .
    Je trouve qu’il est bien fait et bien expliqué . Vous savez aller à l’essentiel .
    J ai un graveur laser avec un logiciel qui limite la découpe sur 30cm environ bien qu’il soit prévu sur 1m . Je pense que vos différentes informations me permettront de corriger ce défaut .
    Pour compléter vos articles que j’apprécie beaucoup , j’aurai aimé pouvoir suivre un exemple simple qui récapitule les différentes étapes comme par exemple : graver une forme géométrique simple ( en deux dimensions ou en trois dimensions )
    Encore merci pour ce super travail.

    1. Merci de ces encouragements. C’est une bonne idée d’article. J’en prépare un qui n’est pas directement sur ce sujet, mais qui devrait vous intéresser aussi: Comment partir d’une photo de formes simple, pour transformer en dessin vectoriel, l’importer dans Fusion 360, en vue de fraisage, découpe laser (au niveau logiciel, peu de différence), où imprimer en 3D.

  4. Bonjour, je bidouille depuis pas mas de temps avec une carte en liaison // pour piloter un petit combiné tournage fraisage et le résultat n’est pas toujours optimum.
    Je regarde pour passer en liaison série avec une Arduino et Grbl et cette version en français va me simplifier la vie.
    Merci beaucoup.

    1. Merci, et n »hésites pas à poser des questions si nécessaire.
      Cordialement,

  5. Bonjour
    Je voudrais savoir si il y a une fonction « inversion du sens de rotation des moteurs » dans le logiciel. En principe c’est positif lorsque le déplacement est vers le moteur, et négatif a l’inverse. Mon axe Z est du mauvais coté, et mon axe Y de meme.
    Peut etre en parlez vous et je serai passé a coté….
    Merci pour tout ce que vous faite, ça aide bien les personnes comme moi, très novices.
    Cordialement.

    1. Non, cette fonction n’est pas dans le logiciel, parce que ce « problème » peut se gérer autrement: il suffit d’inverser la connexion au moteur. Si on utilise le shield GRBL, il y a des cavaliers pour cela, qui permettent de ne pas toucher à la connexion elle même.

      J’espère que ça répond à la question.
      Bien cordialement,
      Bernard

      1. Bonjour Bernard
        Merci pour ta réponse. Pour inverser la connexion au moteur, faut il changer l’emplacement des fils dans la broche ( a savoir j’ai 4 fils et dans l’ordre Blanc, noir,jaune,rouge) sinon inverser la prise ? il y a un détrompeur me semble t-il.
        Avant de trouver ton site, j’ai telecharger un petit logiciel pour laser  » Laser GRBL » du coup ce petit logiciel a pris en charge les réglages fait avec (ton GRBL) cela est il normal ou pas?
        En te remerciant encore pour toutes ces super informations qui nous aident beaucoup.
        Cordialement
        Fred

        1. On peut inverser, soit au niveau Arduino/shield, soit directement au niveau du moteur. Oui, on peut inverser la prise. Le détrompeur commence à se tromper si on s’occupe un peu de lui avec un scalpel, XActo, cutter… Doucement….

          Je ne connais pas Laser GRBL. ça parait normal qu’il fasse certains réglages spécifiques Laser, mais j’irais contrôler manuellement pour vérifier qu’il n’y a pas d’erreurs.

          1. Re Bernard
            J’ai fait comme tu as dit, j’ai scalpé un peu le détrompeur, et miracle le moteur tourne dans le bon sens maintenant. Peut on envoyer des réalisations (photos, video) de gravure et autres, si oui comment fait on, si c’est non je comprend aussi..
            Cordialement
            Fred

          2. En théorie, cela devrait se faire dans le forum, mais j’ai un problème avec l’éditeur des textes dans le forum. Dans les commentaires, lorsqu’on répond, on doit voir « ajouter un média » au-dessus de l’espace pour taper son texte. Il devrait être possible d’envoyer photos et vidéos depuis ce bouton (pas trop grosses….)
            Je verrais éventuellement plus tard à réorganiser cela dans une « galerie des réalisations », où quelque chose de ce genre.

            Bien cordialement,
            Bernard

  6. ok Bernard, en attendant je te souhaite une bonne continuation, et a très bientot surement.
    Cordialement
    Fred

  7. Bonjour,

    J’ai souhaite piloter une machine avec un vieux portable sous XP.

    Le fonctionnement du panneau est il possible sous XP ?

    1. Franchement, je n’en ai pas la moindre idée! Je n’ai pas XP depuis… pfff, je ne sais plus combien d’années ça fait, mais beaucoup….

      A priori, si XP peu recevoir la version de .Net utilisée par le Panneau de Contrôle GRBL, oui, ça devrait marcher, mais comme c’est une version récente (je n’ai pas le N° de version en tête), j’ai des doutes. Le mieux est encore d’essayer…

      Cordialement,

      1. Merci pour votre réponse, je ressuscite un vieux portable en XP (pratique pour mettre au sous sol devant la machine) qui devrait être suffisant pour piloter ma machine.

        J’ai fais un essai, mais le Panneau ne semble pas être accepté par windows XP (message : GrbPannel n’est pas une application Win32 valide)

        Je vais essayer de mettre à jour la version de .Net et on verra…

        Cordialement.

        1. Merci de me tenir au courant. Le mieux est sans doute de mettre la version de .Net la plus récente acceptée par XP, et voir ce que ça donne. Si ça ne fonctionne toujours pas, il faudra sans doute se tourner vers un autre soft, il en existe plusieurs, certains en Java, qui passera sans doute sur XP.

          1. Bonjour,

            XP accepte les mises à jour du .NET jusqu’à la version 4.03.

            J’ai installé Universal G-code sender sous java qui fonctionne en effet.

            merci

          2. Parfait!
            Bien cordialement.

  8. Bonjour,
    J’ai téléchargé GRBL panel control « ailleurs » qu’avec le lien donné (qui ne marche toujours pas).
    https://github.com/gerritv/Grbl-Panel
    Mais j’ai besoin d’aide…
    Sur une CNC chnoise 3040, je suis en train de vouloir utiliser des fins de courses, et le panneau de controle m’indique un fc toujours on (X) un fc Y ok qd on l’active, et un Z qui s’active dans la case « s ».
    Je viens de vérifier le cablage, y compris sur l’interface //
    Je ne vois pas où chercher maintenant…
    Mes aventures sont ici
    https://www.usinages.com/threads/ajouter-des-fins-de-courses-sur-une-cnc-chinoise-3040.105718/
    Merci de vos lumières
    JB

    1. Pour le téléchargement, j’ai mis la dernière version, et vérifié avec tous mes navigateurs (Opera, Chrome, Firefox et Edge). Aucun problème! Difficile pour moi de corriger quelque chose qui a priori fontionne. Il faudrait peut-être essayer avec d’autres navigateurs, et vérifier que ce n’est pas une question de cache (par exemple).

      Pour vous aider et faire du support technique sur votre matériel, je ne peux pas aller très loin gratuitement. J’ai de plus en plus de demandes de ce type, et je ne peux pas me permettre d’y consacrer tout mon temps.
      Deux pistes:
      -1- Dans GRBL, on peut choisir si les fins de courses sont « NO » où « NC » (Normally Open, où Normally Closed). Selon ce qui est le cas par défaut, il suffit d’inverser.
      -2- Il faut s’assurer que le cablage des fins de course est proprement isolé. Ils peuvent être parasités facilement. En cherchant un peu sur le site GitHub de GRBL, il y a un schéma montrant comment faire cela.

      Si vous souhaitez que j’aille plus loin et passe plus de temps avec vous pour résoudre votre problème, je vous demanderais de contribuer à mon travail par un versement de 30€ minimum au travers de Patreon:
      https://www.patreon.com/LeBearCNC

      1. Merci pour votre réponse,
        Je vais passer un peu de temps sur les pistes que vous m’indiquez.
        Je vais bien finir par trouver ;=)
        Jibé

  9. Bonjour,
    Lentement mais surement j’avance…
    Les BOB chinoises n’indiquent pas les bonnes connexions…
    Celles qui fonctionnent :
    P10 Emerency
    P11 X limited
    P12 Y limited
    P13 Z limited
    P15 Tool setting
    Input GND

    Ça c’est réglé !

    JB

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *