English
Language : 

AMIS-30621 Datasheet, PDF (16/59 Pages) AMI SEMICONDUCTOR – LIN Microstepping Motordriver
AMIS−30621
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 motion to a position 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.
Profile:
Vmax
Vmin
0
Motion status:
xx
Position:
A new motion will
start here
Depends on
AccShape
first movement
00
27 ms
0
second
movement
00
27 ms
0
Secure
positioning
(if enabled)
00
0
During one Vmin time the
ActPos is 100
5 steps
100 101
104 105 105 0
60
Assume:
Pos: xx
First Position = 100
Second Position = 105
Secure Position = 60
ActPos: 100 ActPos: 100
Figure 8. Dual Positioning
ActPos:0
ResetPos
ActPos: 60
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. After dual positioning is executed the internal flag “Reference done” is set.
1. The priority encoder is describing the management of states and commands.
2. If a SetPosition(Short) command issued during a DualPosition sequence, it will be kept in position buffer memory
and executed afterwards. This applies also for the commands sleep, SetMotorParam and GotoSecurePosition.
3. 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.
4. A DualPosition sequence starts by setting TagPos buffer register to SecPos value, provided secure position is enabled
otherwise TagPos is reset to zero.
5. 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.
6. 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).
7. Commands ResetPosition, SetDualPosition and SoftStop will be ignored while a DualPosition sequence is ongoing,
and will not be executed afterwards.
8. A SetMotorParam command should not be sent during a SetDualPosition sequence.
9. 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.
http://onsemi.com
16