Vous êtes sur la page 1sur 7

Configuration

On va commencer par dcrire ce qui ne lest pas trs souvent, la


modification de valeurs dans certains fichiers qui seront compils avec
GRBL lorsque vous le flashez sur lArduino. Si vous avez dj install
GRBL dans votre Arduino, vous lavez certainement compil et flash tel
que, sans faire de modifications. Trs bien, cela fonctionne, et ce nest pas
un problme particulier. Il peut cependant tre utile de savoir comment
modifier la configuration de base, et en quoi cela peut vous aider.

Dans votre IDE (Visual Studio pour moi), ouvrez le fichier config.h qui doit
se trouver dans votre rpertoire GRBL. Cest un assez long fichier (+- 400
lignes) extrmement bien comment, en Anglais bien sr. Nous allons isoler
ici les paramtres de configuration les plus importants pour sadapter au
mieux votre machine spcifique.

Tout dabord, si vous liez en parallle 2 interrupteurs de bute pour 1 mme


axe, au lieu davoir un switch cbl sparment pour chaque extrmit, il
faut d-commenter la ligne commenant par define, ci-dessous, en
supprimant les //

1 // If your machine has two limits switches wired in parallel to one axis, you will need to enable
2 // this feature. Since the two switches are sharing a single pin, there is no way for Grbl to tell
3 // which one is enabled. This option only effects homing, where if a limit is engaged, Grbl will
4 // alarm out and force the user to manually disengage the limit switch. Otherwise, if you have one
5 // limit switch for each axis, don't enable this option. By keeping it disabled, you can perform a
6 // homing cycle while on the limit switch and not have to move the machine off of it.
7 // #define LIMITS_TWO_SWITCHES_ON_AXES

Ensuite, et toujours en liaison avec vos interrupteurs de fin de course, il faut


dfinir si vous cblez vos switches en normalement ouvert, o en
normalement ferm. Par dfaut, GRBL est dfini pour utiliser des switches
normalement ouverts. D-commentez la ligne pour un fonctionnement en
normalement ferm:
// Inverts pin logic of the control command pins. This essentially means when this option is
1
enabled
2
// you can use normally-closed switches, rather than the default normally-open switches.
3
// NOTE: If you require individual control pins inverted, keep this macro disabled and simply alter
4
// the CONTROL_INVERT_MASK definition in cpu_map.h files.
5
// #define INVERT_ALL_CONTROL_PINS // Default disabled. Uncomment to enable.

Depuis peu, GRBL est capable de grer (sil reoit les commandes G-
Codecorrespondantes) la vitesse de rotation de la broche. Si vous vous
servez de cette fonction, laissez l active (elle lest par dfaut), sinon
dsactivez-l. Si vous la laissez active, il vous faudra aussi dfinir la plage
de vitesses dont votre broche est capable:

// Enables variable spindle output voltage for different RPM values. On the Arduino Uno, the
spindle
// enable pin will output 5V for maximum RPM with 256 intermediate levels and 0V when
1
disabled.
2
// NOTE: IMPORTANT for Arduino Unos! When enabled, the Z-limit pin D11 and spindle enable pin
3
D12 switch!
4
// The hardware PWM output on pin D11 is required for variable spindle output voltages.
5
#define VARIABLE_SPINDLE // Default enabled. Comment to disable.
6
7
// Used by the variable spindle output only. These parameters set the maximum and minimum
8
spindle speed
9
// "S" g-code values to correspond to the maximum and minimum pin voltages. There are 256
1
discrete and
0
// equally divided voltage bins between the maximum and minimum spindle speeds. So for a 5V
1
pin, 1000
1
// max rpm, and 250 min rpm, the spindle output voltage would be set for the following "S"
1
commands:
2
// "S1000" @ 5V, "S250" @ 0.02V, and "S625" @ 2.5V (mid-range). The pin outputs 0V when
1
disabled.
3
// BG Note: As the spindle max speed is said to be 12K, that's what I set here. Should never go
1
that fast in the GCode, but I will test.
4
1
#define SPINDLE_MAX_RPM 18000.0 // Max spindle RPM. This value is equal to 100% duty cycle
5
on the PWM.
#define SPINDLE_MIN_RPM 0.0 // Min spindle RPM. This value is equal to (1/256) duty cycle on
the PWM

Jusqu prsent, je nai pas eu besoin de mintresser de prs aux autres


paramtres du fichier config.h, mais sachez que vous avez peut-tre l la
solution certaines difficults que vous pourriez rencontrer en utilisant
GRBL

Paramtrage
Le paramtrage se fait alors que lArduino est branch et que vous tes en
liaison srie avec lui. Il existe beaucoup de logiciels diffrents permettant
denvoyer le G-Code et de contrler GRBL, que ce soit depuis un PC, un
Mac o une machine Linux. Pour viter dentrer de suite dans dautres
considrations de choix pour ces logiciels, nous allons paramtrer GRBL le
plus simplement du monde avec un terminal srie, en envoyant
manuellement les commandes.

Lorsque vous
vous connectez avec un terminal srie sur votre Arduino, si le flashage sest
pass correctement, vous devriez obtenir une rponse Grbl 0.9j [$
for help], tel que vous pouvez le voir ici.

Pour lister lensemble des paramtres qui vous permettront dadapter Grbl
aux spcificits de votre machine, il vous suffit de taper $$. Grbl va
rpondre en renvoyant la liste visible ci-dessous.

