English
Language : 

AMIS-30624 Datasheet, PDF (17/56 Pages) AMI SEMICONDUCTOR – I2C Microstepping Motordriver
AMIS-30624
14.1.2. Dual Positioning
A SetDualPosition command allows the user to perform 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 .
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.
Velocity
Vmax
Vmin
First motion
Second motion
27 ms
Figure 8: Dual Positioning
27 ms
t
PC20070221.1
Remark: This operation cannot be interrupted or influenced by any further command unless the conditions exist to cause a motor
shutdown or by a HardStop command. Sending a SetDualPosition command while a motion is already ongoing is not
recommended.
Notes:
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
The priority encoder describes the management of states and commands. All notes below are to be considered illustrative.
The last SetPosition command issued during a DualPosition sequence will be kept in memory and executed afterwards. This also applies to the commands
SetMotorParam and GotoSecurePosition.
Commands such as GetFullStatus1 or GetFullStatus2 will be executed while a Dual Positioning is running.
A DualPosition sequence starts by setting TagPos register to SecPos value, provided secure position is enabled otherwise TagPos is reset to zero.
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.
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).
Commands ResetPosition, SetDualPosition, and SoftStop will be ignored while a DualPosition sequence is ongoing, and will not be executed afterwards.
A SetMotorParam command should not be sent during a SetDualPosition sequence.
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 GetFullStatus2 command prior to send the SetDualPosition command.
Rev. 4 | Page 17 of 56 | www.onsemi.com