BLtouch not retracting when it's touching the bed



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



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



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


  • Moderator

    @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?


  • Moderator

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


  • Moderator

    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.



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


  • Moderator

    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



  • @Qonstrukt Please post your complete config.g

    Regards,

    Paul



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

  • administrators

    @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



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


  • Moderator

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


  • administrators

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


  • Moderator

    @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?


Log in to reply