Tame your noisy motor - Traditional compensation - Embedded.com

Tame your noisy motor – Traditional compensation


Vibration and noise can become a problem in many applications since they cause an undesirable end-user experience, as well as mechanical failures due to stress. Many applications contain pulsating loads, which can cause motor vibration and audible noise. In this article, a typical method for compensating the vibration and audible noise will be presented, including the tuning required by this method. In part 2 of this two-part series, a new compensation method will also be covered, showing the details on how it operates and the minimal tuning required.

Causes of vibration and noise
There are several causes of vibration and noise. The main cause that we will focus on is the vibration produced by the load characteristic. We will also focus on the noise that is produced as a result of the mechanical vibration of the system. Two examples of vibration are discussed below: One related to the pulsating load of the motor and the other related to the oscillations of the control loop, even though the load is not pulsating.

Pulsating loads
Mechanical loads present in rotary compressors or the ones used in piston-based compressions are of particular interest in this article. The torque requirement of these compressors varies from no load to full load in one mechanical cycle as the compressor pressurizes and discharges the gas. Figure 1 shows a typical load profile of a reciprocating compressor.

Figure 1: Typical load profile of a reciprocating compressor (Source: Texas Instruments)

With the above torque requirement, it becomes very challenging to maintain a constant speed on a control loop. As a result of a varying speed, mechanical vibration is introduced to the system, causing audible noise. To show how a load like this affects the speed of a motor in a closed-loop system, consider figure 2, showing a PMSM motor in a field-oriented control (FOC) loop:

click to view larger image

Figure 2
: An FOC loop in a PMSM motor (Source: Texas Instruments)

Figure 3 describes a speed reference of 100 rad/s that switches to a new speed reference of 200 rad/s, once a speed reference step is introduced at 0.5 seconds:

Figure 3: A speed reference step is introduced (Source: Texas Instruments)

Next page>>

Feedback-based controllers
The second source of vibration is due to the oscillation of a speed controller. This oscillation is caused by the feedback of a speed correction when a pulsating load is present. The speed controller will control the speed based on feedback, when in fact the load has already changed as the motor keeps turning. As this occurs every mechanical cycle, the speed controller based solely on a feedback signal creates a vibration that is worse than not having a speed controller at all. For example, if we remove the torque vs. load perturbation and tune the speed controller, the result will be a very sharp response as indicated in figure 4 below:

Figure 4: Tuning of the speed controller without load (Source: Texas Instruments)

If we then add the torque vs. angle perturbation, we still are unable to get rid of the speed variation as shown in figure 5 below:

Figure 5: Tuning of the speed controller without vibration compensation (Source: Texas Instruments)

Making a feedback-based, only-speed controller more aggressive demonstrates that a high-gain speed controller is not the solution to the vibration and noise problem.

Applications affected by vibration and noise
Any application that uses piston-based compressions or rotating loads most likely will present a degree of vibration or noise. In this article, we are focusing our attention to those appliances that are located inside homes and those applications with a mechanical system that can be damaged by the vibration of the motor. Examples include single-unit air conditioners, split air conditioners, refrigerator compressors, paint sprayers and air compressors, to name a few.

Figure 6: Common applications located inside homes (Source: Texas Instruments)

Traditional compensation: Getting to know your mechanical load
One method of compensation is the traditional method, which compensates a pulsating load based on previous knowledge of the mechanical load attached to the motor shaft. In this traditional compensation method, knowing the mechanical load is critical. This is because any mismatch between the load and what the algorithm thinks the load is could potentially make vibration and noise even worse.

To show how this works, let’s reuse the torque vs. angle curve shown in figure 5. The traditional method maps the load profile exactly and uses the information to help the speed controller. The traditional method will work only if the load does not change at all, or if there are very specific speed operating points, each point with a known load profile. If the load does not change, the speed controller can use look-up tables preloaded in the memory of the microcontroller. If the load is known in advance, the load can be fully compensated.

In figure 7, we see two curves: One is without compensation and one with compensation of a known load. Notice how the speed controller combined with the load lookup table is able to compensate the change almost completely. In figure 7, the red line shows the speed without compensation, and the green one with compensation enabled.

Figure 7: Curves with and without compensation of a known load (Source: Texas Instruments)

Tuning challenges with the traditional approach
There are several items to take into consideration when tuning using the traditional approach. In this section we will talk through those tasks before implementing the traditional approach.

Load changes
When the load changes, the dynamics of the pulsating load might also change. This is due to the properties of the load itself. For example, in a compressor application, the pressure applied to the gas being compressed changes depending on how long the compressor has been running. As a result of that change, the compensation table might also change. In other words, the profile that we are trying to compensate for is non-linear. We will have several compensation tables for each operating point of the compressor, which consumes a lot of memory in a microcontroller. In order to show the impact of a change in load, consider figure 8, showing a compensated load. At 0.75 seconds, the torque pulsations are removed and the feed-forward term of the speed controller will introduce a vibration:

Figure 8: Compensated load showing a change in load (Source: Texas Instruments)

Speed changes
In a typical system, the load profile will change with the speed of the motor. As expected, a single compensation table is not enough to remove all compensation across the speed range of a motor. Figure 9 shows a single compensation table being applied, and at 200 rpm, the load profile changes to half the value:

Figure 9: A single compensation table being applied at 200 rpm (Source: Texas Instruments)

Zeroing the angle of the compensation table
Typically, a torque vs. angle load curve is contingent on the mechanical angle of the system since the load is a characteristic of the mechanical load attached to the motor shaft. Systems such as compressor applications do not have a mechanical sensor attached to the shaft, so all the system detects is the electrical angle of the motor. It is also standard to have multiple rotor poles, which create a ratio between the electrical and mechanical angle. If we apply a compensation table based on the mechanical angle, then the algorithm has to synchronize the compensation table angle with the mechanical load angle. This turns out to be challenging since there is no absolute position sensor that can be used for zeroing the compensation table.

In figure 10, we use a four pole-pair motor, with a torque vs. mechanical angle table. Keep in mind that in an FOC system, the electrical angle is the one used. An electrical angle of zero can translate into a mechanical angle of 0, 90, 180 or 270 degrees in a four pole-pair motor. If the electrical angle started at a 0 mechanical angle, then the table works great, but if it started at 180 degrees for example, then the table does not compensate well, as shown in figure 10. In fact, a difference of 180 degrees doubles the vibration:

Figure 10: A four pole-pair motor with a torque vs. mechanical angle table (Source: Texas Instruments)

At this point, it is apparent that a fixed-table approach is not a solution to this problem; instead, a dynamic solution that adapts to changes in the load profile will solve this problem. The second article in this two-part series will cover a new algorithm that studies the profile and applies its learning to the FOC system to compensate for a pulsating load.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.