top bar

Zaber

Summary

Summary:Device adapters for Zaber Technologies linear stages, and XY stages and filter wheels
Author:Athabasca Witschi and Soleil Lapierre, Zaber Technologies (contact@zaber.com)
License:BSD
Platforms:All platforms (uses serial port)
Devices:Stage, XYStage, FilterWheel

The Zaber device adapter supports single and dual-axis stages and filter wheels using the Zaber ASCII protocol. The stages can be daisy-chained or connected to separate serial ports in an arbitrary configuration.

Device Setup and Configuration

Before starting Micro-Manager, please ensure your devices are properly set up and configured. Please refer to the device manual for instructions. Take note of the device address and axis number for each device or peripheral, as they are needed to configure Micro-Manager.

ASR Setup and Orientation

If you are using an ASR, ensure home and away limit sensors have been set. The limits are adjusted by loosening the screws shown in the images below and sliding the sensor magnets along their slots. The distance between the magnets is approximately equal to the travel range of the axis. The Zaber XYStage device adapter calibrates the stage's range of travel using home and away limit sensors, so you must make sure these are triggered before the stage runs into anything (see XYStage Calibration).

Upper axis limit sensor adjustment
Lower axis limit sensor adjustment

See the ASR Manual for more details.

For proper operation the stage must be oriented as shown below, with the upper axis as X and the lower axis as Y. The direction of positive stage movement will be opposite the arrows.

Stage orientation and coordinate system

For more information about the Micro-Manager coordinate system, see Coordinates and Directionality.

Filter Wheel Setup

Filter Wheel setup is automatic once you have selected the correct serial port and baud rate. If the device responds, the Filter Wheel adapter will automatically have it detect the number of filter positions. Note that this may cause the wheel to move; take care not to obstruct the wheel when adding it to your hardware configuration.

Micro-Manager Setup and Configuration

The following sections will cover configuring Micro-Manager to use the Zaber device adapters. For detailed instructions on configuration, see the Configuration Guide. Note that you will need to know the motor steps per revolution and the linear motion per revolution for linear and XY stages. These numbers can be found in the series specifications for each product on the Zaber website.

Stage Hardware Configuration

The following initialization properties are required:

  • Axis Number: This value will be 1 unless the stage is connected to axis 2 of a dual-axis controller, in which case it will be 2.
  • Controller Device Number: Use the value set in Zaber Console.
  • Linear Motion Per Motor Rev: Use the value from the stage's specifications.
  • Motor Steps Per Rev: Use the value from the stage's specifications.
  • Port: Select the port the device is connected to.

The port properties should be set as follows:

  • AnswerTimeout: 500.00
  • BaudRate: 115200 (unless it has been changed from default)
  • DelayBetweenCharsMs: 0.00
  • Parity: None
  • StopBits: 1
  • Verbose: 1
Sample Stage configuration

XYStage Hardware Configuration

The following initialization properties are required:

  • Axis Number (X Axis): This refers to the controller axis number connected to your X axis.
  • Axis Number (Y Axis): This refers to the controller axis number connected to your Y axis.
  • Controller Device Number: Use the value set in Zaber Console.
  • Linear Motion Per Motor Rev (X Axis): Use the value from the stage's specifications.
  • Linear Motion Per Motor Rev (Y Axis): Use the value from the stage's specifications.
  • Motor Steps Per Rev (X Axis): Use the value from the stage's specifications.
  • Motor Steps Per Rev (Y Axis): Use the value from the stage's specifications.
  • Port: Select the port the device is connected to.

For the ASR, Linear Motion Per Rev and Motor Steps Per Rev will be the same for both axes.

The port properties should be set as follows:

  • AnswerTimeout: 500.00
  • BaudRate: 115200 (unless it has been changed from default)
  • DelayBetweenCharsMs: 0.00
  • Parity: None
  • StopBits: 1
  • Verbose: 1
Sample XYStage configuration

XYStage Calibration

The Zaber XYStage device adapter implements an absolute coordinate system. As long as the stage has been calibrated and the limits have not been adjusted, any XY position will always correspond to the same physical location.

