Homing issue with 2.05 on Duet 0.85

  • There is something strange going on with the homing and max/min of the axis. The coordinate system seems to shift "some times" not always, +20 mm on X axis. I am pretty sure I had the same behavior on Y-axis a few days back. It does not accumulate over several prints.

    Homing does not fix it. If I move the printhead to where I want zero to be and send G92 X0 it does not help either. The printer still reports X20.
    G92 X21 works and sets X21.

    As a test I have copied all homing code from homex.g, homey.g and homez.g into homeall.g and that does NOT give the same result as home each axis by it self. The homeall.g causes an unwanted shift, some times.

    Only reboot seems to resolve this. I have also (during test of modifying homing files and buliding them from nothing adding one axis at the time) that if code for homing Z is missing from homeall.g it homes Z anyway, bug or feature, I dont know. Related? I dont know...

    Please advise, what to try.

    Firmware version 1.26 running on Duet 0.85 (2019-12-13b1). As far as I know it turned up after updating the firmware.


    My end print G-code:

    M109 ; switch off extruder
    M191 ; switch off heated bed
    G91    ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G90   ; absolute positioning
    G1 X10 Y175 ; move bed to access print
    ;M1 ; end of program
    M929 S0  ; stop logging

    My homeall.g

    ; homeall.g
    G91                     ; relative positioning
    G1 Z6 F6000 S2          ; lift Z relative to current position
    G1 S1 X-200 Y-200 F2500 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 X5 Y5 F6000          ; go back a few mm
    G1 S1 X-185 Y-185 F360  ; move slowly to X and Y axis endstops once more (second pass)
    G90   ; absolute positioning
    G1 X66 Y90 F10000 ; go to bed probe point and home Z
    G30                     ; home Z by probing the bed
    G1 F10000 X0 Y0


    ; Configuration file for Duet 0.8.5 (firmware version 1.21)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool v2 on Tue Nov 13 2018 18:54:17 GMT+0100 (Central European Standard Time)
    ; General preferences
    G90                                      ; Send absolute coordinates...
    M83                                      ; ...but relative extruder moves
    ; Network
    M550 PC                              ; Set machine name
    ;M552 P0.0.0.0 S1 ; DHCP + Enable
    M551 Preprap                             ; Set password
    M552 P192.168.0.65 S1                    ; Enable network and set IP address
    M553 P255.255.255.0                      ; Set netmask
    M554 P192.168.0.1                        ; Set gateway
    M586 P0 S1                               ; Enable HTTP
    M586 P1 S0                               ; Disable FTP
    M586 P2 S0                               ; Disable Telnet
    ; Drives
    M569 P0 S0 V100                              ; Drive 0 goes forwards (X)
    M569 P1 S1 V100                               ; Drive 1 goes backwards (Y)
    M569 P2 S1 V100                               ; Drive 2 goes forwards
    M569 P3 S1 V100                               ; Drive 3 goes forwards
    M584 X0 Y1 Z2 ; Map drives to letters, Y=>0, X=>1, Z=>2
    ;M92 X79.72 Y79.72 Z79.72 E118.00       ; Set steps per mm; used to be E127
    M92 Y88.681 X79.72 Z79.72 E409.00       ; Set steps per mm; used to be E127, 118 for CETUS
    M566 X280.00 Y280.00 Z90.00 E220.00      ; Set maximum instantaneous speed changes (mm/min)
    M203 X28000.00 Y28000.00 Z15000.00 E10000.00  ; Set maximum speeds (mm/min)
    M201 X200.00 Y200.00 Z100.00 E350.00      ; Set accelerations (mm/s^2)
    M906 X340.00 Y1000.00 Z500.00 E800.00 I30 ; Set motor currents (mA) Ormerod motor X-axis
    M84 S30                                  ; Set idle timeout
    ; Axis Limits
    M208 X0 Y-22 Z0 S1                         ; Set axis minima
    M208 X184 Y185 Z180 S0                   ; Set axis maxima
    ; Endstops
    M574 X1 S0                               ; Set active low endstops
    M574 Y1 S0
    M574 Z1 S2                            ; Set endstops controlled by probe
    M558 P1 H5 F250 T6000                    ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P538 X0 Y0 Z1.78                     ; Set Z probe trigger value, offset and trigger height
    M557 Y50:180 X10:165 S40                 ; Define mesh grid
    G29 S1 					; Load stored mesh grid from SD Card
    ; Heaters
    M140 H-1                                 ; Disable heated bed
    M305 P1 R4700  T100000 B4725 C7.06e-8 ; Hemera extruder
    M143 H1 S280                             ; Set temperature limit for heater 1 to 280C
    ; Fans
    M106 P1 B1 T80:220 H1 X150 S255 ; heatsink fan, turn on at 80 C, max speed at 180 degrees
    M106 P0 B1 S0 X255 ; turn off part cooling fan at startup, maxspeed 255 of 255
    ; Tools
    M563 P0 D0 H1                            ; Define tool 0
    G10 P0 X20 Y22 Z0                          ; Set tool 0 axis offsets
    G10 P0 R0 S0                             ; Set initial tool 0 active and standby temperatures to 0C

  • @fotomas said in Homing issue with 2.05 on Duet 0.85:

    M906 X340.00

    your motor current for x looks really low.

    G10 P0 X20 Y22 Z0 ; Set tool 0 axis offsets

    is this intentional? offsets for the probe should be defined in the G31 command and unless there is a specific reason for it the G10 command for tool 0 should not have an offset.

  • 🤦 the G10 seems to fix it. I will run a few tests. But it seems promising.

    The motor current is ok, that axis has an original Cetus stepper motor.

  • Issue solved!

    That G10 offset did the trick, must have added that as some sort of test and forgot about it.

    Thank you for quick help, keep on printing!

  • Moderator

    @fotomas said in Homing issue with 2.05 on Duet 0.85:

    G29 S1 ; Load stored mesh grid from SD Card

    Not a good idea to load the mesh at power on before the Z axis has been probe. Load it at the end of homeall or in your slicer start gcode.

Log in to reply