Kinesis® K-Cube™ Piezo Controller


  • Open-Loop Piezo Driver Supplies up to 150 V
  • Seamless Operation with Thorlabs' Piezo Actuators
  • Operation via Local Panel Controls or Remote PC via USB

KPZ101

Power Supply
Sold Separately

Application Idea

KPZ101 Piezo Controller Used with a KSG101 Strain Gauge Reader for Closed-Loop Operation of One of Our 3-Axis Nanopositioning Flexure Stages

Table Mounting Plate
(Included with the KPZ101)

MAX311D

KSG101

KPZ101

Related Items


Please Wait

Click to Enlarge

Back and Top Views of the KPZ101 K-Cube
(See the Pin Diagrams Tab for More Information)

Features

  • Compact Footprint: 60.0 mm x 60.0 mm x 49.2 mm
  • Selectable High-Voltage Output Range: 75 V, 100 V, or 150 V
  • Digital Potentiometer Provides High-Voltage Control with Adjustable Resolution
  • 0 to 10 V Analog Input (SMA Female, See Pin Diagrams Tab for Details)
  • Monitor Output (SMA Female, See Pin Diagrams Tab for Details)
  • Easy-to-Use Manual Controls
    • Velocity Wheel: Variable Speed Bidirectional Control
    • Digital Display Menu: Jogging Functionality with Position Presets
  • Voltage Ramp/Waveform Generation Capability and Input and Output Triggers for Piezo Scanning Applications
  • Full Kinesis® or APT™ Software Control Suite (See Motion Control Software Tab for Details)
  • Software Compatible with other Kinesis and APT Controllers for Integrated Systems Development
  • Single- and Multi-Channel PSU Options Available Separately
  • Multi-Axis Expansion Using USB Controller Hubs (Sold Separately)
  • Magnetic, Clip-On Optical Table Mounting Adapter Included

The KPZ101 K-Cube Piezo Controller is a part of Thorlabs' growing Kinesis® line of high-end, compact motion controllers. Designed to provide easy manual or automatic control of piezo elements, this single-channel driver is capable of delivering up to 150 V of drive voltage at 7.5 mA, thereby allowing operating bandwidths up to 1 kHz (see Specs tab). It is compatible with Thorlabs' bare piezo stacks, piezo-equipped actuators, and piezo-driven mirror mounts, as well as piezo-driven single- and multi-axis flexure stages. For mounts with BNC connectors, a BNC to SMC adapter is required. Note that actuators and mounts with piezo inertia motors are not compatible with the KPZ101 controller and should be driven with a Piezo Inertia Motor Controller.


Click to Enlarge

View Imperial Product List
Item #QtyDescription
Imperial Product List
KCH6011USB Controller Hub and Power Supply for Six K-Cubes or T-Cubes
KAP1012Adapter Plate for KCH Series Hubs and 60 mm Wide T-Cubes
AP901Right-Angle Mounting Plate, 1/4"-20 Compatible
SH25S03811/4"-20 Stainless Steel Cap Screw, 3/8" Long, 25 Pack
W25S05011/4" Washer, M6 Compatible, Stainless Steel, 100 Pack
KPZ1011K-Cube Piezo Controller (Power Supply Sold Separately)
KDC1011K-Cube Brushed DC Servo Motor Controller (Power Supply Not Included)
KSC1011K-Cube Solenoid Controller (Power Supply Not Included)
KST2011K-Cube Stepper Motor Controller (Power Supply Not Included)
TSG0011 T-Cube Strain Gauge Reader (Power Supply Not Included)
View Metric Product List
Item #QtyDescription
Metric Product List
KCH6011USB Controller Hub and Power Supply for Six K-Cubes or T-Cubes
KAP1012Adapter Plate for KCH Series Hubs and 60 mm Wide T-Cubes
AP90/M1Right-Angle Mounting Plate, M6 x 1.0 Compatible
SH6MS101M6 x 1.0 Stainless Steel Cap Screw, 10 mm Long, 25 Pack
W25S05011/4" Washer, M6 Compatible, Stainless Steel, 100 Pack
KPZ1011K-Cube Piezo Controller (Power Supply Sold Separately)
KDC1011K-Cube Brushed DC Servo Motor Controller (Power Supply Not Included)
KSC1011K-Cube Solenoid Controller (Power Supply Not Included)
KST2011K-Cube Stepper Motor Controller (Power Supply Not Included)
TSG0011 T-Cube Strain Gauge Reader (Power Supply Not Included)
KCH601 USB Controller Hub (Sold Separately) with Installed K-Cube and T-Cube Modules (T-Cubes Require the KAP101 Adapter)

The unit has a highly compact 60.0 mm x 60.0 mm x 49.2 mm footprint, allowing it to be positioned close to the motorized system for added convenience when manually adjusting motor positions using the top panel controls. Tabletop operation also allows minimal drive cable lengths for easier cable management. Each unit contains a front-located power switch that, when turned off, saves all user-adjustable settings. Please note that this switch should always be used to power down the unit. For convenience, a 1.5 m long Type A to Type Micro B USB 3.0 cable is included with the KPZ101 cube.

Thorlabs designed this K-Cube to encapsulate full piezo control capability in an extremely small package. To support a wide variety of piezo devices, the output range can be user selected to 75 V, 100 V or 150 V. The resolution of the digitally encoded adjustment pot is easily altered to provide very accurate positioning control. Direct hardware control of the high-voltage output can be facilitated using the 0 - 10 V analog input connector, while the low-voltage output connector allows for easy monitoring of the high-voltage output (e.g., when using an oscilloscope). Programmable waveform generation capability combined with triggering inputs and outputs makes this unit particularly well suited for use in piezo scanning applications.

USB connectivity provides easy 'Plug-and-Play' PC-controlled operation with two available software platforms: our new Kinesis software package or our legacy APT (Advanced Positioning Technology) software package. The Kinesis Software features new .NET controls which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW™ or any .NET compatible languages to create custom applications. Our legacy APT software allows the user to quickly set up complex move sequences with advanced controls made possible via the ActiveX® programming environment. For example, all relevant operating parameters are set automatically by the software for Thorlabs stage and actuator products. For more details on both software packages, please see the Motion Control Software and APT Tutorials tabs.

