TMC2041 DATASHEET (Rev. 1.02 / 2017-MAY-16)
49
12.2 Changing Resolution
The TMC2041 allows operation in fullstep to 256 microsteps. Best performance is given with 16
microsteps and interpolation (MRES=4, intpol16=1), or in native 256 microstep mode (MRES=0). The
internal microstep table uses 1024 sine wave entries to generate the wave. The step width taken
within the table depends on the microstep resolution setting MRES. Depending on the DIR input, the
microstep counter is increased (DIR=0) or decreased (DIR=1) with each STEP pulse by the step width.
In principle, the microstep resolution can be changed at any time. The microstep resolution
determines the increment respectively the decrement, the TMC2041 uses for advancing in the
microstep table. At maximum resolution, it advances one step for each step pulse. At half resolution,
it advances two steps and so on. This way, a change of resolution is possible transparently at each
time.
12.2.1 Working with Half- and Fullstep Resolution
Fullstepping is desirable in some applications, where maximum torque at maximum velocity with a
given motor is desired. Especially at low microstep resolutions like full- or halfstepping, the absolute
current values and thus the absolute positions in the table are important for best motor performance.
Thus, a software which uses resolution switching in order to get maximum torque and velocity from
the drive, should switch the resolution at or near certain positions, as shown in the following table.
Step position
MSCNT value
current coil A
0%
current coil B
100%
half step 0
full step 0
half step 1
full step 1
half step 2
full step 2
half step 3
full step 3
0
128
256
384
512
640
768
896
70.7%
100%
70.7%
0%
-70.7%
-100%
-70.7%
70.7%
0%
-70.7%
-100%
-70.7%
0%
70.7%
Table 12.1 Optimum position sequence for half- and full stepping
When operating at less than 16 times microstepping, be sure to first position to a suitable, symmetric
switching position, before changing MRES, otherwise the motor behavior may differ for left and right
rotation. For 16 times microstepping, interpolation to 256 microsteps gives best results!
12.3 microPlyer Step Interpolator and Stand Still Detection
For each active edge on STEP, microPlyer produces 16 microsteps at 256x resolution, as shown in
Figure 12.2.
Enable microPlyer by setting the intpol16 bit in the CHOPCONF register. It only supports input at 16x
setting, which becomes transformed into 256x resolution.
The step rate for the 16 microsteps is determined by measuring the time interval of the previous step
period and dividing it into 16 equal parts. The maximum time between two microsteps corresponds
to 220 (roughly one million system clock cycles), for an even distribution of 256 microsteps. At 16MHz
system clock frequency, this results in a minimum step input frequency of 16Hz for microPlyer
operation (one fullstep per second). A lower step rate causes the STST bit to be set, which indicates a
standstill event. At that frequency, microsteps occur at a rate of (system clock frequency)/216 ~ 256Hz.
When a stand still is detected, the driver automatically switches the motor to holding current IHOLD.
Attention
microPlyer only works well with a stable STEP frequency. Do not use the dedge option if the STEP
signal does not have a 50% duty cycle.
www.trinamic.com