Datasheet

TMC2209 DATASHEET (Rev. 1.03 / 2019-JUN-26) 42
www.trinamic.com
As a first step, both chopper principles should be parameterized and optimized individually
(SpreadCycle settings may be programmed to OTP memory). In a next step, a transfer velocity has to
be fixed. For example, StealthChop operation is used for precise low speed positioning, while
SpreadCycle shall be used for highly dynamic motion. TPWMTHRS determines the transition velocity.
Read out TSTEP when moving at the desired velocity and program the resulting value to TPWMTHRS.
Use a low transfer velocity to avoid a jerk at the switching point.
A jerk occurs when switching at higher velocities, because the back-EMF of the motor (which rises
with the velocity) causes a phase shift of up to 9between motor voltage and motor current. So
when switching at higher velocities between voltage PWM and current PWM mode, this jerk will occur
with increased intensity. A high jerk may even produce a temporary overcurrent condition (depending
on the motor coil resistance). At low velocities (e.g. 1 to a few 10 RPM), it can be completely
neglected for most motors. Therefore, consider the switching jerk when choosing TPWMTHRS. Set
TPWMTHRS zero if you want to work with StealthChop only.
When enabling the StealthChop mode the first time using automatic current regulation, the motor
must be at stand still in order to allow a proper current regulation. When the drive switches to
StealthChop at a higher velocity, StealthChop logic stores the last current regulation setting until the
motor returns to a lower velocity again. This way, the regulation has a known starting point when
returning to a lower velocity, where StealthChop becomes re-enabled. Therefore, neither the velocity
threshold nor the supply voltage must be considerably changed during the phase while the chopper
is switched to a different mode, because otherwise the motor might lose steps or the instantaneous
current might be too high or too low.
A motor stall or a sudden change in the motor velocity may lead to the driver detecting a short
circuit or to a state of automatic current regulation, from which it cannot recover. Clear the error flags
and restart the motor from zero velocity to recover from this situation.
Hint
Start the motor from standstill when switching on StealthChop the first time and keep it stopped for
at least 128 chopper periods to allow StealthChop to do initial standstill current control.
6.6 Flags in StealthChop
As StealthChop uses voltage mode driving, status flags based on current measurement respond
slower, respectively the driver reacts delayed to sudden changes of back EMF, like on a motor stall.
Attention
A motor stall, or abrupt stop of the motion during operation in StealthChop can trigger an
overcurrent condition. Depending on the previous motor velocity, and on the coil resistance of the
motor, it significantly increases motor current for a time of several 10ms. With low velocities, where
the back EMF is just a fraction of the supply voltage, there is no danger of triggering the short
detection. When homing using StallGuard4 to stop the motor upon stall, this is basically avoided.
6.6.1 Open Load Flags
In StealthChop mode, status information is different from the cycle-by-cycle regulated SpreadCycle
mode. OLA and OLB show if the current regulation sees that the nominal current can be reached on
both coils.
- A flickering OLA or OLB can result from asymmetries in the sense resistors or in the motor
coils.
- An interrupted motor coil leads to a continuously active open load flag for the coil.
- One or both flags are active, if the current regulation did not succeed in scaling up to the full
target current within the last few fullsteps (because no motor is attached or a high velocity
exceeds the PWM limit).
If desired, do an on-demand open load test using the SpreadCycle chopper, as it delivers the safest
result. With StealthChop, PWM_SCALE_SUM can be checked to detect the correct coil resistance.
UART