Hello all!

I'm new to this forum and I'm looking for some help with a DIY CNC machine.
I am mostly finished with my build, just wrapping up some loose ends and trying to learn a lot about CAM and machining. However, I am having an issue with my Z-axis. A little background on my machine:

-Welded steel frame, 1500mm x 1000mm x 400mm linear guide rails
-2.2kw spindle motor
-Arduino Uno running GRBL for motion control
-PC running Universal Gcode Sender (UGS) with usb connection to the Arduino
-Inductive limit switches

Now to my problem. When I set up a workpiece, I move the tool to my desired position and zero the work coordinates. Then, I home the machine. Next, I start the gcode program and the machine heads to start cutting. The problem lies with the Z-axis. When the machine returns to the workpiece zero I set previously, the Z axis goes too low. It goes exactly 1mm to low. I have learned that this error distance corresponds directly to my homing rebound distance (the distance each axis rebounds off the homing switch after home is set). So if I set my rebound distance to 5mm in the firmware settings, the error in my Z-axis is 5mm. The confusing part is that this only happens to the Z-axis, not X or Y. The settings appear to be the same for X, Y, and Z, but I must be missing something.

I have tried basic troubleshooting to find out that it is the rebound distance that is the issue. It happens every time after workpiece zero is set.

If anyone knows what could fix this issue, I would be forever grateful!

Thank you all,

-Samnot