BL Touch help after firmware 2.05 upgrade



  • I've just upgraded the firmware on a large format 3DP Workbench from 1.19 to 2.05 and I'm having some issues with getting the BL Touch working correctly. Right now I can command the probe and it works correctly most of the time, but when I run my bed leveling routine which has 256 points due to the size of the bed (1mx1m) the probe will occasionally fail to retract which causes the leveling routine to fail.

    The machine has a version 1.04b duet ethernet board and an expansion board that runs servos with built in drivers on the x, y and z axis. Additionally, it uses some sort of magnetic or inductive end stop to home the x, y and z axis (it does not use the bl touch to home z). These end stops are powered from an off-board source, but the signal wires connect to the end stop connectors on the duet main board.

    The BL touch has been wired up to use the heater 7 connector on the expansion board (GND, +5V and signal) but is also wired to the E1 endstop at the GND and E1 Stop pins.

    The stock 1.19 firmware used the following commands to setup the BL Touch and endstops:

    ;;;;;;;;;;;;;; ENDSTOPS ;;;;;;;;;;;;;;;

    M574 X1 Y1 Z1 S0 ; Define active low and unused microswitches
    M574 E0 S0 ; Define E0 endstop active low for filament sensor

    ;;;;;;;;;;;;;; BLTouch Bed Probe ;;;;;;;;;;;;;;;

    M307 H7 A-1 C-1 D-1 ; Set Heater 7 as servo pin for BLTouch
    M558 P6 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P100 X39 Y190 Z2.95 ; Set Z probe trigger value, offset and trigger height

    The 2.05 firmware that I setup using the config tool now has the following:

    ;;;;;;;;;;;;;; ENDSTOPS ;;;;;;;;;;;;;;;

    M574 X1 Y1 Z1 S0 ; set active low and disabled endstops
    M574 E0 S0 ; Define E0 endstop active low for filament sensor

    ;;;;;;;;;;;;;; BLTouch Bed Probe ;;;;;;;;;;;;;;;

    M307 H7 A-1 C-1 D-1 ; disable heater 7 on PWM channel and use for BLTouch
    ;M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds (generated by RRF configurator)
    M558 P6 X0 Y0 Z1 H5 F120 T6000 ; set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    ; changed to match stock 1.19.2 firmware from 3DP
    G31 P600 X39 Y190 Z3.10 ; set Z probe trigger value, offset and trigger height
    ; changed to match stock 1.19.2 firmware from 3DP
    M557 X40:910 Y191:950 S58:50.6 ; define mesh grid

    I know that using a type P6 probe in firmware 2.05 isn't preferred, but I've tried running the M558 P9 probe code generated by the firmware tool (and commented out above) and the BL Touch won't even respond to deploy/retract commands so I'm not sure what to do.

    I've attached a wiring diagram (please excuse my MS Paint skills) and the full 1.19 and 2.05 config.g files below.

    3DP - Duet Ethernet Wiring Diagram.jpg

    Previous 1.19 config.g.g

    New 2.05 config.g.g



  • @87ninefiveone
    Check the setting for the end stops.
    For Z it must be set to use the probe.



  • I'd rather keep using the physical end stop for Z if I can. It worked fine in 1.19 and I trust the sensor a lot more than I trust the BL touch for homing given that a $1000 piece of glass is on the line and I'm almost never in the same room when starting a print.

    Can I just move the the wiring connections from the E1 Stop connector (GND and E1 STOP) to the appropriate pins for the z probe connector (GND and Z PROBE IN) and change my M558 to use the P9 probe type?


  • administrators

    @87ninefiveone said in BL Touch help after firmware 2.05 upgrade:

    I know that using a type P6 probe in firmware 2.05 isn't preferred, but I've tried running the M558 P9 probe code generated by the firmware tool (and commented out above) and the BL Touch won't even respond to deploy/retract commands so I'm not sure what to do.

    You should use type P9. What commands do you have in the deployprobe.g and retractprobe.g files? Do M401 and M402 reliable deploy and retract the probe?



  • Deployprobe.g has M280 P7 S10 I0, but I found a mistake in the retractprobe.g file which had M280 P7 S90 I1 instead of I0. I suspect this was part of the issue.

    I corrected this, changed the M558 command to use P9 and moved the wiring connections from E1 STOP to the Z PROBE connections. I'm running a bed leveling routine now, so we'll see how it goes. I'll also check the M401 and M402 commands once it completes.



  • M401 and M402 commands are working and I was able to get through two bed leveling routines without an issue. Looks like it's now working as intended.

    One more quick question, is it now best practice to use M401 and M402 command for probe deployment/retraction in macros and startup g-code or is using M280 commands still okay? Just curious if I need to edit my macros and .g files to use the M401/402 commands so the board can properly track the probe state?


  • administrators

    @87ninefiveone said in BL Touch help after firmware 2.05 upgrade:

    One more quick question, is it now best practice to use M401 and M402 command for probe deployment/retraction in macros and startup g-code or is using M280 commands still okay? Just curious if I need to edit my macros and .g files to use the M401/402 commands so the board can properly track the probe state?

    Use M401 and M402. That allows the firmware to track the deployment state.



  • @dc42 Will do. Thank you for your help!



  • @dc42 said in BL Touch help after firmware 2.05 upgrade:

    That allows the firmware to track the deployment state.

    Is this also tracked in G30?



  • @DIY-O-Sphere said in BL Touch help after firmware 2.05 upgrade:

    @dc42 said in BL Touch help after firmware 2.05 upgrade:

    That allows the firmware to track the deployment state.

    Is this also tracked in G30?

    Yes. When using the P9 probe type for BLTouch all of the commands that require the pin to be deployed keep track of the pin state.



  • Ran some test on the BLtouch operation - it drops the probe, it lifts the probe, it self tests .... but for some reason the operation of 'cancel alarm and lift probe' does not run ....

    This runs:
    M280 P0 S90 ; Send PWM channel 7 the S90 (angle) command
    This does NOT run:
    M280 P0 S160; Alarm Release and Push-Pin UP

    I don't get why this is happening ?



  • This will release a "blinking" Bltouch. It doesn't take effect in normal status.



  • Hmmm .... will do more tests
    Thanks!



  • Yup, you are correct, if it blinks then the command works.
    Still got some gremlins here .....

    Ok, I got it figured out. While the macros for the bltouch all worked, the 'retractprobe.g' had an error in it so it was behaving strangely

    Thanks!


Log in to reply