Installation guide
244 Servo Drive
9.1 - Servo Control
A servo is a closed loop system. The loop is closed by
taking a measurement of the actual output (usually a po-
sition or velocity) and comparing it to the desired com-
mand or reference input. Subtracting the output signal
from the reference generates an error signal. The error
signal tells the controller how far away the output is from
the desired position. Then, a control law (algorithm)
modifies this error signal to provide an output to drive a
servo amplifier.
The controller uses a modified form of the classic PID
(Proportional, I
ntegral, Derivative) control law with ve-
locity feed forward. The commanded position is com-
pared to the Encoder position and a position error is gen-
erated. A control algorithm modifies this error to provide
an output torque command to drive the servo amplifier.
The PID control loop uses or derives the following pa-
rameters or commands:
Servo Block Diagram
The user project configuration allows access to the ma-
jority of the servo parameters and in some case this is the
only access.
The servo parameters that can be modified in the program
configuration only are
Integration during motion
(Servo
Drive Folder),
Sample time
(Servo Drive Folder
), En-
coder line count
(Encoder Folder),
Encoder direction
(Encoder Folder). The
Integration during motion
pa-
rameter control whether the integral term has any effect
on the output voltage to the servo drive during motion.
The
Sample time
controls how often the voltage output is
updated. The
Encoder line count
indicates the resolution
of the encoder. This value must match the encoder line
count of the servo motor encoder. The pulse count per
revolution is four times the Encoder Line count. One
pulse count is the finest resolution that can be attained.
The
Encoder
direction
parameter allows a convenient
method of changing the encoder direction if incorrect.
If the servo drive has a limitation on the commanded in-
put voltage, other than +10v to –10v, a limit could be im-
posed using the OUTLIM command. However, this pa-
rameter is limited to a user program command only.
This
command must be placed at the beginning of the user
program to protect a servo drive that has a voltage
input limitation.
The remaining servo parameters can be modified in the
program configuration as well as the users program.
These are
Kp
(Proportional gain),
Ki
(Integral gain),
Kd
(Derivative gain),
Kaff
(Acceleration feed forward),
Kvff
(Velocity feed forward),
INTLIM
(integral limit voltage),
FOLERR
(maximum error allowed). These parameters
can be modified in the configuration using the Servo
Drive Folder
. Note:
The Kp, Ki, Kd and Kaff parame-
ters are modified during auto-tuning
.
Some controls
do not have Kaff as a parameter.
It is highly recommended to tune a servo drive using the
AUTO-TUNE environment. Under certain conditions,
mostly compliant loads, this may not be possible. Thus, if
the servo drive must be manually tuned a means for this is
also available in the servo-tuning environment.
9.1.1 - Servo Tuning
Tuning is a process of determining the PID and feed for-
ward gains to get the desired system response. Typical
performance indicators like: overshoot, response time,
stiffness, settling time, bandwidth and damping can all be
used to measure how well the system is tuned. Tuning a
gain to improve its performance characteristic may cause
another characteristic to get worst.
Before attempting servo tuning the following must be
done: Modify the project configuration for the System
folder, Encoder folder, Servo Drive folder and then Com-
pile and download the user project to the controller.
9.1.1.1 - System folder
The System folder allows the Drive type, Task assign-
ment for the drive, motor direction for a + motion and
Units per motor revolution to be configured.
1) Assign the servo drive to an axis by selecting the
servo drive item from the
Drive Type
drop list.
2)
The servo drive must be assigned to a specific task.
Choose the task from the
Task assignment
drop list
.
3) If the motor direction requires a reversal for a + di-
rection motion make the necessary choice under the
Motor Direction
drop list.
4) Define the unit value of the axis. Enter the desired
value in the
Units per motor revolution
text box.
Example: 1=1 Unit/motor rev.
Ki
1/S
INTLIM
S Kd
+
Kp
Output
(volts)
S Kaff
2
S Kvff
+
+
+
+
+
--
Encoder
Position
Absolute
Position
OUTLIM
System
open loop stepper
+ = cw motor direction
1.0
Axis 1
Drive Type
Motor Direction Units per motor
resolution
Axis 2
Task assignment
c:\mcpi\name.tsk
c:\mcpi\name.tsk
open loop stepper
+ = cw motor direction
1.0










