Definitions of motion control vary widely in industry today. Depending on the application, motion control can refer to simple on-off control or a sequencing of events, controlling the speed of a motor, moving objects from one point to another, or precisely constraining the speed, acceleration, and position of a system throughout a move.
Engineers working for the first time in some aspect of motion control may be confused by varying interpretations used in the field. Motion control means different things to different sections of industry. As an introduction, this chapter differentiates among motion-control techniques. It puts each technique into perspective in terms of where typical applications arise.
In many cases, motion-control techniques are intimately tied to the controller as well as to the positioning hardware and actuator. No overview of motion control would be complete without a discussion of the various control options that are widely used. These include simple timers and counters, chip-level and board-level computers, programmable logic controllers, and pneumatic sequencers.
Industrial motion control can be divided into four categories: sequencing, speed control, point-to-point control, and incremental motion.
Sequencing refers to the control of several operations so that they all occur in a particular order. Perhaps the simplest example of sequential motion is the progression of events that take place through the mechanical linkages of a player piano. When a player piano plays a tune, holes in a paper roll cause piano wires to be struck in a specific sequence. Similarly, opening and closing valves can be sequenced mechanically with cam shafts.
Sequencing generally becomes too complicated to be handled mechanically in industrial equipment such as conveyor lines, or process machines such as fryers in fast-food restaurants. The key factor that defines these as sequencing applications is a need for move-and-stop, on-and-off control of events that must take place in a certain progression. Soak time or the position of material on an assembly line determine when operations should start and stop.
For example, consider a conveyor line that moves parts from one assembly station to another. The controller might position a part at one station until an operator punches an "advance" button. This might start the part moving to the next station. Here it might enter a cleaning bath for a programmed soak time. At the end of this period, it might move to a new station for final assembly, and so forth.
This sort of timing and sequencing is handled through pneumatic, electronic, or electromechanical controllers. Of these, electronic and electromechanical controls are most common. For simple on-off control, timers and counters may suffice. These devices contain electrical contacts that can be opened and closed at time intervals that an operator either enters on a keypad or sets with switches. Counters are similar devices that actuate contacts when a count reaches a preset number. The count increments or decrements when sensors such as proximity switches or limit switches sense an object.
When a sequencing operation consists of more than a few steps, more elaborate controls become necessary. These controls can take the form of discrete elements such as time-delay relays that act in response to input signals from sensors and switches. Over the past two decades, use of numerous relays for sequencing has increasingly given way to programmable logic controllers (PLCs).
PLCs contain computers that synthesize actions such as timing and counting to sequence operations. The advantage PLCs have over banks of relays is that a PLC can be simply reprogrammed to provide different sequences and different timing intervals. In contrast, changes made to sequences controlled only by relays may require physical rewiring and reconfiguring, a process that can be time consuming and expensive.
Speed control refers to applications involving machines run at varying speeds or torques. The source of power for such applications is generally either an internal combustion engine, or an electric, hydraulic, or pneumatic motor. Speed can be controlled either mechanically or, in the case of electric motors, electronically.
Mechanical speed-control components include clutches and brakes, adjustable-speed drives, traction drives, transmissions, and fluid-coupled drives. There are also electromechanical and hydraulic devices that are electrically or hydraulically actuated mechanical clutches and brakes.
Examples illustrating where such technologies are used include web presses, filament-winding machines, and feedstock applications. Slip clutches and brakes are commonly used on the axes of web rolls, filament-winding mechanisms, and on lumber-mill saws to stop rotating components quickly. Mechanical adjustable-speed drives are frequently employed to vary the speed at which stock is fed into a processing operation or conveyor line. One instance occurs in chemical processing, where the rate at which feed stock enters processing must change from day to day depending on environmental factors such as ambient temperature and humidity.
Other mechanical motion-control devices commonly include gears, belts and chains. These provide a means of changing applied torque and velocity.
In contrast to mechanical speed-control technology, which usually employs gearing or belts to change speed, electronic speed control manipulates applied electrical power to control velocity and torque. Electronic speed control in ac motors employ special amplifiers or drives. These generally vary ac motor speed with adjustable-frequency inverters. Though such electronic controls are more expensive than mechanical speed controls, they provide the advantage of reduced energy costs. Applications for such equipment include fans, blowers, pumps, and compressors.
Adjustable-frequency inverters of a different type are also used to control the speed of dc motors. Dc motors have been preferred over ac motors for adjustable-speed applications because dc motors tend to cost less. However, ac variable-speed drives are often preferred for equipment that is frequently started, stopped, and reversed, especially in hostile environments. Ac drives are also widely used for multimotor applications that require precise speed matching. Both ac and dc variable-speed motors are used in manufacturing applications such as spindle drives where appreciable amounts of torque are required at relatively high rotational speeds.
Point-to-point motion control, in contrast with velocity control, generally refers to applications where something must move from one point to another at a constant speed. An important requirement in such applications is that there are two factors that must be controlled: speed and distance. Examples of point-to-point movement are in x-y tables and in machining, where a tool moves in a straight line while it touches a workpiece along one axis.
Because such applications demand monitoring and control of both velocity and position, they need a controller to keep track of system operating conditions at any given time. This controller can be either hardwired electronic logic, a computer, or a PLC.
In general, the simplest positioning system of this sort might be found on older milling machines. These contain an x-y positioning system for moving the fixture holding the workpiece. The positioning system involves ac or dc motors, an adjustable-speed drive, clutch, and a position transducer that reads out the position of each table axis. The positioning mechanism for such a system is usually a ball screw.
Many systems for point-to-point positioning use a stepping motor which is considered particularly well suited for this type of application. Stepping motors work from electrical signals that are pulses. The stepping-motor shaft moves through a specific angle in response to each input pulse. This allows it to rotate in fixed, repeatable, known increments, unlike conventional motors.
Stepping motors are useful in motion control because they can move an object a given distance simply by rotating for a preset number of pulses. Thus, to obtain a move of a given distance, a controller sends a given number of pulses to the stepping motor. Motor velocity is controlled by varying the pulse rate.
The majority of stepping-motor positioning applications use a computer to generate the move commands. The basic approach to generating a motor step via software is to first determine the required step rate, then calculate the time period needed between the steps occurring at this rate. The computer is then programmed to count this period before it sends a step signal to the motor.
Stepping routines generate signals that command electromagnets in the stepping motor to move the rotor one step. By switching the signal polarity, magnets on the rotating shaft are drawn into magnetic alignment, causing a one-step rotation of the shaft.
The most common variety of stepping motor employs two windings to generate electromagnetic fields in the stator. Thus, two control signals must be generated to power these two-phase motors. Software stepping routines generally use lookup tables to match signals of the proper polarity with the corresponding winding.
Similar techniques are used to obtain microstepping of the stepping motor. Microstepping comes about by applying varying voltage levels to the motor coils. These voltage levels normally range from zero to the full step voltage. Sequencing the voltage levels positions the motor shaft at intervals that are smaller than a full step.
Most motors, regardless of type, usually require controlled acceleration and deceleration for best response, especially when the motor moves a load having significant inertia. To obtain this acceleration and deceleration in stepping motors, controllers use a technique called motor-clock ramping where the frequency of the control pulses are varied to accelerate the motor from zero to maximum speed. This variable motor clock rate is often generated through software. The computer controls the time period between control pulses using precalculated constants stored in memory tables. These constants may be optimized empirically by running various motor velocity versus time trials.
No motor acceleration profile can satisfy all applications. However, a step rate that follows an exponential curve is often adequate. The exponential curve used to generate acceleration/deceleration profiles is defined by
where V = step rate, V sub I = starting step rate, and V sub F = final step rate (all in steps/sec), S sub K = shape factor, T = time in sec, T sub F = final time to complete the acceleration to V sub F, and e = base of the natural logarithm.
The starting step rate V sub I can usually be determined from motor torque versus speed characteristic curves. The torque required to accelerate a given load is first calculated. Then the maximum usable motor velocity (called the start-stop rate) at that torque is read from the motor curves. Using approximately one-third of this value generally provides a reliable starting frequency.
The maximum usable step rate can be determined by testing the motor and driver circuit. The motor test is conducted with the motor connected to the actual load or to an equivalent load representing load inertia. A pulse generator supplies motor-control pulses. To determine the step rate, the generator frequency is slowly increased to a point just before the motor stalls. Using 80% of this frequency generally provides reliable high-speed operation.
The shape factor determines the general rate of change of motor acceleration. For example, a small shape factor produces steep initial acceleration, whereas a large factor produces nearly linear acceleration. The shape factor for the exponential equation described can vary from 0.005 to 0.5.
The same basic equation used for acceleration tables can generate deceleration tables. However, stepping motors can generally decelerate in 10 to 20% less time than they can accelerate, and variables can be adjusted accordingly. When a stepping motor reaches the final step in deceleration, the motor shaft may oscillate before the load settles down. This settling time depends on the motor type, load, and motor drive. Settling time can be reduced by selecting the deceleration profile and motor velocity (stopping frequency) through empirically testing various profiles.
Once acceleration/deceleration tables have been stored in memory, a software routine uses the table values to generate motor-control pulses at proper frequencies. The routine selects the acceleration/deceleration constants that will give the quickest moves over a given distance.
Incremental motion control can be contrasted with point-to-point control by first examining some of the shortcomings of systems powered by the latter approach. In the simplest case, a point-to-point system moves a commanded distance. But for some applications, simply commanding the motor to move a prescribed distance does not provide enough accuracy. Machine slippage, distortion, and other factors may prevent the motor from moving the load to the point desired.
Closed-loop (sometimes called servoloop) control systems overcome this drawback. They provide precise position control with feedback. Feedback minimizes the difference between the commanded position or velocity of the system and the actual location or velocity. In other words, feedback minimizes position or velocity error.
Closed-loop systems have been constructed around a variety of controlling functions ranging from mechanical displacement to pneumatic or hydraulic pressure. However, solid-state electronics made electrical currents the preferred process variable, though the principles described here can be applied to any closed-loop positioning system. Consequently, electronic closed-loop controls are now built into several different kinds of positioning systems that range from hydraulics and pneumatics to multiaxis web control.
In their simplest form, electronic closed-loop motion-control systems consist of a controller, a motor, an amplifier to drive the motor, and a transducer that monitors motion. The controller sends out position commands periodically in increments set by a clock. These pulses command the drive to move some distance in the next increment of time. A pulse count from a position-measuring transducer indicating drive position is then subtracted from the commanded position. The pulses from the transducer are considered negative feedback. Thus, subtracting the position information yields the difference between drive position and the position command. The total position difference is often called following error or static error.
The error is sent to a digital-to-analog (d/a) converter for conversion to an analog voltage that is proportional to the position difference. Drive voltage then generates motion in a motor, moving to a new position which attempts to reduce the following error.
The more widely used incremental transducers generate pulses corresponding to position and direction of motion. Each time the transducer moves a distance corresponding to one pulse (forward or reverse), a counter increments or decrements by one. After a series of moves, the counter contains a sum of pulses corresponding to position.
The controller, d/a converter, and position feedback are commonly called the position loop. Position-loop calculations are generally handled by a microprocessor or computer.
In the velocity loop, the voltage from the d/a converter is combined with voltage produced by a tachometer attached to the positioning motor. The tachometer voltage indicates motor speed and is also negative feedback. Subtracting the tach feedback from the d/a converter voltage yields a voltage proportional to the difference between actual and commanded velocity. An amplified error voltage drives the positioning motor directly. The d/a converter output, amplifier, and motor/tach are called the velocity loop.
To understand how the basic closed-loop system functions, consider a case where the controller commands the system to move ten increments, and each increment represents 0.001 in. The number in the accumulator increases instantly to 1,000 counts. This produces a voltage output from the d/a converter which is interpreted as a velocity command by the motor.
The motor then starts to move, causing the encoder to send out a pulse for every increment of motor shaft rotation. Each of these pulses produces a subtraction from the number in the accumulator. Thus, the following error in the accumulator represents the difference between commanded and actual position. As the motor moves, the following error decreases.
As more position commands are sent, the system accelerates and approaches the commanded position. With each iteration of commands, the number in the accumulator increases and the system moves faster than in the preceding iteration. Eventually, the number subtracted from the accumulator is the same as the number added. The velocity then stops increasing, and the following error reaches a steady-state value that becomes the following error for the system at a specific velocity.