Z endstop (max) with BLTouch
-
Hi All, Newbe here working on my first Duet install (Creatbot F430). It's all coming together nicely and I'm starting to work on configuration. Here's one of my many questions that I've not been able to solve alone.
The F430's Z-endstop has been moved from the top to the bottom (from low to high logically) such that it can be used for resume after a power failure. Before the Duet the endstop was installed, by Creatbot, but not used as the BLTouch was doing duty as a z-endstop when Homing.
Is the proper setup in this case to use the Z-endstop (max location) for determining home and only use the BLTouch when mapping the bed? Is there a way (or reason) to use both the Z-endstop AND BLTouch to define both bottom and top of Z axis?
In short, how do these two work together?
-
You should use the probe to set Z0 whenever possible, for homing, mesh, etc. The zmax endstop can't be trusted to match the probe for Z0 position (though you can and should try to get it to match up as close as possible) and if you mix and match there can be an unexpected offset.
For power loss recovery you would want it as accurate as possible though, so to measure the actual distance between where the probe thinks Z0 is and where your zmax endstop triggers is very important. To do this, first you need to calibrate your probe offsets. Ideally this should be done with the bed and nozzle at print temps to account for warping and expansion.
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
Once the probe is accurately setting Z0, you can home with the probe and then send
G1 H3 Z400 F600
(or something similar to match your printer)H3 terminate the move when the endstop switch is triggered and set the axis limit to the current position, overriding the value that was set by M208.
Then you can use M500 to save that measured M208 z maxima value to the config-override.g file. Don't forget to load it at boot up by adding M501 to the end of your config.g
Now at least if you have a power loss and need to home to z max you have a good chance of it being pretty close to the correct position.
-
@Phaedrux
I'm finally getting around to setting this up per your very clear instructions. However I'm still missing one piece of the puzzle.The RRconfigurator created my config.g file yet there was no way to tell it to use both a Z-probe and Z-Max endstop. I tried the following but soon realized that the second "M474 Z2" (setup by the configurator) redefines the commented out one (when not commented out). So how do I define both an enstop microswitch and the BLTouch so they don't get confused with each other?
; Endstops M574 X1 S1 P"io1.in" ; configure microswitch endstop for low end on X via pin io1.in M574 Y1 S1 P"io2.in" ; configure microswitch endstop for low end on Y via pin io2.in ;M574 Z2 S1 P"io5.in" ; configure microswitch endstop for High end on Z via pin io5.in M574 Z2 S2 ; Z-Probe M950 S0 C"io7.out" ; create servo pin 0 for BLTouch M558 P9 C"io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-4 Y75.5 Z3.1 ; set Z probe trigger value, offset and trigger height M557 X5:400 Y76:286 S30 ; define mesh grid
-
If you read the documentation for M574 carefully you will see that with your M574 Z2 S2, the S2 specifies a probe being used to home an axis other than Z.
You can remove the M574 Z2 S2
On my printers I have both a low and high end Z endstop sensor.
By issuing different M574 commands I can home to either the low or high end.
Normally I home Z to the low end via the Z endstop sensor and then use the Z probe to set the Z=0 datum.
Frederick
-