|Summary:||Interfaces with Thorlabs APT devices and controllers.|
|Authors:||Emilio J. Gualda and Egor Zindy|
|Platforms:||Windows (32 bit only)|
From the Thorlabs APT page: The APT family comprises a wide range of motion controller products ranging from small, low-power, single-channel optomechanical drivers (T-Cube Series) to high-power, multi-channel, modular 19" rack nanopositioning systems (the APT Rack System). The APT System Software is a common software platform for all controllers in the APT family.
The ThorlabsAPTStage adapter aims to provide a unified adapter for all the Thorlabs APT stages.
Preliminary support for 64bit Windows
It is now possible to compile the ThorlabsAPTStage device adapter for 64 bit Windows using a 64 bit APT.dll released by Thorlabs. The following procedure was tested in Windows 8.1 with Visual Studio 2012 and Windows 7.1 SDK:
Drop the content of File:APT x64.zip into the device adapter micromanager-upstream\DeviceAdapters\ThorlabsAPTStage folder then compile the adapter as a x64 / release dll.
Once compiled, copy micromanager-upstream\DeviceAdapters\ThorlabsAPTStage\build\Release\x64\mmgr_dal_ThorlabsAPTStage.dll to your micromanager folder, as well as the 64 bit APT.dll file in the zip archive above.
Do not forget to install the 64 bit APT drivers from Thorlabs as per the instructions further down. Until you do (or if the 64 bit APT.dll is missing from the micromanager folder), the ThorlabsAPTStage will be greyed out from the hardware setup device list.
The ThorlabsAPTStage device adapter requires the 32-bit Micro-Manager, a recent 32-bit version of the APT software and an additional APT.dll file available to download from this website.
First you will need to download and install the APT software from the Thorlabs website.
Then download the File:APT.zip file and decompress the APT.dll file into your Micro-manager folder. As of 2014-07-04, the APT.dll version which works with the current Thorlabs drivers is v126.96.36.199. The file is 1.71MB decompressed and its MD5 checksum is c966684580e4d373338b4b4c1640e817
At the moment, the following APT devices / controllers will be recognised, although only the TDC001 stages have been extensively tested. If you have had success with any of these, please amend the wiki or send me an email.
|BSC001||1 Ch benchtop stepper driver||Untested|
|BSC101||1 Ch benchtop stepper driver||Untested|
|BSC002||2 Ch benchtop stepper driver||Untested|
|BDC101||1 Ch benchtop DC servo driver||Untested|
|SCC001||1 Ch stepper driver card (used within BSC102,103 units)||Untested|
|DCC001||1 Ch DC servo driver card (used within BDC102,103 units)||Untested|
|ODC001||1 Ch DC servo driver cube||Untested|
|OST001||1 Ch stepper driver cube||Untested|
|MST601||2 Ch modular stepper driver module||Untested|
|TST001||1 Ch Stepper driver T-Cube||Untested|
|TDC001||1 Ch benchtop stepper driver||Yes|
Installing a new stage (an example)
In the following example, we have 4 TDC001 controllers, each controlling a different type of stage. X,Y are controlling MTS25-Z8 linear stages, Z is controlling a MTS50-Z8 linear stage and we also have a PRM1-Z8 rotation stage.
To check that your PC is communicating with all the stages, you can launch the APT Configuration Utility.
Note: In order for APTConfig to display the list of available stages, Micro-manager must be closed. Make sure you do not run both at the same time.
In Micro-manager's Hardware Configuration Wizard, select ThorlabsAPTStage. Each unique controller only appears once.
To add a stage, click the APT controller and give it a unique name. Then select its Serial Number from the drop-down menu. This number is displayed on the controller itself.
Additionally, you may need to select a channel number (for APT controllers controlling more than one channel).
At this point, you can also set software limits. This is to ensure that the stage will only travel a limited range.
Note for now (as of 1.4.17): if you change the soft limits, the stage may not initialize properly.
Homing procedure (preliminary)
APT stages must be "homed" first before any further commands can be sent.
For each of the stages defined in micro-manager, create a Group with the "Home" property.
Then when you want one of the stages initialised, simply set the group value to 1.