Datasheet
TMC4361A Datasheet | Document Revision 1.22 • 2017-JAN-12
122/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
Current Scaling during Motion
If the current values need to be scaled during motion, several options are available. Up to three
scaling values can be selected: Two drive scaling values and one boost scale value. Different
scale values can be automatically assigned to the various sections of the velocity ramp.
Drive scaling is the preferred direct and mostly unconditional scaling option. If no
boost scaling is enabled, the current values are scaled according to the given scale
value, independent of the present ramp status.
In order to set up and enable only drive current scaling, do as follows:
Action:
Set
DRV1_SCALE_VAL
=
SCALE
_
VALUES
(15:8) according to the maximum
current during motion.
Set
drive_current_scale_en
= 1 (
CURRENT_CONF
register 0x05).
Set
closed_loop_scale_en
= 0 (
CURRENT_CONF
register 0x05).
Result:
As long as no other motion scale options are activated the current values of the MSLUT
are scaled according to
DRV1_SCALE_VAL
during motion (
VACTUAL
<> 0).
A second drive scale parameter can be assigned in order to differentiate the motion
scaling according to the internal ramp velocity.
In order to set up and enable drive current scaling with two different scaling
values, do as follows:
Action:
Set
VDRV_SCALE_LIMIT
register 0x17 [pps] according to switching velocity at
which drive scaling will change.
Set
DRV1_SCALE_VAL
=
SCALE
_
VALUES
(15:8) according to maximum current
during motion below
VDRV_SCALE_LIMIT
.
Set
DRV2_SCALE_VAL
=
SCALE
_
VALUES
(23:16) according to maximum current
during motion beyond
VDRV_SCALE_LIMIT
.
Set
drive_current_scale_en
= 1 (
CURRENT_CONF
register 0x05).
Set
sec_drive_current_scale_en
= 1 (
CURRENT_CONF
register 0x05).
Set
closed_loop_scale_en
= 0 (
CURRENT_CONF
register 0x05).
Result:
As long as no boost scaling is activated, the current values of the MSLUT are scaled
according to
DRV1_SCALE_VAL
as long as
VACTUAL
≤
VDRV_SCALE_LIMIT
.
Whenever
VACTUAL
>
VDRV_SCALE_LIMIT
the current values are scaled according
to
DRV2_SCALE_VAL
.
Drive Scaling
Alternative Drive
Scaling