Not a member? Register Now
Sales & Support: 1.800.377.6329
Register for full access to Galil's on-line tutorials, product manuals, downloads, and more.
Most motion control applications can be categorized as “move and settle” systems, where the objective is to move from one point to another and settle within a predefined time and position window. While velocity accuracy can be important for this type of application, it is the average velocity that matters and not maintaining a constant velocity on a microsecond by microsecond basis. However, some applications require that accurate control of the instantaneous velocity be maintained at all times, resulting in an extremely low velocity ripple. An example of this type of application is control of a precision, air-bearing spindle. This article discusses how accurate instantaneous velocity for a spindle application was achieved using a low-cost Galil motion controller with a simple firmware modification.
This velocity control application utilized an air-bearing spindle mounted on a granite base. The spindle motor was driven by a sinusoidally commutated amplifier operating in velocity mode. Because of the air bearings the spindle had virtually no frictional damping. It had relatively low inertia and so couldn’t count on large inertia to dampen any velocity variations. The customer required a solution that was both lower cost than their current design and produced even less velocity ripple especially at lower speeds.
The customer measured velocity accuracy by measuring the phase variation of the index pulse of the encoder installed on the spindle. This measurement was done by overlaying the edges of the index pulses at a given speed and measuring any difference in the period from revolution to revolution. The customer specification was that the time variation between 2 index pulses must be less than +/-12 microseconds at 5.8 rev/sec (.007% ripple) and less than +/-200 nanoseconds at 333 rev/sec (.005% ripple). The specification also required that the controller accurately control all speeds within the given range shown in Chart 1.
Chart 1: Specifications for Velocity Ripple from Customer
The standard method for accurate velocity control is to use the position control loop of a motion controller to command an amplifier operating in the velocity mode. The controller PID filter is combined with a feed forward velocity (FV command) which produces an open-loop motor command that is proportional to the commanded velocity. This method produces accurate velocity control for most applications. However, the air-bearing spindle had extremely low mechanical damping and the standard method of control could not meet the stringent specifications for low instantaneous velocity ripple over the wide range of speeds.
The primary difficulty in maintaining the low instantaneous velocity ripple came from the encoder resolution and the resulting quantization of the encoder reads. Even at constant speeds, the controller will read a different number of encoder counts from sample to sample dependent upon when the encoder increments in the servo loop. For any speed that does not have an integral number of encoder counts per sample there will be some samples with a different number of counts than others. For instance, the controller might read 10 counts/sample for 5 samples, then read 11 counts in one sample, then back to 10 counts/sample for the next 5 samples, then 11 counts again, etc. While the spindle is actually moving at a constant velocity, the controller will interpret the 11 count samples as an increase in velocity, and try to make the appropriate modification to the motor command output. The PID values required to overcome external perturbations, such as changes in air pressure, will result in an injection of torque causing a slight ripple in the velocity.
One solution to the quantization problem is to use a much higher resolution encoder but the extra cost involved was not an option for this application. Another option is to use a sine/cosine encoder and interpolate the signals into higher resolution. However, this also introduces additional costs and potential errors due to analog-to-digital conversion delays at very high speeds.
To meet the cost and performance objectives, Galil proposed a cost-effective, custom firmware solution to simulate a higher resolution encoder. The firmware modification was made to Galil's DMC-18x2 Econo series PCI motion controller. Use of the Econo series controller and existing, lower resolution purely digital encoder allowed the customer to reduce the overall cost of the controller compared to their prior controller solution. Plus, the Galil controller solution offered the added benefit of improved performance.
To optimize the performance different control parameters were used for different velocity ranges. The proportional (KP) and derivative (KD) gains of the DMC-18x2 controller were tuned for 3 ranges of velocities as shown in Table 1. The update rate on for the controller was set at 500usec for each velocity range. Note that the integral gain (KI) is not needed for this application because velocity accuracy is the goal and zeroing the steady state position error has no effect on a constant velocity output. For the slower speeds ranging from 5.8 rev/sec to 33 rev/sec, a larger proportional gain was used to quickly react to mechanical changes such as changes in air pressure, and a larger derivative gain was used to quickly dampen any possible oscillations that might occur from the fast adjustments. For higher speeds ranging from 33 rev/sec to 333 rev/sec, the inertia of the spindle added an additional level of damping which allowed for lower proportional and derivative gains. The settings allowed for a highly responsive system with very good instantaneous velocity control over a wide speed range. The results are shown in Chart 2.
Chart 2: Spindle RPS vs Actual Time Variation
Galil's DMC-18x2 Econo motion controller with a custom firmware modification to simulate a higher resolution encoder provided a solution that achieved the cost and performance objectives for this velocity control application. Please contact Andy Herum ( andyh@galimc.com or 800-377-6329) to discuss this article further. See specifications about the DMC-18x2 motion controller at http://galilmc.com/products/dmc-18x2.php

