Klipper findings: - StealthChop causing inaccuracies
-
Hello forum,
I came across this thread on Klipper GitHub: https://github.com/Klipper3d/klipper/pull/4977
They recommend to disable StealthChop and Interpolation because this causes measurable inaccuracies, missed steps and lag.
I wonder if that is a Klipper specific problem or a general problem with those features even on our Duet hardware?
-
Interesting! My take:
Interpolation: we've never noticed any problem, although we know that interpolation can't be accurate during acceleration and deceleration. I think any error should be very small, less than 1 or possibly 2 microsteps. If it does cause a tiny error, then using interpolated 1/32 microstepping instead of the default interpolated 1/16 microstepping should halve the error.
Hold current (called standstill current reduction in RRF): we don't have any reports of issues using hold current. The default for those Duets that support it (Duet Maestro and all Duet 3s) is 70%. If a non-moving motor is under a static load then it's certainly possible that the reduction to hold current after the motor hasn't moved for a short time could cause a slight shift, especially if the hold current is set lower than the default. This might perhaps be seen when a CoreXY machine does a printing move at exactly (or very close to) 45 degrees to the XY axes, because then one of the XY motors won't be moving and the movement of the other motor will apply a load to it. RRF has a separate idle current factor that is used after all motion has stopped for a while.
StealthChop: I recommend disabling stealthChop anyway except perhaps at very low speeds (to reduce idle noise), because it makes the printer more likely to skip steps when the load increases suddenly, for example if the nozzle hits a blob or overhang. I can well believe that it affects print quality, because it works by reducing motor current and hence torque to the minimum that is deems is necessary.