Thursday, April 20, 2006
What Is A Motion Control Card?
Motion control board. Motion card. Motion controller. Servo card. These are some of the names, along with motion control card, that are used to refer to a very interesting class of electronic devices that promise to play an increasingly prominent role in machine tool technology. Essentially, a motion control card is a special purpose set of computer chips, or microprocessors, on an integrated circuit board designed to be mounted in an enclosure that connects it with other electronic and computer devices.
Motion control cards are a basic building block of many machine tool control units. But you have to understand something about the way computer numerical control (CNC) systems are constructed to see how motion control cards fit in and why they are important.
CNC Architecture
Everyone knows that the houses we live in are built in many styles and follow many floor plans, giving us both variety and comfort. CNCs are also built in many arrangements and configurations for the same reason. Just as different kinds of families have various likes and needs, different kinds of machine tools have various control requirements. Like the architecture of our houses, the "architecture" of CNCs follows many different patterns.
In fact, significant new patterns have been emerging lately, and not only are they changing the way machine tools are integrated with their control units, but also they are affecting the performance of the machine toolfor the better. It is necessary to keep up with these changes because they present the machine tool consumer with new choices and options that did not exist just a few years ago. Perhaps the most talked-about of these developments is the concept called "open architecture"building the CNC with key hardware and software components openly available from various vendors and sources as opposed to a "closed" system in which access to these components is limited or "closed" to the end user. In a closed or proprietary CNC, only the CNC builder can provide replacement parts, modify the software, or reconfigure the components.
The single most important development that makes open architecture viable for CNC is the personal computer, the same kind of high-powered, low-cost computer that is found in almost everybody's home or office these days. In fact, it's their widespread use in homes and offices that has made PCs so cheap and powerful. Intense competition for the huge market that home and office PC users represents pushed down prices while driving up functionality, power and processing speed.
In not much time, PCs became fast enough and powerful enough to lend themselves to CNC applications. This happened just a few years ago. At that point, it was feasible for CNC developers to use PCs as the core of a machine tool control unit. The hardware was readily available and inexpensive as an off-the-shelf item. Software could be written for these PCs to handle CNC functions, including the user interface. In fact, with no special hardware to design, engineer, test and build, developers could concentrate their energies on software, with products easily customized for special or unusual applications or even to emulate conventional proprietary controls widely used on popular types of machines such as machining centers and lathes.
However, the PCs designed for home or office use are not designed to be hooked up easily to a machine tool the way they are designed to be hooked up to a printer or a telephone communications line. Standard PCs aren't made to run a machine tool. They don't perform certain functions that a machine tool requires.
This is where the motion control card fits in. A motion control card is a special purpose computer that fills in the gap between the PC and the servo drives that move the machine's axes. Some additional hardware may also be required, such as a special computer card to handle electrical input/output functions if the motion control card doesn't include them.
What The Motion Control Card Does
So in a nutshell, the job of the motion control card is to maintain the machine tool's servo loop. It computes the paths for the machine tool axes and commands the servo motors to maintain those paths.
In simplified language, the motion control card pursues this sequence: It receives position commands issued by the PC softwarethe "blocks" of a G-code program. It sets the parameters in terms of speed, direction, and distance for the moves needed to follow that path and calculates a series of commanded positions for each axis along the desired path at the desired speed. The motion control card then adjusts the signals to the servo amplifiers accordingly, such that the servo motors follow that path. To make sure the path is followed, the motion control card repeatedly checks the actual position of the machine's axes against the commanded position and makes adjustments to keep the difference as small as possible. That step closes the loop.
Dr. Jacob Tal, president of Galil Motion Control Inc. (Mountain View California) uses a particularly apt comparison to explain the function of the motion control card. He likens it to the human brain and central nervous system. When a person's intellect decides to do something, let's say, pick up a cup, the brain and nervous system must respond by coordinating body movements to accomplish this task. They tell the muscles what to do. As the muscles in the arm and hand cause them to move toward the cup, the eye guides them to the right spot to grasp it.
By analogy, the PC host issuing position commands is the human intellect. The motion control card which reacts to the commands is the brain. The servo devices are the muscles and the encoder that measures and reports actual machine travel is the eye. Of course, picking up a cup is a perfectly natural task for a healthy human being and we do it with a smooth, easy motion. Ideally, motion control cards should be just as naturally suited for their tasks.
To do their job, the operations performed by a motion control card have to be done in real time at high frequency--thousands of time a second. Ordinary PC hardware and software are not optimized for these kinds of operations. However, the microprocessors and the software on the motion control card are optimized in this way. These systems are designed for the fast and repeated equation-solving routines involved in motion control.
To be clear, not all motion control cards are the same. There's no one motion control card that fits every situation and not all motion control cards are suitable for CNC applications. And not all motion control cards perform the same functions--some motion control cards rely on the PC for certain functions and others rely on additional devices such as an I/O card for certain functions. How these various functions are distributed and how the devices are structured to work together constitutes the CNC's architecture. No one way is necessarily best, just as it isn't necessarily best for all families to eat in the dining room instead of the dinette or kitchen.
Trends
Nevertheless, some trends have become evident. For example, high speed communication between the PC and the motion control card is critical. How fast this communication takes place ultimately affects the machine tool's performance because an information traffic jam between the motion control card and the PC slows the whole system down. Conventional CNC design struggles with this same issue as the "block transfer rate" of the internal "communications bus." Today, motion control cards are available that handle data communication at very high speeds. The PMAC motion control card from Delta Tau Data Systems, Inc. (Northridge, California), for example, achieves 7000 blocks per second transfer rates, using "dual-ported" (shared) memory technology.
Digital technology is also clearly the trend for motion control cards. The most advanced microprocessors used in motion control take advantage of digital signal processing. Digital signal processing allows these microprocessors to convert and process digital signals at very high speedsmany times faster than some of the fastest processors in the PC.
This speed reduces the servo cycle time--how long it takes the motion control card to process commands, measure the result, make adjustments, process a new command, and so on. Servo cycle time is directly related to a machine tool's accuracy. The faster the servo cycle time, the more often the CNC can compare actual and commanded position and the quicker it can make corrective adjustments, thus reducing this "following error" to a minimum.
Likewise, digital signal processing allows these processors to perform more complicated algorithms efficiently. These algorithms may embody more complex strategies for handling the acceleration and deceleration of programmed moves. For example, instead of ramping up to speed in a straight line (less complicated mathematics), the motion control card may ramp up along a smoother curve based on the dynamic conditions within the machine tool (reflected in more complicated mathematics). This fine-tuning of motion control reduces the tendency of the machine to lurch ahead from position to position, even at high speeds, for better surface finish, longer tool life, and less wear and tear on the machine tool. These improvements are especially welcome in the thrust toward high speed machining.
Better CNCs
Taken together, the advances in PC and motion control technology, which underlie the development of open-architecture CNCs, promise to give machine tool builders and users much greater flexibility. Builders will be able to design systems with greater functionality and more customized features and be able to deliver these systems sooner and at a lower cost to the buyer. Similarly, machine tool users will be able to maintain and upgrade their CNC machine tools at lower cost and with less downtime.
Perhaps the most exciting prospect is that open-architecture, PC-based CNCs will take machine tool performance to a higher level than that possible with conventionally structured CNCs.
Motion Control Card Tasks
The main job of the motion control card is to perform the time-intensive, high frequency tasks needed to keep each axis of the machine tool moving along the desired path.
1.Plan each move. Take a block of coordinate information (G-code statement) from the PC software and calculate the appropriate "equation of motion" to determine how long and how fast to move each axis to arrive at that programmed destination along the desired path.
2.Apply interpolation. Solve those equations of motion at small time intervals and generate the appropriate intermediate positions for each axis.
3.Close the servo loop. Compare readings from the encoders, which indicate actual axis position, with each of these intermediate positions, and issue new commands to the servos to drive the difference to zero. Do so for each motor.
4.Regulate motor commutation (optional). Calculate the level of current applied to each phase of the servo motor to produce desired torque. Do so for the motor at each axis.
5.Maintain the current loop (optional). Compare desired current levels with actual levels and modulate current by adjusting the power transistor on/off times to drive the difference to zero. Do so for each servo motor.
A motion control card must perform all of its tasks at high speed and with extreme reliability. Safety features allow a motion control card to bring a machine tool to a safe condition in the event of an error, or if the PC "crashes" and stops functioning. MMS
Subscribe to Posts [Atom]