Solved 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
-
-
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 forwardsM569 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 forwardsM584 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.4M350 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 -
@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.
-
@callielli said in DUET 3 - BL Touch : Error Enabling End-stops:
G28 Z
Error: Failed to enable endstopsThis 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.gM574 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 bedAm I on the right track?
-
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 bedOK, 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 positioningand
HOMEZ
G1 X430 Y280 ;move probe to centre of bed
G30 ;probe bedand no changes to Config.g
Correct?
-
@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 positioningSlight 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 bedand
HOMEZ
G90 ; absolute positioning
G1 X430 Y280 ;move probe to centre of bed
G30 ;probe bed -
Now you should follow this to test and calibrate your probe.
https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
-
Yep - I will do that now. Cheers.
-
-
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.
-
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!
-
https://forum.duet3d.com/category/10/my-duet-controlled-machine
In case you feel like showing off.
-
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.