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

    BLtouch not retracting when it's touching the bed

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    15
    3.5k
    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.
    • Qonstruktundefined
      Qonstrukt
      last edited by Qonstrukt

      I just got a replacement original BLtouch Smart 3.1 as a replacement for my clone 3Dtouch of which the pin has gotten bent. Thought I might as well get the original since they're not that expensive.

      The clone was still working perfectly fine with this setting on my v1.02 Duet WiFi board, with the following settings:
      M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000

      It has almost never failed me, but due to the pin being bent, the distance between the bed and the pin retracting has gotten kinda short for my nerves, so that's why I replaced it.

      I used the original wiring and mount, and simply replaced the clone with the new original BLtouch. Everything works, I can deploy with M280 P0 S10, I can retract with M280 P0 S90. I can run the self-test. But when I press the pin when it's deployed, it will vibrate heavily like it's blocking the pin from coming back in, and will eventually sound the alarm, and not trigger a Z-probe signal.

      Do I have a defective unit, or is there something else I could check?
      Issuing M401 and M402 commands works perfectly fine as well, as both the deployprobe.g and retractprobe.g files are there and working as they have for the old clone.

      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • Danalundefined
        Danal
        last edited by

        Does it cycle twice at power up? Pin out/in twice? And then go solid red?

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • Qonstruktundefined
          Qonstrukt
          last edited by Qonstrukt

          Yes, that's the weird thing. Literally everything works at startup, and if you do it by command. Just the pin is being blocked from being pressed when it touches anything after an S10.

          I just now managed to get it working by sending an S60 after a 200ms delay in deployprobe.g, but I don't get why it's working in this "Touch Switch Mode", and not in the regular mode, while it did with the clone.

          I can't even find anywhere what this Touch Switch Mode even means.

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

            @Qonstrukt said in BLtouch not retracting when it's touching the bed:

            M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000

            +zprobe.mod remove that bit for starters.

            @Qonstrukt said in BLtouch not retracting when it's touching the bed:

            But when I press the pin when it's deployed, it will vibrate heavily like it's blocking the pin from coming back in

            Video of that? I've never seen anything like that.

            How exactly do you have it wired?

            Z-Bot CoreXY Build | Thingiverse Profile

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

              @Qonstrukt said in BLtouch not retracting when it's touching the bed:

              Touch Switch Mode

              I've never seen that either.

              https://www.antclabs.com/bltouch-v3

              I have a 3.0 not a 3.1 and I didn't have to do anything different to it then the old 2.0 version.

              Z-Bot CoreXY Build | Thingiverse Profile

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

                I wonder if Touch Switch mode is used when doing a G29 the pin will stay deployed between the probe points to save time. There was a post a little while ago going in detail on how to emulate the behaviour on older versions. That's pure speculation on my part.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • Qonstruktundefined
                  Qonstrukt
                  last edited by Qonstrukt

                  So I've uploaded a video: https://youtu.be/n3MhIpunyQ4

                  Here you can see me engaging S10 and pressing it with a business card. If you listen carefully, you can hear it buzz. I could noticeably feel it's pushing the pin down while it's buzzing. If I would have done it more slowly, than it would've kept pushing and buzzing for at least 2 seconds before it would enter alarm mode.

                  The second time I reset it with S160, deploy it with S10 again, and then also put it in Touch Switch Mode with S60. You can now see it behaves normally as you would expect with just S10.

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

                    Have you tested the probe using a G30 command? Normally when the pin is deployed if you force it in it will error, so that's expected.

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

                    Z-Bot CoreXY Build | Thingiverse Profile

                    Qonstruktundefined 1 Reply Last reply Reply Quote 0
                    • PaulHewundefined
                      PaulHew
                      last edited by PaulHew

                      @Qonstrukt Please post your complete config.g

                      Regards,

                      Paul

                      RailCore II - Duet Mini + 1LC, Voron V0.1 - Duet Mini
                      Voron 2.4 disassembled..... Waiting for the RailCore Mini....

                      1 Reply Last reply Reply Quote 0
                      • Qonstruktundefined
                        Qonstrukt @Phaedrux
                        last edited by Qonstrukt

                        @Phaedrux said in BLtouch not retracting when it's touching the bed:

                        Have you tested the probe using a G30 command? Normally when the pin is deployed if you force it in it will error, so that's expected.

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

                        Doesn't matter if I do it with G30, the bed also causes an alarm.
                        Besides, the old clone didn't show this behaviour.

                        @PaulHew said in BLtouch not retracting when it's touching the bed:

                        @Qonstrukt Please post your complete config.g

                        Regards,

                        Paul

                        My firmware currently is 3.0.1 RC8, it did the same with 3.0 and 3.0.1 RC6.

                        ; Configuration file for Duet WiFi (firmware version 3)
                        ; executed by the firmware on start-up
                        ;
                        ; generated by RepRapFirmware Configuration Tool v2.1.8 on Tue Apr 07 2020 00:17:54 GMT+0200 (CEST)
                        
                        ; General preferences
                        G90                                            ; send absolute coordinates...
                        M83                                            ; ...but relative extruder moves
                        M550 P"Core A6"                                ; set printer name
                        
                        M669 K1                                        ; 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 P4 S0                                     ; physical drive 0 goes backwards
                        M569 P1 S0                                     ; physical drive 1 goes forwards
                        M569 P2 S1                                     ; physical drive 2 goes forwards
                        M569 P3 S0                                     ; physical drive 3 goes backwards
                        M584 X4 Y1 Z2 E3                               ; set drive mapping
                        M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
                        M92 X100.00 Y100.00 Z400.00 E436.54            ; set steps per mm
                        M566 X900.00 Y900.00 Z12.00 E120.00            ; set maximum instantaneous speed changes (mm/min)
                        M203 X6000.00 Y6000.00 Z600 E1200.00           ; set maximum speeds (mm/min)
                        M201 X500.00 Y500.00 Z20.00 E250.00            ; set accelerations (mm/s^2)
                        M906 X1500 Y1500 Z1000 E1500 I30               ; set motor currents (mA) and motor idle factor in per cent
                        M84 S30                                        ; set idle timeout
                        
                        ; Axis Limits
                        M208 X-150 Y-150 Z0 S1                         ; set axis minima
                        M208 X150 Y150 Z260 S0                         ; set axis maxima
                        
                        ; Endstops
                        M574 X2 S1 P"!xstop"                           ; configure active-low endstop for high end on X via pin xstop
                        M574 Y2 S1 P"!ystop"                           ; configure active-low endstop for high end on Y via pin ystop
                        M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
                        
                        ; Z-Probe
                        M950 S0 C"exp.heater3"                         ; create servo pin 0 for BLTouch
                        M558 P9 C"zprobe.in" H5 F120 T6000             ; set Z probe type to bltouch and the dive height + speeds
                        G31 P500 X-31 Y22 Z4.1                         ; set Z probe trigger value, offset and trigger height
                        M557 X-100:100 Y-100:100 S50                   ; define mesh grid
                        
                        ; Heaters
                        M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
                        M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
                        M143 H0 S60                                    ; set temperature limit for heater 0 to 60C
                        ;M307 H0 B0 S1.00                              ; disable bang-bang mode for the bed heater and set PWM limit
                        M307 H0 A112.3 C573.2 D1.0 S1.00 V11.7 B0      ; auto-tuned heater 0 configuration
                        M140 H0                                        ; map heated bed to heater 0
                        M308 S1 P"e0temp" Y"thermistor" T100000 B4092  ; configure sensor 1 as thermistor on pin e0temp
                        M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
                        M143 H1 S250                                   ; set temperature limit for heater 1 to 250C
                        ;M307 H1 B0 S1.00                              ; disable bang-bang mode for heater  and set PWM limit
                        M307 H1 A400.6 C113.7 D7.7 S1.00 V12.1 B0      ; auto-tuned heater 1 configuration
                        
                        ; Fans
                        M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
                        M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
                        M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
                        M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
                        
                        ; Tools
                        M563 P0 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
                        M572 D0 S0.5                                   ; set pressure advance
                        
                        dc42undefined 1 Reply Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @Qonstrukt
                          last edited by

                          @Qonstrukt said in BLtouch not retracting when it's touching the bed:

                          M558 P9 C"zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds

                          Add the ^ character at the start of zprobe.in to enable the pullup resistor:

                          M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds

                          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

                          Qonstruktundefined 1 Reply Last reply Reply Quote 0
                          • Qonstruktundefined
                            Qonstrukt @dc42
                            last edited by Qonstrukt

                            @dc42 said in BLtouch not retracting when it's touching the bed:

                            @Qonstrukt said in BLtouch not retracting when it's touching the bed:

                            M558 P9 C"zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds

                            Add the ^ character at the start of zprobe.in to enable the pullup resistor:

                            M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds

                            Thanks! Now with a G30 it actually triggers normally!
                            (I figured this would be the only way since the pull-up register wouldn't have any effect without actually Z-probing.)

                            But, just to confirm I removed the ^ afterwards, and what do you know, now it also triggers normally without it...

                            For me this was a confirmation that using G30 over just using M280 P0 S10 apparently does make a difference, although I'm pretty sure my initial tests were always with G30. It was only for the video that I started using a business card with M280 P0 S10.

                            I'm not sure what else has changed in the meantime, between me removing the zprobe.mod as @Phaedrux mentioned. So thank you both for helping investigate this. 🙂

                            The zprobe.mod was initially added by the RepRapFirmware Configuration Tool, so that might be worthwhile to take a look at. I can't remember me selecting any particular options that might've caused this, but I could be wrong.
                            Nevermind, I see this is an option under the Z-probe assignment, and I just left it on not exactly knowing what it is.

                            Although it still is weird that this exact configuration worked great with a cloned classic BLtouch.

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

                              @Qonstrukt said in BLtouch not retracting when it's touching the bed:

                              Nevermind, I see this is an option under the Z-probe assignment, and I just left it on not exactly knowing what it is.

                              Yes, it's selected by default but it probably shouldn't be. It's on the change list.

                              Glad it's working now.

                              Z-Bot CoreXY Build | Thingiverse Profile

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

                                @Qonstrukt said in BLtouch not retracting when it's touching the bed:

                                But, just to confirm I removed the ^ afterwards, and what do you know, now it also triggers normally without it...

                                Without the pullup resistor enabled, it's somewhat random whether the port will register being triggered or not, and how long that will take.

                                @Qonstrukt said in BLtouch not retracting when it's touching the bed:

                                Although it still is weird that this exact configuration worked great with a cloned classic BLtouch.

                                Classic BLTouch pulled its output high as well as low, so it didn't matter whether the pullup resistor was enabled or not.

                                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

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

                                  @dc42 said in BLtouch not retracting when it's touching the bed:

                                  Classic BLTouch pulled its output high as well as low, so it didn't matter whether the pullup resistor was enabled or not.

                                  Does that mean there should be a drop down selector or something for the BLtouch version in the configurator?

                                  Z-Bot CoreXY Build | Thingiverse Profile

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