Z-Offset to low - BLTouch, Duet Wifi 2



  • Hi All,

    I build a HEVO (COREXY) with a BLTOUCH which i use as Z Endstop & Z-OFFSet Calibration. The BLTouch configuration vice works fine, i used the configuration description of : https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/ (NOTE: as you will see in my config i used P9 instead of P5 which was suggested by betrue).

    My Issue currently is that my first layer is to close to the bed and it always looks like overextrusion (extruder is calibrated). So my suspicion is that it has something to do with z-offset measurement/configuration i do, but what ever i do (re-calibrate, re-measure) it doesn't get better.

    What i tried so far:

    • reduced the Trigger Speed
    • measure with a heated bed
    • uncommented "M501" which i found and not know how it will used😕

    Below i added all my configs including Start and End Gcode plus the start of an example print. It would be great if someone can help to get to the bottom of this.

    Many thanks

    My Duet:
    Board: Duet WiFi 1.02 or later
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 2.04RC3 (2019-10-08b3)
    Duet WiFi Server Version: 1.21

    config.g

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sun Dec 16 2018 09:31:03 GMT+0100 (Central European Standard Time)
    
    ; General preferences
    G90                                          ; Send absolute coordinates...
    M83                                          ; ...but relative extruder moves
    M667 S1                                      ; Select CoreXY mode
    
    ; Network
    M550 P"machine"                            ; Set machine name
    M552 S1                                      ; Enable network
    ;M587 S"SSID" P"PASSWORD"		     ; Configure access point. You can delete this line once connected
    M586 P0 S1                                   ; Enable HTTP
    M586 P1 S1                                  					; Disable FTP
    M586 P2 S0                                   					; Disable Telnet
    
    ; Drives
    M569 P0 S1                                   					; Drive 0 goes forwards
    M569 P1 S1                                   					; Drive 1 goes forwards
    M569 P2 S0                                   					; Drive 2 goes forwards
    M569 P3 S1                                   					; Drive 3 goes forwards
    M569 P4 S0                                   				   	; Drive 3 goes forwards
    M584 X0 Y1 Z2:4 ;U4 E3 P3 ; Driver 0 For X, 1 for Y, Z=2:4 U=4, Extruder 3 	; Motor remapping for dual Z
    M350 X16 Y16 Z16 E16 I1                      					; Configure microstepping with interpolation
    M92 X100.00 Y100.00 Z400.00 E435.134         					; Set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120           					; v.1.0 Set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00      					; v.1.0 Set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00          					; v.1.0 Set accelerations (mm/s^2)
    M906 X1360.00 Y1360.00 Z1200.00 E1360.00 I30 					; Set motor currents (mA) and motor idle factor in per cent
    M84 S30                                      					; Set idle timeout
    
    
    M667 S1
    M671 X-25.8:245.8 Y112:112 S6                ; Define positions of Z leadscrews
    
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                             ; Set axis minima
    M208 X210 Y210 Z200 S0                       ; Set axis maxima
    
    ; Endstops & Z-Probe
    M574 X1 Y1 S1 				     ; X home to min. Y home to max. Normally Closed limit switches.
    M574 Z1 S2                                   ; Set endstops controlled by probe
    
    M307 H3 A-1 C-1 D-1                          ; Disable heater on PWM channel for BLTouch
    M558 P9 H5 F80 T4000		     	     ;  X0 Y0 Z1 (old Values) Set Z probe type/mode 5. H=Dive Height. F=Speed the bed moves
    G31 P25 X21 Y0 Z0.608                        ; v.2.0 was 0.170 v.1.0 was 0.340 was 0.660Set Z probe trigger value, offset and trigger height
    M557 X25:200 Y0:190 S80                      ; Define mesh grid
    
    ; Heaters
    M305 P0 T100000 B4138 R4700                  ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120                                 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 R4700                  ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                                 ; Set temperature limit for heater 1 to 280C
    
    ; BLTouch - Heaters
    M307 H7 A-1 C-1 D-1 			     ; Disable the 7th Heater to free up PWM channel 5 on the Duex board.
    
    ; 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
    
    ; 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
    
    ; Automatic saving after power loss is not enabled
    ; Custom settings are not configured
    
    ; Miscellaneous
    M404 N1.75 D0.4	                                   ; Filament width and nozzle diameter
    M376 H10                                           ; Set bed compensation to taper off over 10mm
    ;M501                                               ; Load saved parameters from non-volatile memory
    T0                                                 ; Select first tool
    M572 D0:1 S0.10                                    ; Pressure advance
    
    

    My homeall.g

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sun Dec 16 2018 09:31:03 GMT+0100 (Central European Standard Time)
    
    G91                     ; relative positioning
    G1 Z5 F6000 S2          ; lift Z relative to current position
    M98 Pdeployprobe.g      ; deploy mechanical Z probe
    G1 S1 X-250 Y-250 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 S1 X-250             ; home X axis
    G1 S1 Y-250             ; home Y axis
    G1 X5 Y5 F6000          ; go back a few mm
    G1 S1 X-250 F360        ; move slowly to X axis endstop once more (second pass)
    G1 S1 Y-250             ; then move slowly to Y axis endstop
    G90                     ; absolute positioning
    G1 X80 Y100 F6000       ; go to first bed probe point and home Z
    G30                     ; home Z by probing the bed
    G1 X0 Y0 F6000		; go back to starting position
    M98 Pretractprobe.g     ; retract mechanical Z probe
    

    My homez.g

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sun Dec 16 2018 09:31:03 GMT+0100 (Central European Standard Time)
    
    G30 		; Do a single probe to home our Z axis
    G90 		; Make sure we are in absolute mode
    G1 Z10 F6000 	; Rapidly move the Z axis to Z=10.
    

    i use cura 4.3.0 for slicing

    my Start Gcode

    ; Startup Gcode
    G91                      ; Relative Positioning
    G1 Z-1                   ; Move Z down 1mm
    G90                      ; Absolute Positioning
    G28 XY                   ; Home XY
    M561                     ; Clear any bed transform
    G1 X79 Y100              ; Move Probe to middle of bed
    G32                      ; Start 2-point probe sequence
    G29 S1					 ; Load heightmap
    G1 Z20.0 F6000           ; Move Z to 20
    G1 X5 Y5                 ; Move Head to front left
    G92 E0                   ; Zero Extruder
    G1 F200 E20              ; Prime the extruder
    G92 E0                   ; Zero Extruder
    

    My End G-Code

    ; End Gcdoe
    G10 P0 R-273.15 S-273.15   ; Turn off Tool0
    G10 P1 R-273.15 S-273.15   ; Turn off Tool1
    G10 P2 R-273.15 S-273.15   ; Turn off Tool2
    M140 S-273.15              ; Turn off Bed
    M141 S-273.15              ; Turn off Chamber Heater
    M106 S0                    ; Object fan off
    G92 E0                     ; Zero Extruder
    G1 E-2 F300                ; Retract 2mm
    G92 E0                     ; Zero Extruder
    G28 XYU                    ; Home XY and U to Z max
    M84                        ; All motors Off
    

    And an the start example file i print for testing from thinigverse for string test

    ;FLAVOR:RepRap
    ;TIME:1604
    ;Filament used: 0.830472m
    ;Layer height: 0.2
    ;MINX:86.455
    ;MINY:81.302
    ;MINZ:0.3
    ;MAXX:113.655
    ;MAXY:128.502
    ;MAXZ:25.7
    ;Generated with Cura_SteamEngine 4.3.0
    T0
    M190 S60
    M104 S195
    M109 S195
    M82 ;absolute extrusion mode
    ; Startup Gcode
    G91                      ; Relative Positioning
    G1 Z-1                   ; Move Z down 1mm
    G90                      ; Absolute Positioning
    G28 XY                   ; Home XY
    M561                     ; Clear any bed transform
    G1 X79 Y100              ; Move Probe to middle of bed
    G32                      ; Start 2-point probe sequence
    G29 S1					 ; Load heightmap
    G1 Z20.0 F6000           ; Move Z to 20
    G1 X5 Y5                 ; Move Head to front left
    G92 E0                   ; Zero Extruder
    G1 F200 E20              ; Prime the extruder
    G92 E0                   ; Zero Extruder
    M83 ;relative extrusion mode
    G1 F1500 E-2.5
    ;LAYER_COUNT:128
    ;LAYER:0
    M107
    G0 F1800 X87.452 Y82.433 Z0.3
    ;TYPE:SKIRT
    G1 F1500 E2.5
    G1 F600 X87.849 Y82.073 E0.02674
    


  • print a flat first layer. while printing adjust with babystepping.
    once you find a good setting adjust the offset with the offset from the babystepping.



  • @calibanorg said in Z-Offset to low - BLTouch, Duet Wifi 2:

    2.04RC3

    also i believe there was a bltouch bug in on of the rc releases. please update to the stable 2.04 version



  • @Veti thanks for the fast reply to my question - It worked 🙂 i have a really good layer as it should be 🍾 🍾 🍾

    So what i did:

    • I updated first to 2.04 as recommended -> not sure if that helped but i have experience some unwanted pin deployment after a few seconds of the print start.
    • I downloaded the this flat test square https://www.thingiverse.com/thing:3896687 and started the print as suggested.
    • then i started to do the babysteps (+) as suggested until i found the layer looks good (result was +250) so i removed it from G31 P25 X21 Y0 Z0.608 which gave me the new result G31 P25 X21 Y0 Z0.358

    A note to the last point: i first added it to Z0.608 in G31 which resulted to Z0.850 which put the nozzle much closer. For me a higher number results to higher distance to the bed, but this not the case with this CoreXY configuration.

    @Veti i guess you might have simple explanation for that?

    Anyway thank you so much @Veti i struggled now weeks with this. I read so many forums and howto description and i didn't find anything like what you mentioned to change the offset after the trigger height measurement.

    Calibration print - 1 Layer
    20191107_212930.jpg
    Print after i change G31
    20191107_212756.jpg



  • @calibanorg said in Z-Offset to low - BLTouch, Duet Wifi 2:

    @Veti i guess you might have simple explanation for that?

    yes. its simple but i get this wrong some times as well.

    your babystepping was +0.25mm. that mean the head had to be moved up.

    now a trigger height of 0.6mm means that when the probe touches your bed the distance from there to the nozzle is 0.6mm

    So with this this offset if you start the print the nozzle moves 0.6mm closer to the bed.

    if you increase the offset to 0.9mm the nozzle now needs to move 0.9 mm closer to the bed when printing. thus squashing into the bed.



  • @Veti said in Z-Offset to low - BLTouch, Duet Wifi 2:

    if you increase the offset to 0.9mm the nozzle now needs to move 0.9 mm closer to the bed when printing. thus squashing into the bed.

    Okay make sense thanks. With my coreXY the head doesn't move but the bed goes up or down.

    In regards of the odd deploy off the BLtouch pins during print. It just happend during an 8hrs run and it destroyed my print plus the BLtouch itself was crashed ::(


  • administrators

    Are you definitely running 2.04 final release, not a 2.04RC version? Send M115 to check.



  • @calibanorg said in Z-Offset to low - BLTouch, Duet Wifi 2:

    In regards of the odd deploy off the BLtouch pins during print.

    i am not a big fan of the bltouch. i build this for myself https://www.thingiverse.com/thing:3303618



  • @dc42 i did the check as suggested. below the result:```

    M115
    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.04 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2019-11-01b1
    

    That is the final release correct?



  • @Veti so i tried to repair my BLtouch and accidentally cut the electromagnetic wires 😖 so now it is definitely gone. 😤 so your suggestion comes at the right time. i think i might have all parts somewhere...



  • @Veti said in Z-Offset to low - BLTouch, Duet Wifi 2:

    @calibanorg said in Z-Offset to low - BLTouch, Duet Wifi 2:

    In regards of the odd deploy off the BLtouch pins during print.

    i am not a big fan of the bltouch. i build this for myself https://www.thingiverse.com/thing:3303618

    I build the sensor you suggested this weekend due i had all material on hand. The sensor is amazingly easy to build and it worked quite right away.

    Regarding the config i only changed M558 to P5. But based on the documentation -> https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe "Mode 2" = P2 is might be more suitable?

    Again thanks @Veti you saved me 50 Bugs for a new BL Touch 🙂



  • the ir endstops are either triggered or not. so P5 is the correct one.


Log in to reply