-
Notifications
You must be signed in to change notification settings - Fork 10
APT Motor Server
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.
Simply modify the provided APT_config.py.example
to provide names of serial numbers of the translation stages.
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
- The device takes units of millimeters (see to do)
- The default limits of the stage are 6.5mm in each direction (see to do)
- Improve unit handling by requiring LabRAD units.
- Is it possible to get the limits directly from the hardware?
- Separate configuration file (thanks @soenkemoeller )
- Improved stopServer method in case of identification error
- Simplified settings and improved comments