Solved Z Probe and Z Max End Stop Setup
JRCL last edited by
@dc42 said in Quick question about Z endstops and z-probe:
Assuming your BLTouch is reliable, there is no benefit to using a separate Zmin endstop switch.
Some users like to have a Zmax endstop switch so that they can home to Z max when resuming a print after a power failure.
I'm not necessarily doing it for power failure reasons but I was looking around at doing a setup like this and wondering what all is needed in the firmware to implement successfully? Currently, my endstop and Z Probe (BL Touch) configuration look like the below. Is all I need to do, is change my z end stop to a microswitch at the high end and leave the other Z-probe settings? I also hope to make a macro to home off z max, do I just need a G1 H1 command to send it to the top until it hits that probe, then back to Z=0? Maybe there is a good example in the documentation I haven't found yet or read over.
; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 U2 S1 P"e0stop" ; configure switch-type (e.g. microswitch) endstop for low end on U via pin estop M574 V1 S3 ; configure sensorless endstop for low end on V M915 X Y R0 F0 S3 ; configure stall detection for X and Y M915 V R0 F0 S3 ; configure stall detection for V ; Z-Probe M950 S0 C"duex.pwm1" ; Duet 2 WiFi/Ethernet + DueX2/5 M558 P9 C"^zprobe.in" H5 F120 T6000 ; Duet 2 WiFi/Ethernet, DueX2/5 G31 P500 X0 Y0 Z5.985 ; set Z probe trigger value, offset and trigger height M557 X60:200 Y35:200 P3 ; define probing grid
fcwilt last edited by
Just to provide another perspective all of my printers have both a Z min endstop sensor and a Z probe.
The homing code is simpler and can be faster. And in the case of a printer using multiple Z steppers the multiple Z endstop sensors can home and level the bed in situations where a Z probe would have difficulties.
Regards a Z max endstop sensor - I don't have any of those. They are useful if you wish to resume printing after a power failure. That is not one of my concerns as all of my printers are on UPS devices that are fed by a backup generator. The generator takes 30 seconds or so to power up and stabilize. The UPS devices need only provide power until the generator is up and running.
I'm not suggesting that is the "right" way to do things - it is just the way I do things.
For Zmax homing all you need is an endstop positioned at Zmax and configured as such.
M574 Z2 S1 P"zstop"
Then to home to zmax you need a macro that at minimum has this
G91 ; relative movement G1 H1 Z400 F600
Homing with the probe is completely separate.
Here's a macro you can use to make measuring the exact length of the Z axis a bit easier. Use it as a reference, not exactly as it, because it won't match your setup, but you get the idea. In general it has you set Z0 by touching the nozzle to the bed and then measures the axis length with a G1 H3 move and saves that result with M500 to config-override.g
; 0:/macros/Bed Leveling/0_Set Zmax height.g ; Automates measuring the Zmax height for optical endstop at ~300mm ; M291 P"This will set Z0 and calibrate Zmax height" R"Proceed?" S3 M291 P"Homing all axis" T5 G28 ; Home all G90 ; Absolute positioning M98 P"0:/macros/0_Center Nozzle.g" ; Move nozzle to bed center M291 P"Adjust nozzle height until it's touching bed" Z1 S3 G92 Z0 ; set Z0 M291 P"Bed will now drop to Z300" S3 G1 Z300 ; Move bed down 300mm G1 H3 Z300 F200 M500 ; save m208 value for z axis to config override M291 P"Adjust optical endstop flag until light just turns off" R"Set Zmax=300mm" S3 M291 P"ZMax homing will now be tested, starting with homing Zmin" S3 M291 P"Homing to Zmin" T5 G28 Z M291 P"Ready to test Zmax homing?" R"Proceed?" S3 M291 P"Homing to Zmax" T5 M98 P"0:/macros/2_HomeZMax.g" ; Test Zmax homing M291 P"ZMax homing test complete. Printer will now home all." R"Proceed?" S3 G28 ; Home all M291 "ZMax calibration complete." S3
JRCL last edited by
@phaedrux Awesome! This is the type of stuff I was looking for, much appreciated.