top bar

Thorlabs

Revision as of 16:14, 25 March 2011 by Nenad (Talk | contribs)

XY Stage

Summary:XY Stage - brushless DC motor controller BBD 102
Author:Nenad Amodaj and Thorlabs Inc
License:BSD
Platforms:All platforms (uses serial port)
Devices:XYStage
Example Config File:See below

XY stage device adapter that works with BBD 102 brushless DC motor contoroller[1] and supports high speed motorized scanning stage MLS 203 [2].

Setup

This adapter requires only a serial serial port (RS-232). One port should be reserved for this stage and initialized with the following parameters:

BaudRate: 115200

Handshaking: Off

Parity: None

StopBits: 1

(all other micro-manager port parameters can be left with defaults)

The only parameter that is required for configuration of the stage is the name of the serial port (e.g. COM2) attached to the controller. If the port was correctly set and connected in the previous step, micro-manager will load the stage adapter at startup. In Device Property Browser (menu: Tools | Device Property Browser...) the stage appears as: Property Browser 2011-03-25 16-03-56.png

Using the stage

The stage uses absolute XY coordinates and any positions recorded in micro-manager will always correspond to the same physical location. However, because of this feature, each time we power-up this stage needs to be "homed" before sending any commands. If we try to move it before homing, error message will pop up. Homing is not automatic on startup because during this procedure stage moves to its limits and in may cause one of the objectives to hit the stage frame, if the objective turret is left high enough. This is an issue with any XY stage and the user always needs to make sure that objective turret is in the safe position before homing.

Home procedure

The stage needs to be homed once after each power-up. Homing is not necessary if we just exit and re-start the software without powering down. There are three alternative ways to home the stage. Choose one of the following:

Calibrate command

Open Stage Position List dialog and press "Calibrate" button (menu: Tools | XY List...).

Script

Copy the following script, paste it into the Script Editor (menu: Tools | Script Panel...) and press "Run" button.

// home XY Stage
gui.message("Homing started...");
xyStage = mmc.getXYStageDevice();
mmc.home(xyStage);
x = mmc.getXPosition(xyStage);
y = mmc.getYPosition(xyStage);
gui.message("Done! Home position [um]: " + x + ", " + y);

This script can be saved and stored in the Script-Shortcut list for future use.

Special micro-manager startup script

To automate the process of homing so that you get prompted for it each time you start micro-manager you can use startup scripts. Startup script must reside in the root directory of the micro-manager software and its name is specified in the Options dialog (menu: Tools | Options...). Add the following code to the existing startup script (or create a new one):

// startup script to home Thorlabs BBD102 XY stage
//
import ij.gui.GenericDialog;

GenericDialog dlg = new GenericDialog("HOME command - XY Stage", null);
dlg.addMessage("WARNING!!! The XY stage is about to move. Make sure objectives are out of the way.\nIf you are in doubt about what to do Cancel this command!");
dlg.showDialog();
if (dlg.wasCanceled())
	return false;

gui.message("Homing started...");
xyStage = mmc.getXYStageDevice();
mmc.home(xyStage);
x = mmc.getXPosition(xyStage);
y = mmc.getYPosition(xyStage);
gui.message("Done! Home position [um]: " + x + ", " + y);

Each time you start micro-manager the script will be automatically executed and you will be prompted to home the stage and warned to move objectives to the safe position.

Adjusting motion parameters

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