Closed jKawka-ITV closed 3 weeks ago
Hey! Issue author here, it's really dependent on the steps pr second generated during a probing move for the probed axis, which depends on a range of settings. It's correct that reducing the amount of probe operations reduces the amount of drift, but it does not get rid of it. The main take away should be: the lower the rate of steps, the less error. Aim for something in the range of 1 step per 400 us.
Currently, your z axis is running:
microsteps: 32
rotation_distance: 8
full_steps_per_rotation: 200
And you're probing at 10 mm/s.
That works out to 8/200/32 = 0,00125mm
per step, and since you're probing at 10 mm/s that means you're generating 10 / 0,00125 = 8000
steps per second. resulting in a step interval of 1 / 8000 = 0,000125
or 125us, which definitely will be affected by the bug.
Ie. If you just reduce your probe speed to 3 mm/s, the chance of a step being generated within the 45us endstop oversampling delay is greatly reduced. I haven't been able to detect consistent real world drift at a step interval > 400us.
Alternatively, you could do 16 microsteps and 6 mm/s probe speed, which would result in the same step rate, but much faster bed meshes.
This way you gain accuracy from the additional samples, instead of loosing it :) Hope that helps!
Alternatively you can set it to only probe once instead.
I'm just a hobbyist who has this exact problem on a Neptune 4 Pro. My bed is level per screws_tilt, and my z offset is bang on... in the middle of my bed. In the front right corner, my z-offset gap is too large, and in my back left corner it is too narrow. I have to manually correct with my bed knobs after taking a mesh, and my probe takes two measurements per data point.
Can you point me in the right direction for taking single data points, or for changing the microsteps and probing speed?
You can read up on the settings here: https://github.com/Klipper3d/klipper/blob/master/docs/Config_Reference.md#probe
But do the math first. I thought I was experiencing this problem, but when I ran the math a few times, the numbers came out incredibly small.
Thankyou all, in Dev
branch I've updated the base.cfg
. Note: The E Microstep reduction is unrelated (just testing extruder torque).
https://github.com/OpenNeptune3D/OpenNept4une/commit/d6782a366fbc3622d694bc09801e73c5c9bd287e
Thankyou all, in
Dev
branch I've updated thebase.cfg
. Note: The E Microstep reduction is unrelated (just testing extruder torque).
That commit should reduce the worst case bed mesh drift by 11 x 11 x 3 x 0.00125mm = 0.45mm
I wonder how many people intentionally skewed their frame because they thought the bed mesh reported the truth.
https://github.com/Klipper3d/klipper/issues/6711
The key take away from the comments/discussion is that the drift is caused by multiple probes and reducing microsteps to 16 eliminates the issue when probing at 3 mm/s. This may potentially reduce or completely eliminate the need for Axis Twist Compensation.
Alternatively you can set it to only probe once instead.
I've not tried printing yet, but I've set my Z stepper to 16 microsteps + home/probe speed to 3.0 and ran a few bed meshes. The result spreads look a lot more tight.