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

    Help needed setting up BL touch

    Scheduled Pinned Locked Moved Solved
    General Discussion
    3
    11
    676
    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
      last edited by

      You've got a Z endstop defined as well as the probe. Are you intending to use both? Having a Z max endstop can be handy on i3 style printers.

      There's a few issues with your files.

      @tinken said in Help needed setting up BL touch:

      M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch

      Not needed in RRF3. Remove it.

      @tinken said in Help needed setting up BL touch:

      G31 P500 X23 Y10 Z15 ; set Z probe trigger value, offset and trigger height

      15mm seems highly unlikely for a BLTouch trigger height. It should be closer to 2mm, and should be measured. The 10mm dive height is also a bit much. Try M558 H5 instead. Part of the problem may be that the trigger height is larger than the dive height.

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

      In your homing files you have a endstop homing move in addition to the G30 probe command. Best to just remove the endstop part entirely.

      G1 H1 Z-215 F1800 ; move Z down until the endstop is triggered
      G92 Z0            ; set Z position to axis minimum (you may want to adjust this)
      G30              ; home Z by probing the bed
      

      Remove that in homeall/homez and replace it with

      G90 ; absolute position
      G1 X150 Y150 F6000 ; move probe to center of bed
      G30
      

      I can't really tell from your photos how it;s wired up but it should look like this:

      0400767d-2932-4b5d-9cc7-a0a463c053b9-image.png
      https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+3+Mini+5++Guide+Part+1:+Wiring/87#s336

      Z-Bot CoreXY Build | Thingiverse Profile

      Michael Hathawayundefined 1 Reply Last reply Reply Quote 1
      • Michael Hathawayundefined
        Michael Hathaway @Phaedrux
        last edited by

        @phaedrux Thank you very much for helping me.

        I do plan on keeping my Z-axis end stop, but I have reengineered the stop for a microswitch.

        I have changed everything you have recommended. My wiring is exactly like the image you have posted. Except, I did have a bad crimp on io3.in. This has been resolved.

        Now, send G29. The hotend moves down about 30mm and deploys the probe as if to probe the bed. However its short by about 190mm of reaching the bed. It is 211.05mm to the bed.

        Also instead of slowly moving down to probe the bed, it raises as if either it is inverted or my z-axis is inverted.

        Cut me, I bleed Duet3D. 😳 And I love the people here. 😍😍😍
        www.MatterHackers.com - https://discord.gg/Ked7GREqux

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

          Can you post your updated files with the changes you've made?

          Z-Bot CoreXY Build | Thingiverse Profile

          Michael Hathawayundefined 2 Replies Last reply Reply Quote 0
          • Michael Hathawayundefined
            Michael Hathaway @Phaedrux
            last edited by

            @phaedrux

            ; Config.g
            ; Configuration file for Duet 3 Mini 5+ (firmware version 3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
            
            ; General preferences
            G90                                                ; send absolute coordinates...
            M83                                                ; ...but relative extruder moves
            M550 P"Pulse E-423S"                               ; set printer name
            
            ; Network
            M552 P0.0.0.0 S1                                   ; enable network and acquire dynamic address via DHCP
            M586 P0 S1                                         ; enable HTTP
            M586 P1 S0                                         ; disable FTP
            M586 P2 S0                                         ; disable Telnet
            
            ; Drives
            M569 P0.0 S0                                       ; physical drive 0.0 goes backwards
            M569 P0.1 S1                                       ; physical drive 0.1 goes forwards
            M569 P0.2 S0                                       ; physical drive 0.2 goes backwards
            M569 P0.3 S1                                       ; physical drive 0.3 goes forwards
            M584 X0.0 Y0.1 Z0.2 E0.3                           ; set drive mapping
            M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
            M92 X80.00 Y80.00 Z400.00 E409.00                  ; set steps per mm
            M566 X900.00 Y900.00 Z60.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
            M203 X1080000.00 Y1080000.00 Z90000.00 E15000.00   ; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z20.00 E1000.00               ; set accelerations (mm/s^2)
            M906 X1000 Y1200 Z1200 E1200 I40                   ; 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 X250 Y220 Z210 S0                             ; set axis maxima
            
            ; Endstops
            M574 X1 S1 P"io5.in"                               ; configure active-high endstop for low end on X via pin io5.in
            M574 Y1 S1 P"io6.in"                               ; configure active-high endstop for low end on Y via pin io6.in
            M574 Z1 S1 P"io2.in"                               ; configure active-high endstop for low end on Z via pin io2.in
            
            ; Z-Probe
            M950 S0 C"io3.out"                                 ; create servo pin 0 for BLTouch
            M558 P9 C"io3.in" H5 F120 T600                    ; set Z probe type to bltouch and the dive height + speeds
            G31 P500 X23 Y10 Z0                               ; set Z probe trigger value, offset and trigger height
            M557 X20:230 Y20:200 S20                           ; define mesh grid
            
            ; Heaters
            M308 S0 P"temp0" Y"thermistor" T100000 B4066       ; configure sensor 0 as thermistor on pin temp0
            M950 H0 C"out0" T0                                 ; create bed heater output on out0 and map it to sensor 0
            M307 H0 A421.6 C860.4 D14.2 S1.00 V24.0 B0         ; disable bang-bang mode for the bed heater and set PWM limit
            M140 H0                                            ; map heated bed to heater 0
            M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
            M308 S1 P"temp1" Y"thermistor" T100000 B4066       ; configure sensor 1 as thermistor on pin temp1
            M950 H1 C"out1" T1                                 ; create nozzle heater output on out1 and map it to sensor 1
            M307 H1 R2.648 C163.1:161.1 D6.32 S1.00            ; disable bang-bang mode for heater  and set PWM limit
            M143 H1 S315                                       ; set temperature limit for heater 1 to 315C
            
            ; Fans
            ; M950 F0 C"out3" Q500                               ; create fan 0 on pin out3 and set its frequency
            ; M106 P0 C"PartCool" S0 H-1                         ; set fan 0 name and value. Thermostatic control is turned off
            M950 F1 C"out4" Q500                               ; create fan 1 on pin out4 and set its frequency
            M106 P1 C"HotEnd" S1 H1:0 T35                      ; set fan 1 name and value. Thermostatic control is turned on
            M950 F2 C"out5" Q500                               ; create fan 2 on pin out5 and set its frequency
            M106 P2 C"CaseFan" S1 H1:0 T35                     ; set fan 2 name and value. Thermostatic control is turned on
            
            ; Tools
            M563 P0 S"Hotend" D0 H1 F0                         ; define tool 0
            G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
            G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
            
            ; Custom settings
            M280 P0 S160					                   ; Clear any alarms
            M402							                   ; Retract pin just in case         
            
            
            ; Miscellaneous
            M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
            T0                                                 ; select first tool
            
            ; homeall.g
            ; called to home all axes
            ;
            ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
            G91                     ; relative positioning
            G1 H2 Z0 F1800          ; lift Z relative to current position
            G1 H1 Z-215 F1800       ; move Z down stopping at the endstop
            G1 H1 X-255 Y-225 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
            G1 H2 X5 Y5 F1800       ; go back a few mm
            G1 H1 X-255 Y-225 F360  ; move slowly to X and Y axis endstops once more (second pass)
            G90                     ; absolute positioning
            G92 Z0                  ; set Z position to axis minimum (you may want to adjust this)
            
            
            ; Custom settings
            M280 P0 S160					                   ; Clear any alarms
            M402							                   ; Retract pin just in case  
            
            ; Uncomment the following lines to lift Z after probing
            ; G91                    ; relative positioning
            ; G1 Z10 F100            ; lift Z relative to current position
            ; G90                    ; absolute positioning
            
            ; homez.g
            ; called to home the Z axis
            ;
            ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
            G91               ; relative positioning
            G1 H2 Z0 F6000   ; lift Z relative to current position
            G90              ; absolute positioning
            G1 H1 Z-215 F1800 ; move Z down until the endstop is triggered
            G92 Z0            ; set Z position to axis minimum (you may want to adjust this)
            
            ; Uncomment the following lines to lift Z after probing
            ; G91              ; relative positioning
            ; G1 Z10 F100      ; lift Z relative to current position
            ; G90              ; absolute positioning
            

            Cut me, I bleed Duet3D. 😳 And I love the people here. 😍😍😍
            www.MatterHackers.com - https://discord.gg/Ked7GREqux

            1 Reply Last reply Reply Quote 0
            • Michael Hathawayundefined
              Michael Hathaway @Phaedrux
              last edited by

              @phaedrux

              https://www.youtube.com/watch?v=phEKZq5usAs

              Cut me, I bleed Duet3D. 😳 And I love the people here. 😍😍😍
              www.MatterHackers.com - https://discord.gg/Ked7GREqux

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

                Two things.

                What's with the insane max speeds?

                And check what I posted above for the homing files.

                You've got a g92 z0 in there to force the position as homed and wherever the z axis currently is. You need to remove that and replace it with a g30 command to use the probe. Also helps to position the probe at the center of the bed first with a g1 XY move.

                Then you can measure the probe trigger height.

                Z-Bot CoreXY Build | Thingiverse Profile

                Michael Hathawayundefined 1 Reply Last reply Reply Quote 0
                • Michael Hathawayundefined
                  Michael Hathaway @Phaedrux
                  last edited by

                  @phaedrux

                  Removed G92 Z0. Insane speeds from Matterhackers config file. Reduced speeds to F360.

                  Cut me, I bleed Duet3D. 😳 And I love the people here. 😍😍😍
                  www.MatterHackers.com - https://discord.gg/Ked7GREqux

                  Michael Hathawayundefined 1 Reply Last reply Reply Quote 0
                  • Michael Hathawayundefined
                    Michael Hathaway @Michael Hathaway
                    last edited by

                    Also had to change the M569 in Config.g from S0 to S1 in order to invert the drive motor. Homeall and Homez will have to be inverted back to correct the direction.

                    Cut me, I bleed Duet3D. 😳 And I love the people here. 😍😍😍
                    www.MatterHackers.com - https://discord.gg/Ked7GREqux

                    Michael Hathawayundefined 1 Reply Last reply Reply Quote 0
                    • Michael Hathawayundefined
                      Michael Hathaway @Michael Hathaway
                      last edited by

                      I made a few more changes, so far everything is working properly. Thank you Phaedrux for all your help. 😳

                      ; Config.g
                      ; Configuration file for Duet 3 Mini 5+ (firmware version 3)
                      ; executed by the firmware on start-up
                      ;
                      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
                      
                      ; General preferences
                      G90                                                ; send absolute coordinates...
                      M83                                                ; ...but relative extruder moves
                      M550 P"Pulse E-423S"                               ; set printer name
                      
                      ; Network
                      M552 P0.0.0.0 S1                                   ; enable network and acquire dynamic address via DHCP
                      M586 P0 S1                                         ; enable HTTP
                      M586 P1 S0                                         ; disable FTP
                      M586 P2 S0                                         ; disable Telnet
                      
                      ; Drives
                      M569 P0.0 S0                                       ; physical drive 0.0 goes backwards
                      M569 P0.1 S1                                       ; physical drive 0.1 goes forwards
                      M569 P0.2 S1                                       ; physical drive 0.2 goes backwards
                      M569 P0.3 S1                                       ; physical drive 0.3 goes forwards
                      M584 X0.0 Y0.1 Z0.2 E0.3                           ; set drive mapping
                      M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
                      M92 X80.00 Y80.00 Z400.00 E409.00                  ; set steps per mm
                      M566 X900.00 Y900.00 Z60.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
                      M203 X1080000.00 Y1080000.00 Z90000.00 E15000.00   ; set maximum speeds (mm/min)
                      M201 X500.00 Y500.00 Z20.00 E1000.00               ; set accelerations (mm/s^2)
                      M906 X1000 Y1200 Z1200 E1200 I40                   ; 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 X250 Y220 Z210 S0                             ; set axis maxima
                      
                      ; Endstops
                      M574 X1 S1 P"io5.in"                               ; configure active-high endstop for low end on X via pin io5.in
                      M574 Y1 S1 P"io6.in"                               ; configure active-high endstop for low end on Y via pin io6.in
                      M574 Z1 S1 P"io2.in"                               ; configure active-high endstop for low end on Z via pin io2.in
                      
                      ; Z-Probe
                      M950 S0 C"io3.out"                                 ; create servo pin 0 for BLTouch
                      M558 P9 C"io3.in" H5 F120 T600                    ; set Z probe type to bltouch and the dive height + speeds
                      G31 P500 X23 Y10 Z0                               ; set Z probe trigger value, offset and trigger height
                      M557 X20:230 Y20:200 S20                           ; define mesh grid
                      
                      ; Heaters
                      M308 S0 P"temp0" Y"thermistor" T100000 B4066       ; configure sensor 0 as thermistor on pin temp0
                      M950 H0 C"out0" T0                                 ; create bed heater output on out0 and map it to sensor 0
                      M307 H0 A421.6 C860.4 D14.2 S1.00 V24.0 B0         ; disable bang-bang mode for the bed heater and set PWM limit
                      M140 H0                                            ; map heated bed to heater 0
                      M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
                      M308 S1 P"temp1" Y"thermistor" T100000 B4066       ; configure sensor 1 as thermistor on pin temp1
                      M950 H1 C"out1" T1                                 ; create nozzle heater output on out1 and map it to sensor 1
                      M307 H1 R2.648 C163.1:161.1 D6.32 S1.00            ; disable bang-bang mode for heater  and set PWM limit
                      M143 H1 S315                                       ; set temperature limit for heater 1 to 315C
                      
                      ; Fans
                      ; M950 F0 C"out3" Q500                               ; create fan 0 on pin out3 and set its frequency
                      ; M106 P0 C"PartCool" S0 H-1                         ; set fan 0 name and value. Thermostatic control is turned off
                      M950 F1 C"out4" Q500                               ; create fan 1 on pin out4 and set its frequency
                      M106 P1 C"HotEnd" S1 H1:0 T35                      ; set fan 1 name and value. Thermostatic control is turned on
                      M950 F2 C"out5" Q500                               ; create fan 2 on pin out5 and set its frequency
                      M106 P2 C"CaseFan" S1 H1:0 T35                     ; set fan 2 name and value. Thermostatic control is turned on
                      
                      ; Tools
                      M563 P0 S"Hotend" D0 H1 F0                         ; define tool 0
                      G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
                      G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
                      
                      ; Custom settings
                      M280 P0 S160					                   ; Clear any alarms
                      M402							                   ; Retract pin just in case         
                      
                      
                      ; Miscellaneous
                      M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
                      T0                                                 ; select first tool
                      
                      
                      ; homeall.g
                      ; called to home all axes
                      ;
                      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
                      G91                     ; relative positioning
                      G1 H1 X-255 Y-225 F1000  ; move quickly to X and Y axis endstops and stop there (first pass)
                      G1 H2 X5 Y5 F360        ; go back a few mm
                      G1 H1 X-255 Y-225 F360  ; move slowly to X and Y axis endstops once more (second pass)
                      G90                     ; absolute position
                      G1 X95 Y100 F1000      ; move probe to center of bed
                      G30
                      							                
                      ; Uncomment the following lines to lift Z after probing
                      ; G91                    ; relative positioning
                      ; G1 H1 Z215 F800        ; lift Z relative start position
                      ; G90                    ; absolute positioning
                      
                      
                      ; homex.g
                      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
                      G90 ; absolute position
                      ;G1 H2 Z0 F1000    ; Do not lift Z relative to current position
                      ; G1 H2 Z-10 F1000   ; lift Z relative to current position
                      G1 H1 X-255 F1000 ; move quickly to X axis endstop and stop there (first pass)
                      ; G30
                      G1 H2 X5 F1000    ; go back a few mm
                      G1 H1 X-255 F360  ; move slowly to X axis endstop once more (second pass)
                      ;G1 H2 Z0 F1000    ; Do not lower Z again
                      
                      
                      ; homey.g
                      ; called to home the Y axis
                      ;
                      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
                      G91               ; relative positioning
                      G1 H2 Z0 F1000   ; lift Z relative to current position
                      G1 H1 Y-225 F1000 ; move quickly to Y axis endstop and stop there (first pass)
                      G1 H2 Y5 F1000    ; go back a few mm
                      G1 H1 Y-225 F360  ; move slowly to Y axis endstop once more (second pass)
                      ;G1 H2 Z0 F6000  ; lower Z again
                      G90               ; absolute positioning
                      
                      
                      ; homez.g
                      ; called to home the Z axis
                      ;
                      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time)
                      G91               ; relative positioning
                      G90 ; absolute position
                      G1 X95 Y100 F1000 ; move probe to center of bed
                      G30
                      
                      

                      Cut me, I bleed Duet3D. 😳 And I love the people here. 😍😍😍
                      www.MatterHackers.com - https://discord.gg/Ked7GREqux

                      1 Reply Last reply Reply Quote 1
                      • Nightreaverundefined
                        Nightreaver
                        last edited by

                        Something I can also recommend to you, is splitting the home[all|x|y|z].g files into seperate ones.
                        I had trouble with homeall not working while x or y separately worked well.

                        homeall.g

                        ; homeall.g
                        ; called to home all axes
                        
                        M98 P"/sys/homex.g"       ;start homing x
                        M98 P"/sys/homey.g"       ;start homing y
                        M98 P"/sys/homez.g"       ;start homing z
                        
                        G1 H1 X0             ; return 0 X axis
                        G1 H1 Y0             ; return 0 Y axis
                        

                        and then put for code for x y z homing in separate files.

                        This also helps to find bugs when it comes to "why homez doesn't work standalone, but works when homeall is used" kind of things.

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