Z height always not respected



  • Hello guys, I'm still here 🤠 😵 well, the problem is that the height is not respected when I launch a print. The nozzle is always too high from the bed.
    Could you suggest to me what I have to take a look?
    Thank you guys

    homeall.g:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:18 GMT+0200 (Ora legale dell’Europa centrale)
    ;M400
    ;M913 X50 Y50
    ;M915 X F0 H400 S3 R0
    ;M915 Y F0 H400 S2 R0
    ;G91               		; relative positioning
    ;G1 H2 Z5 F7200          ; lift Z relative to current position
    ;G1 H1 X5 F5000
    ;G1 H1 X-305 F5000 S1		; move quickly to X or Y endstop and stop there (first pass)
    ;G1 H1 X10	
    M98 P"homex.g"
    
    ;G1 H1 Y5 F5000 
    ;G1 H1 Y-305 F5000 S1		; move quickly to X or Y endstop and stop there (first pass)
    ;M913 X100 Y100			     ; X motors to 100% current
    ;G90
    ;G1 X120 Y170 F7000           ; go to first bed probe point and home Z
    ;G91                ; relative positioning
    ;G1 H2 Z5 F7200     ; lift Z relative to current position
    ;G90                ; absolute positioning
    ;G1 X110 Y210 F7000           ; go to first bed probe point and home Z
    ;G4 P750             ; pause
    ;G91
    
    M98 P"homey.g"
    
    ;BLTouch Z
    ;G30
    ;G90
    ;G1 Z10 F500
    
    M98 P"homez.g"
    
    
    

    bed.g:

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jul 05 2020 11:59:18 GMT+0200 (Ora legale dell’Europa centrale)
    G29 S2                  ;
    M561                   ; clear any bed transform
    M98 P"homeall.g"                    ; home all axes
    while iterations <= 3               ; perform 4 passes
        G30 P0 X280 Y145 Z-99999 P8    ; probe near a leadscrew, half way along Y axis
        G30 P1 X40 Y145 Z-99999 S2 P8   ; probe near a leadscrew and calibrate 2 motors
    G1 Z3 F3000                             ; raise head 3mm to ensure it is above the Z probe trigger height 
    G90                                     ; back to absolute mode
    G29 S1
    

    homez.g:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:19 GMT+0200 (Ora legale dell’Europa centrale)
    G91                ; relative positioning
    ;G1 H2 Z5 F7200     ; lift Z relative to current position
    G90                ; absolute positioning
    G1 X130 Y170 F7000           ; go to first bed probe point and home Z
    G4 P750             ; pause
    G91
    
    ;BLTouch Z
    G30
    G90
    G1 Z10 F500
    
    

    start gcode:

    G90 ; use absolute coordinates
    M83  ; extruder relative mode
    M190 S[first_layer_bed_temperature] ; wait for bed temp
    M109 S[first_layer_temperature] ; wait for extruder temp
    G32; home all without mesh bed level
    G1 X5 Y5 Z0.1 F5000.0 ; go outside print area
    G92 E0.0
    G1 X60.0 E9.0 F1000.0 ; intro line
    G1 X100.0 E20 F1000.0 ; intro line
    G92 E0.0
    

    Firmware:

    Board: Duet 2 WiFi (2WiFi)
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)
    Duet WiFi Server Version: 1.23```


  • config.g would help here also



  • ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.8 on Fri Nov 20 2020 20:14:09 GMT+0100 (Ora standard dell’Europa centrale)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"Hypercube Evolution"                        ; set printer name
    M669 K1                                            ; select CoreXY mode
    
    ; Network
    M552 S1                                            ; enable network
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S0                                         ; disable Telnet
    
    ; Drives
    M569 P0 S1                                         ; physical drive 0 goes forwards
    M569 P1 S1                                         ; physical drive 1 goes forwards
    M569 P2 S0                                         ; physical drive 2 goes forwards
    M569 P3 S1                                         ; physical drive 3 goes forwards
    M569 P4 S0                                         ; physical drive 4 goes forwards
    M584 X0 Y1 Z2:4 E3                                 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X161.12 Y160.37 Z393.18:393.18 E830.00         ; set steps per mm
    M566 X1000.00 Y1000.00 Z15.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z600.00 E1800.00            ; set maximum speeds (mm/min)
    M201 X1800.00 Y1800.00 Z30.00 E300.00              ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1500:Z1500 E1000 I30                    ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X0:300 Y-45:300 Z285 S0                     ; set axis maxima
    
    ; Endstops
    M574 X1 S3                                         ; configure sensorless endstop for low end on X
    M574 Y1 S3                                         ; configure sensorless endstop for low end on Y
    M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M950 S0 C"exp.heater3"                             ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H3 F420 T9000                ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X22 Y-37 Z3.070                             ; set Z probe trigger value, offset and trigger height
    M557 X0:250 Y25:230 S40:40                         ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950     ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    ;M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
    M308 S1 P"spi.cs2" Y"rtd-max31865"                 ; configure sensor 1 as thermocouple via CS pin spi.cs2
    M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    M143 H1 S290                                       ; set temperature limit for heater 1 to 290C
    
    ; Fans
    M950 F0 C"Mat Fan1" Q500                           ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"Hotend Fan" Q500                           ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"Mat Fan2" Q500                           ; create fan 2 on pin fan2 and set its frequency
    M106 P2 S1 H-1                                 ; set fan 2 value. Thermostatic control is turned off
    
    ; Tools
    M563 P0 S"hotend 0" D0 H1 F0:2                     ; 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
    
    ; Custom settings
    M404 N1.75 D0.4								        ; Nozzle and filament diameter for monitor
    M200 D1.75 									        ; set all extruder filament diameters to 1.75mm
    M671 X40:280 Y145:145 S10							; Define positions of Z leadscrews or bed levelling screws
    M376 H10											; Set bed compensation taper
    
    ; Miscellaneous
    M575 P1 S1 B57600                                  ; enable support for PanelDue
    M501                                               ; load saved parameters from non-volatile memory
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0                                                 ; select first tool
    
    
    


  • @Ducati87 said in Z height always not respected:

    M92 X161.12 Y160.37 Z393.18:393.18 E830.00 ; set steps per mm

    multiple values for z are not valid

    M208 X0 Y0 Z0 S1 ; set axis minima

    M208 X0:300 Y-45:300 Z285 S0 ; set axis maxima

    this is incorrect x and y here should only have one value



  • This is messed up...

    1. No G28 in start code, so no proper homing
    2. M98 P"homeall.g" should not be in bed.g

    For start code basic sequence should be something like:
    G28 ; home all without mesh bed level
    G32 ; gantry leveling
    G29 ; mesh bed compensation

    that's for start.

    Also. If You just execute G28, is the nozzle on the right height - Z trigger height is correct? And by "nozzle is too high" - by how much?



  • @BoA said in Z height always not respected:

    This is messed up...

    1. No G28 in start code, so no proper homing
    2. M98 P"homeall.g" should not be in bed.g

    For start code basic sequence should be something like:
    G28 ; home all without mesh bed level
    G32 ; gantry leveling
    G29 ; mesh bed compensation

    that's for start.

    Also. If You just execute G28, is the nozzle on the right height - Z trigger height is correct? And by "nozzle is too high" - by how much?

    I call only G32 in the start gcode because I have the G28 and G29 S1 in the bed.g



  • @Ducati87 Well... I do not see any G28

    I know what You have in bed.g
    What I wrote is that You should not have it there



  • @BoA said in Z height always not respected:

    @Ducati87 Well... I do not see any G28

    I know what You have in bed.g
    What I wrote is that You should not have it there

    ok I will try as you suggested.



  • @BoA said in Z height always not respected:

    This is messed up...

    1. No G28 in start code, so no proper homing
    2. M98 P"homeall.g" should not be in bed.g

    For start code basic sequence should be something like:
    G28 ; home all without mesh bed level
    G32 ; gantry leveling
    G29 ; mesh bed compensation

    that's for start.

    Also. If You just execute G28, is the nozzle on the right height - Z trigger height is correct? And by "nozzle is too high" - by how much?

    When I call G28 the value is about 6.00. If I use the babystep I have to go over the 1.4mm....



  • @Ducati87 Ok then, so assuming this is bltouch

    M558 P9 C"^zprobe.in" H3 F420 T9000

    F420 - too fast for bltouch, I would use F120
    If nozzle if 1.4mm too high - I would adjust Z trigger height

    G31 P500 X22 Y-37 Z4.470 ; 3.070 + 1.4



  • @BoA said in Z height always not respected:

    @Ducati87 Ok then, so assuming this is bltouch

    M558 P9 C"^zprobe.in" H3 F420 T9000

    F420 - too fast for bltouch, I would use F120
    If nozzle if 1.4mm too high - I would adjust Z trigger height

    G31 P500 X22 Y-37 Z4.470 ; 3.070 + 1.4

    for too high I mean too FAR.



  • @Ducati87 said in Z height always not respected:

    for too high I mean too FAR.

    That is what I assumed



  • @BoA said in Z height always not respected:

    @Ducati87 said in Z height always not respected:

    for too high I mean too FAR.

    That is what I assumed

    ok I said just to clarify. 😊 😊



  • @Ducati87 Just one question - is that a new setup, or it was working, and is not working correctly now?



  • @BoA said in Z height always not respected:

    @Ducati87 Just one question - is that a new setup, or it was working, and is not working correctly now?

    it worked until I had to redo the procedure following the hotend change.



  • @Ducati87 And let me guess... new hotend is about 1.4mm shorter/higher 😉 or... bltouch 1.4mm lower

    You can get more precise results by setting:

    G31 P500 X22 Y-37 Z0.0

    homing using G28

    going to Z0.0 (indicated) and measuring actual nozzle tip height. Then put this measurement value as Z trigger height in G31

    or after homing disable limits by M564 S0
    and move head down just to touch the bed by nozzle tip, and use indicated Z value a trigger height (remove the minus obviously)



  • @BoA said in Z height always not respected:

    @Ducati87 And let me guess... new hotend is about 1.4mm shorter/higher 😉 or... bltouch 1.4mm lower

    You can get more precise results by setting:

    G31 P500 X22 Y-37 Z0.0

    homing using G28

    going to Z0.0 (indicated) and measuring actual nozzle tip height. Then put this measurement value as Z trigger height in G31

    or after homing disable limits by M564 S0
    and move head down just to touch the bed by nozzle tip, and use indicated Z value a trigger height (remove the minus obviously)

    I did it a couple of times but with same results. the value detected by the procedure is not accurate.



  • @Ducati87 Well... that mostly depends on probe and Your measurements accuracy. Did You slow down probing speed to 120 ?



  • @BoA said in Z height always not respected:

    @Ducati87 Well... that mostly depends on probe and Your measurements accuracy.

    it's an original BLtouch 3.1...I cannot understand where the problem is.



  • @Ducati87 You can try to add A parameter to M558, for example A4. And slow down probing speed to 120



  • @BoA said in Z height always not respected:

    @Ducati87 You can try to add A parameter to M558, for example A4. And slow down probing speed to 120

    ok I will try. Thank you BoA!


  • Moderator

    After you changed the hotend did you remeasure your trigger height?

    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe



  • @Phaedrux said in Z height always not respected:

    After you changed the hotend did you remeasure your trigger height?

    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe

    Yes of course but every time I have to adjust the height with babystep.


  • Moderator

    Could you share your current config.g, homeall/homez, bed.g, and your slicer start gcode all together in a single post? That way I can see what's going on more clearly.

    If the amount of baby stepping required is consistent, you can modify the G31 and it should take effect. If it's not taking effect than something in the gcode order is not right.



  • config.g:

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.8 on Fri Nov 20 2020 20:14:09 GMT+0100 (Ora standard dell’Europa centrale)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"Hypercube Evolution"                        ; set printer name
    M669 K1                                            ; select CoreXY mode
    
    ; Network
    M552 S1                                            ; enable network
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S0                                         ; disable FTP
    M586 P2 S0                                         ; disable Telnet
    
    ; Drives
    M569 P0 S1                                         ; physical drive 0 goes forwards
    M569 P1 S1                                         ; physical drive 1 goes forwards
    M569 P2 S0                                         ; physical drive 2 goes forwards
    M569 P3 S1                                         ; physical drive 3 goes forwards
    M569 P4 S0                                         ; physical drive 4 goes forwards
    M584 X0 Y1 Z2:4 E3                                 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X161.12 Y160.37 Z393.18 E830.00         ; set steps per mm
    M566 X1000.00 Y1000.00 Z70.00 E2000.00                ; set maximum instantaneous speed changes (mm/min)
    M203 X15000.00 Y15000.00 Z1000.00 E2000.00            ; set maximum speeds (mm/min)
    M201 X3000.00 Y3000.00 Z40.00 E6000.00              ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1500:Z1500 E1000 I30                    ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    ; Axis Limits
    ;M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X0:300 Y-35:300 Z285 S0                     ; set axis maxima
    
    ; Endstops
    M574 X1 S3                                         ; configure sensorless endstop for low end on X
    M574 Y1 S3                                         ; configure sensorless endstop for low end on Y
    M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M950 S0 C"exp.heater3"                             ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H3 F250 T9000 A2 B1               ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X22 Y-37 Z3.50                             ; set Z probe trigger value, offset and trigger height
    M557 X0:280 Y25:230 S40:40                         ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950     ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    ;M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
    M308 S1 P"spi.cs2" Y"rtd-max31865"                 ; configure sensor 1 as thermocouple via CS pin spi.cs2
    M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    M143 H1 S290                                       ; set temperature limit for heater 1 to 290C
    
    ; Fans
    M950 F0 C"Mat Fan1" Q500                           ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"Hotend Fan" Q500                           ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
    M950 F2 C"Mat Fan2" Q500                           ; create fan 2 on pin fan2 and set its frequency
    M106 P2 S1 H-1                                 ; set fan 2 value. Thermostatic control is turned off
    
    ; Tools
    M563 P0 S"hotend 0" D0 H1 F0:2                     ; 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
    
    ; Custom settings
    M404 N1.75 D0.4								        ; Nozzle and filament diameter for monitor
    M200 D1.75 									        ; set all extruder filament diameters to 1.75mm
    M671 X40:280 Y145:145 S10							; Define positions of Z leadscrews or bed levelling screws
    M376 H10											; Set bed compensation taper
    
    ; Miscellaneous
    M575 P1 S1 B57600                                  ; enable support for PanelDue
    M501                                               ; load saved parameters from non-volatile memory
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0                                                 ; select first tool
    
    
    

    homeall.g:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:18 GMT+0200 (Ora legale dell’Europa centrale)
    ;M400
    ;M913 X50 Y50
    ;M915 X F0 H400 S3 R0
    ;M915 Y F0 H400 S2 R0
    ;G91               		; relative positioning
    ;G1 H2 Z5 F7200          ; lift Z relative to current position
    ;G1 H1 X5 F5000
    ;G1 H1 X-305 F5000 S1		; move quickly to X or Y endstop and stop there (first pass)
    ;G1 H1 X10	
    M98 P"homex.g"
    
    ;G1 H1 Y5 F5000 
    ;G1 H1 Y-305 F5000 S1		; move quickly to X or Y endstop and stop there (first pass)
    ;M913 X100 Y100			     ; X motors to 100% current
    ;G90
    ;G1 X120 Y170 F7000           ; go to first bed probe point and home Z
    ;G91                ; relative positioning
    ;G1 H2 Z5 F7200     ; lift Z relative to current position
    ;G90                ; absolute positioning
    ;G1 X110 Y210 F7000           ; go to first bed probe point and home Z
    ;G4 P750             ; pause
    ;G91
    
    M98 P"homey.g"
    
    ;BLTouch Z
    ;G30
    ;G90
    ;G1 Z10 F500
    
    M98 P"homez.g"
    
    
    

    bed.g:

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sun Jul 05 2020 11:59:18 GMT+0200 (Ora legale dell’Europa centrale)
    G29 S2                  ;
    M561                   ; clear any bed transform
    ;M98 P"homeall.g"                    ; home all axes
    while iterations <= 3               ; perform 4 passes
        G30 P0 X280 Y145 Z-99999 P8    ; probe near a leadscrew, half way along Y axis
        G30 P1 X40 Y145 Z-99999 S2 P8   ; probe near a leadscrew and calibrate 2 motors
    G1 Z3 F3000                             ; raise head 3mm to ensure it is above the Z probe trigger height 
    G90                                     ; back to absolute mode
    ;G29 S1
    

    homez.g:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Jul 27 2020 14:28:19 GMT+0200 (Ora legale dell’Europa centrale)
    G91                ; relative positioning
    ;G1 H2 Z5 F7200     ; lift Z relative to current position
    G90                ; absolute positioning
    G1 X130 Y170 F7000           ; go to first bed probe point and home Z
    G4 P750             ; pause
    G91
    
    ;BLTouch Z
    G30
    G90
    ;G1 Z10 F500
    
    

    start gcode:

    G90 ; use absolute coordinates
    M83  ; extruder relative mode
    M190 S[first_layer_bed_temperature] ; wait for bed temp
    M109 S[first_layer_temperature] ; wait for extruder temp
    G28; homing
    G32; home all without mesh bed level
    G29 S1; mesh bed load
    G1 X5 Y5 Z0.1 F5000.0 ; go outside print area
    G92 E0.0
    G1 X60.0 E9.0 F1000.0 ; intro line
    G1 X100.0 E20 F1000.0 ; intro line
    G92 E0.0
    
    

Log in to reply