Z (as reported by M114) increases by ~0.02mm with X or Y home command
-
Almost have my Duet Wifi printing on my newly built Voron CoreXY. I'm running Firmware Version: 1.18beta1 (2017-02-21). Was leveling my bed when I noticed that every time I home X, Z increases by 0.02 or 0.03mm. Then I tried homing Y, and that increases Z by 0 or 0.01mm after every Y home. Here's the trend, with 10mm being the base Z (to make sure the Z end stop is not involved):
Here are the Z heights as I home X 10 times:
10
10.02
10.05
10.07
10.10
10.12
10.15
10.17
10.20
10.22
10.25From the pattern it looks like Z is increasing 0.025mm each time I home X.
Y is similar but the error introduced is smaller:
10
10
10.01
10.01
10.01
10.01
10.02
10.02
10.02
10.02
10.03
10.03It looks like Z increases by 0.0025 every time I home Y.
Here are my X and Y homing scripts:
; X axis homing file for dc42 Duet firmware
G91 ; relative mode
G1 Z4.0 F6000 ; raise head to avoid dragging nozzle over the bed
G1 X-240 F2000 S1 ; move up to 240mm in the -X direction, stopping if the homing switch is triggered
G1 X2 F2000 ; move slowly 2mm in the +X direction
G1 X-10 F 360 S1 ; move slowly 10mm in the -X direction, stopping at the homing switch
G90 ; absolute mode
G1 X0 F2000 ; Move head to 0 to get it over the bed (actual home position is slightly negative)
G91 ; relative mode
G1 Z-4.0 F6000 ; lower the head again
G90 ; back to absolute mode; Y axis homing file for dc42 Duet firmware
G91 ; relative mode
G1 Z4 F6000 ; raise head to avoid dragging nozzle over the bed
G1 Y-240 F2000 S1 ; move up to 240mm in the -Y direction, stopping if the homing switch is triggered
G1 Y2 F2000 ; move slowly 2mm in the +Y direction
G1 Y-10 F 360 S1 ; move slowly 10mm in the -Y direction, stopping at the homing switch
G90 ; absolute mode
G1 Y0 F2000 ; Move head to 0 to get it over the bed (actual home position is slightly negative)
G91 ; relative mode
G1 Z-4 F6000 ; lower the head again
G90 ; back to absolute modeAnd here's my config.g:
; Configuration file for Duet WiFi; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates…
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like MarlinM667 S1 ; Select CoreXY mode
M208 X-10 Y-10 Z0 S1 ; Set axis minima
M208 X240 Y230 Z225 S0 ; Set axis maxima (measured by FMH, includes safety margin); Endstops
M574 X1 Y1 Z0 S1 ; Define active high microswitchesM558 P5 X0 Y0 Z1 H3 I0 F120 T8000; Set Z probe type to P5 (from RepRapFirmware 1.14)
; Selects a switch (normally closed) for bed probing between
; In and Gnd pins of the Z-probe connector (Duet 0.8.5 and Duet WiFi)
; Z1 means use this for homing as wellG31 P600 X0 Y0 Z0 ; Set Z probe trigger value (not needed for probe type = P5?), offset and trigger height
; Drives
M569 P0 S0 ; X Drive goes backwards
M569 P1 S1 ; Y Drive goes forwards
M569 P2 S0 ; Z Drive goes backwards
M569 P3 S1 ; Extruder Drive 0 goes backwards
M569 P4 S1 ; Extruder Drive 1 goes backwardsM350 X16 Y16 Z16 E16:16:16 I1 ; Configure microstepping with interpolation
M92 X80.0 Y80.0 Z400.0 E420:608.0 ; Set steps per mm
M566 X1000 Y1000 Z30 E120:120 ; Set maximum instantaneous speed changes (mm/min)
M203 X8000 Y8000 Z1000 E1200:1200 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z250 E250:250 ; Set accelerations (mm/s^2)
M906 X1700 Y1700 Z1700 E800:1700 I10 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Heaters
M143 S260 ; Set maximum heater temperature to 260C
M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
M305 P0 T10000 B4725 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 0
M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1; Tools
;M563 P0 D0 H1 ; Define tool 0
;G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
;G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C; Definition for Extruder 0
M563 P0 D0 H1; Define tool 0 (removed H1 for debug)
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C; Definition for Extruder 1
M563 P1 D1 H1; Define tool 0 (removed H1 for debug)
G10 P1 X0 Y0 Z0 ; Set tool 0 axis offsets
G10 P1 R0 S0 ; Set initial tool 0 active and standby temperatures to 0CT0 ; select Extruder 0 by default
; Network
M550 PFred's Voron ; Set machine name
M551 Preprap ; Set password
M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP; Fans
M106 P0 T45 H1 ; Turn on fan 0 when hot end is >= 45C
;M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
;M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
;M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on; Custom settings are not configured
-
Are you using either bed compensation or orthogonal axis compensation?
-
Are you using either bed compensation or orthogonal axis compensation?
Ah…you're right. Problem occurs only after I do an Auto Bed Compensation. Before I do an ABC there's no creeping Z error.
-
Just saw that this is a known issue:
https://www.duet3d.com/forum/thread.php?id=751 -
You may find it fixed in 1.18beta3.