
AMIS-30624 I
2
C Microstepping Motordriver
Data Sheet
49
AMI Semiconductor
– Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
ResetToDefault
This command is provided to the circuit by the I
2
C master in order to reset the whole slave node into the initial state.
ResetToDefault
will, for instance, overwrite the RAM with the reset state of the registers parameters (see Table 18). This is another way for the I
C
master to initialize a slave node in case of emergency, or simply to refresh the RAM content.
Note:
ActPos
and
TagPos
are not modified by a
ResetToDefault
command.
Important:
Care should be taken not to send a
ResetToDefault
command while a motion is ongoing, since this could modify the
motion parameters in a way forbidden by the position controller.
ResetToDefault
corresponds to the following I
2
C command frame:
ResetToDefault Command Frame
Byte
Content
Bit 7
Bit 6
Bit 5
0
Address
1
1
OTP3
1
Command
1
0
0
Structure
Bit 4
OTP2
0
Bit 3
OTP1
0
Bit 2
OTP0
1
Bit 1
HW
1
Bit 0
0
1
RunVelocity
This command is provided to the circuit by the I
2
C master in order to put the motor in continuous motion state.
RunVelocity
corresponds to the following I
2
C command frame:
RunVelocity Command Frame
Byte
0
1
Content
Address
Command
Structure
Bit 4
OTP2
1
Bit 7
1
1
Bit 6
1
0
Bit 5
OTP3
0
Bit 3
OTP1
0
Bit 2
OTP0
1
Bit 1
HW
1
Bit 0
0
1
SetDualPosition
This command is provided to the circuit by the I
2
C master in order to perform a positioning of the motor using two different velocities.
See Section
Dual Positioning
.
Note1:
This sequence cannot be interrupted by another positioning command.
Important:
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 starting
a dual positioning. Another solution may consist of programming a value out of the steppermotor range for
Pos1[15:0]
. For the same
reason
Pos2[15:0]
should not be equal to
Pos1[15:0].
SetDualPosition
corresponds to the following I
2
C command frame;
SetDualPosition Command Frame
Byte
Content
Bit 7
Bit 6
Bit 5
0
Address
1
1
OTP3
1
Command
1
0
0
2
Data 1
1
1
1
3
Data 2
1
1
1
4
Data 3
Vmax[3:0]
5
Data 4
6
Data 5
7
Data 6
8
Data 7
Where:
Vmax[3:0]
Max. velocity for first motion
Vmin[3:0]
Min. velocity for first motion and velocity for the second motion
Pos1[15:0]
First position to be reached during the first motion
Pos2[15:0]
Relative position of the second motion
Structure
Bit 4
OTP2
0
1
1
Bit 3
OTP1
1
1
1
Bit 2
OTP0
0
1
1
Bit 1
HW
0
1
1
Bit 0
0
0
1
1
Vmin[3:0]
Pos1[15:8]
Pos1[7:0]
Pos2[15:8]
Pos2[7:0]