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.
    • 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
                                          • 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