User Tools

Site Tools


commands:maintain

Command:MAINTAIN (MA)

The Maintain command has a different function in case of a Piezo actuator then a motorised actuator

MS2000 or RM2000 syntax
Shortcut MA
Format MAINTAIN [Axis] = [0 to 3]…
Units integer codes, see table below
Remembered Using SS Z
Tiger syntax
Shortcut MA
Format MAINTAIN [Axis] = [0 to 3]…
Units integer codes, see table below
Type Axis-Specific
Remembered Using [addr#]SS Z
Function for Motorised Actuator (xy stage, z drive etc)
The maintain command specifies the behavior of the controller after move completion. Move commands complete when the stage moves to within the finish error tolerance of the target position (PCROS command). The actions for various code values are:
code = 0 [default] Post-move, when the controller detects drift from target specified by the drift error value, it will return the stage axis to the target several times (18) within a timeout period (~0.5 sec.) before declaring a move error code 60 and giving up further attempts.
code = 1 Post-move, the controller will indefinitely continue to try to reach target when drifts greater than the drift error are detected. With codes 0 and 1, the motor drivers are turned off when the stage reaches the finish error tolerance.
code = 2 The motor drivers remain on and the servo loop remains active. NB: making a manual move (e.g. joystick) may turn the motors off.
code = 3 Drivers remain on and servos active for the post-move time set by the WAIT command. The system BUSY is released when the finish error tolerance is first achieved. Setting the WAIT time sufficiently long can stabilize post-move drifts during data recording, but then allow for less power consumption of the driver amplifiers when waiting between moves.
code = 4 Reserved
code = 5 Servos Disengage. For example with motorized turrets this will allow the user to manually move the turret.

If there are no errors, the positive reply :A will be sent back from the controller.

Function for Piezo actuator

This feature is only available on Tiger system

This command is “recycled” for a different use in piezo axes than for motor axes. For ADEPT piezo cards sets the maintain code. Currently 2 modes are implemented with the following codes:

MA [axis] = Mode
0 default
1 Overshoot algorithm

Mode 0 is the default where the piezo DAC is set and the piezo drive electronics apply a voltage to the piezo to move the piezo to the correct position as measured by the strain gauge.

Mode 1 is the overshoot algorithm which may reduce the setting time in many circumstances where speed is critical and the user is willing to do some tuning. The piezo DAC is set as if the move were traveling past the actual target according to an overshoot percentage set by the PZ T setting. The idea is to slew more quickly initially. When an exit condition is reached the piezo DAC is set to the desired final position. There are two exit conditions, meeting either one or the other is sufficient:
(1) the strain gauge indicates that the piezo is at least halfway to the final position or
(2) the maximum time for the overshoot to be applied set by the PZ R is reached.

Note: At one point this behavior was controlled using the PM command. It was shifted over to MA starting in v3.06 but not in its current form until v3.11. Using this anything besides the default setting with firmware between v3.06 and v3.10 is not recommended.

commands/maintain.txt · Last modified: 2019/04/18 23:33 (external edit)