Skip to content

Simple GCode GUI

Ce que l'on va faire ici

Nous allons voir ici les informations utiles concernant notre interface "maison", Simple GCode GUI, interface de contrôle d'une machine numérique libre, telle que nos modèles OMM PLUS ou OMM PRO.

Simple GCode GUI est notre "interface maison" pour contrôler les machines numériques. C'est une interface "simple" mais qui fait le job', écrite en Python 3 pour PyQt5.

Installation de Simple GCode GUI, notre interface de contrôle de la machine

Installation des prérequis

Installer les pré-requis utiles pour une application PyQt5 (les mêmes que précédemment) :

sudo apt-get update
sudo apt-get install python3
sudo apt-get install pyqt5-dev pyqt5-dev-tools

Installer les dépendances spécifiques utiles pour Simple GCode Generator

sudo apt-get install python3-serial

On présuppose par ailleurs ici que le logiciel Arduino a été correctement installé, notamment les drivers, ce qui est le cas à priori si on a suivi la procédure présentée initialement. La raison de cette installation préalable est due au fait que le logiciel Arduino installe les drivers utiles pour la communication série, en plus d'offrir la possibilité de communiquer facilement avec la carte au besoin sans nécessité d'interface.

Installation de Simple GCode GUI

Si ce n'est déjà fait, sur le bureau, créer un répertoire pyqt5_apps dans lequel on placera toutes les applications PyQt5.

Télécharger Simple GCode Generator ici

L'enregistrer dans le répertoire des PyQt5 apps créé précédemment. Dézipper l'archive.

Lancement

Se placer dans le répertoire, ouvrir un terminal, et lancer avec la commande :

./SimpleGCodeGUIMain.py

On peut également créer facilement un lanceur sur le bureau.

Si on veut pouvoir éditer le code, cliquer sur le fichier *Main.py et faire "Ouvrir avec Geany"

Compléments/Mémo pour les développeurs

Ici également, si on souhaite modifier l'interface, ou pourra installer QtDesigner en faisant (Debian 10 Buster) :

sudo apt-get install qttools5-dev-tools

QtDesigner s'ouvre depuis le menu applications ou bien avec

/usr/lib/x86_64-linux-gnu/qt5/bin/designer

La conversion du fichier .ui en .py se fait avec :

pyuic5 -x nomfichier.ui -o nomfichier.py

Interface machine Simple GCode GUI : configurer la dimension de la machine

Pour comprendre

Pour augmenter le niveau de sécurité et éviter que l'usager ne maltraite la machine malgré lui, un blocage des ordres de mouvements qui sortent de la zone de travail de la machine a été implémenté par nos soins directement dans l'interface graphique. Ainsi, Simple G-Code GUI intègre à partir de la version 0.8 le blocage depuis l'interface d'envoi d'ordre en dehors de la zone de travail de la machine.

Pour cela, le logiciel a besoin de connaître la dimension d'usinage maximum de la machine : une valeur par défaut assez réduite est programmée, mais si on possède une machine plus grande, il faut l'adapter à sa machine. C'est ce que nous allons voir ici.

Double protection !

Normalement, ceci se fait côté "firmware", mais nous avons préféré le faire également côté interface, une sorte de "double-verrou". Cette fonctionnalité de blocage logiciel est levable à tout moment si on le souhaite grâce à un bouton dédié.

Délockage manuel

Une première façon de s'affranchir de cette sécurité est de passer en mode "manuel" par un clic sur "mode manuel". (bouton unlock de l'interface) Ce délockage devra être suivi d'un ordre de vitesse pour être actif, donc faire un clic sur le bouton de la vitesse.

Pour info, le bouton "unlock" correspond à l'ordre $X envoyé au firmware GRBL (=déclockage manuel).

Fixer les dimension maximales de la zone usinable

Sinon, les dimensions de la zone usinable se définissent dans le fichier SimpleGCodeGUIMain.py au niveau des lignes 40 et + :

        ######### LIMITES DE LA MACHINE = A ADAPTER A VOTRE CAS ICI ##############
        self.maxX=260 # OMM PLUS
        self.maxY=290 # OMM PLUS

        self.maxZ=50 # OMM PLUS
        self.minZ=-20 # OMM PLUS

Les valeurs sont en mm et sont à adapter à chaque situation de machine.

A noter que si vous avez suivi nos conseils précédents, ce fichier se trouve dans le répertoire

Bureau/pyqt5_apps/pyqt5_SimpleGCodeGUi_vXX

La distribution Fab'bian utilise le même répertoire.

ATTENTION !

Il faut absolument éviter que les écrous des vis à billes ne se désengagent des vis à billes, car ce n'est pas remontable facilement, et en tout cas, pas avec le même niveau de qualité que le montage usine. Par conséquent, il est préférable de se garder une marge de sécurité en mettant quelques centimètres de moins que la dimension maximale théorique utilisable, de façon à ne jamais aller à l'extrémité des vis à billes. Si vous ne connaissez pas la dimension de votre machine, laisser la dimension par défaut à ce stade.

Prise en main et utilisation

Voir le PDF de prise en main de Simple GCode GUI

Résolution des problèmes

Principe général

La façon la plus efficace de connaître la raison d'un bug est de lancer l'application depuis un terminal, ce qui peut se faire dans le cas d'une application PyQt5 :

  • soit depuis l'éditeur Geany > bouton exécuter
  • soit en ligne de commande avec
./nomducodeMain.py

Noter le message d'erreur qui survient lors du bug constaté. Corriger ce qui doit l'être.

Problèmes rencontrés et solutions

L'application ne démarre pas au premier lancement

Le problème le plus fréquent est le manque d'une dépendance. Voir Installation

La machine s'arrête en plein usinage avec le message "sortie des limites machines"

Si vous obtenez ce message, c'est soi que vous sortez effectivement des limites machines, soit que les limites logicielles sont mal configurées, voir ci-dessous.

Procédures

Modifier les limites de la zone usinable de la machine

Simple G-Code GUI intègre à partir de la version 0.8 le blocage depuis l'interface d'envoi d'ordre en dehors de la zone de travail de la machine.

Une première façon de s'affranchir de cette sécurité est de passer en mode "manuel" par un clic sur "mode manuel". (bouton unlock)

Sinon, les dimensions de la zone usinable se définissent dans le fichier SimpleGCodeGUIMain.py au niveau des lignes 40 et + :

        ######### LIMITES DE LA MACHINE = A ADAPTER A VOTRE CAS ICI ##############
        self.maxX=260 # OMM PLUS
        self.maxY=290 # OMM PLUS

        self.maxZ=50 # OMM PLUS
        self.minZ=-20 # OMM PLUS

Les valeurs sont en mm et sont à adapter à chaque situation de machine.

Info

Sur Fabian, ce fichier se trouve dans le répertoire Bureau/pyqt5_apps/pyqt5_SimpleGCodeGUi_...""")

Liens utiles :