Sometimes it pays to go beyond textbook procedures when tuning servos that manage speed control
Most engineers can remember sitting through classes in control theory, when the main topic was how to avoid instability. The problem with these classroom discussions is they tend to be abstract. In the real world, instability is a physical phenomenon.
Instability in a speed-controlled motor system is a case in point. It is actually caused by uncontrolled and unintended motion at the motor shaft. It can happen at low or high frequencies, with the higher frequencies often becoming audible (usually a “growling” sound). This sort of instability comes from excessive gain in the speed controller of the drive.
The gain setting of the speed controller determines how much torque the drive will generate. Consequently, the gain value should be directly proportional to the inertia of the load the motor shaft sees.
Ac-vector drives that implement speed control seldom have instability problems. But vector drives can indeed reach unstable conditions because, in practice, most servo applications that involve positioning are more dynamic than those that only control speed. The more dynamic applications demand higher gains in the speed controller, which increases the chance of instability.
There are several factors that can contribute to the likelihood of a drive experiencing instability. Besides excessive gain in speed controller, they include use of a lower-resolution feedback device on motor (i.e., resolver or pulse encoder); and gearing backlash and mechanical “decoupling” of the load from the motor.
Drive engineers are generally taught to tune a speed controller with the step-response method. This involves running the motor typically at 10 to 20% speed and introducing a step change in the speed set point of 5 or 10%. The step change creates a disturbance that the drive must respond to. By tracing how the drive responds to the step change, engineers can measure the degree to which the drive overshoots the new speed set point and how quickly it gets back to a steady-state speed value of under ±0.5%. Many engineers are taught to gradually raise the speed controller gain until they see signs of instability in the step response. Then they reduce the gain slightly to avoid the instability.
The mistake often made is to run this test only at one speed or only at speeds above 10% of full speed. In some cases, the system will seem stable at these test settings but will, in fact, be unstable at lower speeds. Many machines let servodrives run at zero or near-zero speed and may remain at this low speed prior to starting production. This is the point where instability or “growling” is sometimes reported.
Also consider that drive tuning typically takes place during commissioning when the machine is new and the mechanics are tight. Over the next few months, most such machines run for hundreds of hours and their mechanics loosen up. The drive wasn’t tuned for this additional compliance in the mechanics during commissioning. This explains why instability often arises several months after the machine is installed.
Dealing with adaptive gain
The term adaptive gain refers to an automatic lowering of the controller gain at low speed and an automatic rise in gain as the motor rpms increase. Most servodrives offer this feature.
The gain value for a speed controller is often denoted Kp. When adaptive Kp is enabled, Kp has the ability to change with motor speed.
Adaptive Kp can help avoid the problem of eventual instability at near-zero speeds. It is particularly helpful for motors that might be enabled at extremely low speeds and run at crawl or homing speed. And most machines do not produce material at low motor speeds, so why keep the gain high unnecessarily? That said, if the servomotor always accelerates to a high rpm immediately after it is enabled, then adaptive gain may not be as critical.
Another factor that can cause instability at low speeds is a speed-feedback device that has too little resolution. Resolution is defined as the ability of a feedback device to detect small changes in angular position of the motor shaft. Servomotors do not usually use pulse encoders for speed feedback. The low-resolution feedback device of choice is often a resolver. Systems using high-resolution feedback generally opt for an optical encoder, also called a sin/cos or incremental encoder.
Some may disagree with the classification of a resolver as a low-resolution device because it has an analog output which, in theory, should have infinite incremental values for one revolution. This is true, but the reality is that today’s servodrives process analog signals with analog-to-digital converters in order to use the positional information. This limitation results in most resolvers having less than 10,000 increments/rev.
In contrast, sin/cos optical encoders transmit 2,048 sine waves and 2,048 cosine waves for every revolution. Drive electronics typically samples each wave at a high rate, effectively processing more than 1,000,000 increments/rev. This factor of 100 increase in resolution eases the task of tuning the motor.
To understand why resolution is critical, it is helpful to review how a speed controller works. The speed controller is typically a proportional-integral controller whose input is the difference between the speed set point and actual speed (encoder) values. The output of the speed controller is an instruction that generates the torque set point. The set point determines how much force the motor shaft will exert on its load. Therefore, the torque command to the motor is directly proportional to the difference between actual speed and the speed set point. To smoothly control the motor load, the input to the speed controller should never instantly have a large value.
Today’s servodrives have speed controllers that update in the once-every-100-to-200-µsec range. For a specific example, assume a 125-µsec speed controller on a motor running at 30 rpm. That means the motor shaft will spin 0.023° in 125 μsec. A typical resolver with resolution of 10,000 pulse will put out 27.78 pulses/degree, or 0.625 pulses/125 μsec. In other words, the resolver may not emit a pulse during a given speed scan update.
Thus, at this low speed, resolver feedback might register no difference in angular position over consecutive scans of the speed controller. To the controller, it looks as though the drive has not moved over the previous 125 µsec. This causes the speed controller to immediately generate a large output to try to reduce the perceived speed difference at its input.
During the next scan of the controller, there is an incremental change. The controller then reduces its output because there is less perceived difference in commanded and actual speed. It should be obvious how this behavior could cause erratic movements at this low speed. To avoid this undesired consequence, the engineer tuning the drive must keep the gain of the speed controller quite low. A low gain slows the response time of the controller. Then when two scans happen before the encoder registers one incremental change in shaft position, the controller delays its response long enough to see the new pulse during its next scan.
This stops the erratic movements, but, in some cases, causes a new problem: Suppose the motor must stop the load quickly. An example might be a machine where depressing the inch button causes the machine to move at a low speed, but the machine must stop the instant the inch button releases. One can only dynamically stop a heavy load with a fast injection of negative torque. This requires a speed controller with a fast reaction time. If the feedback device limits the controller gain, this abrupt stop may not be possible. Changing the encoder to a sin/cos model can let designers boost the speed controller gain by as much as 300%.
Resolvers are less expensive and more durable than optical encoders, so there will always be a role for them with servomotors. However, designers must consider all scenarios when specifying the servomotor and the feedback device. A good rule of thumb is the feedback device should deliver 5 to 10 pulses at the lowest rpm during the scan time of the speed controller.
Decoupling happens when a section of the mechanical linkage changes in a way that makes the motor sense variations in the inertia of the load. Examples of decoupling include the twisting of a shaft, the flexing of a mechanical coupling, elasticity in a timing belt, and gear backlash.
As the gain of the speed controller rises, the drive commands and the motor responses become more rigid or synchronized. The “stiffness” of this command-response between the drive and motor closely resembles mechanical stiffness. In fact, once the drive-motor stiffness surpasses the stiffness of any of the mechanical linkages, those linkages “decouple.”
The accompanying Bode plot shows examples of decoupling events. As the frequency rises logarithmically from left to right, there is a valley at 29 Hz. This is known as the natural or “locked-rotor” frequency. A peak 53 Hz is a pole frequency.
If these were the only peaks and valleys in the entire Bode plot, this system would be known as a two-mass system. The two masses would be the inertia of the motor rotor and the inertia of the load. The plot line below 29 Hz would represent the characteristics of the motor. The plot line above 53 Hz would represent the characteristics of the load. The plot section between 29 and 53 Hz represents the decoupled region. The drive is unable to control the system over these frequencies, so ideally it is best to keep these decoupled frequency regions to a minimum.
In this example, the range of decoupling frequencies is a minimum because the slope of the line running from valley to peak is close to vertical. Obviously, the larger the frequency gap between the valley and peak, the lower the slope and the greater the range of frequencies the drive cannot control. This gap is controlled with the inertia ratio.
In the equation below, Fn is the frequency of the valley and Fp is the frequency of its corresponding peak, both in Hz. The larger the ratio of motor inertia to load inertia, the further apart the valley and peak become.
where J = inertia values of motor and load. Jload = reflected inertia of the load as seen by the motor.
An analogy helps in visualizing the concept of decoupling. Imagine your outstretched hand holding one end of a rubber band. At the other end of the rubber band is a 1-lb ball hanging from gravity. If you gently move your hand up and down, you will sense variation in the load as if the weight of the ball is changing. When the band is stretching, the ball mass seems higher. When the band is contracting, the mass seems less. This resembles what the motor experiences when a shaft twists, a coupling flexes, or a belt stretches. These changes are linear and the analogy holds. However, gear backlash is nonlinear and the above analogy falls short.
To imagine gear backlash, start with the same 1-lb ball and rubber band. However, this time the rubber band is cut so you instantly sense a change from 1 lb to zero. Your hand might actually jerk up for an instant until you adjust your arm muscles to the absence of weight. Just as you adjust to this no-load condition, the band is magically restored and you instantly sense the 1-lb ball again. This time, your hand might drop until you adjust your arm muscles for the new weight.
Regardless whether the decoupling is linear or nonlinear, the result is a change in the load the motor shaft sees. The drive controller is stable when the gain of the speed controller properly matches the inertia of the connected load. When sections of the mechanical load decouple, the motor shaft senses less inertia. The controller gain is no longer properly matched because it perceives less inertia. If enough of the load decouples, the gain-to-inertia ratio can reach a level that creates instability. Nonlinear decoupling (gear backlash) is the worst type of decoupling because the perceived inertia value changes so drastically.
As we have seen, excessive speed controller gain causes instability in a servosystem. However, lowering this gain is often not a viable option. What’s called for is a systematic approach to determine the best remedy for the instability.
Reducing gain or implementing adaptive gain in the speed controller is probably the most common way of attacking instability. There is little benefit to boosting the gain beyond the value that gives the desired level of performance. If the drive hits its goal with a gain value of 80, why dial up gain to 110 even if the system is still stable? This additional gain only stresses the mechanics of the system.
Low-resolution feedback devices are widely used in the name of low cost and durability. If the motor always runs at high rpms and the gain settings do the job, low-res feedback may be acceptable. However, keep in mind that lower resolution can limit your gain settings and cause instability at low rpms.
Finally, inertia ratios are not just numbers that servomotor manufacturers created to scare you into buying bigger motors. The ratio value you should use when selecting a motor depends on the application and the motion profile the motor must handle. A goal of 10:1 for all applications can be expensive and unnecessary, so make sure you know the motion profile before selecting the motor. One benefit of a low inertia ratio is fewer chances of encountering problematic resonances