I was measuring the accuracy and repeatability of the X and Y axes on my machine (DUET 6HC firmware 3.4.0 card) when I noticed some strange behaviour on the Z axis.
Each time Home X or Home Y is made, the Z position increases by a small increment which is equal to the deviation given by the height map.
For example, after doing Height Map, I have my XYZ origin = (0;0;0) for my tool.
I move the tool to the point (150;0;0) with the command G90 G0 X150.
The height map shows a flatness error of 0.2 mm in Z at point XY (150;0).
The tool therefore physically moves to the point (150;0;0.2) on the machine, which is actually at the co-ordinates (150;0;0) according to the height map.
I ask the machine for a Home X using the G28 X command.
Here is the gcode contained in the homex.g file:
G91; relative positioning
G1 H1 X-650 F1000 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F1000 ; go back a few mm
G1 H1 X-650 F160 ; move slowly to X axis endstop once more (second pass)
G90 ; absolute positioning
The tool moves along X then comes into contact with the limit switch.
The tool coordinates then become (0;0;0.2): the machine has taken into account the Z deviation of the Height Map.
I repeat the same operation, this time asking the tool to move to the coordinates (70;0;0) using the G90 G0 X70 command.
The height map shows a very small Z deviation at this co-ordinate (0.002 mm observed).
I again request a home X with the G28 command.
After returning to the origin, the tool's co-ordinates are still (0;0;0.2), unchanged from the previous test.
This can be repeated for homing on the X and Y axes.
I tried to 'force' the Height Map to be taken into account when homing in the homex.g file, but the observations remain unchanged:
G91; relative positioning
G29 S1
G1 H1 X-650 F1000 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F1000 ; go back a few mm
G1 H1 X-650 F160 ; move slowly to X axis endstop once more (second pass)
G90 ; absolute positioning
Is anyone experiencing the same phenomenon on their machine? Is this due to a firmware limitation?