Paramtres 100, 101 et 102, nombre de pas par


millimtre.
Nous allons tout dabord nous intresser aux paramtres 100, 101 et 102.
Ces paramtres, comme indiqu dans le
commentaire entre
parenthses, dfinissent le nombre de pas (des moteurs pas pas)
ncessaires pour parcourir une distance de 1 millimtre sur laxe indiqu.
La plupart du temps, 100 et 101 (X et Y) seront identiques, alors que Z
(102) aura une valeur diffrente. Pour vous faciliter la tache, vous trouverez
au bas de larticle un calculateur pour trouver cette valeur, mais la
formule est assez simple:

Valeur = Nombre de pas (du moteur) pour faire 360/Pas


de la Visse sans fin (o nombre de dents de la poulie *
espace dents chane o courroie)

Rsultat = Valeur x Micro Pas.

Exemple: Moteur Nema 17, 1.8 par pas, soit 200 pas pour 360

Courroie dente, 2mm despace entre dents.

Poulie 20 dents
Opration: (200/40) * 4 (par exemple) = 5

Dans cet exemple, il faut 5 pas des moteurs pour parcourir une distance de
1 millimtre. Attention, dans GRBL, tout est en millimtres, donc, si
vous avez des dimensions en pouces (inches), noubliez pas de
multiplier par 25,4 avant de faire vos oprations.

Paramtres 130, 131 et 132. Distance maximum


parcourir sur chacun des axes.
Ici, il ny a pas de calcul faire, il suffit dentrer en millimtres la longueur
de coupe sur cet axe. En thorie, et en labsence de fausses manipulations,
si ces distances sont entres correctement, les dtecteurs de fin de course
devraient tre inutiles.

Paramtres 110, 111 et 112. Vitesse maximum


sur X, Y et Z.
Ici on entre plus dans le domaine de lexprimentation personnelle que
dans le purement rationnel. Il sagit ici de vitesse de dplacement
maximum, HORS TRAVAIL, cest dire pour se repositionner, et pas pour
couper. Il y a de nombreuses discussions sur les forums ce sujet, et
nombreux sont ceux qui soutiennent que des valeurs de 12 000 14 000
sont parfaitement acceptables, alors que dautres pensent que 5 000 est
bien suffisant. Tout dpend de votre mcanique ET de votre lectronique.
Pour commencer, une valeur de 8 000 me semble correcte, et la moiti, 4
000, pour laxe des Z. Exprimentez avec des commandes manuelles pour
voir comment votre machine se comporte.

Paramtres 24, 25, 26 et 27. Homing. Comme


dans E.T., maison !
La procdure de homing (retour la maison, plus techniquement, point 0,
o X= 0, Y = 0 et Z = 0), est importante, et pas le plus simple rglage
effectuer, mais il nest pas obligatoire, simplement il faudra, sil nest pas
utilis, que tous vos fichiers G-Code soient gnrs pour exprimer des
coordonnes relatives, et pas absolues, un concept sur lequel nous
reviendrons plus tard. Tout dabord, ces paramtres ne seront pris en
compte que si le paramtre 22 est 1 (activ), et il faut que vous ayez
cbl vos fins de course.

La procdure de Homing va dplacer le portique sur X et Y, dabord


relativement vite, jusqu ce quil touche les fins de course, puis plus
lentement pour dtecter le point exact o linterrupteur se dclenche, en
effectuant des mouvements lents de va et vient.

Le paramtre 24 correspond cette vitesse lente. 25 mm/min devrait


fonctionner. Le but est dobtenir une localisation exacte et rptable
chaque fois.

Le paramtre 25 correspond la vitesse de dplacement jusqu


dclencher les interrupteurs. Une vitesse trop leve, et votre
portique risque de heurter violemment vos fins de course. Une
vitesse trop lente, et le processus va prendre trop de temps.
Exprimentez, 500 600 mm/min sont de bonnes valeurs de dpart.

Le paramtre 26 est la valeur en millisecondes pendant laquelle le


signal lectrique de linterrupteur peut rebondir lorsquil est
dclench. Ce bruit peut (et devrait!) tre filtr lectroniquement, mais
GRBL utilise ce court dlai pour laisser le temps au signal de se
stabiliser.

Le paramtre 27 est la valeur de laquelle le processus de homing va


se dcaler des fins de course, de manire viter un dclenchement
accidentel des fins de course, une fois que le processus t
achev.

Il nest normalement pas ncessaire de toucher aux autres paramtres,


sauf cas trs particuliers, sur lesquels nous reviendrons ventuellement
loccasion.
Comment changer
les paramtres?
Il suffit de taper $nombre du paramtre = nouvelle valeur, par
exemple $110=10000. Faites nouveau $$pour vrifier les nouvelles
valeurs. Comme vous pouvez le voir sur cette copie dcran les paramtres
110, 111 et 112 ont t modifis.

Conclusion
Jespre que cet article aura lev certaines difficults lutilisation de Grbl.
Bien que ce programme ne ncessite quun Arduino Uno, il est assez
complet et permet de piloter des machines CNC comme les grands .
Dans un prochaine article, nous voquerons diffrents programmes pilotant
lArduino par le biais dune interface graphique, et examinerons lun deux
plus en dtails, sa version Franaise devant tre disponible sous peu.

Vous aimerez peut-être aussi