Encoder tracking is a technique that monitors a reference motor with an encoder and controls a secondary motor. The method provides programmable motor-to-encoder ratios that determine relative speed between two axes. A dynamic change in ratio produces acceleration or deceleration.
Absolute motion-control profiles are normally set for a predetermined number of encoder and motor steps. But indexers can delay a secondary profile from a reference by a certain number of encoder steps, in either a fixed or dynamically changing manner. Compared to the reference motion, the secondary motion profile can be made as simple or as complex as needed. Applications for encoder tracking include electronic gearboxes, conveyor belts, electronic cams, and web processors.
Many control applications require the coordination or synchronization of two or more axes of motion in a specific pattern. The most familiar example is found in X-Y plotters, but simultaneous motion in two axes need not always describe a plane figure. Control of constant speed ratio between two pumps or the motion of a welding head with respect to a moving conveyor belt are other examples. However, these examples all require that the motion profile of a second axis be based on the position, speed, or acceleration of a reference axis.
Before the introduction of tightly coupled indexers, primary and secondary motion profiles were specified individually. As a result, small deviations or errors from an ideal profile described for the primary reference axis often resulted in a gradual drift between secondary and primary motion. But in programming the indexer, the absolute motion profile of the secondary axis is not specified. Instead, the indexer is programmed in terms of ratio, offset, or more complex relationships between the measured (reference) motion and the controlled (secondary axis) motion. This eliminates the need for precise absolute motion specifications for both the reference and secondary motion profiles.
A typical control system consists of an incremental, quadrature output encoder, an indexer, and a secondary motor-drive system. The incremental encoder is connected to the primary reference motion with a direct shaft coupler, belt and pulley, or rack and pinion.
The indexer receives position and velocity data from the reference encoder every 10 msec or less. The indexer then provides step and direction data to the secondary motor-drive system based on the incoming encoder steps and the programmed move sequence. The secondary drive system translates the step-and-direction signals into controlled shaft position.
Consider an encoder producing steps at a rate of 1,000 Hz in the positive direction. If the ratio is 2:1, the indexer's output will be 2,000 Hz in the positive direction. If the ratio is zero, the output will be 0 Hz. Likewise, if the ratio is -2:1, the output will be 2,000 Hz in the negative or opposite direction. Without changing ratio, if the reference speed drops to 500 Hz, the secondary axis follows at 500 Hz positive, 0 Hz, and 500 Hz negative.
The ratio is changed by program statements unique to each segment of a profile. A segment is defined by the number and ratio of motor steps to encoder steps it covers. The indexer changes ratios instantly or gradually, over a user-defined number of encoder steps. This allows the controlled motor to accelerate or decelerate to a new ratio without stalling while the reference axis maintains a constant speed.
In many applications, move profiles are created by defining and piecing together several move segments. For applications in which the total number of motor and encoder steps covered is critical, defining segments allows a more precise profile specification than simply ramping to new ratios.
A motion-control profile based upon encoder speed is illustrated by either a profile as a function of time or as a function of encoder steps. The first shows the X-axis as time in seconds, and the Y-axis in velocity or motor steps per second. The velocity ramps from zero to 10,000 steps/sec over 10 sec, stays at 10,000 steps/sec, and ramps back to zero over 10 sec. The ratio is velocity, the change in ratio is acceleration, and the total distance covered over 30 sec is the area under the profile, or 200,000 steps.
The second shows the X-axis as encoder steps and the Y-axis as the ratio of motor steps to encoder steps. This ratio ramps from zero to 10 over 10,000 encoder steps, remains at 10 for 10,000 encoder steps, and ramps back to zero over another 10,000 encoder steps. The total number of motor steps covered during 30,000 encoder steps, regardless of encoder speed variations, is the area under the curve, or 200,000 steps. If the encoder produced 1,000 steps/sec, the two profiles would exactly match over the same 30-sec period.