Datasheet
TMC4361A Datasheet | Document Revision 1.22 • 2017-JAN-12
57/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
Virtual Stop Switches
TMC4361A provides additional virtual limits; which trigger stop slopes in case the specific
virtual stop switch microstep position is reached. Virtual stop positions are assigned using the
VIRTUAL_STOP_LEFT
register 0x33 and
VIRTUAL_STOP_RIGHT
register 0x34. In this section,
configuration details for virtual stop switches are provided for various design-in purposes.
NOTE:
Virtual stop switches must be enabled in the same manner as nonvirtual reference switches. Hitting a
virtual limit switch - by receiving the assigned position - triggers the same process as hitting STOPL or
STOPR.
In order to enable left virtual stop correctly, do as follows:
Action:
Set
VIRTUAL_STOP_LEFT
register 0x33 according to left stop position.
Set
virtual_left_limit_en
=1 (
REFERENCE_CONF
register 0x01).
Result:
The actual velocity ramp stops in case
XACTUAL
≤
VIRT_STOP_LEFT
. The ramp is
stopped according to the selected ramp type.
In order to enable right virtual stop correctly, do as follows:
Action:
Set
VIRTUAL_STOP_RIGHT
register 0x34 according to right stop position.
Set
virtual_right_limit_en
=1 (
REFERENCE_CONF
register 0x01).
Result:
The actual velocity ramp stops in case
XACTUAL
≥
VIRT_STOP_RIGHT
. The ramp is
stopped according to the selected ramp type.
The virtual stop slope can also be configured for hard or linear stop slopes.
If virtual hard stops are required, do as follows:
Action:
Set
virt_stop_mode
= b’01 (
REFERENCE_CONF
register 0x01).
Result:
If one of the virtual stop switches is active and enabled, the velocity ramp will be set
immediately to
VACTUAL
= 0.
If virtual linear stop ramps are required, do as follows:
Action:
Set proper
DSTOP
> max(
DMAX
;
DFINAL
) (register 0x2C).
Set
virt_stop_mode
= b’10 (
REFERENCE_CONF
register 0x01).
Result:
If one of the virtual stop switches is active and enabled, the velocity ramp is stopped
with a linear deceleration slope until
VACTUAL
= 0 is reached. In this case the
deceleration factor is determined by
DSTOP
.
VSTOP
is not considered during the stop
deceleration slope.
Continued on next page.
Enabling Virtual
Stop Switches
Virtual Stop
Slope
Configuration