Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    BL touch Z offset (similar to M851)

    Scheduled Pinned Locked Moved
    General Discussion
    5
    21
    964
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Phaedruxundefined
      Phaedrux Moderator @felt342
      last edited by

      @felt342 said in BL touch Z offset (similar to M851):

      I do have a micro switch on Zmax for homing.

      This is fine, but you must have an accurate height for the Z axis length based on where Z0 is, otherwise it will not get the nozzle exactly to Z0.

      The reference point must be the surface of the bed as Z0 as the foundation of all other offsets, otherwise when you try to go back to Z0 you won't get there.

      Here is an example of using a macro to accurately measure the Z max position:
      https://duet3d.dozuki.com/Wiki/Macros#Section_Example_Measuring_the_Z_axis_for_a_Z_max_endstop_and_saving_the_result

      In this case Z0 is defined by touching the nozzle to the bed. To automate this process you could use M558 P0 probe type. This is a manual probing that presents the user with a jog dialogue to manually drop the nozzle to the bed to establish Z0. M558 P0 could be defined in that macro and then G30 would present the jog dialogue. Then the Z max could be measured accurately to set the M208 Z max.

      Once you have Z0 set, and M208 Z max set, you can then mount your BLTouch and use the normal trigger height calibration to find your G31 Z offset for the BLTouch. https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height

      You'll also need to know the X Y offset for the BLTouch from the first nozzle. Method for finding that is also described in that link.

      Z-Bot CoreXY Build | Thingiverse Profile

      felt342undefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @Veti
        last edited by

        @Veti said in BL touch Z offset (similar to M851):

        https://miscsolutions.wordpress.com/mini-height-sensor-board/
        this might be able to withstand 100C

        If the Z axis is suitable you may even be able to use stall detection as the Z probe.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • felt342undefined
          felt342 @Phaedrux
          last edited by

          @Phaedrux

          That's all looks interesting and at the same time a bit foggy to me. I will try to experiment with this definitely!
          Do you have any idea how it might be done on elitemachie 3d Printer with Metrol probe?

          Thanks for your guidance.

          Industrial 3D printing service in the Netherlands - gagatstudio.com

          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            They may be using probe type P4 for a simple switch.

            https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Mode_Num_4

            Z-Bot CoreXY Build | Thingiverse Profile

            felt342undefined 1 Reply Last reply Reply Quote 0
            • jens55undefined
              jens55 @felt342
              last edited by

              @felt342 said in BL touch Z offset (similar to M851):

              I can't leave a BL touch permanently attached as it will die with a 100C heated chamber.

              I sure hope that all the motors, duet and power supply are outside the build chamber.
              Are the belts outside the chamber or have you verified they are good to 100C ?

              felt342undefined 1 Reply Last reply Reply Quote 0
              • felt342undefined
                felt342 @jens55
                last edited by

                @jens55

                Yes, everything is outside the chamber. Belts are rated to 120c.

                Industrial 3D printing service in the Netherlands - gagatstudio.com

                1 Reply Last reply Reply Quote 0
                • felt342undefined
                  felt342 @Phaedrux
                  last edited by

                  @Phaedrux

                  Hi, I tried to get around with you solutions and I badly failed 😄
                  Will keep for a different moment in my life, for now I don't have time. I made a traditional way of using BL touch for a homing, but have an issue now. Every time then I press home Z, my X and Y start to quickly smashing on to end stops. And then Z starts homing. But I need to move first X and Y by 30x30 before Z probe would be above bed.

                  This is mine homeall.g

                  ; homeall.g
                  ; called to home all axes
                  ;
                  ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 22:17:48 GMT+0100 (Central European Standard Time)
                  G91                       ; relative positioning
                  G1 H2 Z0 F15000           ; lift Z relative to current position
                  G1 H1 X-321 Y-272.5 F3000 ; move quickly to X or Y endstop and stop there (first pass)
                  G1 H1 X-321               ; home X axis
                  G1 H1 Y-272.5             ; home Y axis
                  G1 X5 Y5 F15000           ; go back a few mm
                  G1 H1 X-321 F300          ; move slowly to X axis endstop once more (second pass)
                  G1 H1 Y-272.5             ; then move slowly to Y axis endstop
                  G90                       ; absolute positioning
                  G1 H2 X0 Y60 F15000       ; go to first bed probe point and home Z
                  G30                       ; home Z by probing the bed
                  
                  ; Uncomment the following lines to lift Z after probing
                  ;G91                      ; relative positioning
                  ;G1 S2 Z0 F250            ; lift Z relative to current position
                  ;G90                      ; absolute positioning
                  
                  
                  

                  I found there is:

                  G1 H2 X0 Y60 F15000       ; go to first bed probe point and home Z
                  

                  I don't understand from there is Y60 there? I am using Reprap configurator
                  If I manually put there Y-60 than its moves 60 by Y which is as expected. But If I put also X30 than it start to misbehave.

                  There is config.g

                  ; Configuration file for Duet WiFi (firmware version 2.03)
                  ; executed by the firmware on start-up
                  ;
                  ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 22:17:48 GMT+0100 (Central European Standard Time)
                  
                  ; General preferences
                  G90                                             ; send absolute coordinates...
                  M83                                             ; ...but relative extruder moves
                  M550 P"own"                                     ; set printer name
                  
                  M667 S1                                         ; 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 S1                                      ; physical drive 2 goes forwards
                  M569 P3 S0                                      ; physical drive 3 goes backwards
                  M569 P4 S1                                      ; physical drive 4 goes forwards
                  M584 X0 Y1 Z2 E3:4                              ; set drive mapping
                  M350 X16 Y16 Z16 E16:16 I1                      ; configure microstepping with interpolation
                  M92 X200.00 Y200.00 Z400.00 E436.50:436.50      ; set steps per mm
                  M566 X900.00 Y900.00 Z30.00 E120.00:120.00      ; set maximum instantaneous speed changes (mm/min)
                  M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
                  M201 X500.00 Y500.00 Z15.00 E250.00:250.00      ; set accelerations (mm/s^2)
                  M906 X800 Y800 Z1300 E600:600 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 X316 Y267.5 Z334 S0                        ; set axis maxima
                  
                  ; Endstops
                  M574 X1 Y1 S0                                   ; set active low and disabled endstops
                  M574 Z1 S2                                      ; set endstops controlled by probe
                  
                  ; Z-Probe
                  M307 H3 A-1 C-1 D-1                             ; disable heater on PWM channel for BLTouch
                  M558 P9 H0 F120 T15000                          ; set Z probe type to bltouch and the dive height + speeds
                  G31 P500 X10 Y-50 Z0                            ; set Z probe trigger value, offset and trigger height
                  M557 X10:296 Y10:247.5 S15                      ; define mesh grid
                  
                  ; Heaters
                  M140 H-1                                        ; disable heated bed
                  M305 P1 X200                                    ; configure PT100 for heater 1
                  M143 H1 S450                                    ; set temperature limit for heater 1 to 450C
                  M305 P2 X201                                    ; configure PT100 for heater 2
                  M143 H2 S450                                    ; set temperature limit for heater 2 to 450C
                  
                  ; 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 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
                  
                  ; Tools
                  M563 P0 S"Left" D0 H1 F-1                       ; 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 S"Right" D1 H2 F-1                      ; 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
                  
                  ; Custom settings are not defined
                  
                  ; Miscellaneous
                  M501                                            ; load saved parameters from non-volatile memory
                  
                  
                  

                  I don't understand that is wrong at this point, maybe you can guide me please a bit on it? Thank you in advance!

                  Industrial 3D printing service in the Netherlands - gagatstudio.com

                  Phaedruxundefined 2 Replies Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator @felt342
                    last edited by

                    @felt342 said in BL touch Z offset (similar to M851):

                    Every time then I press home Z

                    You've posted your homeall, but what is in homez?

                    Z-Bot CoreXY Build | Thingiverse Profile

                    felt342undefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator @felt342
                      last edited by

                      @felt342 said in BL touch Z offset (similar to M851):

                      G1 H2 X0 Y60 F15000 ; go to first bed probe point and home Z
                      G30 ; home Z by probing the bed

                      You are using coreXY so the H2 shouldn't be there. In corexy mode that will set it to move one motor or the other. It's also unnecessary since the X and Y are homed at that point so you can just use a regular G1 X Y move to position the probe.
                      Not sure why it's X0 Y60 either. But it can be whatever you want so just change it.
                      Use G1 X150 Y 150 or whatever position you want to probe at.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • felt342undefined
                        felt342 @Phaedrux
                        last edited by

                        @Phaedrux

                        Hi, there is my home files. Haven't try yet to use just G1, after work will do! Thank you!
                        Any idea why do I getting than H2 in ReprapConfigurator if its set for CoreXY, and how I can fix it to prevent in future?

                        ; homez.g
                        ; called to home the Z axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 22:17:48 GMT+0100 (Central European Standard Time)
                        G91                 ; relative positioning
                        G1 H2 Z0 F15000     ; lift Z relative to current position
                        G90                 ; absolute positioning
                        G1 H2 X0 Y60 F15000 ; go to first probe point
                        G30                 ; home Z by probing the bed
                        
                        ; Uncomment the following lines to lift Z after probing
                        ;G91                ; relative positioning
                        ;G1 H2 Z0 F250      ; lift Z relative to current position
                        ;G90                ; absolute positioning
                        
                        ; homex.g
                        ; called to home the X axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 22:17:48 GMT+0100 (Central European Standard Time)
                        G91               ; relative positioning
                        G1 H2 Z0 F15000   ; lift Z relative to current position
                        G1 H1 X-321 F3000 ; move quickly to X axis endstop and stop there (first pass)
                        G1 X5 F15000      ; go back a few mm
                        G1 H1 X-321 F300  ; move slowly to X axis endstop once more (second pass)
                        G1 H2 Z0 F15000   ; lower Z again
                        G90               ; absolute positioning
                        
                        ; homey.g
                        ; called to home the Y axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v2.1.4 on Thu Jan 02 2020 22:17:48 GMT+0100 (Central European Standard Time)
                        G91                 ; relative positioning
                        G1 H2 Z0 F15000     ; lift Z relative to current position
                        G1 H1 Y-272.5 F3000 ; move quickly to Y axis endstop and stop there (first pass)
                        G1 Y5 F15000        ; go back a few mm
                        G1 H1 Y-272.5 F300  ; move slowly to Y axis endstop once more (second pass)
                        G1 H2 Z0 F15000     ; lower Z again
                        G90                 ; absolute positioning
                        
                        

                        Industrial 3D printing service in the Netherlands - gagatstudio.com

                        1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator
                          last edited by

                          Haha it's a bit complicated. The H2 is ok for the z axis. Normally It allows you to move an axis when not homed yet. But for core xy it isolates a XY motor. The configurator was recently updated To use H instead of S because S has been repurposed for controlling laser power because that's what some of the laser software generates and this is a bug that is yet to be fixed.

                          You homez needs to be changed in the same way as homeall.

                          Z-Bot CoreXY Build | Thingiverse Profile

                          felt342undefined 1 Reply Last reply Reply Quote 0
                          • felt342undefined
                            felt342 @Phaedrux
                            last edited by

                            @Phaedrux

                            ouch 🙂
                            meaning I should change in homeall.g

                            G1 H2 X0 Y60 F15000       ; go to first bed probe point and home Z
                            

                            to

                            G1 X50 Y50 F15000       ; go to first bed probe point and home Z
                            

                            and in homez.g

                            G1 H2 X0 Y60 F15000 ; go to first probe point
                            

                            to

                            G1 X50 Y50 F15000 ; go to first probe point
                            

                            Is that correct what I understood?
                            learning every day! 🙂

                            Industrial 3D printing service in the Netherlands - gagatstudio.com

                            1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              Yes. But instead of x50 y50 you should try to position the probe at the center of the bed.

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 1
                              • felt342undefined
                                felt342
                                last edited by

                                @Phaedrux

                                Yes, that worked perfectly!

                                I do have a small question still:
                                Then I home Z now, its goes till mine Z offset set, and then dive by H10 value. Is this how it should be? Then I will print I should just set up in slicer startup .gcode the way it doesn't dive? Thank you!

                                ; Z-Probe
                                M307 H3 A-1 C-1 D-1                             ; disable heater on PWM channel for BLTouch
                                M558 P9 H10 F120 T15000                          ; set Z probe type to bltouch and the dive height + speeds
                                G31 P500 X10 Y-51.492 Z-0.5                            ; set Z probe trigger value, offset and trigger height
                                M557 X10:296 Y10:247.5 S15                      ; define mesh grid
                                

                                Industrial 3D printing service in the Netherlands - gagatstudio.com

                                dc42undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @felt342
                                  last edited by dc42

                                  The meaning of the dive height (M558 H parameter) is that when you do either a G30 probe with a P parameter (as used in bed.g) or mesh bed probing (G29), the print head will move to that height above the bed plus the trigger height before it starts probing. That's all. So if the bed is reasonably level (or for a delta printer, the printer is well calibrated), you can use a lower value such as H5 or H3 to speed up probing.

                                  The parameter in RRF that's similar to M851 in Marlin is the Z parameter in the G31 command. It predates M851 by several years.

                                  In fact, recent versions of RRF do support M851 as well for the benefit of users such as you coming from Marlin. See https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M851_Set_Z_Probe_Offset_Marlin_Compatibility. The M851 parameter is the negation of the G31 Z parameter.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  felt342undefined 1 Reply Last reply Reply Quote 1
                                  • felt342undefined
                                    felt342 @dc42
                                    last edited by

                                    @dc42

                                    I see that is super helpful!
                                    Thank you for such a great support here on the forum, your software and hardware are really piece of great engineering. I do enjoy learning it a lot!

                                    Industrial 3D printing service in the Netherlands - gagatstudio.com

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA