aboutsummaryrefslogtreecommitdiffstats
path: root/docs/TMC_Drivers.md
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2021-11-28 22:01:26 -0500
committerKevin O'Connor <kevin@koconnor.net>2021-12-12 12:44:06 -0500
commit323268ea02700b2fd3b6accda310845ba29c894e (patch)
treeecb36cfd7bef0265d20c1ae72212e68dc4040e28 /docs/TMC_Drivers.md
parent92c41b88278ba571a0ef3303e9fedc686aacaeef (diff)
downloadkutter-323268ea02700b2fd3b6accda310845ba29c894e.tar.gz
kutter-323268ea02700b2fd3b6accda310845ba29c894e.tar.xz
kutter-323268ea02700b2fd3b6accda310845ba29c894e.zip
docs: Note systemic error introduced by interpolate setting in TMC_Drivers.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'docs/TMC_Drivers.md')
-rw-r--r--docs/TMC_Drivers.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/TMC_Drivers.md b/docs/TMC_Drivers.md
index 2f456d4a..581fe2b2 100644
--- a/docs/TMC_Drivers.md
+++ b/docs/TMC_Drivers.md
@@ -83,6 +83,33 @@ setting `stealthchop_threshold` to 999999). Unfortunately, the drivers
often produce poor and confusing results if the mode changes while the
motor is at a non-zero velocity.
+## TMC interpolate setting introduces small position deviation
+
+The TMC driver `interpolate` setting may reduce the audible noise of
+printer movement at the cost of introducing a small systemic
+positional error. This systemic positional error results from the
+driver's delay in executing "steps" that Klipper sends it. During
+constant velocity moves, this delay results in a positional error of
+nearly half a configured microstep (more precisely, the error is half
+a microstep distance minus a 512th of a full step distance). For
+example, on an axis with a 40mm rotation_distance, 200
+steps_per_rotation, and 16 microsteps, the systemic error introduced
+during constant velocity moves is ~0.006mm.
+
+For best positional accuracy consider using spreadCycle mode and
+disable interpolation (set `interpolate: False` in the TMC driver
+config). When configured this way, one may increase the `microstep`
+setting to reduce audible noise during stepper movement. Typically, a
+microstep setting of `64` or `128` will have similar audible noise as
+interpolation, and do so without introducing a systemic positional
+error.
+
+If using stealthChop mode then the positional inaccuracy from
+interpolation is small relative to the positional inaccuracy
+introduced from stealthChop mode. Therefore tuning interpolation is
+not considered useful when in stealthChop mode, and one can leave
+interpolation in its default state.
+
## Sensorless Homing
Sensorless homing allows to home an axis without the need for a