Avant de pouvoir utiliser le Shield CNC, un microprogramme de contrôle doit être installé dans l’Arduino. Ce microprogramme servira d’interface en interprétant les GCodes envoyés à la carte Arduino, afin de les traduire en signaux compatibles avec les moteurs.
Une solution bien aboutie est «GRBL»l. Il s’agit d’un logiciel open-source qui optimisé pour Arduino. Il accepte les codes g conformes aux normes et a été testé avec la sortie de plusieurs outils de FAO sans aucun problème. Les arcs, les cercles et les mouvements hélicoïdaux sont entièrement pris en charge, ainsi que tous les autres g-codes principaux.
Une copie de ce logiciel peut-être téléchargé depuis le site https://github.com/grbl/grbl.
Installation de GRBL
Pour installer GRBL dans l’Arduino, vous devez disposer de l’IDE Arduino, logiciel Open source, disponible à cette adresse https://www.arduino.cc/en/main/software
Après avoir dézippé le fichier GRBL téléchargé, vous devez disposer du fichier grblUpload.ino.
Il faut ouvrir ce fichier dans l’IDE Arduino.
Une fois la carte Arduino connectée et identifiée sur votre machine, il suffit de cliquer sur compile/upload pour procéder au transfert du microprogramme.
En fin de transfert, vous devez recevoir le message done uploading.
Si tout c’est bien passé, vous pouvez cliquer sur Serial Monitor. Vous devriez obtenir l’écran suivant :
Si le message Grbl xxxxxxxx apparaît, le microprogramme est correctement installé.
Premiers essais
Avant d’aller plus loin, il peut être utile de pouvoir tester « en l’état » la chaine déjà construite. Il faut donc pouvoir injecter dans la carte quelques GCode.
J’utiliserais pour cela une solution open Source : Universal GcodeSender.
Universal GcodeSender est un transmetteur de G-Code multi-plateformes compatible GRBL basé sur Java. Il est téléchargeable à l’adresse suivante : https://github.com/grbl/Universal-G-Code-Sender
Une fois téléchargé, connectez la carte Arduino à votre ordinateur
et notez le port COM auquel il est connecté. Lancer ensuite UGC.
Vous devez arriver sur l’écran suivant :
Cliquez sur l’onglet “Contrôle Machine”. Sélectionnez le numéro de port auquel votre carte Arduino est attachée. Sélectionnez 115200 comme le débit en bauds étant donné qu’il s’agit de la vitesse configurée dans le micrologiciel «GRBL» par défaut. Cliquez sur le bouton «Ouvrir» pour lancer la communication. Vous devez avoir un message de confirmation de la connexion.
Vous êtes maintenant prêt à contrôler le moteur pas à pas XYZ connecté à la carte.
Cliquez sur X + ou X- par exemple, le moteur pas à pas relié à la borne X doit tourner !!!
Configuration de GRBL
Il reste maintenant à configurer le logiciel afin de prendre en considération les spécificités mécaniques globales de la machine.
Pour lister les paramètres actuels de la machine, il suffit de taper, depuis la console $$. Vous devez obtenir la liste suivante :
Nous allons nous intéresser aux paramètres principaux (vitaux ??).
Paramètres 100. 101 et 102
C’est paramètres définissent le nombre de pas (des moteurs pas à pas) nécessaires pour parcourir une distance de 1 millimètre sur l’axe indiqué. Le calcul est assez simple :
Valeur = Nombre de pas (du moteur) pour faire 360° / Pas de la vis sans fin (ou nombre de dents de la poulie x espace entre les dents de la courroie).
Dans mon cas (et pour les 3 axes) :
- Moteur Nema 17 : 1,8° par pas, soit 200 pas pour faire 360 °
- Entrainement direct par vis sans fin M8, pas 1.25.
D’où Valeur = 200 / 1.25 = 160
Pour obtenir un déplacement de 1 millimètre, il faudra 160 pas de moteur !
Pour mettre à jour le paramètre, il suffit de taper :
$numéro du paramètre = nouvelle valeur.
Dans mon cas (en théorie) :
$100 = 160
$101 = 160
$102 = 160
Seulement, il y a un autre paramètre qui intervient. Lors de la configuration du Shield CNC, j’ai choisi le mode 1/16 pas, afin d’avoir plus de couple.
Du coup, il ne faut pas oublier de multiplier par 16 le résultat ci-dessus:
$100 = 2560
$101 = 2560
$102 = 2560
Paramètres 130, 131 et 132
Ces 3 paramètres définissent les distances maximales pouvant être parcourues sur chacun des axes. Il n’y a ici pas de calcul à faire, il suffit d’entrer la longueur de déplacement en millimètre. En théorie, si les valeurs entrées sont correctes, les détecteurs de fin de course devraient être inutiles.
Paramètres 110, 111 et 112
Ces paramètres définissent les vitesses maximum de déplacement sur les différents axes. Nous somme plus ici dans le domaine de l’expérimentation. Il s’agit de définir les vitesses de déplacement HORS TRAVAIL, c’est à dire les déplacements de repositionnement.
Une vitesse trop lente fera perdre du temps. Une vitesse trop rapide risque de vous faire perdre des pas moteur.
Il y a beaucoup d’avis qui divergent sur de nombreux forum, les réglages allant de 4000 à 14000.
Des tests en commandes manuelles peuvent déjà donner une bonne idée de la question.
Paramètre 22
Ce paramètre doit être activé (valeur = 1) si vous avez câblé des capteurs de fin de course (ce sera mon cas).
Les paramètres suivants seront alors (et uniquement dans ce cas) à valoriser !
Paramètres 24, 25, 26 et 27
Ces paramètres – lorsque les capteurs de fin de course sont activés – permettent de contrôler la procédure de Homing (point de retour où X=0, Y=0 et Z=0).
Cette procédure peut-être importante, et n’est pas le plus simple réglage à effectuer. On peut se passer de cette procédure, à partir du moment où les G-Codes générés seront exprimés en coordonnées relatives. Il suffira alors d’effectuer un positionnement manuel des 0 avant usinage.
La procédure de Homing va déplacer le portique sur X et Y d’abord relativement vite, jusqu’à toucher le capteur de fin de course. Des mouvements plus lents alternatifs seront ensuite réalisés pour détecter le point exact de déclenchement.
- Le paramètre 24 correspond à la vitesse lente. 25 mm/mn devrait être une valeur correcte. Le but est d’obtenir une localisation exacte et répétable à chaque fois.
- Le paramètre 25 correspond à la vitesse de déplacement rapide. Une vitesse trop élevée et votre portique risque de heurter les fins de course. Une vitesse trop lente va générer un processus trop lent. 500 à 600 mm/mn pourraient être de bons paramètres de départ.
- Le paramètre 26 est la valeur en millisecondes de rebond éventuel du signal électrique du capteur, si celui-ci n’est pas filtré (à ne pas négliger).
- Le paramètre 27 est la valeur de laquelle le processus de homing va se décaler des fins de course, à la fin du processus. Ceci veut dire que le « zéro » mécanique (celui des fins de course) peut-être différent du « zéro pièce ».
Normalement, il ne devrait pas être nécessaire de toucher aux autres paramètres disponibles