Most motor control systems use couplings such as gears, ball screws, belts and other methods to transmit the forces from the motor to the load. They're used for various reasons, such as to increase the torque through gear ratios, change rotary motion to linear motion or change the angle of the applied torque. Along with their benefits these transmission systems also have costs associated with them, for example they can increase the friction in the system and reduce the rigidity between the motor and the load. Rigidity can be compromised through flexure of the transmission components, as well as backlash introduced by gears. For example ball screws aren't perfectly rigid, they can bend and stretch slightly under load. Gears aren't perfect either, they can have backlash which can add a small amount of "play" between the input and output.
Our topic today will be how the problems introduced by flexure and backlash can be addressed using dual-loop position control.
The Problem with Single-Loop
Due to cost and convenience factors, feedback devices such as encoders are often integrated with the motor. The encoder on most servo motors is usually mounted directly to the motor shaft, typically on the back of the motor. In this configuration the encoder is directly coupled to the motor shaft and therefore its output is an indication of the true motor position.
If a gear, ball screw or other transmission device was then connected to the motor shaft, the position of the load would then be calculated accounting for the gear ratios of the devices used. In many cases this configuration is accurate enough for the application. However, in some cases the added flexibility and backlash from the transmission can introduce enough error that it becomes a problem.
For example let's say there's a milling machine that uses a rotary motor that turns a ball screw to move the load. Mills can apply large forces to push parts through the cutter and these forces can cause the parts in the milling machine to flex. The amount of flexure is affected by a number of variables including how far the ball screw is extended and how much force is applied to the load. If the only feedback were on the motor then we could be in trouble. This is because there is a long chain of parts that can bend and flex between the motor and the load. Fortunately there's an easy solution and this is to put a scale (or encoder) on the load. This way we can directly measure the load position regardless of how much the transmission parts flex.
However just moving the encoder from the motor to the load isn’t the whole solution. Placing the feedback on the motor results in stable and accurate motor control, however the accuracy of the load position is sacrificed. Alternatively placing the feedback on the load increases final positional accuracy, however with no feedback on the motor, the system can become unstable because the backlash can leave the motor momentarily unloaded in ways that are unpredictable.
Adding Dual-Loop Control
To achieve both accuracy and stability the solution is to use two feedback devices. One on the motor and one on the load. This configuration is called dual-loop control and it works like this:
Starting with the motor, the control system closes the velocity loop around the motor. Closing the velocity loop here stabilizes the system by controlling the motor velocity regardless of how the backlash causes the motor to be loaded or unloaded. This loop would be the inner loop in a dual-loop control scheme.
The second loop in this system is the outer loop. Here the drive closes the position loop using feedback that directly measures the load position. Placing the feedback on the load allows the controller to accurately measure the position and properly close the position loop.
Together both loops in a dual-loop system work together to create stable and accurate motion control. Directly measuring the position provides the control system accurate information for the position loop. Small adjustments in position, and more importantly changes in direction are handled by velocity commands into the velocity loop. The velocity commands come from the position loop where the magnitude of the command is proportional to the amount of position error. Since the velocity loop is being closed around the motor it doesn’t create the ‘slapping’ effect where the motor will suddenly accelerate when it’s unloaded due to backlash. The velocity loop improves motor control and allows the motor to spin at a controlled rate regardless of how it’s loaded.
Smarter Drives for Better Control
Dual-loop systems on smart drives can have different configurations such as rotary-to-rotary or rotary-to-linear. An example of a rotary-to-rotary system would be a rotary motor connected to a rotary gearbox. The feedback for both the motor and load would use rotary encoders. An example of a rotary-to-linear system would be a rotary motor connected to a ball-screw as in the previous milling machine example. The motor feedback would use a rotary encoder while the load feedback would use a linear encoder.
Many ADVANCED Motion Controls smart servo drives have dual-loop capabilities built-in. Positioning drives that list "Auxiliary Feedback" as a feature have dual-loop control. They can be found on our website by filtering for "Auxiliary Feedback" in our product search.
by Rene Ymzon, Marketing Manager