docs: Update TMC_Drivers.md with notes on spreadCycle vs stealthChop modes

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2021-11-28 20:41:54 -05:00
parent dfe9e8f783
commit 37a117e64f
1 changed files with 14 additions and 1 deletions

View File

@ -58,12 +58,25 @@ probing, probe calibration, and similar. The `driver_TPOWERDOWN` and
`driver_IHOLDDELAY` should also be calibrated accordingly. If unsure, `driver_IHOLDDELAY` should also be calibrated accordingly. If unsure,
prefer to not specify a `hold_current`. prefer to not specify a `hold_current`.
## Enabling "StealthChop" Mode ## Setting "spreadCycle" vs "stealthChop" Mode
By default, Klipper places the TMC drivers in "spreadCycle" mode. If By default, Klipper places the TMC drivers in "spreadCycle" mode. If
the driver supports "stealthChop" then it can be enabled by adding the driver supports "stealthChop" then it can be enabled by adding
`stealthchop_threshold: 999999` to the TMC config section. `stealthchop_threshold: 999999` to the TMC config section.
In general, spreadCycle mode provides greater torque and greater
positional accuracy than stealthChop mode. However, stealthChop mode
may produce significantly lower audible noise on some printers.
Tests comparing modes have shown an increased "positional lag" of
around 75% of a full-step during constant velocity moves when using
stealthChop mode (for example, on a printer with 40mm
rotation_distance and 200 steps_per_rotation, position deviation of
constant speed moves increased by ~0.150mm). However, this "delay in
obtaining the requested position" may not manifest as a significant
print defect and one may prefer the quieter behavior of stealthChop
mode.
It is recommended to always use "spreadCycle" mode (by not specifying It is recommended to always use "spreadCycle" mode (by not specifying
`stealthchop_threshold`) or to always use "stealthChop" mode (by `stealthchop_threshold`) or to always use "stealthChop" mode (by
setting `stealthchop_threshold` to 999999). Unfortunately, the drivers setting `stealthchop_threshold` to 999999). Unfortunately, the drivers