DUET 3 - BL Touch : Error Enabling End-stops



  • Hi everyone,

    I am installing a Duet 3 6HC coupled to an EB3HC, firmware is running 3.01.

    Normally I use the config tool however there are multiple axis motors on this frame so needed to continue the config after generating what I could from the online tool.

    Am fitting a BL Touch to a new board, I followed the standard Z-Probe guide that I have used several times on Duet2 boards but am running in to some issues.

    X and Y home fine but Z reports:

    G28 Z
    Error: Failed to enable endstops

    • The BL Touch performs the start up-down routine when powered on.

    • Sending M280 P0 S10 deploys the probe with no issues.

    • Sending M280 P0 S90 retracts just fine too.

    Wiring as in the image below

    BL_PINS.png



  • Config is using io7:

    Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Mon Jun 22 2020 11:51:05 GMT+1000 (Australian Eastern Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"COLOSSUS" ; 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 ; X 0.0 goes backwards
    M569 P1.0 S1 ; YLEFT 1.0 goes forwards
    M569 P0.1 S1 ; YRIGHT 0.1 goes forwards
    M569 P0.3 S1 ; ELEFT 0.3 goes forwards
    M569 P0.4 S1 ; ERIGHT 0.4 goes forwards

    M569 P0.2 S0 ; ZLEFT 0.2 goes backwards
    M569 P1.1 S1 ; ZCENTRE 1.1 goes forwards
    M569 P1.2 S1 ; ZRIGHT 1.2 goes forwards

    M584 X0.0 Y1.0:0.1 E0.3:0.4 Z0.2:1.1:1.2 ; set drive mapping
    ; MAIN BOARD EXP1
    ; X = Drive P0.0 Z LEFT = Drive 0.2
    ; YL = Drive P1.0 Z CENTRE = Drive 1.1
    ; YR = Drive P0.1 Z RIGHT = Drive 1.2
    ; E0 = Drive P0.3
    ; E1 = Drive P0.4

    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X300.00 Y400.00 Z1066.67 E476.00 ; set steps per mm
    M566 X300.00 Y300.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X400.00 Y400.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1600.00 Y2100.00 Z3150.00 E800.00 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 minimum
    M208 X860 Y560 Z1070 S0 ; set axis maximum

    ; Endstops
    M574 X2 S1 P"!io4.in" ; configure active-high endstop for high end on X via pin !io4.in
    M574 Y2 S1 P"!io5.in" ; configure active-high endstop for high end on Y via pin !io5.in

    ; Z-Probe
    M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
    M558 P9 C"^io7.in" H5 F240 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X0 Y0 Z2.25 ; set Z probe trigger value, offset and trigger height
    M557 X200:600 Y200:400 S100 ; define mesh grid

    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; 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 B0 S1.00 ; 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 B4138 ; 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 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M308 S2 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin temp2
    M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2
    M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

    ; Fans
    M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
    M106 P0 C"E0_FAN" S1 H1 T5 ; set fan 0 name and value. Thermostatic control is turned on
    M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
    M106 P1 C"E1_FAN" S1 H2 T5 ; set fan 1 name and value. Thermostatic control is turned on
    M950 F2 C"out9" Q500 ; create fan 2 on pin out9 and set its frequency
    M106 P2 C"PC_FAN" S1 H0 T5 ; set fan 2 name and value. Thermostatic control is turned on

    ; Tools
    M563 P0 S"EXTRUDER_LEFT" 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
    M563 P1 S"EXTRUDER_RIGHT" D1 H2 F0 ; 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

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue
    ;M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss



  • Home Z File:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Mon Jun 22 2020 13:30:53 GMT+1000 (Australian Eastern Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 Z-1075 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 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning


  • Moderator

    @callielli said in DUET 3 - BL Touch : Error Enabling End-stops:

    firmware is running 3.01.

    Please update to 3.1.1

    Then send M98 Pconfig.g in the console and report any errors.


  • Moderator

    @callielli said in DUET 3 - BL Touch : Error Enabling End-stops:

    G28 Z
    Error: Failed to enable endstops

    This is because you do not define any Z endstops and yet your homez is configured to use a endstop move.

    @callielli said in DUET 3 - BL Touch : Error Enabling End-stops:

    ; Endstops
    M574 X2 S1 P"!io4.in" ; configure active-high endstop for high end on X via pin !io4.in
    M574 Y2 S1 P"!io5.in" ; configure active-high endstop for high end on Y via pin !io5.in

    @callielli said in DUET 3 - BL Touch : Error Enabling End-stops:

    G1 H1 Z-1075 F1800 ; move Z down until the endstop is triggered
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    If you want to use the probe, you'll need to change those lines in homez homeall to use a G1 X Y move to position the probe and then a G30 to do the actual probe move.



  • @Phaedrux said in DUET 3 - BL Touch : Error Enabling End-stops:

    G1 X Y

    Thanks for your help, I knew I was missing something that was likely basic knowledge, I still need to become more fluent reading this stuff! Learning slowly.

    From your response, I think I need to:

    STEP 1
    Define Z Endstops under M574 in config.g

    M574 Z1 S0 P"!io7.in" ; configure active-low endstop for low end on X via pin !io7.in

    Does this look right? A BL touch is active low when triggered, I think?

    STEP 2
    Edit HOMEZ AND HOMEALL to move the probe in to position and activate probing procedure via G30?

    G1 X430 Y280 ;move probe to centre of bed
    G30 ;probe bed

    Am I on the right track?


  • Moderator

    As for the endstop, you only need to define one if you actually have an endstop you want to use on the z axis. If you just want to use the probe, you just need to change the homing files to use G30.



  • @callielli said in DUET 3 - BL Touch : Error Enabling End-stops:

    G1 X430 Y280 ;move probe to centre of bed
    G30 ;probe bed

    OK, thanks.

    So HOMEALL

    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X865 Y565 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X-5 Y-5 F6000 ; go back a few mm
    G1 H1 X865 Y565 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G1 X430 Y280 ;move probe to centre of bed
    G30 ;probe bed
    G90 ; absolute positioning

    and

    HOMEZ

    G1 X430 Y280 ;move probe to centre of bed
    G30 ;probe bed

    and no changes to Config.g

    Correct?


  • Moderator

    @callielli said in DUET 3 - BL Touch : Error Enabling End-stops:

    G1 X430 Y280 ;move probe to centre of bed
    G30 ;probe bed
    G90 ; absolute positioning

    Slight change. Move the G90 for absolute positioning to before the G1 X430 Y280 otherwise those moves will be relative to the endstop position, which might work, but not exactly what you want to do.



  • Roger!

    So HOMEALL

    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X865 Y565 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X-5 Y-5 F6000 ; go back a few mm
    G1 H1 X865 Y565 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G90 ; absolute positioning
    G1 X430 Y280 ;move probe to centre of bed
    G30 ;probe bed

    and

    HOMEZ

    G90 ; absolute positioning
    G1 X430 Y280 ;move probe to centre of bed
    G30 ;probe bed


  • Moderator

    Now you should follow this to test and calibrate your probe.

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



  • @Phaedrux

    Yep - I will do that now. Cheers.



  • @Phaedrux

    P.S. How do I mark this as solved?

    Or is that something you guys do?


  • Moderator

    That sounds like a large printer.

    You can mark it solved by first clicking on topic tools and choosing ask as a question, and then topic tools again to mark as solved.



  • @Phaedrux

    She's a big one, that's for sure.

    Two Bondtech QRs' a huge ATP5 bed and some serious current should hopefully see large scale prototypes be turned around quickly!


  • Moderator



  • Ahh - nice one! I had no idea this section existed.

    Will be sure to post when if I find the time!

    It seems my penchant for hobbies that require a steep learning curve remains strong. haha.



  • Its a development printer, until it ready would like to leave any pics, specs etc in house.


Log in to reply