[SOLVED] Z shifting after 1000s of moves on X-Controller

Sorry for the late reply, I was away… Here’s the info requested.

My machine is a 500mm X-Carve with these mods.

I have also switched my Z
from
1:2 microstepping / 1:1 gearing / GT2 belt
to
1:1 microstepping / 1:2 gearing / GT3 belt (same $102, more torque)

The GRBL settings are:
$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$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.020 (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=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$30=0. (rpm max)
$31=0. (rpm min)
$100=26.667 (x, step/mm)
$101=26.667 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=595.000 (x accel, mm/sec^2)
$121=595.000 (y accel, mm/sec^2)
$122=83.960 (z accel, mm/sec^2)
$130=263.000 (x max travel, mm)
$131=314.000 (y max travel, mm)
$132=90.000 (z max travel, mm)

Here is the test gcode 1_waistboard_8.5mm_insert_13-14mm_deep.gcode (232.2 KB). This basically creates 4 holes for threaded inserts. With Z0 on the top of the workpiece, the deepest Z is Z-14 .

My testing process was as follows.

  • home and cancel offsets (G92.1)
  • go on top of front central hole
  • place a 20mm thick piece of MDF on the waistboard (any piece thicker than 14mm which is the deepest Z will allow “air cutting”)
  • probe on top of that piece of MDF and set Z to the thickness of the probe (G92)
  • check that Z0 barely touches the MDF
  • move Z up (to a predefined G30)
  • start air cutting
  • when done move to the same X,Y where the probing was initially done
  • place MDF on top of waistboard again
  • go to Z0
  • measure the gap between the MDF and the bit (with callipers when gap>2mm, with 0.1mm-step jogging when gap<=2mm)

To answer your last question, Z is physically higher (and creates a gap as mentioned above). I guess when missing downward steps while helically plunging makes GRBL think it is lower, while it is actually higher. Therefore, a Z0 takes the bit higher than the surface (the top of the MDF in the test).