Nous allons voir dans ce tutoriel comment piloter une CNC à l’aide du logiciel laserGRBL, d’un Arduino et d’un shield CNC. Si vous avez un atelier ou souhaitez fabriquer des objets par vous-même, vous allez certainement vouloir fabriquer ou piloter(hacker) une fraiseuse numérique (ou CNC).
Nous avons vu dans un précédent tutoriel une description du Shield CNC, Nous allons voir comment l’utiliser pour piloter une fraiseuse numérique. Dans ce tutoriel, je ne développe pas la conception mécanique mais la partie électronique et logiciel.
Matériel
- Machine CNC (Fraiseuse numérique ou graveuse laser)
- CNC Shield
- Arduino UNO ou compatible
- Stepper driver DRV8825
Schéma de connexion
Le Shield CNC et le laser s’alimente en 12V. Nous utilisons un transistor pour régler la puissance du laser.
Repérez les axes X,Y et Z sur la machine et branchez les moteurs en conséquence sur la carte. Faites attention à l’ordre
Régler les pilotes de moteur pas-à-pas
- Courant limite
Les moteurs pas-à-pas sont dimensionnés pour un certain niveau de courant. En fonction de la tension d’alimentation, il est possible de régler le courant limite délivré par le driver à l’aide d’un multimètre et du potentiomètre qui se trouve sur la carte. Pour cela, il faut mesurer la tension entre le potentiomètre et la masse.
Puis régler le potentiomètre en suivant la formule suivante Vref= max_current/2
Exemple: Pour 1.2A, la valeur mesurée au potentiomètre doit être de 0.6V
- Résolution
Il peut être important aussi de régler la résolution du driver à l’aide des cavaliers pour améliorer la précision et réduire les bruits de vibration. Vous pouvez choisir entre différentes résolutions: jusqu’à 16 pour les A4988 et 32 pour les DRV8825.
M0 | M1 | M2 | DRV8825 | A4988 |
---|---|---|---|---|
Low | Low | Low | Full step | Full step |
High | Low | Low | 1/2 step | 1/2 step |
Low | High | Low | 1/4 step | 1/4 step |
High | High | Low | 1/8 step | 1/8 step |
Low | Low | High | 1/16 step | NC |
High | Low | High | 1/32 step | NC |
Low | High | High | 1/32 step | NC |
High | High | High | 1/32 step | 1/16 step |
Installer le firmware GRBL sur Arduino
Télécharger la librairie GRBL pour Arduino.. Dezippez le fichier, grbl-master.zip
Dans l’IDE Arduino, importez la libraire GRBL. Dans croquis>Inclure une bibliothèque> Ajouter la bibliothèque .ZIP, puis sélectionnez le dossier grbl-master/grbl
Pour flasher le firmware sur la carte Arduino, sélectionnez le Fichier>Exemples> grbl>grpblUpload et téléversez le code sur le microcontrôleur.
Installer LaserGRBL
Télécharger et installer LaserGRBL
Connectez-vous ensuite à l’Arduino pour pouvoir utiliser l’interface afin de tester et configurer votre CNC
Si vous le préférez, il est possible d’installer LaserGRBL sous Linux pour avoir une machine dédié à la graveuse
Configurer GRBL pour votre CNC
Une fois le shield CNC branché et le logiciel LaserGRBL installé, vous allez pouvoir configurer les paramètres de la machine.
Pour cela, un menu est disponible dans l’interface.
N.B.: Vous pouvez aussi retrouver ces paramètres dans le fichier config.h (C:\Users\ADMIN\Documents\Arduino\libraries\grbl\config.h)
Valeur de mm per step ($100,$101 et $102) est donnée par la formule suivante sur chaque axe
step/mm= (step/rev)/(mm/rev)*microstep
la conversion nombre de pas moteur vers mm va dépendre de l’architecture de la CNC
Deux exemples répandus sont:
- la courroie poulie GT2 (mm/rev=pas courroie* nombre de dent=2*20=40)
- la vis sans fin T8 (mm/rev=8)
Il y a certains paramètres à prendre en compte si vous avez des fins de courses et si vous utilisez un laser.
Pour configurer un laser, vous devez modifier les paramètres suivants:
- $30=255 max spindle speed (Laser PWM maximum value)
- $32=0 min spindle speed (Laser PWM minimum value)
- $32=1 Laser mode activated
Pour les vitesse et accélérations, il vous faudra expérimenter un peu pour trouver les paramètres qui correspondent à votre machine.
Ajustements mécaniques
Quelques ajustements doivent être effectués avant d’utiliser la machine correctement. Vérifiez bien les points suivants
- Resserré les boulons et les courroies
- régler le point zéro
- régler le focus du laser
- Vérifier les branchements
Résultats
Pour référence, voici les paramètres de laserGRBL pour une graveuse laser 240x340mm piloté par Shield CNC et un Arduino UNO
$0=10
$1=25
$2=0
$3=2
$4=0
$5=0
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=3
$24=50.000
$25=1000.000
$26=250
$27=2.000
$30=255
$31=0
$32=1
$100=160.000
$101=160.000
$102=160.000
$110=8000.000
$111=8000.000
$112=8000.000
$120=500.000
$121=500.000
$122=500.000
$130=240.000
$131=340.000
$132=200.000
Et le résultat d’une gravure laser