-
-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect Final Z Position After Homing with Probe #486
Comments
I know bd-sensor doesn't specify to set the homing retract dist to 0 to disable a second homing move, but all other Eddy current sensors I know of do that. |
Disabling the second homing step works as a workaround. also the BDSensor is compatible with the standard Klipper master since Klipper resets the position between runs. While the second homing step isn’t strictly necessary, it does provide a valuable benefit. Unlike switch-based probes, eddy current probes enable high-speed Z-axis homing. For instance, I home the Z-axis at 150mm/s, which offers enough margin to avoid crashes but sacrifices some accuracy (the BD sensor has an accuracy of ±0.3mm at this speed). To address this, I perform a second homing step at 8mm/s for the final 2mm, ensuring greater precision. |
I totally get why you want the second homing |
I just did some quite extensive digging and I cant seem to be able to reproduce that issue at all. |
Yeah I invested a lot time to debug that issue. The log file I provided is a run home_rails (homing.py) enhanced by proper logging code |
Could you please provide that file, so I know when the logging exactly happens to better troubleshoot the code |
I no longer have it, as I reverted all changes after patching the issue on my fork. Normally, I’d create a PR, but since my fix is just a quick and dirty workaround, I can’t submit it here. The entire homing process in Klipper/Kalico feels overly complex, and I don’t have the resources to fully understand its behavior across all scenarios to create a proper fix. As I understand it, the sensorless homing code for the X/Y axes conflicts with the Z-axis homing process. |
I reconstructed the logging code with ChatGPT, hopefully this helps:
|
Description
When homing the Z-axis using a probe, the final Z position is incorrect. This issue occurs because the starting position for the second homing is calculated based on the retract position. As a result, the retract distance is applied twice, but only reverted once.
Root Cause
The issue lies in the calculation of the starting position for the second homing attempt, where the retract distance is incorrectly handled. This results in an additional retract operation that is not compensated for, leading to an incorrect Z position.
Example Log
Below is a log demonstrating the issue:
Analysis
1.2
3
4.2
7.2
4.2
for z which should be1.2
Additional Notes
This issue causes a significant offset in Z homing, which can lead to incorrect bed leveling and printing failures. Resolving this bug is crucial for accurate Z-axis calibration.
The text was updated successfully, but these errors were encountered: