beautypg.com

Software feedback calculations – Rockwell Automation 999 IMC S Class Compact Motion Controller (Cat. No. 4100-999-122) User Manual

Page 34

background image

3-4

Technical Overview

Publication 999-122 - January 1997

Software Feedback
Calculations

Every servo sample period, the IMC-S/23x microprocessor also does
a complete position feedback calculation for each axis by first
computing the difference between the actual position and the command
position. This quantity is called the Position Error. The intent of every
closed loop position servo system is to drive this position error to zero.

To accomplish this, the position error is multiplied by a programmable
P (Proportional) Gain term and used to generate a velocity command.
In addition, when the axis is not moving, position error is accumulated
(integrated) and multiplied by the I (Integral) Gain term and added into
the velocity command. This allows the IMC-S/23x to compensate for
static disturbances that would otherwise keep the position error from
becoming zero. Such static disturbances include static friction
(so-called Sticktion) and gravity effects on vertical axes.

Integral Gain is also effective in reducing the tracking error between
the master and slave axis when the electronic gearing feature is used.
The integral term is deactivated, however, when performing
commanded motion (moves and jogs) to improve servo stability and
decrease overshoot.

To create a stable position servo loop without using an analog
tachometer, damping is provided by synthesizing a tachometer in
software. This is accomplished by calculating the rate of change of
encoder position to generate the actual velocity. The actual velocity is
compared to (subtracted from) the command velocity to generate the
velocity error. This velocity error is then multiplied by the
programmable V (Velocity) Gain and used to drive the motor to reduce
the velocity error (and thus the position error also) to zero. With servo
drives incorporating a true tachometer loop, the software velocity loop
is disabled.

After being multiplied by the V gain, the velocity error is range limited
and then sent out to a 16-bit DAC (Digital-to-Analog Converter to
generate the ±10 volt or ±150 mA signal for use by the drives.

In use, the servo output ranges between ±10 volts or ±150 mA,
depending on the setting of the drive output type switch. The maximum
output can also be clamped to less than the above full scale values. This
servo output limit is fully programmable.

In addition, deadband compensation is provided to compensate for
friction effects when using current-loop servo amplifiers. Deadband
compensation adds a programmable value to the magnitude of the servo
output signal (i.e. when the velocity error is positive, the DB
compensation value is added, and when the velocity error is negative,
the DB compensation value is subtracted).