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

    BL touch Z offset (similar to M851)

    Scheduled Pinned Locked Moved
    General Discussion
    5
    21
    966
    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.
    • felt342undefined
      felt342
      last edited by felt342

      Hi guys,

      I succeed to set up BL touch was quite easy and straight forward the following manual on duet wiki. There is one difference how I want to set up BL touch:

      BL touch would be mounted temporarily and only for making a heightmap. Then it will be removed until next calibration. (The reason I am doing that because I am building a printer with a heated chamber of 100C.). Heightmap will be loaded from SD card and used for a mesh compensation.

      The problem I have now is the following. Then I load a map from SD card and if I send G1 Z0 it will move the bed to a Zmin which is set correct. But this way I have a gap of 2mm approx. I would like to know if there is a way of quick-adjust a Z offset to compensate for different bed surfaces or nozzle heights? (Like M851 using marlin?) Or is there a better way of doing what I am doing using BL touch?

      If it necessary my mount for BL touch is located underneath the nozzle: there is a picture (sorry for the quality) therefore my G31 X10 Y0 Z60 P25

      IMG_5731.jpeg

      Thank you in advance and happy new year! 🙂

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

      1 Reply Last reply Reply Quote 0
      • Vetiundefined
        Veti
        last edited by

        how do you establish z=0 without a probe?

        you could for example use babystepping
        https://duet3d.dozuki.com/Wiki/Gcode#Section_M290_Baby_stepping

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

          That's a very unorthodox way of using the BLTouch. You'd need to ensure your offsets are correct in all dimension. And it looks like you have two nozzles, so the BLTouch would be relative to the first nozzle, and the second nozzle would be relative to the first nozzle.

          If your mount for the BLtouch allows for repeatable positioning between uses you could probably get away with doing it like this.

          The trick would be to accurately find the Z0 so that it matches the results of the BLtouch. Honestly I think it would be far easier to mount the BLTouch permanently in a more traditional fashion so that you can use it for homing Z as well.

          How are you homing Z currently? The offset you are seeing is likely due to a mismatch between where the BLtouch identified Z0 and where your homing method has set it. You need to accurately define your offsets and homing position to correct for this.

          Z-Bot CoreXY Build | Thingiverse Profile

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

            @Veti

            Thanks, I will have a look at babystepping!

            @Phaedrux

            It is indeed not a common way to use it. But this is what I would like to implement with BL touch first, should be a similar approach?

            https://twitter.com/machine_elite/status/1152642281616412673

            I do have a micro switch on Zmax for homing.
            I can't leave a BL touch permanently attached as it will die with a 100C heated chamber.
            Does it mean what my offsets set wrong G31 X10 Y0 Z60 P25, distance from the bed to retracted pin?

            I hope guys, you can put some light on it, it should be possible

            Thanks in advance!

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

            Phaedruxundefined jens55undefined 2 Replies Last reply Reply Quote 0
            • Vetiundefined
              Veti
              last edited by

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

              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • 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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA