English
Language : 

TMC428_06 Datasheet, PDF (18/58 Pages) List of Unclassifed Manufacturers – Intelligent Triple Stepper Motor Controller with Serial Peripheral Interfaces
TMC428 DATASHEET (v. 2.02 / April 26th, 2006)
18
So, if ramp_div - pulse_div + 1 ≥ 0 the a_max_upper_limit is > 2048 and the parameter a_max
might be set to any value up to 2047.
Important Note: So, a_max can be set without restrictions within its range of 0 to 2047 for those
combinations of ramp_div and pulse_div with | ramp_div - pulse_div | ≤ 1.
The parameter a_max must not be set below a_max_lower_limit except a_max is set to 0. The
condition a_max ≥ a_max_lower_limit as well as a_max ≤ a_max_upper_limit must be satisfied to
reach any target position without oscillations. If that condition is not satisfied, oscillations around a
target position may occur. For description of the parameters ramp_div and pulse_div see page 26.
So, a_max_lower_limit and a_max_upper_limit restrict the allowed range of a_max only for those
cases where ramp_div is non-equal to pulse_div and differ more than one. These both limits of
a_max concern the deceleration phase for RAMP_MODE and SOFT_MODE only. As long as
ramp_div ≥ pulse_div – 1 is valid, any value of a_max within its range (0,1, ..., 2047) is allowed and
there exists a valid pair {pmul, pdiv} for each a_max. Qualitative verbalized, this is because the
acceleration scaling determined by ramp_div is compatible with the step velocity scaling determined
by pulse_div. In other words, large ramp_div stands for low acceleration where large pulse_div
stands for low velocity and low acceleration is compatible with low speed and high speed as well, but
high acceleration is more compatible with high speed.
Important Note: Changing at least one parameter out of the triple {a_max, ramp_div, pulse_div}
requires re-calculation of the parameter pair {pmul, pdiv} to update the associated register. For
description of the parameters pmul and pdiv see section 8.10, page 19.
8.8 a_actual (IDX=%0111)
The actual acceleration, which the TMC428 actually applies to a stepper motor, can be read out by the
microcontroller from this read-only register for monitoring purposes. The actual acceleration is used to
select scale factors for the coil currents. Internally, it is updated with each clock. The returned value
a_actual is smoothed to avoid oscillations of the readout value. Thus, returned a_actual values
should not be used directly for precise calculations.
8.9 is_agtat & is_aleat & is_v0 & a_threshold (IDX=%1000)
These parameters represent current scaling values Is and are applied to the motor depending on the
ramp phase: The parameter is_agtat is applied if the acceleration (a) is greater than (gt) a threshold
acceleration (at). This is to increase current during acceleration phases. The parameter is_aleat is
applied if the acceleration is lower than or equal to (le) the threshold acceleration. This is the nominal
motor current. The third parameter is_v0 is applied if the stepper motor is at rest, to save power, to
keep it cool, and to avoid noise probably caused by chopper drivers. The parameter a_threshold is the
threshold used to compare with the current acceleration to select the current scale factor. The three
parameters is_agtat, is_aleat, and is_v0 are bit vectors of three bit width. One of these is selected
conditionally and assigned to an interim bit vector i_scale. The current scaling factor Is is defined in
Table 8-1.
i_scale
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Is
1
= 100 %
1 / 8 = 12.5 %
2 / 8 = 25 %
3 / 8 = 37.5 %
4 / 8 = 50 %
5 / 8 = 62.5 %
6 / 8 = 75 %
7 / 8 = 87.5 %
Table 8-1: Coil current scale factors
Copyright © 2004-2006, TRINAMIC Motion Control GmbH & Co. KG