Computers are taking over the role of programmable logic controllers in motion control.
By Andrew Wilson, Editor
Many machine-vision systems, especially those used in factory automation, incorporate motion control as part of their design. In automated semiconductor-inspection systems, for example, anx-y stage can move a wafer at very precise increments under the field of view of a high-resolution camera. In other applications, such as printed-circuit-board (PCB) inspection, x-y stages can move the camera stage across the field of view of the PCB. More-sophisticated systems may require stages that use positioning systems with x,y, and z axes. These are generally referred to as having six degrees of freedom, three of which are linear and three of which are rotational about x,y, and z.
When selecting a specific positioning system, many factors need to be taken into consideration. In developing an idea for which OEM components will operate most effectively, two approaches can be weighted equally. While the first approach will, to some extent, depend on the choice of hardware, perhaps the most important factor is the development and/or integration of the software to control the motion-based vision system.
Realizing this, systems integrators must assume that all the hardware components specified—thex-y table, motors, encoders, motor drivers, counter/ timer boards, and PC-based controllers—will all operate as specified. The challenge involves finding a supplier that manufactures easy-to-integrate motion-control software. To promote their specific software solutions, some manufacturers often offer suggestions as to the types of hardware that can be successfully used, easing the systems-integration task.
To guarantee compatibility between its motion controllers and third-party stages, National Instruments (NI; Austin, TX, USA) has formed a Motion Partnership Program. In cooperation with NI, companies such as Alio Industries (Loveland, CO, USA), Bayside Automation Systems and Components (Port Washington, NY, USA), Danaher Motion, Precision Systems Group (Salem, NH, USA), Micos (Eschbach, Germany), Nanomotion (Yokneam, Israel), National Aperture (Salem, NH, USA), Polytec (Auburn, MA, USA), Primatics (Corvallis, OR, USA), and Suruga Seiki (Shimizu, Japan) have all tested stages that form part of the NI Stage Advisor, a searchable database of more than 140 stages. After entering search parameters, this advisor shows developers the stages that may meet their requirements.
Choosing a drive
In the second bottom-up approach, factors of the hardware are considered first. When specifying anx-y stage, for example, these factors include the materials such as steel, aluminum, brass, or granite that are used in the manufacture of the table itself. In addition to considering which material is best for any particular application, designers must also consider the drive systems used in the stage drive. Here again, the number of choices are numerous and include lead screws, ball screws, worm drives, drive couplings, and gear boxes. Adding to the number of factors that influence any x-y table choice is the number of drive options that are currently available. These include manual drives and automatically controllable drives such as stepper and servomotors, actuators, linear drives, and piezoelectric actuators.
While many systems integrators do not need to know the underlying theory behindx-y table design, they understand that it is the combination of these parameters that affects payload, stage travel distance, resolution, repeatability, and accuracy of the positioning system. For automated microscopy systems, for example, Prior Scientific (Rockland, MA, USA) offers a number of motorized stages, focusing mechanisms, filter wheels, and shutters. One of the company's x-y stages, the HT1111, has a stage travel of 108 ×108 mm (see Fig. 1). With resolution to 0.04 µm and repeatability of ±1 µm, the ±5-µm accuracy of the stage makes it useful in hardness testers and upright microscopes.
Most manufacturers' data sheets specify these figures but may omit other important specifications such as on- and off-axis errors, concentricity, run out, tilt and wobble, and Abbé error. In very precise positioning systems, these factors may become critical to the final performance of the system and may require the use of laser interferometers to measure position and provide error-control feedback.
Controlling the stage
Once developers know the type ofx-y table needed for their application, they must decide how to best control the stage. This involves choosing a compatible stepper-, servo-, or other motor controller, a motor driver, and, where required, an encoder that can measure the position of the x-y stage directly through knowledge of the drive-train architecture between the encoder and the stage. In the past, the functions of controlling such stages were left to programmable logic controllers (PLCs) or proprietary motor controllers. With the advent of the personal computer (PC), however, vendors realized they could harness the power of open-systems computing by introducing add-in PC boards for motion control. Today, many manufacturers of x-y stages also offer either stand-alone or PC-based motor controllers that can automatically position a stage. A number are also available from other third-party suppliers.
Driven by a linear brushless servomotor, the ABL 1000 series ofx-y tables from Aerotech (Pittsburgh, PA, USA), for example, can be configured as an x-y stage with a travel of 100 mm in both directions, resolution to 2nm, repeatability of ±50 nm, and ±.2 µm accuracy (see Fig. 2). In addition to including rack- or panel-mount amplifiers with the table, the company offers a number of controller options that include its stand-alone U511 or PCI-bus-based U500 controllers and the Automation 3200 software-based controller.
In operation, these motion controllers control the motion of the motor and verify its final position. To accomplish this, the systems integrator can use a number of different PC-based boards including those for stepper, servo, or other type of motion control, a motor drive board, and, where necessary, an encoder/counter card. Here, it is the function of the motor-controller card to provide accurate motion-trajectory information to the motor driver board.
Many such available boards are capable of driving and controlling a number of axes of motion. Often incorporating an on-board DSP or RISC processor, these boards are used to offload the computationally intensive tasks of linear or circular interpolation, contouring, and trajectory movement from the host computer. After computation, TTL I/O is often used to drive the motor drive board that, in turn, supplies the necessary power to the motorized stage.
To determine the precise location of the x-y table at any given time, vendors often incorporate rotary or linear encoders into their motor stages. Rotary encoders can determine a number of points per revolution of a specific motor and determine the distance of travel of a drive though direct computation of the motor shaft or lead-screw angle. Although this does provide a measure of the position of the table, it only provides a computed measure of position and could be susceptible to backlash, hysteresis, and lead-screw error. Where a direct measure must be computed, linear encoders positioned directly on the drive train are often used.
Whether rotary or optical encoders are required, the analog signals they output must be digitized by the system to provide motion feedback to the PC. In some systems, a separate PC-based encoder/counter card provides these functions. Digitized data are then transferred over the host PC bus and interpreted by the motor-controller card that drives the motor drive board. To ease system-integration tasks, many motor-controller vendors have combined the functions of both the motor-controller card and the encoder card onto a single board.
In the design of the ESP6000 PCI-bus board, for example, Newport (Irvine, CA, USA) has chosen to integrate one to six axes of open- or closed-loop dc and stepper-motor control and eight-channel, 16-bit A/D input for analog data acquisition (see Fig. 3). Using an on-board 60-MHz DSP processor, the board can update all six axes with a cycle time of 400 µs for precise velocity profile tracking and positioning. An 18-bit dc motor command output delivers the required resolution and precision. Used with the ESP6000DCIB or the UNIDRIV6000 motor drives from Newport, the board can control up to four axes of 10-W/axis dc motors or six axes of dc and/or stepper motors, respectively. To program the board, the company offers a command-driven library and a library of LabView drivers.
After determining the necessary hardware to perform a specific task, systems integrators must program theirx-y stage to perform the specific function required. While x-y stage vendors often offer PC-based controllers and motor controllers, they also offer a number of different methods with which to program their hardware. Even today, many manufacturers only offer company-specific software with which to program their stages. With the advent of open systems, however, many vendors are realizing the power of GUI or C-based libraries that can be used in conjunction with Visual C++ and Visual Basic development tools to develop software for a number of different stages and/or motor-positioning systems.
For example, Precision MicroControl (Carlsbad, CA, USA) has developed its Motion Control Application Programming Interface (MCAPI) and Motion Integrator suite of graphical setup, tuning, and diagnostic utilities. Bundled with the company's motion-control cards, the software provides a standard set of functions that can be called from application programs written in C/C++, Visual BASIC, and Delphi (see Fig. 4). In addition, the Motion VI library provides the LabView and BridgeVIEW programmer with graphical access to the MCAPI.
On a graphical level, the Motion Assistant from NI abstracts these sets of functions in a GUI-based environment that allows control of the trajectory of the motion-control system graphically. While Motion Assistant is not a development environment such as LabView or C++, it does allow setting start/stop points, control velocity and acceleration, and perform complex motion tasks. After these have been developed, the code can be imported into LabView as a series of Virtual Instruments where they can be further adjusted.
Building suchx-y positioning systems for very large automated systems may require more than a bottom-up understanding of motor control or a top-down software approach. Usually, such systems require the use of CAD-based software that builds a virtual prototype of the system before it is developed. Using such packages allows systems developers to visualize large assemblies of motion-controlled products. In this way, automation devices can be tested and debugged before each individual system is built.
One company dedicated to making it easier to integrate mechanical design and controls is Lumeo (Helsinki, Finland). There, engineers have developed motion- and control-interface products that allow mechanical engineers to create dynamic models from static CAD designs, creating virtual prototypes that can be tested in real time. Simple drag-and-drop commands are then used to control the hardware. According to the company, direct connections to Fieldbus cards are now available, and real automation devices such as motors with profiles can control the simulated automation product.
The Cimetrix Open Development Environment from Cimetrix (Salt Lake City, UT, USA) is another package that integrates machine modeling and motion-control software products. Designed to control multiaxis machines, the software has been deployed in a number of applications ranging from electronic assembly and packaging to machine tools. Using the
CIMulation simulation-development environment and real-time motion and control system, developers can create applications in C++, Visual BASIC, Delphi, or PLC ladder logic or flow charts. After building the model in three dimensions, application programs are developed in Cartesian space using CIMulation. Finally, the calibrated model and application can be deployed with CIMControl software.
Today, systems integrators combining positioning systems with motion control can take advantage of computer-based systems, integrated controllers, and easy-to-use software. Howeever, very few vendors currently support several motor controllers with their software or even attempt to combine machine vision with such integrated motion software. Although it is possible to develop dynamic models of motion-control-based imaging systems before they are built, such CAD packages may not easily integrate with a developer's legacy motion-control or vision system.
Alio Industries www.alioindustries.com
Bayside Automation Systems and Components www.baysidemotion.com
Danaher Motion, Precision Systems Group www.danaherprecision.com
National Aperture www.nationalaperture.com
National Instruments www.ni.com
Newport Corp www.newport.com
Polytec PI www.polytecpi.com
Precision MicroControl www.pmccorp.com
Prior Scientific www.prior.com
Suruga Seiki www.suruga-g.co.jp