The stage needs to be calibrated every time it is powered on. It does not store its location when the power is shut off. Calibration can be performed by clicking the Set Origin button within the Tools > Stage Position List dialogue box. Before calibrating, make sure that the limit sensors have been set appropriately (see ASR Manual) and all objectives are clear of the stage.

Filter Wheel Calibration

The Zaber Filter Wheel device adapter uses settings read from the device firmware to determine how many filter positions there are. Each time the device adapter is initialized by Micro-Manager, it will run the filter wheel's holder detection command. This way if you change the filter holder installed in the device, the new number of filters will be known automatically next time you initialize the device adapter in Micro-Manager.

Note that if you change the filter holder in your device to one with a different number of positions, your Micro-Manager hardware configuration will either lack labels for every position or will retain extra labels that no longer correspond to extant positions and will cause errors if selected. To avoid this, use the Hardware Configuration Wizard to modify your configuration and re-read the default label names from the device adapter.

Adjustable Properties

Speed and acceleration for each stage or XY axis can be set in the Tools > Device/Property Browser dialogue box.

Stage Control

There are several ways to control the position of the stage:

  • Stage control plugin
  • Mouse moves stage (click and drag in Snap/Live Window)
  • Manual adjustment knobs on the controller

Stage Control Plugin

This is pretty straightforward. Just enter the move distance desired for fine, medium, and coarse moves.

Mouse Moves Stage

Selecting the Tools > Mouse Moves Stage option allows you to click and drag the image on the Snap/Live Window, panning the stage to follow the mouse cursor. You can also double click a location anywhere within the window and the stage will move to center the window on this point.

Before using this method, the pixel size must be calibrated. To do this:

  1. Make sure your microscope and camera are set up and focused on the object you want to view.
  2. Click on Tools > Pixel Size Calibration and click New to create a new calibration setting.
  3. Select the properties that will affect the calibration. Usually your camera resolution will suffice.
  4. Enter a guess for the pixel size um and click OK to exit the calibration window.
  5. Under Tools select Mouse Moves Stage and select the hand tool from the ImageJ window.
  6. In the Snap/Live Window, find a small distinct point on the image, and click and drag it across the window. If it ends up ahead of the mouse cursor (hand tool), you will need to reduce the um/pixel setting. If it ends up behind the cursor, you will need to increase the setting. Change the um/pixel value as needed until the point you drag stays directly underneath the mouse cursor.

Manual Adjustment Knobs

Zaber devices can be controlled using their manual adjustment knobs. Pushing and holding the knob for one second switches between velocity and jog mode. Pushing the knob while the stage is moving stops the stage.

Filter Wheel Control

The Filter Wheel appears as a stateful device in Micro-Manager, meaning that instead of having a position measured in physical units it has a number of states it can be in, with each state corresponding to one filter position. You can use the Tools > Device/Property Browser interface or the Group Presets area to manually enter the number of the state you want to go to, or select one of the labels that can be assigned to the states when setting up your hardware configuration.

States are numbered starting from zero according to Micro-Manager convention; the home position of the filter wheel is state 0, and the highest numbered position is N-1, where N is the total number of filters the holder can accommodate.

You can also control the filter wheel via Micro-Manager's scripting interface. Here is an example BSH script:

mmc.unloadAllDevices();

mmc.loadDevice("port", "SerialManager", "COM1");
mmc.setProperty("port", "BaudRate", "115200");

mmc.loadDevice("wheel", "Zaber", "FilterWheel");
mmc.setProperty("wheel", "Port", "port");
mmc.initializeAllDevices();

int numPositions = mmc.getNumberOfStates("wheel");
gui.message("Filter wheel has " + numPositions.toString() + " positions.");

gui.message("Moving to position 0");
mmc.setState("wheel", 0);
mmc.sleep(250);

for (int i = 1; i < numPositions; ++i)
{
   gui.message("Moving to position " + i.toString());
   mmc.setState("wheel", i);
   mmc.sleep(100);
}
	
mmc.sleep(250);

for (int i = numPositions - 2; i >= 0; --i)
{
   gui.message("Moving to position " + i.toString());
   mmc.setState("wheel", i);
   mmc.sleep(100);
}

Click here to search for Zaber on the Micro-Manager mailing list archive.

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