top bar

ASIStage

Revision as of 15:49, 13 October 2014 by JonD (Talk | contribs)

ASI Stage

Summary:For ASI MS2000 controllers, including stages (XY, Z, piezo) and CRISP autofocus
Author:Jizhen Zhao, based on Nenad Amodaj's Prior adapter. CRIFF, CRISP, and AZ100 Turret by Nico Stuurman. Generic state device (for filter sliders and motorized turrets) by Jon Daniels. Currently maintained by Nico Stuurman
License:LGPL
Platforms:All platforms (uses serial port)
Devices:XYStage, ZStage, CRIF, CRISP, AZ100 Turret, LED
Example Config File:None

NB: there is a separate device adapter for modular TG1000 "Tiger" controllers ASITiger.

Controls ASI's stage controllers such as the MS2000 [1], [2]. Depending on installed hardware, the controller works with XY, Z stages (linear and piezo) and the CRISP or CRIFF autofocusing modules. In Micro-manager, each stage or device connected to the controller is added as a separate device assigned to the appropriate serial port (even though all devices might actually be attached to one and the same controller and this controller is attached to the PC through a serial cable).

The MS2000 and relatives can control two different Z stages, a normal one ("Z"), and a piezo Z stage which can either be called "Z", or - if a normal motorized stage is installed "F". AS of Micro-Manager version 1.2.7, you can instantiate multiple ASI Z-stages, which will take a pre-initialization property 'Axis' that can be set to either "Z" or "F" (do not instantiate the same axis twice!).

The piezo Z stage can be set up to receive trigger signals from many cameras (see documentation on Micro-Manager's Hardware-based_synchronization feature). A BNC cable is connected from the camera's TTL output to the MS2000 controller's piezo trigger input. By synchronizing Z slices with camera exposures, you can acquire very fast Z stacks. Most ASI firmware includes the required ring buffer module with 50 positions; if you want to acquire Z stacks with more slices or do not have ring buffer support, please contact ASI directly for a firmware update. To use this feature, set the property "Use Sequence" to value "Yes" under device "ZStage" in the Property Browser.

There is a further feature designed for collecting sequential Z-stacks with minimal delay by eliminating serial communication between Z-stacks and relying completely on TTL. This is the "Use Fast Sequence" property. To use, first set the property value set to "No" and run a Z-stack (this forces Micro-Manager to compute the ring buffer positions). Then set the property value to "Armed" and perform desired acquisitions. Afterwards be sure to set the value back to "No" because the controller will not interact with Micro-Manager normally when set to "Armed" (sequence operations are short-circuited as are the widely-used API functions Busy(), SetPositionUm(), and SetPositionSteps()).

CRIFF [3] was ASI's original autofocus product, and has been replaced by the CRISP autofocus system [4]. In both, the user can cycle of several states states (laser idle, laser on, calibrate, lock/unlock, laser off) by pressing the middle "@" button on the controller for 6 seconds (see the CRIFF manual [5]). Most of these state changes are implemented in the CRIFF and CRISP adapters. In general, it is easiest to first calibrate the CRIFF/CRISP by hand and then use Micro-manager to lock and unlock the CRIFF/CRISP.

Note
For the CRISP focus curve to work correctly, you need to increase the serial port timeout to approximately 1500 ms.

As of ASI controller version 8.0 (called the 'WK Whizkid'), the built-in USB connection is actually a USB to serial converter. You can find drivers for Windows, Mac OS X, and linux at the silabs website.

The DIP switches on the back on recent controllers control the baudrate for both the real serial and the USB to serial ports on the controller. See your manual for details.

The following is an incomplete list of properties currently implemented in the Micro-Manager ASI stage adapter:

PropertyDescription
Stepsize (for X and Y in um) Read-only property.
WaitCyclesSets how long the controller will wait after reaching its target position before clearing its 'busy' signal in milliseconds. For firmware version 8.4 and earlier (2008 vintage) the number of wait cycles is limited to 255 and is specified in the number of servo cycles instead of ms; for such old systems the servo cycle time is generally 1-10ms depending on exact hardware and firmware.
Speed (for both X and Y)Sets the maximum speed at which the stage will move in mm/sec. Hardware maximum is 7.5 mm/s for 6.5 mm pitch leadscrews
Backlash (for both X and Y, in mm)Makes the controller approach the target always from the same direction, starting the set number of mm away from the target position
Error (for both X and Y, in nm)When the difference between the current position (as read from the encoders) is larger than this number, the controller will re-engage the motors to reach the target position
Finish Error (for both X and Y in nm)This setting controls at what difference between the target and current position the controller will stop trying to get closer to the target. Similar to Error, but this one applies to ongoing movements.
OverShoot (for both X and Y)Inverse of Backlash. Setting this might help to increase stability of the stage after a movement
MotorOnOff (for both X and Y) Switches motor On or Off.
NrMoveRepetition Number of times the stage sill approach the same position. Setting this to 0 will cause one approach. Settings this to 2 or 3 can increase the accuracy with which a position is reached.


© Micro-Manager : Vale Lab, UCSF 2006-2011 | All Rights Reserved | Contact