Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Motor Compensation Tables and Constants 
149 
SETTING UP THE SERVO LOOP 
Turbo PMAC can close a digital servo loop automatically for each activated motor.  The purpose of the 
servo loop is to command an output in such a way so as to try to make the actual position for the motor 
match the commanded position.  How well it does this depends on the tuning of the servo loop filter – the 
setting of its parameters – and the dynamics of the physical system under control. 
Servo Update Rate 
The servo loop is closed (updated) at a frequency determined by jumpers on a Turbo PMAC, or I-
variables on a Turbo PMAC2.  On a Turbo PMAC, the servo interrupt frequency is set by jumper E98, 
jumpers E29-E33 (which divide down the master clock to generate the phase clock), and jumpers E3-E6 
(which divide down the phase clock to generate the servo clock).  On a Turbo PMAC2, the servo interrupt 
frequency is set by I-variables I7m00, I7m01, and I7m02 for the Servo IC m that is the clock source for 
the system (or I6800, I6801, and I6802 for a Turbo PMAC2 Ultralite).  Refer to the Turbo PMAC System 
Configuration and Auto-Configuration section for details on the source of these clock signals and how to 
set their frequencies. 
Parameter Ixx60 permits you to lower the servo-loop closure rate for an individual Motor xx by 
specifying the number of servo interrupts to be skipped between closures.  The default value of 0 causes 
closure every interrupt.  Ixx60 is useful to slow down the servo update rate for a particular motor, while 
leaving the faster rate for other motors; it is also useful to test quickly whether you can get the required 
performance on all motors with a slower servo update; in addition, it can be used slow the update rate 
below 1 kHz.  However, generally it is more computationally efficient to slow down the update rate for all 
motors using the jumpers. 
Reasons to Change Servo Update Rate 
How fast should the servo loops be updated in your system?  For most applications, the default setting of 
a 2.26 kHz (442 
µsec) update can be retained.  There are two basic reasons to change this time: 
1.  Reason to Increase Rate:  If not getting the dynamic performance required, speed up the servo 
update rate (decrease the update time).  In most systems, a faster update rate means that a stiffer and 
more responsive loop can be closed, resulting in smaller errors and lags. 
2.  Reasons to Decrease Rate:  If the routines of lower priority than the servo loop are not executing 
fast enough, consider slowing down the servo update rate (increasing the update time).  It may well be 
updating faster than is required for the dynamic performance needed.  If so, processor time is being 
wasted on needless extra updates.  For example, doubling the servo update time from 442 
µsec to 885 
µsec (halving the update rate from 2.26 kHz to 1.13 kHz), virtually doubles the time available for 
motion and PLC program execution, allowing much faster motion block rates and PLC scan rates. 
There are some systems that get better performance with a slower servo update rate.  Generally these 
are systems with relatively low encoder resolution, usually an encoder only on the load, where the 
derivative gain can not be raised enough to give adequate damping without causing an unstable buzz 
due to amplified quantization errors.  In this case, slowing down the update rate (increasing the 
update time) can help to give adequate damping without excessive quantization noise. 
Ramifications of Changing the Servo Update Rate
 
If the servo update time is changed, many of the existing servo gains Ixx30 to Ixx39 will behave 
differently.  To retain equivalent servo performance, change these values.  Refer to the detailed 
description of each gain Ixx30-Ixx35 in the I-variable descriptions of the Software Reference Manual to 
see how these change.  Refer to the Notch Filter section below to see how to re-compute the notch filter 
parameters Ixx36-Ixx39.