User Tools

Site Tools


ASIs Drive Electronics( TGADEPT / ADEPT ) for Piezo Top-Plate

Tiger ADEPT Card
ADEPT’s Features
  • Closed loop operation with strain gauge feedback.
  • Auto strain gauge calibration on startup.
  • Accepts inputs from MS2000 or Tiger controller (digital) or external (analog) sources.
  • Nanometer precision with low noise and drift.


ADEPT is an add-on module that extends the MS2000 and TG-1000 controller’s capability to control piezo top-plate. The user can position the piezo top-plate through serial commands or manual inputs like the knob, or through an external signal source. TG-1000 can support multiple ADEPT cards.

ADEPT can operate either in open loop or closed loop mode. In closed loop mode, it uses high sensitivity semiconductor strain gauge as sensors to position the piezo top-plate with nanometer precision and transient time less than 25ms.

ADEPT card performs self test and calibration on startup, so the system maintains calibration.


MS2000 Connections
TG-1000 Connections
  1. PiezoTop-plate Connector
  2. Sensor Out
  3. External Input
  4. CRISP (optional)

External Input and Output

The position of the piezo can also be set with a 0-10V analog signal.

When the controller is set to external input mode (using the PZ Z=1 command (for holding down @ button for 6 seconds), controller positions the piezo-based on the voltage applied to EXT IN or external input. The analog signal should be between 0 to 10 volts, where 10 represents lower limit, and 0 volts represents upper limit. For every 1 volt change, the piezo top-plate changes one tenth the piezo range. Example, if it’s a 150um piezo top-plate 1 volt represents 15um, 0.1 volt represents 1.5um. We recommend that the frequency of the signal be kept less than 10Hz for long moves, so as to give the piezo top-plate time to settle down and come to a complete stop.

Sensor Out is a 0 to 10 volt analog signal that corresponds to the position of the piezo top-plate. It is a buffered output of the strain gauge sensors.


When in Internal Input Mode(serial commands or a manual input device), the piezo stage can also be controlled with a TTL input. The user can setup the system to move a relative distance on TTL trigger (TTL X=2) or output a TTL pulse at end of commanded move (TTL Y=2). Refer to the TTL Command page for more TTL input and output options.


Note: All ADEPT boards are calibrated in the factory and undergo thorough testing. Users do not have to perform any calibration. This section is for a better understanding of the piezo top-plate’s functionality.

For optimal closed loop operation, when a strain gauged piezo top-plate and ADEPT board are paired together calibration is performed. Every piezo system is calibrated in factory, and a shorter self calibration is performed by ADEPT card on startup. Ideally users do not have to worry about calibrations, offsets etc. Here is a short description of what they involve.

Strain Gauge Offset

ADEPT uses two semiconductor strain gauges installed in the piezo top-plate in half bridge configuration for feedback. One strain gauge flexes as the top-plate moves while the other is installed in a non flexing position. As the top-plate moves up and down, the flexing strain gauge’s resistance relative to the unflexing strain gauge increases and decreases, the sensor conditioning circuit interprets this as a voltage. The strain gauge offset parameter is the setting for a digital potentiometer that adjusts the resistance of the unflexing strain gauge so that at a position of our choosing (set by PZC F command) it has the same resistance as the flexing strain gauge. This setting can be viewed and adjusted with PZ X serial command. It is automatically picked by the ADEPT controller during auto calibration routine, and also during the shorter self calibration routine on startup.

When a PZINFO command is issued, among one of the check it runs is for the strain gauge offset and it returns a SG Offset [OK] or [BAD]

Feedback Gain

When the piezo top-plate moves, the strain gauge interprets this as the change in resistance. The feedback gain is the parameter that helps the sensor conditioning circuit interprets this change in resistance as a voltage, and then into distance moved.

There is a known problem with the calibration routines when the user has changed the software limits on the piezo using SETUP or SETLOW command. This is especially likely if the limits have been set asymmetrically.

Disabling Strain Gauge Calibration on Startup

By Default every time a piezo controller is turned on, it checks the Strain Gauge Offset(by running the same test PZINFO does to determine if the Strain Gauge offset is “OK” or “BAD”). If necessary, it performs the auto calibration routine. Changes in the sample weight, room temperature and piezo age require strain gauge calibration.

If the user would like to disable this feature, issue the serial command CCA Z=15 followed by SS Z.

Fast Slow Mode

Dynamics of an ASI Piezo Top-plate and Piezo Objective Mover (f-POMs) vary depending on their range of the piezo and sample weight they are subjected to. Heavier payload (500grams and above) and longer piezo travel range (300um and above) tend to make the stage more unstable or prone to ringing. These piezo stages need a slower error compensator on the piezo drive card to work optimally.

Since 2014 (Rev L2) all ASI Piezo Drive cards (ADEPT) come with two error compensators, a “Fast” (meant for 150um range piezos with payloads up to 1kg) and a “Slow” (meant for 300um range and above piezos with payloads up to 1kg). ADEPT cards sold 2015 (Rev M5 or later), the fast/slow mode can be selected electronically with the PM+/- and PZ Z+/- commands.

Shows Transient response of a 150um Piezo Top-plate with varying payload and modes

Above graph is the transient response of a 150 um piezo doing 30 um step move.

  • Without payload and in fast mode, piezo is able to finish the move in 10 msec without any extra ringing.
  • However with 550 grams payload, piezo is now ringing.
  • When drive card is put in slow mode, time needed to finish the move increased from 10 msec to 20 msec however no ringing is seen.


Electrical Performance

  • Capable of Applying -24V to 150V to the Piezo actuators
  • Maximum continuous output current of 13mA through L revision (40mA with M revision and later)
  • 10 msec transient response time (10%-90%) for moves below 20% travel range with in fast mode, and 20 msec for slow mode


Name PZ-2150 PZ-2300 PZ-2500
Piezo Travel Range (+- 5%) 150 um 300 um 500 um
Piezo smallest move/resolution † 2.2 nm 4.5 nm 7.6 nm
Maximum Load for full range travel in Kilogram 1 Kg
Modes Capable Fast and Slow Mode Slow mode only
External Analog input(BNC) 0 to 10 Volts

†This is with Piezo Drive cards’s 16Bit DAC. User may improve this thru a high resolution signal generator, and the system operating in external input mode.

Transient Response

Graph showing the step/transient response of ASIs piezo top-plate for a 30um move.

The Above graph is of a 150um piezo top-plate doing a 30um step move in Fast and Slow mode. 10-90% move time is around 10millisec in fast mode, and around 20millisec in slow mode.

We observed that the transient tends to increase for longer moves.

Frequency Response

In this test a sine wave of 2 Volt peak to peak and 5Vrms of varying frequency is applied thru external input and the response of the top-plate was interpreted on sensor out is observed and its amplitude is recorded. This is used to determine what the maximum possible input frequency is.

Observation: As the moves come more frequently, the piezo top-plate may not have sufficient time to finish its move and settle in and the move is left incomplete. The above graph shows that over 10 Hz – 20 Hz or more that 10 commanded moves a second, there are a lot of incomplete moves and at 30 Hz the top-plate only travels half the commanded distance

Top-plate Load capacity

We tuned the drive electronics so that the piezo actuators can support 1 Kg. After a 1 Kg the piezo might oscillate.

Overshoot Mode

This feature is only implemented in Tiger

In firmware version 2.8 a special overshoot algorithm was added for internal closed-loop control that increases the drive current for the initial part of the move and thus can significantly reduce the setting time in many circumstances where speed is critical and the user is willing to do some tuning. See the documentation in the commands MA and PZ R/T for details. For the user to tune the overshoot settings it is helpful to use an oscilloscope and watch the sensor output. Here we provide a comparative plot of the position vs. time as measured using the sensor output for the normal (MA setting 0) and overshoot (MA setting 1) settings with two different ADEPT boards driving a f-POM with a very light load (a single objective of medium size) with a step size of 5% of travel (7.5 um on a 150 um range piezo). Both boards are set to “fast” mode.

Note that the overshoot mode easily outperforms the normal mode but has a bit of ripple during the move. Also note that the M5 ADEPT board is significantly faster than the L2 ADEPT board, probably due to a combination of increased maximum drive current and slightly more aggressive settings of the fast mode.

Command Set

Apart from the regular axis commands like MOVE, MOVREL, ZERO, INFO here are some ADEPT specific commands. Most users do not need to use these commands unless configuration are changed or problems are encountered.

2018/03/13 19:05
2022/08/16 18:17
2022/02/16 20:01
2018/03/27 14:20
2019/04/18 19:33
2016/09/07 18:03
2018/06/21 12:07


  • On startup if the axis with piezo top-plate comes up as disabled with either a COD error of 140 or 141, it indicates one of the startup self test for the ADEPT card has failed. Use the PZINFO command to further investigate.
  • If you’re noticing any odd behavior, the PZINFO command is a good way to debug the error. When this serial command is issued, ADEPT performs a series of test and returns the result that looks like this:
  Voltages @ Pos1>
HV   : 147 V
Sout : 4 V
Pzout: 65 V
I2C Check> DAC[OK] SWITCH[OK] DigPot[OK] 
DigPot> Sgoffset: 110 Gain: 96 
DigPot> Sgoffset: 110 Gain: 96 
Closed Loop
TG1000 IN
SG Offset [OK]
  • Voltage @ Pos1 indicates the Voltage on High Voltage Rail as HV, Voltage on Sensor Out as Sout and Voltage being applied to the piezo top-plate as Pzout at the current position. High Voltage rail should always be in high 140s and more, if not it indicates a problem on the board.
  • I2C Check pings the various digital Ics on the ADEPT board and returns OK or BAD. OK indicates that the IC is powered and is communicating with TG1000. BAD indicates a problem.
  • Next it indicates the Revision of the Piezo Drive card. Rev 1 can switch between Fast/Slow mode by issuing a serial command. If its Rev 0, then it might have a Jumper pin to put the card in Fast Slow mode.
  • DigPot returns the current calibration settings, strain gauge offset and feedback gain.
  • Next it indicates whether the card is in open loop or closed Loop mode.
  • Then it displays the current source of piezo top-plate position. TG1000 IN or EXT IN.
  • SG Offset is a quick routine to checks the validity of the strain gauge offset setting, and returns OK or BAD. This routine will only check the strain gauge offset, and will not try to correct it. Issue a PZC command to run calibration routine; it will automatically pick the correct value.
  • If the piezo top-plate or objective mover is oscillation , ringing or making a buzzing sound. Then try putting it in Slow mode. Refer to Fast Slow Compensation For details on how to do this.
  • When a piezo experiences a dramatic temperature change , like inside a temperature chamber. There may be a noticeable decrease in travel. This is due to change in strain gauge resistance and so they need to be recalibrated. Issuing the serial Command:PZC causes the controller to recalibrate the piezo. Restarting the controller also causes it to run strain gauge calibration.
Address: 29391 W Enid Rd. Eugene, OR 97402, USA | Phone: +1 (541) 461-8181
piezo_manual.txt · Last modified: 2021/09/23 17:15 (external edit)