English
Language : 

AMIS-30623 Datasheet, PDF (19/67 Pages) AMI SEMICONDUCTOR – LIN Microstepping Motordriver
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
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
RAM, to a position Pos1[15:0] also specified in SetDualPosition.
Then a second relative motion to a position Pos1[15:0] + Pos2[15:0] is done at the specified Vmin velocity in the
SetDualPosition command (no acceleration). Once the second motion is achieved, the ActPos register is reset to zero, whereas
TagPos register is not changed.
Vmax
Velocity
V m in
1st motion
2nd motion
Reset ActPos
26.6 ms
26.6 ms
tim e
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
should check the actual position by a GetPosition or a GetFullStatus command prior to send the SetDualPosition command.
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/16th 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>.
+10000
+20000
ActPos = +30000
0
Motion direction
TagPos = -30000
-10000
-20000
Figure 10: Motion Direction is Function of Difference between ActPos and TagPos
AMI Semiconductor – June 2006, Rev 3.0
19
www.amis.com