Delta Tau GEO BRICK LV User Manual

Page of 440
 
Turbo PMAC User Manual 
154
 
Motor Compensation Tables and Constants 
Ixx35 Acceleration Feedforward Term 
The acceleration feedforward term Ixx35 adds an amount to the control effort that is directly proportional 
to the commanded acceleration, to overcome potential position errors that would be proportional to 
acceleration.  These errors come from the fundamental tendency of inertia to resist acceleration.  Without 
acceleration feedforward, there would be a component of the following error proportional to acceleration. 
Properly set acceleration feedforward will eliminate following error components that are proportional to 
acceleration.  The Ixx35 acceleration feedforward term is an estimate of the inertia of the system, directly 
providing a force or torque proportional to it and the commanded acceleration. 
Actual PID/Feedforward Algorithm 
The actual equation used in the PID/feedforward algorithm to compute the commanded output for Motor 
xx is as follows: 
CMDout(n) = 2-19 * Ixx30*[{Ixx08 * [FE(n) + (Ixx32*CV(n) +Ixx35*CA(n))/128 + 
Ixx33*IE(n)/223]} -Ixx31*Ixx09*AV(n)/128] 
where: 
• 
CMDout(n) is the 16-bit output command (-32768 to +32767) in servo cycle n.  It is converted to a -
10V to +10V output.  DACout(n) is limited by Ixx69. 
• 
Ixx08 is an internal position scaling term for Motor xx (usually set to 96) 
• 
Ixx09 is an internal scaling term for the velocity loop for Motor xx (usually set to 96) 
• 
FE(n) is the following error in counts in servo cycle n, which is the difference between the 
commanded position and the actual position for the cycle [CP(n) - AP(n)] 
• 
AV(n) is the actual velocity in servo cycle n, which is the difference between the last two actual 
positions [AP(n) - AP(n-1)] in counts per servo cycle 
• 
CV(n) is the commanded velocity in servo cycle n: the difference between the last two commanded 
positions [CP(n) - CP(n-1)] in counts per servo cycle 
• 
CA(n) is the commanded acceleration in servo cycle n, which is the difference between the last two 
commanded velocities [CV(n) - CV(n-1)] in counts per servo cycle 
• 
IE(n) is the integrated following error in servo cycle n, which is: 
0
j
)
1
(
FE
[
1
n
=
 
(for all servo cycles for which the integration is active.  Ixx34=1 turns off the input to, but not the 
output from the integrator when CV does not equal zero.) 
Notch Filter 
Turbo PMAC’s standard servo loop includes a notch filter.  This is a second-order bi-quad filter acting on 
the output of the PID section of the servo loop, one of whose main purposes is to create a notch 
(frequency of low response) in the servo reaction for the purposes of fighting a resonance. 
This filter has several possible uses: 
• 
Anti-resonance (notch) filter 
• 
Low-pass filter 
• 
Velocity-loop integrator 
• 
Lead-lag filter 
Each use will be treated in its own section below.