Motion Control Primer
MultiFlex PCI 1000 Series User's Manual
13
Motion Controller Tasks
The MultiFlex PCI 1000 Series motion controllers feature a 64-bit floating-point CPU, FPGA, I/O buffering
circuitry, a real time kernel and proprietary motion control firmware which work in combination to control
the position, velocity, or torque of as many as twelve axes. The primary operations performed by the
motion controller are:
Trajectory generation (Trapezoidal, S curve, and Parabolic)
PID filter (servo loop)
I/O and error handling
Host
communication
On a periodic basis (every 250 microseconds to 1 millisecond, depending on the selected Trajectory
update rate), the controller’s CPU receives an internal interrupt that automatically triggers the execution of
the controller’s
trajectory generator
. Based on user commanded motion, the trajectory generator then
calculates a new desired positions and velocity values for all axes.
+/- 10 Volt Analog Servo Control
The target positions calculated by the trajectory generator are passed to each respective PID filter for
generation of a +/- 10V analog servo command signal for each axis. In addition to the trajectory
generator, every millisecond, the controller performs housekeeping and error checking (over travel limits
& following error exceeded) tasks.
PID Filter
The position feedback loop or PID (Proportional-Integral-Derivative) filter is executed every 1000, 500 or
250 microseconds (1, 2 or 4 kHz), depending on the servo loop update rate (Low, Medium or High)
chosen by the user. Each PID filter execution results in the writing of a value to the DAC (Digital to Analog
Converter) which is proportional to:
Position error (the difference between the optimal (desired) position and the current position)
Plus the integral of the error
Plus the derivative of the error
The following discrete-time equation illustrates the control performed by the servo controller:
u(n) = Kp*E(n) + Ki sum E(n) + Kd[E(n') - E(n' - 1)]
where u(n) is the analog command output level at sample time n, E(n) is the position error at sample time
n, n' indicates sampling at the derivative sampling rate, and kp, ki, and kd are the discrete-time filter
parameters loaded by the users. The first term, the proportional term, provides a restoring force
proportional to the position error. The second term, the integration term, provides a restoring force that
grows with time. The third term, the derivative term, provides a force proportional to the rate of change of
position error. It provides damping in the feedback loop. The sampling interval associated with the
derivative term is user-selectable; this capability enables the servo controller to control a wider range of
inertial loads.
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com