docs: Note systemic error introduced by interpolate setting in TMC_Drivers.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
92c41b8827
commit
323268ea02
|
@ -2767,7 +2767,9 @@ cs_pin:
|
||||||
# The default is to not use an SPI daisy chain.
|
# The default is to not use an SPI daisy chain.
|
||||||
#interpolate: True
|
#interpolate: True
|
||||||
# If true, enable step interpolation (the driver will internally
|
# If true, enable step interpolation (the driver will internally
|
||||||
# step at a rate of 256 micro-steps). The default is True.
|
# step at a rate of 256 micro-steps). This interpolation does
|
||||||
|
# introduce a small systemic positional deviation - see
|
||||||
|
# TMC_Drivers.md for details. The default is True.
|
||||||
run_current:
|
run_current:
|
||||||
# The amount of current (in amps RMS) to configure the driver to use
|
# The amount of current (in amps RMS) to configure the driver to use
|
||||||
# during stepper movement. This parameter must be provided.
|
# during stepper movement. This parameter must be provided.
|
||||||
|
@ -2834,7 +2836,9 @@ uart_pin:
|
||||||
# UART communication. The default is to not configure any pins.
|
# UART communication. The default is to not configure any pins.
|
||||||
#interpolate: True
|
#interpolate: True
|
||||||
# If true, enable step interpolation (the driver will internally
|
# If true, enable step interpolation (the driver will internally
|
||||||
# step at a rate of 256 micro-steps). The default is True.
|
# step at a rate of 256 micro-steps). This interpolation does
|
||||||
|
# introduce a small systemic positional deviation - see
|
||||||
|
# TMC_Drivers.md for details. The default is True.
|
||||||
run_current:
|
run_current:
|
||||||
# The amount of current (in amps RMS) to configure the driver to use
|
# The amount of current (in amps RMS) to configure the driver to use
|
||||||
# during stepper movement. This parameter must be provided.
|
# during stepper movement. This parameter must be provided.
|
||||||
|
@ -2946,7 +2950,9 @@ cs_pin:
|
||||||
#interpolate: True
|
#interpolate: True
|
||||||
# If true, enable step interpolation (the driver will internally
|
# If true, enable step interpolation (the driver will internally
|
||||||
# step at a rate of 256 micro-steps). This only works if microsteps
|
# step at a rate of 256 micro-steps). This only works if microsteps
|
||||||
# is set to 16. The default is True.
|
# is set to 16. Interpolation does introduce a small systemic
|
||||||
|
# positional deviation - see TMC_Drivers.md for details. The default
|
||||||
|
# is True.
|
||||||
run_current:
|
run_current:
|
||||||
# The amount of current (in amps RMS) used by the driver during
|
# The amount of current (in amps RMS) used by the driver during
|
||||||
# stepper movement. This parameter must be provided.
|
# stepper movement. This parameter must be provided.
|
||||||
|
|
|
@ -83,6 +83,33 @@ setting `stealthchop_threshold` to 999999). Unfortunately, the drivers
|
||||||
often produce poor and confusing results if the mode changes while the
|
often produce poor and confusing results if the mode changes while the
|
||||||
motor is at a non-zero velocity.
|
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
|
||||||
|
|
||||||
Sensorless homing allows to home an axis without the need for a
|
Sensorless homing allows to home an axis without the need for a
|
||||||
|
|
Loading…
Reference in New Issue