AMIS-30623 LIN Microstepping Motordriver
Data Sheet
19
15.1.2. Dual Positioning
A
SetDualPosition command allows the user to perform a positioning using two different velocities. The first motion is done with the
specified Vmin and Vmax velocities in the
SetDualPosition command, with the acceleration (deceleration) parameter already in
Then a second relative motion to a position Pos1[15:0] + Pos2[15:0] is done at the specified Vmin velocity in the
command (no acceleration). Once the second motion is achieved, the ActPos register is reset to zero, whereas
TagPos
register is not changed.
Velocity
Vm ax
Vm in
1
st motion
tim e
Reset ActPos
2
nd motion
26.6 m s
Figure 9:Dual Positioning
Remark
: This operation cannot be interrupted or influenced by any further command unless the occurrence of the conditions driving to
a motor shutdown or by a HardStop command. Sending a SetDualPosition command while a motion is already ongoing is not recommended.
Notes
(0) The priority encoder is describing the management of states and commands. All notes below are to be considered illustrative.
(1) The last SetPosition(Short) command issued during an DualPosition sequence will be kept in memory and executed afterwards. This applies also for the commands Sleep
and SetMotorParam and GotoSecurePosition.
(2) Commands such as GetActualPos or GetStatus will be executed while a Dual Positioning is running. This applies also for a dynamic ID assignment LIN frame
(3) A DualPosition sequence starts by setting TagPos register to SecPos value, provided secure position is enabled otherwise TagPos is reset to zero.
(4) The acceleration/deceleration value applied during a DualPosition sequence is the one stored in RAM before the
SetDualPosition command is sent. The same
applies for Shaft bit, but not for Irun, Ihold and StepMode, which can be changed during the Dual Positioning sequence.
(5) The Pos1, Pos2, Vmax and Vmin values programmed in a
SetDualPosition command apply only for this sequence. All further positioning will use the parameters
stored in RAM (programmed for instance by a former SetMotorParam command).
(6) Commands ResetPosition, SetDualPosition, and SoftStop will be ignored while a DualPosition sequence is ongoing, and will not be executed afterwards.
(7) A SetMotorParam command should not be sent during a
SetDualPosition sequence.
(8) If for some reason ActPos equals Pos1[15:0] at the moment the
SetDualPosition command is issued, the circuit will enter in deadlock state. Therefore, the application
15.1.3. Position Periodicity
Depending on the stepping mode the position can range from –4096 to +4095 in half-step to –32768 to +32767 in 1/16
th microstepping
mode. One can project all these positions lying on a circle. When executing the command SetPosition, the position controller will
set the movement direction in such a way that the traveled distance is minimum.
The figure below illustrates that the moving direction going from ActPos = +30000 to TagPos = –30000 is clockwise.
If a counter clockwise motion is required in this example, several consecutive SetPosition commands can be used. One could also
use for larger movements the command <RunVelocity>.
0
ActPos = +30000
TagPos = -30000
-10000
-20000
+10000
+20000
Motion direction
Figure 10: Motion Direction is Function of Difference between ActPos and TagPos
AMI Semiconductor
– June 2006, Rev 3.0
www.amis.com