Datasheet
TMC4361A Datasheet | Document Revision 1.22 • 2017-JAN-12
120/230
© 2015 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany — Terms of delivery and rights
to technical change reserved. Download newest version at: www.trinamic.com .
Read entire documentation; especially the “Supplemental Directives” on page 224.
MAIN MANUAL
11. Current Scaling
The current values of register 0x7A –
CURRENTA
and
CURRENTB
– of the microstep lookup table
(MSLUT) represent the maximum 9-bit signed values, which can be sent via the SPIOUT output
interface. In most sections of the velocity ramp it is not required to drive the motor with the
full current amplitude. Various possibilities are implemented that allow adaptation of actual
current values of the MSLUT to the present ramp status. Scale parameters are available for
boost current, hold current, and drive current.
These parameters can be assigned independently in the
SCALE_VALUES
register 0x06, and are
used automatically for different states of the velocity ramp; if enabled, as described below.
Prior to describing the various feasible scaling situations, a brief explanation of the scaling
calculation is provided.
When scaling is enabled for the present ramp state, the actual current values of the
MSLUT are multiplied with the MULT_SCALE parameter that is deduced from one of
the four
SCALE
_
VALUES
:
MULT_SCALE = (actual_SCALE_VAL + 1) / 256
with actual_SCALE_VAL = {HOLD, BOOST, DRV1, DRV2}.
Consequently, this MULT_SCALE ranges from 0 to 1: 0 < MULT_SCALE ≤ 1.
MULT_SCALE is then multiplied with the actual current values
CURRENTA
and
CURRENTB
, which are generated by the MSLUT:
CURRENTA_SPI
=
CURRENTA
· MULT_SCALE (bit8:0 of 0x7B)
CURRENTB_SPI
=
CURRENTB
· MULT_SCALE (bit24:16 of 0x7B)
These values are transferred via SPI output interface. If no current scaling is enabled,
the output values
CURRENTA
_
SPI
and
CURRENTB
_
SPI
are equal to the MSLUT values
CURRENTA
and
CURRENTB
because the scaling values are equal to the maximum 255,
per default. Thus, scaling will only decrease the original MSLUT values.
Also, the actual scale parameter can assume intermediate values because TMC4361A
offers possibilities to convert smoothly from one scale value to another. The actual
scale parameter
SCALE_PARAM
can be read out at register 0x7C. It has the same
range as the four
SCALE
_
VALUES
.
Use of TMC26x and TMC2130 stepper motor drivers in S/D mode:
If TMC motor stepper drivers are used in S/D mode, scaling values comprise only
5 bits because the CS value of TMC26x, and the IHOLD, IRUN values of TMC2130
motor stepper drivers are adapted directly. Therefore, MULT_SCALE is calculated
slightly differently:
MULT_SCALE = (actual_SCALE_VAL + 1) / 32
Calculation of
the Current
Output Values
Description of
Scaling
Calculation
AREAS OF
SPECIAL
CONCERN
!