APT Motor Server - syue99/Lab_control GitHub Wiki
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