Motor and Motion Control
Implementing Precision High-Speed Linear Motion Control
The selection of the proper components for the application and then carefully tuning them with software tools is the key to fast and precise motion control. The principles of this linear motion example can be applied to a host of unique applications.
TODD SHEARER, GALIL MOTION CONTROL
Page 1 of 1
Developing high-performance motion control applications requires that a design engineer not only be able to select the proper components, but also be able to tune these components for the required performance. Many of these high-performance motion applications fall into one of two categories: high-speed applications with less stringent accuracy requirements, or high-accuracy applications that don’t require high-speed motion. The most difficult applications to design and implement are those that require both.
Examples of these high-speed, high-accuracy applications are found in most industries: test and measurement of electronic components, semiconductor die bonding, fluid dispense for PCB manufacturing, and sample analysis in bio-tech applications. Some of these applications require position accuracies down to the nanometer level, with motion times on the order of milliseconds. In order to achieve this level of performance, a design engineer will need to make sure that all the motion components in the system are up to the task. The design engineer is also responsible for tuning all the components in the servo loop so that the performance can be achieved.
A recent application for a semiconductor component testing machine shown in Figure 1 provides a good example of how to design high-performance motion control into a system. The application consisted of an existing test fixture, which was being updated with newer motion components for higher throughput. The sensor is automatically loaded into a probe, which is attached to a linear motor. A custom shaped disc rotates in front of the sensor to create a magnetic field. The sensor is moved through a series of short, accurate moves to positions within this field, and the sensor output is read for a full sensitivity “map.” Each sensor must be read at up to 50 distinct positions, so short move and settle times are critical.
Probe moving sensor towards a rotating disc. The X axis moves sensor linearly, while the Y axis controls the rotational velocity of the disc.
Selecting Components to Meet the Requirements
In this example application, the step moves of the linear motor range from a minimum of 0.001” up to 0.511”. The goal is for the motor to move and settle within a position window in a time of 1-2 ms per 0.001”. For example, a 0.001” move should take 1-2 ms, while a 0.01” move should take no more than 10-20 ms. Most importantly, the motor must not overshoot the target position by more than 0.0005” as this would invalidate the test measurement. In order to benchmark the system performance, the customer required measured move and settle times for distances of 0.001”, 0.002”, 0.004”, 0.008”, 0.016”, 0.032”, 0.064” and 0.128”. Motion was considered complete when the motor was within the position window of +/-0.0005”.
Once the motion specifications of the system have been determined, the next step is to select the components that allow this motion to occur. The critical components that will affect the motion of the system are the servo motor and mechanics, encoder or other position feedback device, power amplifier and motion controller. Each must be chosen based on their ability to individually provide the performance defined in the motion specification.
The first decision for component selection is to determine what type of motor technology should be used. There is a wide range of technologies available to the design engineer, ranging from DC servo motors with ball screw translation to brushless linear motors to piezo-ceramic actuators. Some motor technologies can be ruled out immediately based on limitations. This application isn’t appropriate for stepper motors due to the high accelerations, nor would hydraulics or pneumatics be suitable. This leaves three main technologies: rotary servo motors driving a ball screw, linear servo motors, and piezo-ceramic actuators.
The decision on which technology to use depends on the details of the application. A piezo-ceramic actuator could be very good for this type of application, but has limitations on payload and travel distance. A rotary servo motor with a ball screw linear translation could be a good choice, but there are sacrifices that would be made due to backlash in the transmission. Backlash has the potential to add positional errors or motion instability into a system. For this application, a brushless linear motor is the best choice. This type of motor is able to provide the full travel length required, sufficient torque for the high accelerations, and being a linear motor, the load is directly coupled to the motor to remove any backlash concerns. Once this motor type was determined, a manufacturer was contacted for help with motor sizing.
The next step is to determine the proper feedback device. As with motors, there are many encoder technologies available to the design engineer such as rotary quadrature encoders, linear encoders, absolute binary encoders and absolute serial encoders to name a few. Given that a linear motor was selected for the motor technology, some sort of linear encoder would be suitable for positional feedback. When selecting a linear encoder, a design engineer could select a standard TTL quadrature output encoder, or could choose a model that provides a sine and cosine output. The sine/cosine encoder outputs a sine and a cosine waveform, which are then interpolated by the motion controller for accurate positioning. The benefit of this technology is that it gives flexibility of design, as most motion controllers allow a software selectable level of interpolation. It also reduces cost, as the encoder does not need to have an expensive integrated interpolation circuit. As for raw numbers, the typical period of a sine/cosine encoder is 20 microns, which when interpolated up to 4096x will give a position accuracy down to 4.88 nanometers. This encoder technology was suitable for the application, and was thus specified for the final machine.
The power amplifier for the most part is a decision that comes down to proper sizing, although there are also various technologies available. Power amplifier technology includes digital sinusoidal servo amplifiers, analog sinusoidal servo amplifiers, analog trapezoidal amplifiers and linear servo amplifiers. Analog servo amplifiers give good performance, but don’t have easy software programming interfaces for tuning of high performance applications. Linear servo amplifiers give very smooth motion performance, but at high current and voltage levels may be cost and size prohibitive. If the goal is smooth operation, high power output for high accelerations and high level software tools for tuning a digital servo amplifier with sinusoidal output is the proper choice. The sinusoidal output ensures smooth motion, and the digital interface allows for easy tuning of the amplifier. This tuning is a critical aspect of the power amplifier, as it allows the design engineer to increase the performance of the drive to meet the application specifications.
The final step is to select the motion controller. In some respects, this is the most critical choice as the motion controller is the heart of the system. The motion controller is responsible for the positioning and control of the motors, coordination of motion, integration of I/O and even the user interface for the operator to control the machine. With all of these requirements, a high-performance motion controller is a necessity. There are many factors that need to be considered when selecting the motion controller. Will the controller reside within a PC or external to a PC? What type of communication to the motion controller is required; Ethernet, serial or PCI bus? How many I/O points should the controller support, and will there be both analog and digital I/O? As for programming, should the unit program in C++ or Visual BASIC? In GCode or Ladder logic? Or some proprietary language?
Every manufacturer’s motion controller has differences from their competitors’, so it is the role of the design engineer to sort through all the specifications and determine which is the best fit. The above factors are some that should be weighed when making a decision. However, given that the goal is to select a motion controller to control a high-performance machine, some specifications are more important than others. The controller should support high servo bandwidth. A servo loop closure time of 125 microseconds or less would be ideal for the example application. The ability to receive and interpolate the sine/cosine feedback from the encoder is also a requirement. Finally, an advanced filter for controlling the motor is important. A proportional-integral-derivative (PID) filter with additional features such as feedforward terms and low pass filter is a good selection for this application.
How to Tune for High Speed, High Accuracy
With all of the components selected, the next step is to connect the system and begin tuning the motion for required performance. This step is every bit as important as component selection, but should be made easier by advanced software packages from both the motion controller and power amplifier. At this step, the bulk of the work is done with the motion controller, as it is responsible for positioning of the system. In this application, the Galil DMC-4040 controller was selected based on its high servo bandwidth (up to 32 kHz) along with its ability to take feedback from a sine/cosine encoder and interpolate at a selected resolution. The controller also gave the customer the required number of I/O points, along with the stand-alone Ethernet capability they were looking for in the application. Setup and tuning of the system with regards to the motion controller had two major portions: sine/cosine feedback connection, and tuning of the servo filter.
First, the sine/cosine encoder is connected to the internal motion controller interpolation board. This sine/cosine interpolation allows the user to select an interpolation resolution from 32-4096x. An interpolation of 64x was set in the software, giving a positional accuracy of 0.3125 micron, which was well within the required accuracy of 0.0005” (12.5 micron). With the feedback signals connected at the motion controller, the software command TP (Tell Position) was used to read and verify proper encoder positions.
Next, the motion controller’s PID filter is to be tuned for optimum performance. Servo tuning is a process of moving the motor back and forth in a step function and adjusting the filter gains for optimum performance. Graphical tools, in this case Galil’s software package “GalilTools,” were used to visually display the system response in an oscilloscope format. The software graphed responses for actual encoder position (TP), commanded encoder position (RP), position error (TE) and motor torque (TT). As the motor is moved through its commanded step function and the filter gains adjusted, the goal is to minimize the position error to meet the customer specifications.
From testing, it was found that a servo update rate of 16 kHz was a sufficiently fast time base for this system, so the TM value (servo update) was set to 62.5 usec. This is the rate at which the servo system reads its positions and calculates the appropriate response.
When tuning a servo system, the basic PID filter terms are tuned first, giving the basic performance to the system. They are raised to values that minimize error, yet don’t cause excessive overshoot or instability.
The higher level servo parameters are added last. For this application, feedforward terms were critical. These terms (acceleration and deceleration feedforward) minimize position error at the acceleration and deceleration phases of the motion, without causing instability. An integrator “freeze” was added to prevent integrator windup during motion. And finally, in order to remove higher frequency mechanical resonances in the system, a low pass “pole” filter was added. Table 1 shows the filter gains and motion parameters that were finally settled upon for this system.
Commands and settings applied to the linear motion control example.
With these numbers, the motion control system was able to meet or exceed the customer requirements at all move distances. As shown in the customer supplied results in Table 2, the system greatly decreased the motion times for the full range of move distances. Figures 2 and 3 show some screen captures showing the motion profile for various move lengths.
Improved motion times of new design over previous design of linear motion system.
Galil Motion Control