Interface Homme Machine – bCNC -> GRBL avec un Raspberry Pi

Cet article est une reprise du message créé par “Jipe” : Interface homme / machine – Généralités – Forum Le Bear CNC

Le PC portable qui pilotait ma CN étant tombé en panne j’ai dû trouver une solution de remplacement, je vous propose de développer la mise en place de ma nouvelle interface. 

1- Recensement des éléments nécessaires pour un fonctionnement autonome de la CNC

Clavier, souris, stockage, écran et unité centrale.

2- Eléments récupérables sur le vieux PC

Ecran de 15″, disque dur 2.5″ SATA. Le clavier n’est pas récupérable, sa matrice de gestion étant intégrée à la carte mère du PC.

L’écran

Après démontage, l’écran est débarrassé de deux connecteurs le reliant à la carte mère et une interface compatible est recherchée.

Ecran1

 au dos de l’écran une étiquette permet de l’identifier et de trouver un kit permettant de gérer la matrice de la dalle et le raccordement soit par connecteur VGA soit par HDMI.

Le kit est équipé d’une télécommande et d’un contrôle manuel de l’interface. Interface ecran

Ecran2

L’essai sur table est concluant ; on verra pour l’habillage plus tard.

Ecran3

Disque dur

Un connecteur USB 3.0 /SATA est suffisant (quelques euros chez le speedy ali)

UsbSata

Clavier, souris, unité centrale et alimentation

Raspberry

Mon choix s’est porté sur kit Raspberry PI4

Le faible volume de l’ensemble permet de le mettre dans un tiroir aménagé pour limiter l’exposition à la poussière.

Raspberry Pi4

Cette carte facile à identifier (3 composants encadrés en rouge) permet d’être bootée en USB sans aucune autre manip ; il suffit de retirer la carte mémoire miniSD avant la mise sous tension.

RaspModule

J’ai décidé de remplacer le logiciel d’origine (raspian) par l’interface linux (ubuntu-mate 22.04 for arm64) que je trouve plus conviviale. Avant de démarrer l’initialisation du raspberry il faut télécharger 2 logiciels (je travaille sous windows 11) :

ubuntu-mate pour raspberry

Win32diskImager

Après téléchargement, extraire l’image ubuntu-mate-22,04-desktop-arm64+raspi.img.xz avec 7zip (ou équivalent) puis installer Win32DiskImager.

Brancher le disque dur récupéré avec le connecteur USB et lancer Win32diskImager.

WinImager
Wn321

Charger le fichier image et lancer l’écriture. Récupérer le disque dur à la fin de l’opération. La suite de la procédure se passe sur le raspberry.

Retirer la carte miniSD et assembler le Raspberry avec ses périphériques (écran, clavier, souris, disque dur (sur USB3.0) et alimentation.

Mettre sous tension le raspi et suivre le déroulement de la procédure démarrage (langue, sélection clavier, accés WiFi (nécessaire pour la suite), fuseau horaire…)

Patienter, ça demande un certain temps. En attendant préparer les codes de connexion à la box. A la fin de la procédure d’installation le bureau de Mate s’affiche avec une splendide méduse sur fond vert. Ceux qui trouveront la bête trop urticante pourront modifier le fond d’écran à leur goût.

Pour bénéficier des dernières mise à jour, clic droit sur la méduse et ouvrir un terminal :

saisir :

sudo apt-get update (le mot de passe est celui que vous aurez saisi pendant la procédure d'initialisation)
sudo apt-get upgrade   Vous pouvez aller prendre un café (ou deux, c'est assez long)sudo apt-get autoremove    On fait le ménage avec les fichiers obsolètes.

Fin de la procédure, on peut redémarrer en respectant la procédure (pas d’arrêt sauvage par coupure de l’alimentation ; le Raspi n’aime pas trop)

Installation de bCNC

Je procède à une installation manuelle parce que l’installation officielle oublie quelques bibliothèques nécessaires au bon fonctionnement de la caméra et de certains plugins. D’autre part, la version que j’utilise est un “fork” de bCNC disponible uniquement sur mon PC. 

Ouvrir un terminal (clic droit sur la pieuvre)

Ouvrir un accés en mode super Utilisateur (su)

sudo passwd root , –> déverrouillage première utilisation

Passwd : (Mot de passe d’ouverture de session)

Créer un mot de passe su (différent du précédent)

La version de python installée sur le raspi est 3.10.XX ; ne pas oublier le 3 de python3 sur les installations des 3 premiers modules. L’omission du 3 va créer une installation sous python 2.7 et ça ne marchera pas !

Saisir dans l’ordre les commandes qui suivent.

su
apt install python3 pip
apt-get install python3-tk
apt-get install python3-pil.imagetk
pip install pyserial
pip install numpy
pip install Pillow
pip install opencv-python==4.5.5.62
pip install svgelements
pip install shxparser
pip install scipy

 Quand toutes les librairies sont installées, fermer le terminal. Avec l’explorateur de fichier se rendre à :/usr/local/lib/python3.10/

Clic droit sur le dossier dist-packages et ouvrir en mode administrateur,

Coller le dossier bCNC dans dist-packages. (Pour la version officielle le dossier bCNC se trouve dans bCNC-master)

Fermer l’explorateur de fichier, clic droit sur la méduse et ouvrir “Créer un lanceur”

lanceur

 Remplir les rubriques comme indiqué. quand c’est fini cliquer sur l’icone en haut à gauche et aller en :

/usr/local/lib/python3.10/dist-packages/ bCNC/

sélectionner bCNC.ico et valider “OK”. A ce stade l’icone sur le bureau est opérationnelle pour lancer bCNC.

Démarrage de bCNC

Avant de lancer bCNC il faut raccorder l’interface grbl (arduino uno et CNC shield en ce qui me concerne)

Lancer bCNC et ouvrir la liaison communication /dev/ttyUSB0

Usb0

Avec Linux, tout ce qui n’est pas autorisé est… interdit. Il faut ouvrir l’accès. On quitte bCNC et on ouvre un terminal (clic sur la méduse)

saisir :

          sudo chmod a+rw /dev/ttyUSB0 -→ouverture du port en lecture / écriture

          sudo adduser $USER dialout → l’ouverture reste perenne, même après redémarrage du raspi

Fermeture du terminal et lancement de bCNC

UsbOK

La connection est établie, la machine déclenche un signal d’alarme parce que les Origines Machine sont indéterminées. C’est un état normal à la mise sous tension. A ce stade bCNC est opérationnel.

Liaison entre la CNC et le poste de CFAO

En général la préparation du gcode se fait dans le calme d’un coin informatique éloigné de l’atelier. Pour transférer le gcode vers la machine on peut avoir recours à une clé USB, ou méthode plus sympa, accéder directement de la CNC au poste informatique. Mon poste informatique de CFAO est sous windows et le fichier qui accueille le gcode est mis en partage sur le réseau domestique. Son adresse IP est 192.168.1.98.

Pour accéder à ce fichier depuis le raspi, la démarche est simple : ALT+F2

smb

Dans le champ de saisie : smb://192.168.1.98/  et appui sur démarrer

smb1

Entrer le passwd de session et cocher “remember forever” avant valider “connect”

smb2

 La CNC à maintenant accès au fichier Gcode du poste principal ; on peut maintenant importer le code d’usinage.

Maintenant ‘Yapuka”. J’ai essayé de faire court mais j’espère ne pas avoir fait trop court. Si ce n’est pas assez clair, le dialogue est ouvert.

Bonne soirée,

JP

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Retour en haut