Home Z before Homing Z?



  • Hey guys,
    got my shiny new duet wifi board and fitted it to my printer, everything has been going well. heaters work, bed works. steppers jog, bltouch works etc etc X and Y both home correctly and bump the endstops nicely, but, i cant home Z or Home All. If i send G92 Z100 and then send G30 the Z axis moves down and probes the bed and sets the correct offset as per the config. i just cant get the G28 commands to work.
    Details: CoreXZ, BlTouch, v1.20 firmware, ATX ps_on

    Error messages: G28 Z "Must home these axes: Z before homing these: Z"

    G28 "Push(): stack overflow"
    "homing failed"

    Being a Duet Newbie ive probably got something out order or missing, been running Marlin for last 3 years decided its time to get with the times. Im in love with the duet ecosystem, such a pleasure to use! Quality of the Duet board is excellent. leaps and bounds coming from a ramps setup.

    Heres my setup:

    Config.g

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Feb 19 2018 19:56:04 GMT+1100 (AEDT)
    
    ; 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 Marlin
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Configure automatic saving on power loss
    
    M667 S2 Z3                                         ; Select CoreXZ mode, Scaled Z by 3
    
    ; Drives
    M569 P0 S0                                         ; Drive 0 goes forwards   X
    M569 P1 S0                                         ; Drive 1 goes forwards   Z
    M569 P2 S1                                         ; Drive 2 goes backwards  Y
    M569 P3 S1                                         ; Drive 3 goes forwards
    M569 P4 S0                                         ; Drive 4 goes backwards
    M584 X0 Y2 Z1 E3:4                                 ; Apply custom drive mapping
    M350 X16 Y16 Z16 E16:16 I1                         ; Configure microstepping with interpolation
    M92 X100 Y100 Z100 E469:469                        ; Set steps per mm
    M566 X900 Y900 Z12 E120:120                        ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z1800 E2700:2700                  ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z100 E200:200                     ; Set accelerations (mm/s^2)
    M906 X855 Y1000 Z855 E1200:1200 I30                ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    ; Axis Limits
    M208 X-9 Y0 Z0 S1                                  ; Set axis minimum
    M208 X260 Y250 Z270 S0                             ; Set axis maximum
    
    ; Endstops and Bltouch
    M574 X1 Y1 S0                                      ; Set active low endstops
    M574 Z1 S2                                         ; Set endstops controlled by probe
    M307 H3 A-1 C-1 D-1                                ; use heater 3 as pwm out
    M558 P5 X0 Y0 Z1 H5 F100 T2000                     ; Set Z probe type to switch and the dive height + speeds
    G31 X0 Y-25 Z0.88 P5                              ; Set Z probe trigger value, offset and trigger height
    M557 X5:255 Y5:245 S25                             ; Define mesh grid
    
    ; Heaters
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30          ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B4725 C7.060000e-8 R4700           ; Set thermistor + ADC parameters for heater 0
    M143 H0 S140                                       ; Set temperature limit for heater 0 to 140C
    M301 H0 S1.00 P27.12 I1.81 D101.3 T0.4 W180 B30    ;Set Hotend PID parameters
    M305 P1 T100000 B4725 C7.060000e-8 R4700           ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                                       ; Set temperature limit for heater 1 to 280C
    
    ; 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
    M563 P1 D1 H1                                      ; Define tool 1
    G10 P1 X0 Y0 Z0                                    ; Set tool 1 axis offsets
    G10 P1 R0 S0                                       ; Set initial tool 1 active and standby temperatures to 0C
    
    ; Network
    M550 PGavatron3000                                 ; Set machine name
    M552 S1                                            ; Enable network
    M586 P0 S1                                         ; Enable HTTP
    M586 P1 S0                                         ; Disable FTP
    M586 P2 S0                                         ; Disable Telnet
    
    ; Fans
    M106 P0 S1 I0 F500 H1 T50                          ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P1 S1 I1 F500 H-1                             ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P2 S1 I0 F500 H-1                             ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
    
    ; Custom settings are not configured
    
    ; Miscellaneous
    T0                                                 ; Select first tool
    
    

    Homez.g

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Feb 19 2018 19:56:04 GMT+1100 (AEDT)
    G91               ; relative positioning
    G1 Z5            ; move Z up to clear bed
    G90               ; Absolute positioning
    G1 X130 Y150 F3000; Z safe homing
    G30
    G1 Z4 F1800       ; go back a few mm
    G30
    G1 Z4 F1000       ; lift Z relative to current position
    
    

  • administrators

    That's a confusing error message! What I think it means is that trying to home Z didn't work. I'll see if I can reproduce it.

    Are you using firmware 1.21RC3 by any chance? If so then your G1 Z5 command in homez.g must be changed to G1 S2 Z5.

    Please post your homeall.g file too.



  • i had a laugh when it popped up lol

    version: v1.20

    Homeall.g

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Feb 19 2018 19:56:04 GMT+1100 (AEDT)
    
    ;home all axis in order
    G28 X Y
    M98 PHomez.g
    
    

    i just changed my homeall.g to the above code, it homes x and y then moves to middle of bed then says : G30 insufficient axes homed



  • if i change my homez.g to this:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Feb 19 2018 19:56:04 GMT+1100 (AEDT)
    G91               ; relative positioning
    G1 Z5            ; move Z up to clear bed
    G90               ; Absolute positioning
    G1 X130 Y150 F3000; Z safe homing
    G92 Z270
    G30
    G1 Z4 F1800       ; go back a few mm
    G30
    G1 Z4 F1000       ; lift Z relative to current position
    
    

    i can get it to work for G28, but errors still popup saying homing failed, button turns blue on Web interface though. still fails on G28 Z


  • administrators

    Homeall.g should not have a G28 in it; but you can call the homex.g and homey.g files like this if you wish:

    M98 Phomex.g
    M98 Phomey.g

    I expect the recursive nature of G28 on your machine accounts for the confusing error message too. It certainly accounts for the stack overflow!



  • yep no worries, oversight by me, so ive changed that. homeall overflow error is gone, so now

    homeall works if i include G92 Z270 before G30

    home z gives same error regardless, home z first before z

    not a CoreXZ issue hopefully


  • administrators

    When you get the error message, are you trying to home Z when X and Y have already been homed, or when X and Y are not homed?



  • X and Y are already homed


  • administrators

    I'm sorry, I have only just realised that you are using a CoreXZ architecture. I think you may be the first to use CoreXZ on a Duet!

    The current code assumes that on a CoreXZ machine, a Z endstop switch is used, because it requires all of X, Y and Z axes to be homed before bed probing. But I can't think of a good reason for that, so in firmware 1.21RC4 I'll change it to requires only X and Y to be homed before bed probing (as for most other architectures). Meanwhile I suggest you use the G92 workaround.



  • ahhh ok no problems ill wait eagerly for that firmware, cheers David


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.