Newport XPS-Q8 Users Manual, Software Tools And Tutorial page 84

Universal high-performance motion controller/driver
Hide thumbs Also See for XPS-Q8:
Table of Contents

Advertisement

XPS-Q8 Controller
XPSDocumentation V1.4.x (EDH0301En1060 — 10/17)
The FollowingError is the difference between the CurrentPosition and the
SetpointPosition.
The TargetPosition is the position where the positioner must be after the completion of
a move.
When the controller receives a new motion command after the previous move is
completed, a new TargetPosition is calculated.
This new target is received as an argument for absolute moves. For relative moves, the
argument is the length of the move and the new target is calculated as the addition of the
current target and the move length. Then the profiler of the XPS calculates a set of
SetpointPositions to determine where the positioner should be at each given time.
When the positioner is controlled by a digital servo loop with a PID corrector, part of
the signals sent to the motor of the positioner is a function of the following error. Part of
this function is the integral gain of the PID filter that requires a following error equal to
zero to reach a constant value.
The encoder in the positioner delivers a discrete signal (encoder counts). Take the
example of an encoder with a resolution of 1 and a target position equal to 1.4. The real
position cannot reach the value of the target position (1 or 2 instead of 1.4), so the
following error will never be equal to zero (closest values are +0.6 and -0.4). Thus, due
to the integral gain of the PID filter, the system will never settle, but will oscillate
between the positions 1 and 2.
The XPS controller avoids this instability while allowing the use of native units instead
of encoder counts by using a rounded value of the TargetPosition to calculate the
motion profile and a rounded value for the following error. But the non-rounded value
of the TargetPostion will be stored as final position, so that there is no accumulation of
errors due to rounding, in case of successive relative moves.
To understand the difference, consider a positioner with a resolution of 1 that is at the
position 0. This positioner receives a relative motion command of 10.4. At the end of
the motion the CurrentPosition will be 10 and the SetpointPosition will be 10, but the
TargetPosition will be 10.4. The positioner then receives the same relative motion
command again. At the end of this motion the CurrentPosition will be 21, the
SetpointPosition will be 21 and the TargetPosition will be 20.8.
When an application requires a sequence of small incremental motion of constant
step size close to the encoder resolution, make sure that the commanded
incremental motion is equal to a multiple of encoder steps.
The TargetPosition, SetpointPosition, CurrentPositon and FollowingError can be
queried from the controller using the appropriate function calls.
72
NOTE
Motion Tutorial

Advertisement

Table of Contents
loading

Table of Contents