Skip to content
micramm edited this page Nov 26, 2012 · 13 revisions

Overview

The APT Motor Server interfaces with Thorlabs TDC001 motorized translation stage controller box (translation stage serial numbers begin with '8'). The server uses the driver's dll library to communicate with the controller box and only works on Windows. It allows to perform basic functions such as movement and retrieving information from the translation stages.

Setting Up

Simply modify the provided APT_config.py.example to provide names of serial numbers of the translation stages.

Simple Usage

The server is designed to handle multiple stages (as defined in 'deviceDict') by accessing them each separately in a different LabRAD context. The following is a sample script that selects by a particular translation stage and performs basic movement:

First connect to LabRAD server

import labrad
cxn = labrad.connect()
server = cxn.apt_motor_server

Find available devices:

availableDevices = server.get_available_devices()

Select the first available device (in this context) #needlink

server.select_device(availableDevices[0])

Perform basic tasks:

print server.get_serial_number()
server.move_relative(.001) # move the Left-Right stage by 1 micron.
server.move_absolute(1.00) # move the Up-Down stage to the 1.000mm position

For a more complicated and thorough client, refer to the GUI APTMotorClient.py. #needlink

Caveats

  • The device takes units of millimeters (see to do)
  • The default limits of the stage are 6.5mm in each direction (see to do)

To Do

  • Improve unit handling by requiring LabRAD units.
  • Is it possible to get the limits directly from the hardware?

Version Tracking

Version 1.1

  • Separate configuration file (thanks @soenkemoeller )
  • Improved stopServer method in case of identification error
  • Simplified settings and improved comments