This manual section applies to the
ARRAY MODULE firmware module. With the
ARRAY MODULE included in the firmware, the controller will support functions associated with moving to specific locations in a 2-dimensional XY array of positions. The module includes support for commands to define the size and spacing of the array and the location of the first position in the array. There are also commands to address particular positions and sequence through the array either automatically, or with external TTL or serial command control.
Note: ARRAY module doesn't account for HOME button , ZERO button and ZERO command properly. Avoid using them when relying on ARRAY module to move the stage.
The ARRAY command is used to define the number of array points and spacing between rows and columns. The X and Y parameters specify the number of columns and rows respectively, and the Z and F parameters specify the signed move distance in millimeters between columns and rows. The command to set up the array for a standard 96 well plate would be:
ARRAY X=12 Y=8 Z=9.0 F=-9.0
These happen to be the default settings. The Y-axis distance between rows is set as a negative number because the direction of motion to go from row A to row B on the well plate is in the negative direction of motion of the stage.
The location of the first position in the array, the 1,1 location, is specified by the AHOME command. The default value for the coordinates of the 1,1 position are 0.0, 0.0 in the controller’s coordinate system. You need not even use the
AHOME command if the stage is manually moved to the location of the 1,1 array position and then the ZERO button is used to set the coordinate zero to that location. The
AHOME command, with out arguments, will establish the current stage position as the 1,1 array position. Hence, if you move the stage manually to the 1,1 location and issue
AH, the stage will maintain its original coordinate system yet have the correct offsets for the fixed array moves.
Whether a raster or serpentine pattern is used is set using the
SCAN F setting (default is serpentine).
There are three ways to control the movement to array positions. They are random access serial moves with the AIJ command, automated self-scanning, and TTL or serial commanded moves to the next array position. As with any commanded move, TTL output pulses can be programmed to indicate the completion of the move to the array location using the TTL command.
The serial AIJ command will command the stage to the any row j and column i coordinate: AIJ X=i Y=j
The entire array can be visited sequentially in either a serpentine or raster pattern. Scanning is initiated manually with a quick press and release of the @ button, or by issuing the
ARRAY command without any arguments. The sequence will start by moving to the 1,1 location. When the stage arrives on target, it will delay for a period of time set by the command
RT Z=time_delay before continuing on to the next position.
To Get @ button to do ARRAY moves , issue serial command BCA X=7
The array can be traversed in order with moves made “on command” using either a serial command or TTL trigger pulse. Using the TTL command, set the TTL input function to the array trigger using
TTL X=7. Either a TTL pulse on the IN0 input, or the RM command without arguments, will send the stage to the next array position. Move to the 1,1 array position and gracefully start this scanning mode is the command
RM X=0. When started this way, the sequence will complete after the last position is processed and subsequent commands (TTL pulse of
RM) to move to the next position will be ignored.
Note: Until TTL X=7 is set , RM command without arguments won't work, and @ Button press will do a Self-Scanning move
The bottom line of the LCD display will show the state of the
ARRAY MODULE state machine as well as the coordinate location of the current array cell. The LCD status line should look something like this:
For arrays with 4, 8, or 16 rows, the Y address is shown as the corresponding alphabet characters – as is the common practice for standard well plate formats. The meanings of the various state indicators are described below.
The leadscrew pitch of the stage will largely determine where on the speed versus accuracy continuum the stage will operate. The table below shows typical performance for various pitches of leadscrew for a rotary encoded stage when no backlash correction is used, and the Finish Error is set to the resolution shown in the last column.
|Lead Screw Pitch||Maximum Stage Speed (mm/s)||Rotary Encoder Resolution(nm)||Typical Performance|
|Time to traverse 96 well-plate (s)||Time /9 mm move (s)||Time /0.2 mm move (ms)||Fast Positioning Resolution (μm)|
|A – 1.58mm||1.7||5.5||644||6.7||235||0.08|
|B – 6.35mm||6.8||22||160||1.67||70||0.25|
|C – 12.7mm||13.5||44||79||0.82||49||0.5|
|D – 25.4mm||26||88||47||0.48||40||1.0|
Opening up the Finish Error to about 10 rotary encoder counts allows the move to complete quickly rather than have to hunt for on-the-count precision.
Serial commands related to ARRAY MODULE