2.10. Thorlabs KCube Inertial Motor#
Summary: |
ThorlabsKCubeIM |
Type: |
Actuator |
License: |
Licensed under LGPL. |
Platforms: |
Windows |
Devices: |
K-Cube Controller for Piezo Inertia Stages and Actuators, e.g. KIM101 |
Author: |
J. Krauter |
2.10.1. Overview#
ITOM Plugin to be used for interaction with the K-Cube Controller for Piezo Inertia Stages and Actuators (e.g. KIM101).
ThorlabsKCubeIM is an acutator plugin to control the following integrated devices from Thorlabs:
K-Cube Controller for Piezo Inertia Stages and Actuators (e.g. KIM101)
It requires the new Kinesis driver package from Thorlabs and implements the interface Thorlabs.MotionControl.KCube.InertialMotor.
Please install the Kinesis driver package in advance with the same bit-version (32/64bit) than itom.
This plugin has been tested with the cage rotator KIM101.
2.10.2. Initialization#
The following parameters are mandatory or optional for initializing an instance of this plugin:
- serialNo: str, optional
Serial number of the device to be loaded, if empty, the first device that can be opened will be opened
default: “”
2.10.3. Parameters#
These parameters are available and can be used to configure the ThorlabsKCubeIM instance. Many of them are directly initialized by the parameters of the constructor. During the runtime of an instance, the value of these parameters is obtained by the method getParam, writeable parameters can be changed using setParam.
- acceleration: {seq. of int}
acceleration Steps/s
- async: {int}
synchronous (0, default) or asynchronous (1) mode
- enableAxes: {int}
disable (0, default) or enable axis (1)
- deviceName: {str}, read-only
Description of the device
- dualChannel: {int}
single Channel mode (0, default) or dual Channel mode (1)
- firmwareVersion: {str}, read-only
Firmware version of the device
- lockFrontPanel: {int}, read-only
1 to lock the front panel, else 0
- maxVoltage: {seq. of int}
maximum voltage of axis
- name: {str}, read-only
Name of the plugin
- numaxis: {int}, read-only
number of axes (channels), default 4
- serialNumber: {str}, read-only
Serial number of the device
- softwareVersion: {str}, read-only
Software version of the device
- stepRate: {seq. of int}
step rate in Steps/s
- timeout: {float}
timeout for move operations in sec
2.10.4. Usage#
This example shows how to initialized the device in itom and change the position:
mot = dataIO("ThorlabsFF") # get instance of plugin. Optional give the serialnumber of the device mot.calib(0) # set the current position of axis 0 to position 0 mot.calib(0, 1, 2, 3) # set the current positions of axis 0 - 3 to position 0 mot.setParam("maxVoltage", [100, 100, 100, 100]) # set the maximum voltage of the 4 axes mot.setParam("stepRate", [2000, 2000, 2000, 2000]) # set the steprate of the 4 axes mot.setParam("acceleration", [100000, 100000, 100000, 100000]) mot.setPosAbs(0, 100) # set the axis 0 to the absolute position 100 mot.setPosRel(0, 100) # move the axis 0 relative by 100 mot.setPosAbs(0, 100, 1, 100, 2, 100, 3, 100) # set all 4 axis to the absolute position 100 mot.setPosRel(0, 100, 1, 100, 2, 100, 3, 100) # move all 4 axis relative by 100 mot.getPos(0) # get the position of axis 0 mot.getPos(0, 1, 2, 3) # get the positions of all 4 axis
Dual Channel Mode (recommended)
In the case that two axis are used together, the dual channel mode recommended (e. g. two axis are attached to a mirror and are used to move the mirror in both dimensions). Channel 0 and 1 or channel 2 and 3 are move at once. This reduces the moving time a lot.
mot.setParam("dualChannel", 1) # dual channel is activated by the parameter *dualChannel* mot.setPosAbs(0, 50, 1, 200) # The moving commands must contain the positions of both dual channel axis or the positions of all four axes. mot.setPosAbs(2, 50, 3, 200) mot.setPosAbs(0, 25, 1, 50, 2, 100, 3, 150)
2.10.5. Compilation#
To compile this plugin, install the Thorlabs KINESIS from https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control&viewtab=0 driver package in the same bit-version than itom (32/64bit). Then set the CMake variable THORLABS_KINESIS_DIRECTORY or the environment variable THORLABS_KINESIS_ROOT to the base directory of Kinesis (e.g. C:/Program Files/Thorlabs/Kinesis). The required libraries from Kinesis will automatically be copied to the lib folder of itom.
Kinesis 1.7.0 requires the Microsoft C++ Redistributable 2012.
2.10.6. Changelog#
itom setup 4.1.0: This plugin has been compiled with Thorlabs Kinesis 1.14.25.
itom setup 4.2.0: This plugin has been compiled with Thorlabs Kinesis 1.14.28.
itom setup 4.3.0: This plugin has been compiled with Thorlabs Kinesis 1.14.47.