Optical Table Mounting Plate
Each unit comes with a mounting plate that clips onto the base of the controller. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for a more permanent placement on the tabletop. Please see the Specs for a mechanical drawing of the table mounting plate and the Mounting Options tab for how to mount the plate.

Power Supply Options
The preferred power supply (single channel, multi-channel, or hub-based) depends on the end user's application and whether you already own compatible power supplies. To that end and in keeping with Thorlabs' green initiative, we do not ship these units bundled with a power supply.

Multiple units can be connected to a single PC by using the KCH301 or KCH601 USB Controller Hubs, available below, for multi-axis motion control applications. The KCH301 allows up to three T- or K-Cube controllers to be used while the KCH601, shown to the right, allows up to six controllers to be used.

All power supply options compatible with the KPZ101 Motor Controller can be found below.

Other Piezo Driver Controllers
K-Cube Controller
Single Channel
K-Cube Combined Piezo Controller and Strain Gauge Reader
Single Channel
Open Loop Benchtop Controller
1 and 3 Channel
Closed Loop Benchtop Controller
1 and 3 Channel
Rack System Module
2 Channel
KPZ101 Specifications
Piezoelectric Output
Drive Voltage (SMC Male) 0 - 150 V (SMC Male Connector)
Maximum Drive Current (Continuous) 7.5 mA
User Voltage Control Digital Potentiometer
(Resolution Selectable)
Stability 100 ppm Over 24 hrs
(After 30 min Warm-Up)
Output Noise No Load: <5 mVRMS
3.6 µF Load: <3 mVRMS
Typical Piezo Capacitance 1 - 10 µF
Drive Bandwidth 1 kHz (1 µF Load, 1 Vp-p)
Drive Input (SMA Female) 0 - 10 V
Output Monitor (SMA Female) 0 - 10 V
T-Cube Controller Hub Connector 26-Way ERNI
General
Input Power Requirements +15 V @ 220 mA
-15 V @ 50 mA
+5 V @ 350 mA
USB Connector Type USB 3.0
USB Connection Speed USB 1.1 Full Speed (12 Mbps)
Housing Dimensionsa
(W x D x H)
60.0 mm x 60.0 mm x 49.2 mm (2.36" x 2.36" x 1.94")
  • Including Top Panel Controls
Compatible Thorlabs Stages and Actuators
Translation Stages 3-Axis and 6-Axis Nanopositioners, NF15AP25, NFL5DP20NFL5DP20S
Piezo Controlled Mountsa KC1-P, KC1-PZ, POLARIS-K05P2, POLARIS-K1S3P, POLARIS-K1S2P, POLARIS-K2S2P
Bare Piezos Piezo Chips and Stacks with Drive Voltages up to 150 V
Actuators DRV120PE4a, DRV517, PK2FSF1, PK2FVF1, PAS005, PAS009PAZ005, PAZ009
  • Requires a T4292 BNC female to SMC female adapter.

Click to Enlarge
Mechanical Drawing of the KPZ101 and Included Optical Table Adapter
TPZ001 Frequency Response
Click to Enlarge

Click Here for Raw Data
Drive Voltage/Frequency Response at Different Capacitive Loads for the KPZ101

Power Connector

Mini-DIN Female

Mini-DIN

Pin Description Pin Description
1 +5 V 6 Common Ground
2 +5 V 7 Common Ground
3 -15 V 8 Common Ground
4 +15 V Shield Common Ground
5 +5 V

Computer Connection*

USB 3.0

*The USB 3.0 port is compatible with a USB 2.0 Micro B connector if the Micro B connector is plugged into the shaded region in the photo above. A USB 3.0 type A to type Micro B cable is included with the KPZ101.

Monitor

SMA Female

EXT IN

SMA Female

HV OUT

SMC Male

TRIG 1

SMA Female

TRIG 2

SMA Female

SMA Female SMA Female SMA Female SMA Female SMA Female
This low-voltage (0 to +10 V), output can be used to monitor the signal at the HV OUT high-voltage output. In its most common use, it can be connected directly to an oscilloscope to observe the waveforms or voltage levels present at the high-voltage output. Used to connect an external analogue signal source to control the operation of the cube. The input voltage range is 0 to +10 V and the input impedance is 12 kΩ. 0 to 150 V, 0 to 7.5 mA. Provides the drive signal to the piezo actuator. The maximum voltage (75 V, 100 V, or 150 V) is set via the front panel. +5 V TTL +5 V TTL
These connectors provide a 5 V logic level input and output that can be configured to support triggering into and out of external devices. Each port can be independently configured to control the logic level or to set the trigger as an input or output.

K-Cube Mounting Options

Two options are available to securely mount our K-Cube controllers onto an optical table. An optical table mounting plate, provided with every K-Cube, allows for a single controller to be attached to an optical table. Alternatively, three- and six-port USB controller hubs are offered (sold separately) that can mount and power our K-Cube controllers. These options are described in further detail below.

Optical Table Mounting Plate
Each K-Cube unit comes with a mounting plate that clips onto the base of the controller, as shown in the animation to the right. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for a more permanent placement on the tabletop. Please see the Specs tab for a mechanical drawing of the table mounting plate.

Kinesis USB Controller Hubs
Multiple units can be mounted and connected to a single PC by using the KCH301 or KCH601 USB Controller Hubs. They each consist of two parts: the hub, which can support up to three (KCH301) or six (KCH601) K-Cubes or T-Cubes, and a power supply that plugs into a standard wall outlet. K-Cubes simply clip into place using the provided on-unit clips, while current- and previous-generation T-Cubes require the KAP101 Adapter Plate, shown in the animation above. The hub vastly reduces the number of USB and power cables required when operating multiple controllers.

K-Cube Table Mounting Plate


Unlike T-Cubes, every K-Cube includes a mounting plate that clips onto the base of the controller. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for more permanent placement on the tabletop.

Kinesis USB Controller Hubs


3- and 6-Port USB Controller Hubs allow multiple controllers to be connected to one PC for multi-axis applications. K-Cubes can be directly attached to the hubs while T-Cubes require a KAP101 Adapter Plate.
Motorized Kinematic Mirror Mount with Active Stabilization
Click for Details

Piezo Controller as Part of a Closed-Loop System

Piezo Controller in a Beam Stabilization Setup

Active beam stabilization is often used to compensate for beam drift (unintended beam pointing deviations) in experimental setups. Drift can be caused by insecurely mounted optics, laser source instabilities, and thermal fluctuations within an optomechanical setup. In addition to correcting for setup errors, active stabilization is frequently used in laser cavities to maintain a high output power or used on an optical table to ensure that long measurements will take place under constant illumination conditions. Setups with long beam paths also benefit from active stabilization, since small angular deviations in a long path will lead to significant displacements downstream.

An example of a beam stabilization setup is shown in the schematic to the left. A beamsplitter inserted in the optical path sends a sample of the beam to a quadrant position sensor that monitors the displacement of the beam relative to the detector's center. (For optimal stabilization, the beamsplitter should be as close as possible to the measurement.) The quadrant detector outputs an error signal in X and Y that is proportional to the beam's position. Each error signal is fed into a channel of a piezoelectric controller that steers the beam back to the center of the quadrant sensor.

The setup illustrated here stabilizes the beam to a point in space. In order to stabilize the beam over a beam path, four independent output channels are required (i.e., at least two piezoelectric controllers), as are two mirror mounts with piezo adjusters, two position sensors, and two position sensor controllers. Suggested electronics for a beam stabilization setup are given in the table below.

Suggested Components
Description Item #
Piezoelectric Controller KPZ101 T-Cube Piezo Controllera
Mirror Mount with Piezo Adjusters
(Choose One)
POLARIS-K1S3P Polaris® Mirror Mount with 3 Adjusters,
POLARIS-K1S2P Polaris® Mirror Mount with 2 Adjusters,
KC1-PZ (KC1-PZ/M) Mirror Mount, or
KC1-T-PZ (KC1-T-PZ/M) Mirror Mount with SM1-Threaded Bore
Position Detector PDP90A (320 - 1100 nm),
PDQ80A (400 - 1050 nm),
or PDQ30C (1000 - 1700 nm)
K-Cube Position Sensor Controller KPA101
  • One controller is required per independently controlled axis.
K-Cube vs. T-Cube Feature Comparison
Feature KPZ101 K-Cube TPZ001 T-Cube
Kinesis Software Compatibility YES! YES!
APT Software Compatibility YES! YES!
Kinesis USB Controller
Hubs
Compatibility
YES! Requires KAP101 Adapter
TCH002 T-Cube USB
Controller Hubs Compatibility
N/A YES!
Power Switch YES! N/A
Bidirectional SMA Trigger Porta 2 N/A
SMA Monitor Outputa YES! YES!
SMA External Analog Inputa YES! YES!
Computer Connectiona USB 3.0 Micro B
(USB 2.0 Compliant)
USB 2.0 Micro B
(USB 2.0 Compliant)
Included Mounting Plate YES! YES!
Size
(L x W x H)
60.0 mm x 60.0 mm x 49.2 mm
(2.36" x 2.36" x 1.94")
60.0 mm x 60.0 mm x 49.2 mm
(2.36" x 2.36" x 1.94")
On-Unit Digital Display Menu YES! YES!
Set Open/Closed Loop YES! YES!
Go To Voltage YES! Only via Software
Voltage Range and Control YES! YES!
Joystick Mode YES! Only via Software
Jog Voltage Step Size YES! Only via Software
Teach Voltage YES! Only via Software
Screen Brightness YES! YES!
Disable Movement YES! N/A
Stage Select YES! Only via Software
  • Please see the Pin Diagrams tab for details.

Introducing Thorlabs' Kinesis® Motion Controllers

A major upgrade to the former-generation T-Cubes™, the growing K-Cube™ line of high-end controllers provides increased versatility not only through the new Kinesis software, but through an overhaul and updating of their physical design and firmware.

Every K-Cube controller includes a digital display. In addition to basic input and output readouts, this display hosts a number of menu options that include go-to-position commands, homing, velocity control, and jogging. The on-unit velocity wheel and menu button are used to scroll through the available options. Each unit contains a front-located power switch that, when turned off, saves all user-adjustable settings as well as two bidirectional SMA trigger ports that accept or output a 5 V TTL logic signal.

Please see the table to the right for a full comparison of the features offered by our new KPZ101 K-Cube and previous-generation TPZ001 T-Cube motion controllers.

Piezo Controller
Click to Enlarge

KPZ101 K-Cube Kinesis Piezo Controller

Kinesis USB Controller Hubs
Complementing our K-Cubes are our Kinesis USB 2.0 controller hubs. With two versions available for three or six K- or T-Cubes, these USB hubs are designed specifically for communication between multiple controllers and the host control PC. These hubs are backward compatible with our T-Cubes.

K-Cubes simply clip into place using the provided on-unit clips, while current- and previous-generation T-Cubes require the KAP101 Adapter Plate, shown in the animation to the below right. The hub vastly reduces the number of USB and power cables required when operating multiple controllers.

K-Cube Table Mounting Plate


Unlike T-Cubes, every K-Cube includes a mounting plate that clips onto the base of the controller. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for more permanent placement on the tabletop.

Kinesis USB Controller Hubs


3- and 6-Port USB Controller Hubs allow multiple controllers to be connected to one PC for multi-axis applications. K-Cubes can be directly attached to the hubs while T-Cubes require a KAP101 Adapter Plate.

Thorlabs offers two platforms to drive our wide range of motion controllers: our Kinesis® software package or the legacy APT™ (Advanced Positioning Technology) software package. Either package can be used to control devices in the Kinesis family, which covers a wide range of motion controllers ranging from small, low-powered, single-channel drivers (such as the K-Cubes™ and T-Cubes™) to high-power, multi-channel, modular 19" rack nanopositioning systems (the APT Rack System).

The Kinesis Software features .NET controls which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW™, or any .NET compatible languages to create custom applications. Low-level DLL libraries are included for applications not expected to use the .NET framework. A Central Sequence Manager supports integration and synchronization of all Thorlabs motion control hardware.

Kinesis Software
Kinesis GUI Screen
APT Software
APT GUI Screen

Our legacy APT System Software platform offers ActiveX-based controls which can be used by 3rd party developers working on C#, Visual Basic, LabVIEW™, or any Active-X compatible languages to create custom applications and includes a simulator mode to assist in developing custom applications without requiring hardware.

By providing these common software platforms, Thorlabs has ensured that users can easily mix and match any of the Kinesis and APT controllers in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from single-axis to multi-axis systems and control all from a single, PC-based unified software interface.

The software packages allow two methods of usage: graphical user interface (GUI) utilities for direct interaction with and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.

A range of video tutorials is available to help explain our APT system software. These tutorials provide an overview of the software and the APT Config utility. Additionally, a tutorial video is available to explain how to select simulator mode within the software, which allows the user to experiment with the software without a controller connected. Please select the APT Tutorials tab above to view these videos.

Software

Kinesis Version 1.14.47

The Kinesis Software Package, which includes a GUI for control of Thorlabs' Kinesis and APT™ system controllers.

Also Available:

  • Communications Protocol
Software Download

Software

APT Version 3.21.6

The APT Software Package, which includes a GUI for control of Thorlabs' APT™ and Kinesis system controllers.

Also Available:

  • Communications Protocol
Software Download

Thorlabs' Kinesis® software features new .NET controls which can be used by third-party developers working in the latest C#, Visual Basic, LabVIEW™, or any .NET compatible languages to create custom applications.

C#
This programming language is designed to allow multiple programming paradigms, or languages, to be used, thus allowing for complex problems to be solved in an easy or efficient manner. It encompasses typing, imperative, declarative, functional, generic, object-oriented, and component-oriented programming. By providing functionality with this common software platform, Thorlabs has ensured that users can easily mix and match any of the Kinesis controllers in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from the low-powered, single-axis to the high-powered, multi-axis systems and control all from a single, PC-based unified software interface.

The Kinesis System Software allows two methods of usage: graphical user interface (GUI) utilities for direct interaction and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.

For a collection of example projects that can be compiled and run to demonstrate the different ways in which developers can build on the Kinesis motion control libraries, click on the links below. Please note that a separate integrated development environment (IDE) (e.g., Microsoft Visual Studio) will be required to execute the Quick Start examples. The C# example projects can be executed using the included .NET controls in the Kinesis software package (see the Kinesis Software tab for details).

C Sharp Icon Click Here for the Kinesis with C# Quick Start Guide
Click Here for C# Example Projects
Click Here for Quick Start Device Control Examples
C Sharp Icon

LabVIEW
LabVIEW can be used to communicate with any Kinesis- or APT-based controller via .NET controls. In LabVIEW, you build a user interface, known as a front panel, with a set of tools and objects and then add code using graphical representations of functions to control the front panel objects. The LabVIEW tutorial, provided below, provides some information on using the .NET controls to create control GUIs for Kinesis- and APT-driven devices within LabVIEW. It includes an overview with basic information about using controllers in LabVIEW and explains the setup procedure that needs to be completed before using a LabVIEW GUI to operate a device.

Labview Icon Click Here to View the LabVIEW Guide
Click Here to View the Kinesis with LabVIEW Overview Page
Labview Icon

The APT video tutorials available here fall into two main groups - one group covers using the supplied APT utilities and the second group covers programming the APT System using a selection of different programming environments.

Disclaimer: The videos below were originally produced in Adobe Flash. Following the discontinuation of Flash after 2020, these tutorials were re-recorded for future use. The Flash Player controls still appear in the bottom of each video, but they are not functional.

Every APT controller is supplied with the utilities APTUser and APTConfig. APTUser provides a quick and easy way of interacting with the APT control hardware using intuitive graphical control panels. APTConfig is an 'off-line' utility that allows various system wide settings to be made such as pre-selecting mechanical stage types and associating them with specific motion controllers.

APT User Utility

The first video below gives an overview of using the APTUser Utility. The OptoDriver single channel controller products can be operated via their front panel controls in the absence of a control PC. The stored settings relating to the operation of these front panel controls can be changed using the APTUser utility. The second video illustrates this process.

APT User - Overview
APT User - OptoDriver Settings


APT Config Utility

There are various APT system-wide settings that can be made using the APT Config utility, including setting up a simulated hardware configuration and associating mechanical stages with specific motor drive channels. The first video presents a brief overview of the APT Config application. More details on creating a simulated hardware configuration and making stage associations are present in the next two videos.

APT Config - Overview
APT Config - Simulator Setup
APT Config - Stage Association


APT Programming

The APT Software System is implemented as a collection of ActiveX Controls. ActiveX Controls are language-independant software modules that provide both a graphical user interface and a programming interface. There is an ActiveX Control type for each type of hardware unit, e.g. a Motor ActiveX Control covers operation with any type of APT motor controller (DC or stepper). Many Windows software development environments and languages directly support ActiveX Controls, and, once such a Control is embedded into a custom application, all of the functionality it contains is immediately available to the application for automated operation. The videos below illustrate the basics of using the APT ActiveX Controls with LabVIEW, Visual Basic, and Visual C++. Note that many other languages support ActiveX including LabWindows CVI, C++ Builder, VB.NET, C#.NET, Office VBA, Matlab, HPVEE etc. Although these environments are not covered specifically by the tutorial videos, many of the ideas shown will still be relevant to using these other languages.

Visual Basic

Part 1 illustrates how to get an APT ActiveX Control running within Visual Basic, and Part 2 goes on to show how to program a custom positioning sequence.

APT Programming Using Visual Basic - Part 1
APT Programming Using Visual Basic - Part 2


LabVIEW

Full Active support is provided by LabVIEW and the series of tutorial videos below illustrate the basic building blocks in creating a custom APT motion control sequence. We start by showing how to call up the Thorlabs-supplied online help during software development. Part 2 illustrates how to create an APT ActiveX Control. ActiveX Controls provide both Methods (i.e. Functions) and Properties (i.e. Value Settings). Parts 3 and 4 show how to create and wire up both the methods and properties exposed by an ActiveX Control. Finally, in Part 5, we pull everything together and show a completed LabVIEW example program that demonstrates a custom move sequence.

APT Programming Using LabVIEW -
Part 1: Accessing Online Help
APT Programming Using LabVIEW -
Part 2: Creating an ActiveX Control
APT Programming Using LabVIEW -
Part 3: Create an ActiveX Method
APT Programming Using LabVIEW -
Part 4: Create an ActiveX Property
APT Programming Using LabVIEW -
Part 5: How to Start an ActiveX Control


The following tutorial videos illustrate alternative ways of creating Method and Property nodes:

APT Programming Using LabVIEW -
Create an ActiveX Method (Alternative)
APT Programming Using LabVIEW -
Create an ActiveX Property (Alternative)


Visual C++

Part 1 illustrates how to get an APT ActiveX Control running within Visual C++, and Part 2 goes on to show how to program a custom positioning sequence.

APT Programming with Visual C++ - Part 1
APT Programming with Visual C++ - Part 2


MATLAB

For assistance when using MATLAB and ActiveX controls with the Thorlabs APT positioners, click here.

To further assist programmers, a guide to programming the APT software in LabVIEW is also available here.

Piezo Driver Bandwidth Tutorial

Knowing the rate at which a piezo is capable of changing lengths is essential in many high-speed applications. The bandwidth of a piezo controller and stack can be estimated if the following is known:

  1. The maximum amount of current the controllers can produce. This is 0.5 A for our BPC Series Piezo Controllers, which is the driver used in the examples below.
  2. The load capacitance of the piezo. The higher the capacitance, the slower the system.
  3. The desired signal amplitude (V), which determines the length that the piezo extends.
  4. The absolute maximum bandwidth of the driver, which is independent of the load being driven.

To drive the output capacitor, current is needed to charge it and to discharge it. The change in charge, dV/dt, is called the slew rate. The larger the capacitance, the more current needed:

Piezo Equation 1

For example, if a 100 µm stack with a capacitance of 20 µF is being driven by a BPC Series piezo controller with a maximum current of 0.5 A, the slew rate is given by

Piezo Equation 2

Hence, for an instantaneous voltage change from 0 V to 75 V, it would take 3 ms for the output voltage to reach 75 V.

Note: For these calculations, it is assumed that the absolute maximum bandwidth of the driver is much higher than the bandwidths calculated, and thus, driver bandwidth is not a limiting factor. Also please note that these calculations only apply for open-loop systems. In closed-loop mode, the slow response of the feedback loop puts another limit on the bandwidth.

Sinusoidal Signal

The bandwidth of the system usually refers to the system's response to a sinusoidal signal of a given amplitude. For a piezo element driven by a sinusoidal signal of peak amplitude A, peak-to-peak voltage Vpp, and frequency f, we have:

Piezo Equation 3

A diagram of voltage as a function of time is shown to the right. The maximum slew rate, or voltage change, is reached at t = 2nπ, (n=0, 1, 2,...) at point a in the diagram to the right:

Piezo Equation 4

From the first equation, above:

Piezo Equation 5

Thus,
Piezo Equation 6

For the example above, the maximum full-range (75 V) bandwidth would be

Piezo Equation 7.

For a smaller piezo stack with 10 times lower capacitance, the results would be 10 times better, or about 1060 Hz. Or, if the peak-to-peak signal is reduced to 7.5 V (10% max amplitude) with the 100 µm stack, again, the result would be 10 times better at about 1060 Hz.

Triangle Wave Signal

For a piezo actuator driven by a triangle wave of max voltage Vpeak and minimum voltage of 0, the slew rate is equal to the slope:

Piezo Equation 8.

Or, since f = 1/T:

Equation 9

Square Wave Signal

For a piezo actuator driven by a square wave of maximum voltage Vpeak and minimum voltage 0, the slew rate limits the minimum rise and fall times. In this case, the slew rate is equal to the slope while the signal is rising or falling. If tr is the minimum rise time, then

Equation 11

or

Equation 12.

 

For additional information about piezo theory and operation, see the Piezoelectric Tutorials page.


Posted Comments:
xm dou  (posted 2024-03-15 10:50:04.247)
KPZ101与KSG 101闭环使用时,可以通过软件输入位置(单位微米)实现对压电驱动器的位置控制,而不是输入行程的百分比? 另外,0位移对应不是0%的行程,大约是8%,闭环时无法设置0%行程,
Ivan Zorin  (posted 2024-01-17 10:16:29.25)
Dear Madam or Sir, I didn't find a useful information on the webpage. Is there a way to control KPZ101 in the python? It would be important as the other key parts of the software are built in python. Best regards, Ivan
cstroud  (posted 2024-01-18 06:22:38.0)
Thanks for reaching out. Our motion controllers use .Net DLL's that can be controlled with Python using Pythonnet. I will reach out to you directly to send over some examples.
user  (posted 2022-07-06 22:02:33.367)
Hi. I would like to ask about the voltage input over the range (0 V to 10 V) for KPZ101. I have a circuit with the output voltage of -13.5 V to 13.5 V and would like to amplify the voltage with KPZ101. The circuit will operates 0 V to 10 V, but it may exeed the range. Is it has a protection circuit for such voltage? (13.5 V, -13.5 V)
cilong zhang  (posted 2022-04-01 11:22:56.727)
I recently bought the K-Cube piezo controller but I can only seem to change the voltage at a rate of 2 Hz using Kinesis software. I was expecting to drive the piezo faster, How can i do so? Thanks!!!
cwright  (posted 2022-04-01 06:28:16.0)
Response from Charles at Thorlabs: Thank you for your query. The frequency which can be achieved when driving a piezo is dependent on the capacitance of the piezo and the current supply of the controller. There is more information in our bandwidth tutorial here: https://www.thorlabs.de/newgrouppage9.cfm?objectgroup_id=2421&tabname=Piezo%20Bandwidth. Technical support will reach out to you to discuss your application.
user  (posted 2021-09-15 06:15:18.36)
Please could you tell me what the functional differences are between the K-Cube™ Piezo Controller KPZ101 and the more expensive MDT694B Single Channel, Open-Loop Piezo Controller. The K-cube looks to have better software interface using Kinesis for easy control, but otherwise I can't see other obvious differences. I will be using the the controller to drive the amplified piezoelectric actuator APF710 at varying frequencies. I'd be using either software or a function generator to produce sinusoidal inputs.
cwright  (posted 2021-09-16 08:11:37.0)
Response from Charles at Thorlabs: Thank you for your query. The main differences are that the KPZ101 has a lower maximum drive current and a lower bandwidth. It is however more compact, can be triggered by other devices and has support for closed loop control when used with a strain guage reader.
Vincent Gosselin  (posted 2021-06-22 15:08:57.91)
Kinesis® K-Cube™ Piezo Controller Hi Thorlabs, I recently bought the K-Cube piezo controller but I can only seem to fully extend and retract the piezo at a rate of 2 times a second using Kinesis software. I was expecting to drive the piezo in the KHz range... How can i do so? Thanks!!! Vincent
jcater  (posted 2021-06-23 09:43:09.0)
Response from Jack at Thorlabs: The drive bandwidth will depend on the load capacitance of the Piezo, a graph on this can be found here https://www.thorlabs.com/images/TabImages/KPZ101_Frequency_Response_780.gif. To drive the piezo at these frequencies you can either use the Kinesis sequencer to set the voltage to 0V and then 75/150V and add a wait time between these to allow the piezo to fully extend and retract. Alternatively you could use the EXT IN on the KPZ101 to drive the piezo element at 1kHz if the piezo capacitance is 1µF.
user  (posted 2021-04-22 05:51:32.863)
Hi there, We recently ordered KPZ101 and KSG101 controllers, but they seem to get quite hot even when they are idling. Just want to check whether this is normal? Because we have six of them mounted on the KCH601 hub, I wonder if this heat accumulation could cause long-term instability if the heat does not dissipate efficiently? Many thanks in advance.
cwright  (posted 2021-04-23 03:18:20.0)
Response from Charles at Thorlabs: Hello and thank you for your query. The cubes are expected to get warm while idling and we use several such cubes on a KCH601 in our AFM educational kit so you should not experience issues.
Joseph Natal  (posted 2020-02-16 23:41:06.21)
Hello! I am wondering if there is any C or C++ API for this single channel piezo controller. I am a member of Lawrence Berkeley National Lab and UC Berkeley, working on a research/course project. Thanks, Joseph Natal
cwright  (posted 2020-02-18 08:05:06.0)
Response from Charles at Thorlabs: Hello Joseph, there is indeed a C API for this. If you download our Kinesis software at the address below you will find the file "Thorlabs.MotionControl.C_API" in the installation directory. By default this will be C:\Program Files\Thorlabs\Kinesis https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control
2693502986  (posted 2018-11-07 10:14:17.773)
“HV OUT”接口为公头极易损坏,针脚容易折断断,在实验中造成了的严重的不便和经济损失。与Polaris系列光学调整架配套使用时没有配套线缆,十分不便。
llamb  (posted 2018-11-07 11:02:22.0)
Thank you for your feedback. Broken connector pins are typically attributed to over-stressing the cable connections, as we have not commonly seen these break very easily. I will reach out to you directly to troubleshoot and see if the delivered product was faulty. If faulty, we will gladly offer a replacement. For connecting the cables included with the Polaris piezo mounts to the KPZ101 controller, you can use our T4292 adapter. We are looking into the possibility of providing SMB to SMC cables for direct use of the Polaris piezo mounts with the KPZ101 as well. Also, you may email 'techsupport-cn@thorlabs.com' directly with future inquiries. 感谢您的反馈意见。 断开的连接器引脚通常归因于对电缆连接的过度应力,因为我们通常不会看到它们很容易断裂。 我会直接联系您进行故障排除,看看交付的产品是否有问题。 如果有问题,我们很乐意提供更换。 要将Polaris压电安装座随附的电缆连接到KPZ101控制器,您可以使用我们的T4292适配器。 我们正在考虑提供SMB到SMC电缆的可能性,以便直接使用带有KPZ101的Polaris压电安装座。 此外,您可以通过电子邮件直接发送电子邮件至'techsupport-cn@thorlabs.com',以便将来查询。
shoh0331  (posted 2018-10-26 01:43:36.05)
Hello. I want to use KPZ101 to move continuously the mirror mount back and forth in one movement per second. Is this possible with Kinesis? If possible, how do I set up Sequence? If kinesis is not enough, can I solve it by using Labview? I tried to connect to Kinesis via .net of labview but there are so many "Method for Thorlabs.MotionControl.KCube.PiezoCLI.KCubePiezo Class" and "Property for Thorlabs.MotionControl.KCube.PiezoCLI.KCubePiezo Class" so I don't know how to use the LabView to move the way I want. Please help me.
rmiron  (posted 2018-10-26 11:00:56.0)
Response from Radu at Thorlabs: If you require each movement to last for an entire second, this can only be achieved by using the EXT IN SMA port. The output of KPZ would be proportional to the received signal. Therefore, if you send a 10V triangular wave with a period of 2 seconds to the controller, it will move continuously from 0 to 150V and back at a rate of one movement per second. If the movement can be faster, but you only want to do one move per second, this could be achieved via a Kinesis sequence. You would need to insert a "SetVoltage (150V)" event, a "SetVoltage (0V)" event and two Wait events (one in-between the two SetVoltage ones and one after them). Finally, you would have to end the sequence with a Repeat event so that it can run continuously. The suitable duration of the Wait events depends on the capacitance of the piezo stack that you are driving. It should be 1s - the movement duration. The movement duration can be determined from the equations listed in the "Piezo Bandwidth" tab.
joos  (posted 2017-12-26 19:55:52.333)
Dear Experts, I am trying to interface the TPZ001 with python using the apt.dll coming with the apt installation. Using System Level commands (like GetHWInfo() for example) works fine but I realized that the APTAPI.h does not contain any specific Exports for piezo command. Is there a .dll for piezo command ? Thank you very much, Maxime Joos
bhallewell  (posted 2018-01-24 04:14:22.0)
Response from Ben at Thorlabs: You are correct in identifying that the APTAPI.h doesn't contain piezo device methods. This is only a beta release header file covering only a small range of generic system & motor device functions, which we do not plan to expand on. Our software resource is currently dedicated to growing support of our improved software package, Kinesis, built on the .NET framework. Our legacy software APT is built on ActiveX software components which are supported across LabVIEW, VB & C#. The ActiveX MG17Piezo control contains methods, properties & events which apply to the TPZ001. For control within Python, it may be best to control the device through a low level COM port via of our communications protocol document found in the 'Communications Protocol tab' here. https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control I will contact you directly to see what other support I can offer.
user  (posted 2017-03-30 10:26:26.527)
Hey, is it possible to ask Kinesis to do continous ramps, i.e. piezo scanning over a range of voltages, rather than having to do this manually by either scrolling the wheel on the actual unit or propagating by a step size via the software? Ideally, I would like to have a steady scan rate as opposed to one subject to how quickly I press/scroll buttons/wheels.
bhallewell  (posted 2017-04-07 04:31:43.0)
Response from Ben at Thorlabs: You can do this within Kinesis by use of the Sequence Manager which can be found at the top of the right-hand edge of the UI. Here you will be able to select device events for your KPZ101 unit such as SetVoltage. By adding a sequence of SetVoltage commands you will be able to produce a scan that you require. You can find a Move Sequence help document in the Kinesis help file with some details on implementing this.
b.l.m.klarenaar  (posted 2016-10-28 03:27:07.357)
I'm using two KSC101 controllers with a POLARIS-K1PZ2 mirror mount. In Matlab I'm able to connect to the controllers via the APT ActiveX interface and I can send commands directly using the protocol described in the "APT Server.chm" file, installed with the APT software. I'm also using an other controller, the BSC201, to control a linear stage. On the BSC201 page I found an extensive file describing a COM communication protocol, which works perfectly to communicate with this controller (using the USB to virtual com port). I would like to change the APT ActiveX communication of the KSC101 to a COM communication as well. However, the protocol I found doesn't work with the KSC101 (I guess since Kinesis works different from the 'older' APT?). Therefore, I would be interested in a similar documentation of a COM communication protocol for the KSC101 (or Kinesis in general). Best regards
bwood  (posted 2016-10-28 04:46:31.0)
Response from Ben at Thorlabs: Thank you for your question. The communications protocol is applicable for all stages which use APT and Kinesis, including the KSC101. Thus, there may be an issue with the commands you are using. I will be in contact with you directly to help you troubleshoot this problem.
vicsv  (posted 2015-04-09 17:12:11.67)
Hello, I'm using T-Cube Piezo Controller. Now the front panel LEDs shows 150 V and does no react to voltage regulator. How can I reset setting to the initial state?
bhallewell  (posted 2015-04-15 11:35:38.0)
Response from Ben at Thorlabs: Thank you for your email here. It is typical for the piezo controller to move to full voltage if you are set to Closed Loop mode, without feedback the controller will climb in output to full range. I would advise checking that all cabling in your system is fully connected if you are operating in Closed Loop Mode. A second suggestion, it may be worth testing the potentiometer on the T-cube by changing the Drive Input Source to 'Software Only' in the APT Settings tab. I invite you to contact me personally at techsupport.uk@thorlabs.com should this effect persist.
pongsathon11  (posted 2014-06-08 09:05:23.44)
When I connect TPZ001 to my laptop all of my APT software are working normally, but APT user it's doesn't work. What should I do?
msoulby  (posted 2014-06-10 05:44:46.0)
Response from Mike at Thorlabs: I have contacted you directly to help troubleshoot this problem with you.
simon.holzberger  (posted 2014-06-03 09:15:30.16)
I want to use the TPZ001 piezo driver together with the TPA101 position sensing controller. Although stated that these devices are compatible with each other the specs sheets tell something else: * TPA101 outputs: -10 to +10V * TPZ001 inputs: 0 to +10V Which information is correct?
rcapehorn  (posted 2014-06-05 10:24:17.0)
Response from Rob at Thorlabs: Thank you for pointing out these confusing specifications, I can confirm that the TPZ001 and TPA001 are indeed compatible with each other. The 0 to +10V input range for the TPZ001 can be altered by the other two controlling sources built into the device, the DAC and the potentiometer. So for example, if the input contribution of the DAC is +5 Volt and you drive the SMA input with -5 Volt, then the effect of this is zero. Using this method, it allows us to input a bipolar +-10V signal into a system that is usually unipolar, 0 to 10V. This is how we are able to configure the TPZ001 and the TPA001 to work together. I have also emailed you a more detailed description to help clarify this.
tcohen  (posted 2012-11-22 10:41:00.0)
Response from Tim at Thorlabs: The error message the TPZ001 displays means that the cube has detected a message with an incorrect header. More specifically, the message header indicated that a data packet was going to follow the header whose length is more than 256 bytes. There is no such message for the TPZ001, so it flagged up an error. The message header must have had the most significant bit set in the 5th byte because that’s how we indicate that a data packet is to follow the 6-byte header.
g.a.blab  (posted 2012-11-16 15:14:18.677)
Due to lack of a computer old enough to use the 32-bit activeX interface, I am trying to use the serial/USB option to access the piezo cube controller from Labview; can anybody tell me what the "E 145" means that gets displayed on the device when I try to send commands to the cube?
tcohen  (posted 2012-10-19 18:52:00.0)
Response from Tim at Thorlabs: Thank you very much for pointing this statement out. We have clarified this on the web presentation. I apologize for the inconvenience this must have caused and will contact you directly to provide you with the cables as soon as possible.
bremerma  (posted 2012-10-19 12:32:47.513)
I am extremely annoyed that this product does not include an adapter (SMC to BNC) so it can be used with the piezo mirror mounts (kc1-pz). The overview says that it can be used straight out of the box with this piezo mirror mount. I now have to get 4 of these adapters at a price of over $200. Why wouldn't you include these or specify that they must be purchased? This is wasting everyone's time, and in my case, the funds are no longer available to complete this purchase, so my $6000 purchase is unused.
tcohen  (posted 2012-05-23 12:00:00.0)
Response from Tim at Thorlabs: The ZeroPosition and SetVoltPosDispMode methods are applicable for the BPC and MPZ Controllers. A complete list of applicable methods can be found in the Piezo Control Method Summary on the APT Server Help or in the manual for the TPZ001. I will contact you directly for troubleshooting.
937911049  (posted 2012-05-23 00:54:50.0)
Hello,I am one of your consumers.Recently,I found PZT001 hardware was not compatible with PiezoMethod"ZeroPosition"and"SetVoltPosDispMode". Besides,I assembled a closed loop using TPZ001 and TSG001,the corresponding settings had been finished correctly,and PI constants had been altered,but it didn't work as expected. The Voltage that TPZ001 displayed stayed unchanged sometimes. Looking forward to your reply.
tcohen  (posted 2012-04-13 10:29:00.0)
Response from Tim at Thorlabs: Thank you for your feedback. Please make sure that the “Enable Simulator Mode” in APT Config is unchecked. Also, make sure the cables are snugly connected. If this does not solve your problem, you can measure the actual output voltage from the TPZ001. We have contacted you to further troubleshoot.
archangelz0  (posted 2012-04-11 13:26:53.0)
Hi, I'm trying to integrate the TPZ001 Piezo Driver with the NF15AP25 Nanoflex translation stage using the APT software's GUI. I connected everything like the manual states and when I run the APTUser.exe I get the GUI also, but when I change the voltage on the GUI it doesn't change the voltage on the display on the TPZ001. Additionally, the Piezo stage is not moving when I do so. Does anyone know how to fix this?
apalmentieri  (posted 2010-02-23 08:56:15.0)
A response from Adam at Thorlabs: I agree that it is rather confusing. You can use a TPS002 to control the TSG001 and the TPZ001 with a SMA connection between the two to control the closed loop operation. You do not need the TCH002 to maintain closed loop operation. We will update the website to reflect this.
user  (posted 2010-02-22 17:03:45.0)
The statement Closed-Loop Operation with T-Cube Strain Gauge Reader Unit (via Hub) is incorrect. Closed loop can be selected via SMA mode connected to Strain Gauge Monitor Out, which doesnt require the Hub.
Tyler  (posted 2009-01-26 09:23:52.0)
A response from Tyler at Thorlabs to melsscal: A USB cable with a Type Mini B connector on one end and a standard Type A connector on the other is included with each TPZ001. Please remember that the power supply for the TPZ001 must be purchased separately. Thank you for your inquiry.
melsscal  (posted 2009-01-17 08:08:37.0)
do u have miniUSB cable Ver1.1 for TPZ001 ?
jpang  (posted 2007-11-26 12:50:30.0)
I see you carry few different piezo drivers, how should I go about selecting which driver to use to match different modulation requirements for different piezos?
Back to Top

K-Cube™ Piezo Controller

  • Front Panel Velocity Wheel and Digital Display for Controlling Piezo Elements
  • Two Bidirectional Trigger Ports to Read or Control External Equipment
  • Interfaces with Computer Using Included USB Cable
  • Fully Compatible with Kinesis® or APT™ Software Packages
  • Compact Footprint: 60.0 mm x 60.0 mm x 49.2 mm (2.36" x 2.36" x 1.94")
  • Power Supply Not Included (See Below)

Thorlabs' KPZ101 K-Cube Piezo Controller provides local and computerized control of a single axis. It features a top-mounted control panel with a velocity wheel that supports four-speed bidirectional control with forward and reverse jogging as well as position presets. The digital display on the top panel includes a backlight that can be dimmed or turned off using the top panel menu options. The front of the unit contains two bidirectional trigger ports that can be used to read a 5 V external logic signal or output a 5 V logic signal to control external equipment. Each port can be independently configured to control the logic level or to set the trigger as an input or output.

The unit is fully compatible with our Kinesis software package and our legacy APT control software. Please see the Motion Control Software tab for more information.

Please note that this controller does not ship with a power supply. Compatible power supplies are listed below.

Based on your currency / country selection, your order will ship from Newton, New Jersey  
+1 Qty Docs Part Number - Universal Price Available
KPZ101 Support Documentation
KPZ101K-Cube Piezo Controller (Power Supply Sold Separately)
$772.66
7-10 Days
Back to Top

Compatible Power Supplies

  • Individual ±15 V/5 V Power Supply
    • TPS002: For up to Two K-Cubes™ or T-Cubes™ with Mini-DIN Input*
  • USB Controller Hubs Provide Power and Communications
    • KCH301: For up to Three K-Cubes or T-Cubes
    • KCH601: For up to Six K-Cubes or T-Cubes

The TPS002 supplies power for up to two K-Cubes* or T-Cubes. The cubes still require individual computer connection via USB cable.

The KCH301 and KCH601 USB Controller Hubs each consist of two parts: the hub, which can support up to three (KCH301) or six (KCH601) K-Cubes or T-Cubes, and a power supply that plugs into a standard wall outlet. The hub draws a maximum current of 10 A; please verify that the cubes being used do not require a total current of more than 10 A. In addition, the hub provides USB connectivity to any docked K-Cube or T-Cube through a single USB connection.

For more information on the USB Controller Hubs, see the full web presentation.

*The TPS002 can only support one KNA-VIS or KNA-IR controller or one KLD101 driver and should not be used to power any additional units as that may exceed current limitations.

Based on your currency / country selection, your order will ship from Newton, New Jersey  
+1 Qty Docs Part Number - Universal Price Available
TPS002 Support Documentation
TPS002±15 V/5 V Power Supply Unit with Mini-DIN Connectors for up to Two K- or T-Cubes
$128.29
Today
KCH301 Support Documentation
KCH301USB Controller Hub and Power Supply for Three K-Cubes or T-Cubes
$598.63
Today
KCH601 Support Documentation
KCH601USB Controller Hub and Power Supply for Six K-Cubes or T-Cubes
$724.52
Today