Homing one axis changes the position of the other axis

  • Hi guys, I have a peculiar issue. Homing one axis changes the position of the other axis. Example when I home the Y axis (which goes to Y=0), the position for the Z in the DWC changes (if it was 0.3 it may jump to 0.41 etc.)

    What can be causing this? I am using a Precision Piezo with nozzle as probe.

    Here is my firmware version

  • Can you post your config.g and homing files?

  • ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Sun Mar 11 2018 10:55:11 GMT-0400 (AST)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 PHypercube Evolution ; Set machine name
    M552 S1 ; Enable network
    M587 S"HomeWiFi" P"xxxxxx" I192.168.0.132 J192.168.1.254 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes backwards
    M569 P4 S0 ; Drive 4 goes backwards
    ;M584 X0 Y1 Z2 E4 ; Apply custom drive mapping
    M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z800 E418:418 ; Set steps per mm
    M566 X600 Y600 Z20 E120:120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z300 E1200:1200 ; Set maximum speeds (mm/min)
    M201 X500 Y500 Z300 E250:250 ; Set accelerations (mm/s^2)
    M906 X600 Y600 Z600 E800:800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    ;M572 D0 S0.5 ; Pressure advance for Extruder0
    ;M572 D1 S0.5 ; Pressure advance for Extruder1

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X265 Y285 Z270 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 S3 ; set endstops to use motor stall

    ; Z-Probe
    M574 Z1 ; Set endstops controlled by probe
    M558 P7 H5 F120 T6000 ; Set Z probe type to switch, and the dive height, speeds
    G31 P500 X0 Y0 Z-0.1 ; offset and trigger height
    M557 X25:265 Y5:285 S80 ; Define mesh grid
    M376 H10 ; Fade distance

    ; Heaters
    M304 P377.6 I11.413 D531.8
    M305 P0 T100000 B3950 R4700 H1 L0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M301 H2 P12.6 I0.584 D35.7
    M305 P2 T100000 B3950 R4700 H1 L0 ; Set thermistor + ADC parameters for heater 1
    M143 H2 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S0 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

    ; Tools
    M563 P0 D1 H2 ; 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

    ; Automatic saving after power loss is not enabled
    ; Custom settings are not configured
    ; Miscellaneous
    T0 ; Select first tool

  • @phaedrux

    ; homex.g
    ; called to home the X axis

    M400 ; make sure everything has stopped before we make changes
    M913 X60 ; reduce motor current to 50% to prevent belts slipping unfiltered
    M915 P0:1 S3 R0 F0

    G91 ; use relative positioning
    G1 S1 X-325 F3000 ; move to home position
    G1 X25 F2000 ; back off to edge of bed

    G90 ; back to absolute positioning
    M913 X100 Y100 ; motor currents back to normal

  • How bout the other axis homing files?

  • @phaedrux

    ; homez.g
    ; called to home the Z axis

    ; Drop the bed for travel
    G91 ; Relative positioning
    G1 Z10 F200 S2 ; Lower bed 5mm to ensure it is below the switch trigger height

    ; Move probe into position
    M98 homex.g
    M98 homey.g

    G90 ; absolute positioning
    G1 X145 Y145 F4000 ; Move x and Y axis over to bed center so probe is on top of bed

    ; Set lower speeds for homing
    M566 Z5 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
    M203 Z400 ; Set maximum speeds (mm/min)
    M201 Z100 ; Set maximum accelerations (mm/s^2)

    ; Probe the bed
    M558 A1 F350 ; Set single probing at faster feed rate
    G30 ; Do a single probe to home our Z axis

    ; Set normal speeds again
    M566 Z12 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
    M203 Z300 ; Set maximum speeds (mm/min)
    M201 Z300 ; Set maximum accelerations (mm/s^2)

  • @phaedrux

    Forum says I'm a newbie so I have to wait one minute before posts ๐Ÿ™„

  • I guess you could have put them all into one post. But I guess that's one way to get your post count up. ๐Ÿ˜„

  • Are you using mesh grid bed compensation?

  • @phaedrux

    Yes I am

  • Try disabling it and see if it behaves the same. Just a hunch but maybe it's not applying correction during homing moves, keeping the z fixed, but it still knows the height based on the height map and displays the actual height.

  • @phaedrux

    I believe you are right. Disabling mesh does not change the Z value.