@kurn said in Duet Ethernet Mesh bed compensation:
I have added the instruction G30 S-1 in the cura code and then a G92 X0 Y0 Z0 E0,
That does not sound correct at all. You should not use G92 in your slicer start code at all. Except for E if you are using absolute extrusion. (you should use relative extrusion anyway)
In bed.g you should remove these two lines:
M500 ; store parameters auto bed compensation
M374 ; saves the height map
They are not needed. G29 will automatically save and apply the heightmap.csv
In your homing files you are homing using the endstop switches to level the Z axis, which is fine, but you should then use the probe to find Z0 at bed center with G30.
M584 Z2 U3 P4 ; split Z motor control to Z and U, for it to work we have to show U (param P4) in the UI
G1 S1 Z-180 U-180 F450 ; move Z down until the endstop is triggered
G1 Z5 U5 F450 ; go back a few mm
G1 S1 Z-255 U-255 F180 ; move slowly to Y axis endstop once more (second pass)
M584 Z2:3 P3 ; back to combined axes and hidden
G90 ; absolute positioning
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
After this section, add this:
G1 Z10 F6000 ; Raise Z axis to 10mm above the bed
G1 X200 Y200 ; Move probe to bed center (adjust for your bedsize and probe offset
G30 ; probe center of the bed to establish Z0
G29 S1 ; load saved heightmap
G1 Z5 ; raise nozzle 5mm above bed
G1 X0 Y0 ; return print head to 0,0 position
You should also then remove M375 ; Load height map from your config.g. Instead, it will load when you home the printer after the Z0 has been defined.