Datasheet

TMC2300 DATASHEET (Rev. 1.02 / 2019-NOV-06) 15
www.trinamic.com
3.4.1 Restart the Stepper Motor Without Position Loss
A self-locking drive allows switching off the motor completely without loss of position. Locking can
result from mechanical friction and from the stepper motor cogging torque. Most stepper motors have
a cogging torque in the range of a few percent of their nominal torque, which also will contribute to
the motor locking in a certain position. Due to their construction, most motors lock at a fullstep
position. A full step position is characterized by the position yielded with both coils at identical
absolute current. With n-times microstepping, fullstep positions are reached each n steps. The fist
fullstep position is reached when exactly n/2 steps are done following a driver power-up. The internal
microstep counter shows 128, 384, 640 or 896 when a fullstep position is reached.
The motor will pull into the same step after power up, as long as the rotor position and electrical
position differ by up to +-2 fullsteps, given that no external force pulls the motor into a certain
direction. An offset of maximum one fullstep is safest.
When powering up the driver, all registers become reset to zero. This also affects the internal position
counter. Thus, the position counter will restart from 0 after power up. With the enable pin fixed at
“1”, the motor current will pull the motor to this (halfstep) position. With this, several options to keep
track of the motor position result:
METHODS FOR POSITION RECOVERY
Interface
Enable
Pin EN
Actions prior to power down
Actions at power up
Stand
Alone or
UART
Fixed=VIO
Keep track of the motor position by
counting steps following initial
power up. Prior to power down,
move to a position which can be
divided by 4*microstep resolution. At
these positions, MSCNT is 0. Store
the position.
MSCNT is cleared to 0 automatically.
Start moving the motor as desired.
Stand
Alone or
UART
Controlled
by CPU
Keep track of the motor position by
counting steps following initial
power up. For best results with low
friction drives, move to a fullstep
position prior to power down. Store
the position.
Example: at 32 microstep resolution,
fullstep positions are 16+n*32,
i.e. -48, -16, 16, 48,…
Apply a number of steps to restore
MSCNT to the stored value prior to
enabling the motor driver.
number of step pulses= (position
modulo 4*microstep resolution)
Example: at 32 microstep setting,
each step pulse increments MSCNT by
256/32. Calculate position modulo
128 to yield the required number of
steps. Apply 10 steps with DIR=0 to
increment MSCNT to a value of 80.
UART
(option)
Read out MSCNT and store it
together with the absolute motor
position.