Product Support Manager
Not too long ago, programmable logic controllers (PLCs) or proprietary hardware were the only choices for motion-control systems. More and more, machine builders are using off-the-shelf components and leveraging PC architecture for motion and numerical control of machines. However, such equipment often required custom software to make the systems work. But that's changing as increased demand for user-friendly software is making PC-based machine control easier than ever.
Benefits of PC-based motion control
There are several advantages to PC-based motion control including lower system cost, flexibility, ease of integration with other PC-based components, and continuous improvement of PC technology.
Supplanting proprietary, custom components, with flexible off-the-shelf hardware lowers system cost. Proprietary, closed-architecture hardware, in contrast, is often difficult to modify for different requirements. In fast-growing industries such as fiber optics, closed-architecture machines that meet present requirements may not be flexible enough to anticipate future demands. Open-architecture components eliminate the shortcomings.
PC-based motion controls also integrate easily with other system components such as PC-based machine vision or data acquisition. A single platform can synchronize each of these pieces to one another, opening up new possibilities for automated inspection.
Another advantage is that PC speed and processing power improves every year while costs drop. Users can upgrade certain components as newer, more-powerful versions become available. With closed architecture systems, an entire machine may need replacement to incrementally improve performance.
Selecting components is step one when designing a PC-based motion-control system. These include the mechanical fixtures, the motor or actuator, the drive or amplifier, the controller, and the controller interface software.
Selecting components for a PC-based motion-control system is fundamentally no different than component selection in traditional motion-control systems. Typically, the motion components in a machine are selected starting with the mechanical fixture and going up to the controller, because the function of the machine defines the mechanical framework and actuators which, in turn, limits the motor-selection parameters.
To size a motor for the mechanical fixture, the class of motor and the type of feedback are selected first. Common choices include stepper, ac, dc brushless, and dc brushed. Motor type depends on the application. Generally speaking, brushless motors should be used for applications requiring smoother operation at higher torques and speeds greater than 3,000 rpm. Less-expensive brushed motors are appropriate for speeds less than 3,000 rpm but greater than 600 rpm. Lastly, stepper motors excel in applications where high resolution and stall torque is needed at a minimal cost.
Torque and inertia calculations can be done manually, although several motor vendors offer motor-sizing software to assist in the process. In the end, the matching motor torque/speed curve should be upsized by 10 to 20% to compensate for unforeseeable loads. XY stages or X-Y-Z gantry systems typically have prefitted motors, so sizing is done already.
Drives are the next component to consider. The drive should match the class, current, and voltage specifications of the motor to which it will connect. Drives send high currents through the motor using low-level analog or digital control voltages. Drives range from single-axis panel mount units with no power supply, to multiaxis arrangements with a basic controller enclosed.
Drives and controllers use industry-standard protocols to communicate between components. The controller for a stepper-motor drive, for instance, sends digital TTL pulses to the motor drive for step and direction (clockwise or counterclockwise). Servodrives, on the other hand, typically operate in torque or velocity mode, and accept a ±10V command signal from the controller.
Modern, off-the-shelf motion controllers replace most custom-design and low-level programming with DSPs, microcontrollers, and firmware. These devices are programmed in high-level, visual and graphical programming languages. Use of high-level languages helps speed up development time by allowing the emphasis to be placed on the specifics of the application and less on programming.
Typical controller features
Controllers generate several types of motion profiles including point-to-point, linear/circular interpolation, and contouring.
Point-to-point motion is the most basic type of controlled motion. As the name implies, an axis is made to move from one position to another. Point-to-point motion is used in applications where complex trajectories are not important such as moving a slide to a certain position or indexing a conveyor belt.
Linear interpolation extends the point-to-point approach to include coordinated motion between two or more axes. Linear interpolation specifies a target destination in two or three dimensional space. Axes move in concert plotting a direct path to the specified destination.
Circular interpolation also involves coordination of multiple axes. Circular interpolation is a hardware feature of many controllers that creates smooth circular paths without chordal error by connecting several short linear moves or chords. The combination of circular and linear interpolation enables the creation of many complex trajectories.
Some paths, however, can't be defined using simple lines and arcs. Such complex paths require controllers that support contouring. Contouring can be used for special applications like complex CNC machining, earthquake simulation, or even flight simulation using precalculated parallel kinematics.
Developing a motion application
Consider a machine that makes speaker cabinets. First, the hole for the speaker must be cut. Assume that a mechanical fixture has been designed and a three-axis gantry system with servomotors is in place.
The motion path defines the controller functions. The servomotors, which are steered using circular interpolation, make the initial half-circle smoothly and continuously blend with the larger circle.
Programming depends on the controller and which languages it supports. Some common languages used are C, Visual Basic, and LabView.
Creating the program is fairly simple. After initializing the controller and giving it the necessary system parameters, actual programming can begin. The program will consist of three distinct steps: move Z axis down through center position; create half circle of size X/2; and blend with the larger circle of radius X.
Some controllers also store and run the program on the controller board, thus offloading the PC and keeping the motion-control operations safe from operating system crashes. These and other features can make the final system more robust.