Stepper phase adjusted endstops
-
Hi,
I would like to propose stepper phase adjusted endstops for homing. This feature is described in great detail in the Klipper documentation and can help increase the repeatability of homing runs. -
I support this proposal, as I encounter problems with resurrect.g (which is a great thing on its own and has saved me several nights). No, I don’t suffer from power outages at all, but as I don’t want to let my prints run unattended over night in my thatched house, I’ve written some macros to drive down all powers except of for the heated bed (with reduced temp.) over night, save the current state (just as in resurrect.g) and to step-in again the next day.
When I continue an interrupted print, I can’t use my probe to tram the two Z drives, casually leaving me with a somehow inconsistent „first“ layer height. The lead screws do not slip, but maybe the steppers move from any microstep-position they were in to a preferred full-step position when repowered?
Sure, I added Z-max endstops to overcome this issue, but these mechanical switches do not quite offer the required precision - a fact that I also can observe in tiny layer shifts on the X and Y axes when I run resurrect.g (e.g. my version thereof). So yes, calibration of the endstop phase would be welcome - and yes, for all axes, please.
-
+1
Ability to set a known the micro step (within a full step) or phase (within a four step cycle) has several benefits.
-
@oliof I've added this to the wishlist.
To make it easy to set up, I am thinking of having a variant of the M500 command that saves all the stepper phases at the homing positions to config-override.g. Does this sound reasonable to you?
-
@oliof
I would like to add another issue I suspect being responsible for some trouble:
Everytime I pause and resume a print, the position is a bit off when the motors had time to go in idle mode. I guess, that's also related to microsteps?
Same thing happens, when I print the same part a few times in a row. I have to babystep the first layer almost everytime. -
@o_lampe said in Stepper phase adjusted endstops:
@oliof
I would like to add another issue I suspect being responsible for some trouble:
Everytime I pause and resume a print, the position is a bit off when the motors had time to go in idle mode. I guess, that's also related to microsteps?
Same thing happens, when I print the same part a few times in a row. I have to babystep the first layer almost everytime.It might be worth a try to increase the idle hold current to see if that helps.
-
@o_lampe I'd completely disable idle hold power reduction by setting it to 100%, especially on a system like hash where a subset of steppers may have long wait times until the others catch up completing a layer when printing truly independent.
Alternately, add homing ability in Z to the top of the frame so you can rehome after idle, and homing after each layer. That will be helpful, but especially if endstop phase adjustment were available.
-
"If you can't make it work with force, you simply didn't use enough"
Ofcourse I could raise the idle hold current, but my interpretation of the issue was, that idle hold works better, when moving to the parking position was done in fullsteps? (At least fullsteps for the last mm or so)
For a Delta printer it would be important to reach a position near the parking spot, but with all three motors on the next best fullstep.
The firmware would have to control that. -
Optical endstops can provide very high precision homing: https://drmrehorst.blogspot.com/2020/03/testing-ummds-xy-optical-endstops.html