Étiquettes : ,

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

cncshield-lasercut-wiring Contrôler une CNC avec laserGRBL et un shield CNC

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

stepper-driver-vref-measurement Contrôler une CNC avec laserGRBL et un shield CNC

  • 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.

cncshield-microstep-jumpers Contrôler une CNC avec laserGRBL et un shield CNC
M0M1M2DRV8825A4988
LowLowLowFull stepFull step
HighLowLow1/2 step1/2 step
LowHighLow1/4 step1/4 step
HighHighLow1/8 step1/8 step
LowLowHigh1/16 stepNC
HighLowHigh1/32 stepNC
LowHighHigh1/32 stepNC
HighHighHigh1/32 step1/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

N.B: GRBL pour Arduino Mega

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.

arduino-grbl-exemples Contrôler une CNC avec laserGRBL et un shield CNC

Installer LaserGRBL

Télécharger et installer LaserGRBL

lasergrbl-overview Contrôler une CNC avec laserGRBL et un shield CNC

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)
Calcul du nombre de pas par mm ($100, $101 ou $102)







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

lasercnc-result Contrôler une CNC avec laserGRBL et un shield CNC

Sources