Nous disposons d'une cnc opensource pour le bois avec une surface utile de 800mm*800mm et 60mm de débatement pour la hauteur du Z
Elle était commercialisée par un breton. Les ressources sont accessibles sur son site https://www.mon-fablab.fr
Elle n'est pas très rapide mais fait le job en prenant son temps.
Ne pas fraiser sans surveillance
modélisation 2D avec inkscape -->Jscut --> Gcode --> pilotage de la cnc
mode d'emploi
La piloter avec le logiciel opensource UGS
Elle fonctionne sur le GRBL 0.9
Nous avons fait une petite bidouille car le endstop Z ne fonctionnait pas.
Nous voulions conserver les fonctions de softlimit ($20=1) et hardlimit ($21=1) pour les axes X et Y mais pas pour l'axe Z.
Voici ce que l'on a fait.
Le fichier contenant les fonctions de homing, soft et hard limit est limits.c
la fonction limits_get_state
gère le hard limit
la fonction limits_soft_check
gère le soft limit
dans chacune de ces fonctions, il y a une boucle sur les 3 axes (N_AXIS = 3).
for (idx=0; idx<N_AXIS; idx++) { ... }
Nous avons donc limité cette boucle à N_AXIS-1 pour ne faire que les 2 premiers axes
for (idx=0; idx<N_AXIS-1; idx++) { ...}
Ce n'est pas élegant mais ça marche!
Library Arduino GRBL 0.9j modifiée au 6 dec 24
__grbl_omm_09j_06_dec_24.zip
$0 = 10 (step pulse, usec)
$1 = 255 (step idle delay, msec)
$2 = 0 (step port invert mask:00000000)
$3 = 7 (dir port invert mask:00000111)
$4 = 0 (step enable invert, bool)
$5 = 0 (limit pins invert, bool)
$6 = 0 (probe pin invert, bool)
$10 = 3 (status report mask:00000011)
$11 = 0.010 (junction deviation, mm)
$12 = 0.002 (arc tolerance, mm)
$13 = 0 (report inches, bool)
$20 = 1 (soft limits, bool)
$21 = 0 (hard limits, bool)
$22 = 1 (homing cycle, bool)
$23 = 7 (homing dir invert mask:00000111)
$24 = 25.000 (homing feed, mm/min)
$25 = 500.000 (homing seek, mm/min)
$26 = 250 (homing debounce, msec)
$27 = 1.000 (homing pull-off, mm)
$100 = 640.000 (x, step/mm)
$101 = 640.000 (y, step/mm)
$102 = 800.000 (z, step/mm)
$110 = 900.000 (x max rate, mm/min)
$111 = 900.000 (y max rate, mm/min)
$112 = 500.000 (z max rate, mm/min)
$120 = 10.000 (x accel, mm/sec^2)
$121 = 10.000 (y accel, mm/sec^2)
$122 = 10.000 (z accel, mm/sec^2)
$130 = 82.000 (x max travel, mm)
$131 = 820.000 (y max travel, mm)
$132 = 80.000 (z max travel, mm)
COnfig par défaut 1.1h
$0 = 10 (Step pulse time, microseconds)
$1 = 25 (Step idle delay, milliseconds)
$2 = 0 (Step pulse invert, mask)
$3 = 0 (Step direction invert, mask)
$4 = 0 (Invert step enable pin, boolean)
$5 = 0 (Invert limit pins, boolean)
$6 = 0 (Invert probe pin, boolean)
$10 = 1 (Status report options, mask)
$11 = 0.010 (Junction deviation, millimeters)
$12 = 0.002 (Arc tolerance, millimeters)
$13 = 0 (Report in inches, boolean)
$20 = 0 (Soft limits enable, boolean)
$21 = 0 (Hard limits enable, boolean)
$22 = 0 (Homing cycle enable, boolean)
$23 = 0 (Homing direction invert, mask)
$24 = 25.000 (Homing locate feed rate, mm/min)
$25 = 500.000 (Homing search seek rate, mm/min)
$26 = 250 (Homing switch debounce delay, milliseconds)
$27 = 1.000 (Homing switch pull-off distance, millimeters)
$30 = 1000 (Maximum spindle speed, RPM)
$31 = 0 (Minimum spindle speed, RPM)
$32 = 0 (Laser-mode enable, boolean)
$100 = 250.000 (X-axis travel resolution, step/mm)
$101 = 250.000 (Y-axis travel resolution, step/mm)
$102 = 250.000 (Z-axis travel resolution, step/mm)
$110 = 500.000 (X-axis maximum rate, mm/min)
$111 = 500.000 (Y-axis maximum rate, mm/min)
$112 = 500.000 (Z-axis maximum rate, mm/min)
$120 = 10.000 (X-axis acceleration, mm/sec^2)
$121 = 10.000 (Y-axis acceleration, mm/sec^2)
$122 = 10.000 (Z-axis acceleration, mm/sec^2)
$130 = 200.000 (X-axis maximum travel, millimeters)
$131 = 200.000 (Y-axis maximum travel, millimeters)
$132 = 200.000 (Z-axis maximum travel, millimeters)
Modifications pour coller
???
$1 = 255 (step idle delay, msec)
$3 = 7 (dir port invert mask:00000111)
Homing et soft limits (lr $20 est a faire avec le 22 mis à 1)
$22 = 1 (homing cycle, bool)
$23 = 7 (homing dir invert mask:00000111)
$20 = 1 (soft limits, bool)
DImensions de la CNC
$100 = 640.000 (x, step/mm)
$101 = 640.000 (y, step/mm)
$102 = 800.000 (z, step/mm)
$110 = 900.000 (x max rate, mm/min)
$111 = 900.000 (y max rate, mm/min)
$112 = 500.000 (z max rate, mm/min)
$120 = 10.000 (x accel, mm/sec^2)
$121 = 10.000 (y accel, mm/sec^2)
$122 = 10.000 (z accel, mm/sec^2)
$130 = 820.000 (x max travel, mm)
$131 = 820.000 (y max travel, mm)
$132 = 80.000 (z max travel, mm)
Le rapport a changé en 1.1 donc cette conf n'est pas à répliquer
$10 = 3 (status report mask:00000011)