TRIO MPC-165 SERIES MICROMANIPULATOR SYSTEM OPERATION MANUAL – REV. 2.67K2 (20201130) (FW V2.62)
54
11.
Movement Speeds: All move commands cause movement to
occur at a maximum rate of 3,000 microns/second (MP-845/M
based) or 5,000 microns/second (MP-285/M based), except for
the “Straight-Line Move ‘S’ command which can be specified
with one of sixteen speeds. Actual speed for the “Straight-Line
Move ‘S’ command can be determined with the following
formula: (max_speed / 16) * (sp +1), where “max_speed” is the
maximum speed in microns/second (3,000 or 5,000) and “sp” is
the speed level 0 (slowest) through 15 (fastest). For mm/second
or microns/millisecond, multiply result by 0.001.
Table D-7. Straight-Line Move ‘S’ Command Speeds for MP-
865/M-based configuration.
Speed
Setting
mm/sec
or
µm/ms
µm/sec
or
nm/ms
nm/sec
in/sec
or
mil/ms
% of
Max.
15
3.0000 3000.0 3000000 0.1181102360
100.00%
14
2.8125 2812.5 2812500 0.110728346 93.75%
13
2.6250 2625.0 2625000 0.103346457 87.50%
12
2.4375 2437.5 2437500 0.095964567 81.25%
11
2.2500 2250.0 2250000 0.088582677 75.00%
10
2.0625 2062.5 2062500 0.081200787 68.75%
9
1.8750 1875.0 1875000 0.073818898 62.50%
8
1.6875 1687.5 1687500 0.066437008 56.25%
7
1.5000 1500.0 1500000 0.059055118 50.00%
6
1.3125 1312.5 1312500 0.051673228 43.75%
5
1.1250 1125.0 1125000 0.044291339 37.50%
4
0.9375 937.5 937500 0.036909449 31.25%
3
0.7500 750.0 750000 0.029527559 25.00%
2
0.5625 562.50 562500 0.022145669 18.75%
1
0.3750 375.00 375000 0.014763780 12.50%
0
0.1875 187.50 187500 0.007381890
6.25%
Table D-8. Straight-Line Move ‘S’ Command Speeds for MP-
285/M-based configuration.
Speed
Setting
mm/sec
or
µm/ms
µm/sec
or
nm/ms
nm/sec
in/sec
or
mil/ms
% of
Max.
15
5.0000 5000.0 5000000 0.196850394 100.00%
14
4.6875 4687.5 4687500 0.184547244 93.75%
13
4.3750 4375.0 4375000 0.172244094 87.50%
12
4.0625 4062.5 4062500 0.159940945 81.25%
11
3.7500 3750.0 3750000 0.147637795 75.00%
10
3.4375 3437.5 3437500 0.135334646 68.75%
9
3.1250 3125.0 3125000 0.123031496 62.50%
8
2.8125 2812.5 2812500 0.110728346 56.25%
7
2.5000 2500.0 2500000 0.098425197 50.00%
6
2.1875 2187.5 2187500 0.086122047 43.75%
5
1.8750 1875.0 1875000 0.073818898 37.50%
Speed
Setting
mm/sec
or
µm/ms
µm/sec
or
nm/ms
nm/sec
in/sec
or
mil/ms
% of
Max.
4
1.5625 1562.5 1562500 0.061515748 31.25%
3
1.2500 1250.0 1250000 0.049212598 25.00%
2
0.9375 0937.5 937500 0.036909449 18.75%
1
0.6250 0625.0 625000 0.024606299 12.50%
0
0.3125 312.50 312500 0.012303150
6.25%
12.
Move Interruption and Concurrent Dual Manipulator
Movements: A command should be sent to the controller for a
manipulator only after the task of any previous command for
that same manipulator is complete (i.e., the task-completion
terminator (CR) is returned associated with the manipulator).
One exception is the “Interrupt Move” (^C) command, which
can be issued while an ‘S’ command-initiated move for a
manipulator is still in progress. While a move is in progress for
a manipulator (e.g., A), another move command sequence can
be issued for the other manipulator (i.e., B).
13.
Angle Setting & Movement: Although the set angle command
allows for a range of 0° to 90°, the effective range that allows
full movement is 1° to 89° (>0° and <90°). If 0° or 90°, Z or X
axis fails to move, causing single- and multi-axis movement
commands to fail. The ideal range for smooth movement is 10°
to 80°. Factory default is 30°.
14.
Extracting the MPC-100 Firmware Version Number: The
firmware version number returned by the ‘K’ command is
encoded in two bytes, with major version byte first, followed by
minor version byte. For example, if the complete version is
2.62, then the bytes at offsets 1 and 2 will show (in
hexadecimal) as 0x02 0x3E (ret[1] and ret[2] as shown in the
following code snippets). The following code shows how to
extract and convert the version into usable forms for later
comparison without altering the original command return data
(written in C/C++ and is easily portable to Python, Java, C#,
MATLAB script, etc.).
/* “ret” is the array of bytes containing
the ‘K’ command’s return data at offsets 1 & 2 */
/* define variables */
unsigned char minver, majver;
int majminver;
float version;
Major version number as an integer (e.g., 2:
majver = ret[1]; /* get major ver. */
Minor version number as an integer (e.g., 62:
minver = ret[2]; /* get minor ver. */
Complete (thousands) version as an integer (e.g., 262):
majminver = majver * 100 + minver;
Complete version as a floating-point number (e.g., 2.62):
version = majminver * .01;
NOTES: