Speed fluctuation suppression of PMSM using active disturbance rejection and feedback compensation control

Natural Science Foundation of Anhui Province, Grant/Award Number: 1708085ME131; Postdoctoral Science Foundation of Anhui Province, Grant/Award Number: 2017B179; National Natural Science Foundation of China, Grant/Award Number: 51607002 Abstract This study proposes the active disturbance rejection control (ADRC) and feedback compensation control method that can solve the speed fluctuation problem of permanent magnet synchronous motors resulting from parameter variation and load disturbance. First, the influencing factors of speed fluctuation are analysed on the basis of a speed analytical model, and a motor robust control system is established. Second, the ADRC method is introduced to establish current controllers in accordance with the state equation for voltage output. The shuffled frog leaping algorithm is also used to automatically optimize the adjustable parameters of the active disturbance rejection controller and to improve the system robustness when the parameters vary. Third, a feedback compensation control method based on the electromagnetic torque observer is introduced to compensate for the q‐axis current in real time. The speed fluctuation caused by load disturbance is also suppressed. Lastly, the validity and feasibility of the proposed method are verified through experiments.


| INTRODUCTION
Permanent magnet synchronous motors (PMSMs) are widely used in numerically controlled machine tools and other fields because of their high power density, fast response speed, and high precision [1][2][3]. As one of the most important parts of a numerically controlled machine tool, the spindle motor plays a key role in guaranteeing the machining accuracy of this tool. During the machining process, the spindle motor should operate stably at the given speed. The speed can recover quickly after being disturbed by internal and external factors, thereby ensuring machining accuracy. In general, field-oriented control and conventional proportional-integral (PI) regulators are used to realize the speed control [4]. However, the control performance of PMSMs encounters a problem when the motor parameters, such as stator resistance, inductance, permanent magnet flux, and load torque, are changed [5,6].
While a stable motor speed requires the output and load torques to stay in a balanced state, parameter variation and load disturbance can disrupt such a state. Selecting an appropriate control method can accurately compensate for such disturbance and allow the motor to quickly reach a balanced state. This method also plays a key role in restraining speed fluctuation [7][8][9].
Many advanced control methods for motor parameter variation are available and are divided into two major categories. One class of these methods depends on a precise motor model, including those methods that are based on the observer and on neural networks [10][11][12][13]. These methods compensate for the torque change resulting from parameter variation by identifying the parameters and suppressing fluctuations in speed. However, these methods must obtain the stator current, stator voltage, and other motor parameters. Unfortunately, noise can be easily introduced into the measurement of these parameters, thereby resulting in poor parameter identification. Meanwhile, the control methods in the second class, including sliding mode control and active disturbance rejection control (ADRC), do not depend on a precise motor model [14][15][16]. Sliding mode control has the advantages of fast response and strong robustness yet suffers from the problem of speed fluctuation, which is difficult to eliminate. Meanwhile, the ADRC method is simple and easy to operate and can automatically detect and compensate for the internal and external disturbances in the control object, thereby achieving a good control effect [17][18][19][20]. In [17], a high-frequency current injection method was introduced into the ADRC method to reduce phase delay and speed fluctuation. However, the high-frequency current generates a large steady-state speed error. In [18], the high-frequency current injection was combined with the electromotive force estimation to guarantee a high-performance position estimation in PMSM. In [19], three first-order auto-disturbance rejection controllers were employed to control the speed of induction motor drives. The proposed control scheme does not need to estimate the rotor flux, thereby dramatically reducing the complexity of the algorithm. In [20], a neural network method was used to dynamically adjust the vector to compensate for the dynamic part and external disturbance of a motor unknown model and to enhance the robustness of a linear ADRC. However, this method has a complex calculation process and cannot be easily applied in actual motor operation scenarios.
The aforementioned methods based on ADRC can improve motor control and exhibit a good and robust performance. However, these methods have not been studied thoroughly in terms of the parameter optimization of the active disturbance rejection (ADR) controller. Turning the parameters is an important step in a control system given its direct influence on control performance. Manually adjusting the ADRC parameters is also time consuming and requires considerable experience. Therefore, a perfect control performance cannot be easily achieved. Moreover, the aforementioned methods add parameter variation and load disturbance to the state estimation of the extended state observer (ESO), thereby increasing the estimation error and reducing the robustness of the ADR controller.
Given the speed fluctuation caused by load disturbance, a fuzzy adaptive internal model control scheme was introduced to improve the load disturbance rejection performance [21]. However, adjusting the speed controller parameters can lead to a high computation complexity. In [22], an IP position controller with the proposed RLS estimator was developed to increase the robustness of the induction motor. However, introducing speed feedback can lead to lags in compensation time. The shuffled frog leaping algorithm (SFLA) has attracted much research attention due to its relatively new metaheuristic and advantages, including its fast convergence rate and effective global and local search capabilities [23,24].
To overcome the aforementioned drawbacks, ADRC and a feedback compensation control method are introduced in this study. These methods can address the speed fluctuation problem caused by parameter variation and load disturbance. First, the key factors that affect speed fluctuation are obtained by analysing the speed model. A robust control system is also established to suppress such fluctuation. Second, ADRC is introduced to suppress parameter disturbance. The observation burden of the state observer is reduced through the identified parameters. SFLA is then introduced into ADRC to optimise the control parameters and to further enhance the anti-disturbance effect. Third, feedback compensation control based on an electromagnetic torque observer is introduced to suppress load disturbance. The optimal feedback compensation gain is obtained by analysing the transfer function in the time and frequency domains. The real-time compensation of the q-axis current is realized by using the torque observer, and the speed fluctuation caused by disturbance change is restrained. Lastly, the experimental results are provided to illustrate the effectiveness of the proposed method.

| PMSM speed model
In the PMSM control system, the motor rotor structure is of surface mount type, which satisfies L q = L d = L. The i d = 0 vector control method is also used in PMSM. The motor speed equation in the dq frame is where ω r represents the actual motor speed, T e and T L are the electromagnetic and load torques, respectively, J is the moment of inertia, ψ f denotes the permanent magnet flux linkage, and n p represents the pole pairs.
The voltage state equation of PMSM in the dq coordinate system is 8 > > < > > : where u d and u q denote dq-axes voltages, ω e denotes synchronous angular frequency, i d and i q denote the dq-axes currents, and L represents the dq-axes inductance.
Equations (1) and (2) indicate that the motor is in a balanced state when the electromagnetic and load torques are equal. However, when these torques are affected by internal and external factors, the balanced state of the motor will be disrupted, thereby resulting in speed fluctuation.

| Influences of parameter variation and load disturbance on speed
The control block diagram of a fully decoupled motor system when the i d = 0 vector control method is used, is shown in Figure 1. The current loop, which is the inner loop of the XIE ET AL. speed loop, primarily realizes fast current tracking. During the motor operation, the stator resistance, inductance, and other motor parameters will drift due to the increasing temperature and other reasons. Therefore, the given dq-axis voltage output will change, eventually resulting in speed variation. Although the PMSM control system is a double closed-loop system, the speed fluctuation caused by parameter variation can be reduced by regulating the speed and current controller. The speed fluctuation caused by the load disturbance can also be eliminated by the double closed-loop system. However, a high dynamic response cannot be easily achieved due to the limitations of traditional PI regulators in a closed-loop system, which have a long regulation time and a large overshoot.

| Establishment of a robust control system for motor
Parameter variation is caused by an internal disturbance in the motor. By observing the parameter changes and compensating for the resulting voltage changes, the speed fluctuation can be reduced and the dynamic response can be improved. As an external disturbance, load torque is unaffected by motor parameters. Equation (1) shows that the electromagnetic torque is directly proportional to the q-axis current. Therefore, the compensation of the q-axis current in time for load change can enhance the system robustness to load disturbance. Given that the influences of parameter variation and load disturbance on speed fluctuation arerelatively independent, the corresponding methods can be used to suppress the speed fluctuation. The block diagram of the whole control system is established as shown in Figure 2.

| ADRC BASED ON SFLA
In consideration of parameter variation, ADRC is introduced in this study to improve the current controllers and enhance the parameter robustness.

| Structure of ADRC
Two controllers that should be improved are shown in the parameter disturbance rejection part of Figure 2. First, the d-axis current controller is improved. The state equation is where is the voltage error caused by parameter disturbance, u � q represents the given q-axis voltage, and f ðω e i q Þ ¼ ω e i q is the voltage compensation item, b 1 = 1/ L. The block diagram of the improved d-axis current controller is shown in Figure 3. The controller, which is designed by using the ADRC method, consists of a tracking differentiator (TD), an ESO, and a non-linear error feedback control law (NLSEF). TD can be expressed as where x 1 is the tracking value of the given d-axis current, e is the current tracking error, and r 1 is the tracking factor. The fal function can be expressed as The ESO of the ADR controller can be expressed as 8 > > < > > : where z 1 is the tracking value of d-axis current, e 1 is the tracking error of z 1 , z 2 is the parameter disturbance of the current loop, and β 1 and β 2 are the adjustable state error feedback gains. The NLSEF is expressed as where e 2 is the estimated error. In Equation (3), ESO must estimate w 1 (t) and f ðω e i q Þ. However, the observation burden will be increased when ESO simultaneously observes w 1 (t) and f ðω e i q Þ. Therefore, observation accuracy cannot be easily guaranteed. The voltage compensation item f ðω e i q Þ is hence regarded as a known part of the system in the improved ADR controller. The voltage compensation item can be added to the compensation operation of NLSEF to reduce the observation error. The anti-parameter disturbance ability of the ADRC method will also be improved.
q-axis current controllers are also designed based on the ADRC method. The ADRC state equation of the q-axis current controller is where w 2 (t) is the d-axis voltage error caused by parameter variation.

| Parameter optimization based on SFLA
In general, the parameters of ADRC are adjusted manually in accordance with the experimental experience of operators. However, artificial regulation exhibits randomness. Therefore, providing full play to the robust performance of the ADRC method is difficult in practical operations. To further enhance the robustness of the ADR controller, SFLA is introduced to automatically adjust the parameters. SFLA is a heuristic group evolution algorithm that has few adjustment parameters and strong global search and optimization abilities. Each ADR controller is known to have two adjustable parameters, namely, β 1 and β 2 . In SFLA, the adjustable parameter is used as the coordinate of the frog position to be continuously optimized.
The objective function value is treated as the evaluation standard of the frog position. The best frog position is eventually obtained via SFLA optimization. The objective function value is The block diagram of the simulation control system is shown in Figure 4. SFLA is applied in the area denoted by the red box in the figure to optimize the ADRC-adjustable parameters. The flowchart of SFLA optimization is shown in Figure 5.

| Simulation experiments
A simulation experiment is performed to verify the robustness of the SFLA-ADRC method. The motor simulation model is established in an equivalent rotating coordinate system, the rated parameters of PMSM are provided in Table 1, and the control parameters are shown in Table 2. The simulation step is 0.0001 s. Figure 6 shows the speed response under the step speed command. The motor starts without load, and the speed command [200 500 1000 500 200] r/min is given at t = [0 0.2 0.4 0.6 0.8] s, respectively. Figure 6 shows that the speed of the PI control method rapidly changes but produces a large -1059 overshoot. The SFLA-ADRC method exhibits better dynamic response than the conventional ADRC method and has no speed overshoot. The speed step experiment verifies that the proposed SFLA-ADRC method achieves good speed tracking performance and dynamic response ability. Figure 7 shows the speed response when the motor is operating under a load of 0.5 Nm and when the stator resistance increases by 20% at 0.1 s. Figure 7 also shows that the PI control method has a large speed overshoot and long stability time. The SFLA-ADRC method has the lowest speed fluctuation and the shortest settling time when the stator resistance changes. Figure 8 shows the speed response when the motor is operating under 1000 r/min with 0.5 Nm load and when the stator resistance is reduced by 30% at 0.1 s. In the PI control method, the speed fluctuates obviously when the inductance changes. The speed gradually restabilizes via double closed-loop regulation. Meanwhile, the speed of the other two methods show no obvious changes. Therefore, ADRC can accurately compensate for the disturbance caused by parameter variation. Figure 9 shows the speed response when the motor is operating under a load of 0.5 Nm and when the permanent magnet flux linkage increases by 20%. The figure shows that the SFLA-ADRC method has the lowest speed fluctuation. Meanwhile, the PI control method not only demonstrates a large speed fluctuation but also has a short regulating time. Therefore, the proposed SFLA-ADRC method improves the robustness of the motor model to parameter variation.
In summary, the simulation results show that the proposed SFLA-ADRC method has good anti-parameter disturbance performance.

| FEEDBACK COMPENSATION CONTROL BASED ON THE ELECTROMAGNETIC TORQUE OBSERVER
The improved dq-axis current SFLA-ADR controllers can enhance robustness to parameter variation. However, speed fluctuation is not only affected by the motor parameters but also by load disturbance. Therefore, a feedback compensation control method based on the electromagnetic torque observer is introduced to improve robustness to load disturbance.

| Analysis of feedback compensation control method
Under ideal conditions, the control system block diagram shown in the Figure 10 can be obtained by adding electromagnetic torque feedback compensation. The current loop is G(s) = 1. From Figure 10, the input to load and input to output transfer functions can be constructed as The transfer function without electromagnetic torque feedback compensation is After adding feedback compensation control, the characteristic equation changes. Therefore, the stability should be proven beforehand. The characteristic equation of the system is Given that the torque coefficient K T is a fixed positive value, in accordance with the Routh stability criterion, the system stability must satisfy A comparison of Equations (10) and (12) reveals that the molecular term of G T (s) changes to (K − K T )s. Given that K can be changed, the speed fluctuation caused by load torque change can be influenced by the variation of K. To verify the influence of K on disturbance rejection performance, the motor parameters are substituted into Equations (10) and (12), and the values of Kare set to 1.2K T , 2K T , 5K T , and 10K T . The characteristic curve and Bode diagram of step load torque are shown in the Figures 11 and 12. Figures 11 and 12 show that the motor speed overshoots under step torque. Speed has the smallest fluctuation amplitude when K = 1.2K T , thereby suggesting that the system demonstrates a good robust performance at this time. However, the transfer function of the speed loop changes when the robust performance is enhanced by feedback compensation. The dynamic performance of the speed loop.is also affected. Therefore, the characteristic curve and Bode diagram of step speed response are drawn according to Equations (11) and (13) to verify the dynamic response of the speed loop. Figures 13  and 14 show that step speed will cause an obvious speed fluctuation when feedback compensation is not added. When the feedback compensation is added, the speed fluctuation will be reduced. Besides, the speed fluctuation reaches its minimum value when K is close to 1.2K T . The dynamic response of the speed loop is also better than that under the method without compensation. In conclusion, combined with step load torque and step speed responses, the system demonstrates the best performance when K is close to 1.2K T .

| Block diagram of the control system
Following the above analysis, robustness can be improved by adding the electromagnetic torque feedback compensation. To achieve this goal, the electromagnetic torque observer is. introduced to accurately observe the torque. The electromagnetic torque in the observer is calculated as Given the large number of harmonic components in the qaxis current, a low-pass filter is added to remove the high-order harmonics. The final expression of the electromagnetic torque iŝ The block diagram of the feedback compensation control based on the electromagnetic torque observer is shown in Figure 15.

| Comparative simulation
To verify the anti-load disturbance performance of the motor system, the PI control method is compared with the proposed feedback compensation control method. In the simulation experiment, the motor starts without load, and then a load torque of 0.5 Nm is added at 0.5 s. Figure 16 shows the speed track diagram. The proposed method shows a smaller speed fluctuation compared with the PI control method when the load suddenly changes, thereby suggesting that the former allows the motor to reach a stable state at a faster rate compared with the latter and can reduce speed fluctuation.

| EXPERIMENT RESULTS
DSP-TMS320F28335 is used as the control core in the PMSM control system. The motor parameters are the same as the simulation parameters shown in Table 1. The experimental setup is shown in Figure 17.

| Torque observer performance tests
To verify the performance of the proposed electromagnetic torque observer, the motor drives a load of 0.2 Nm at a given speed of 2000 r/min. At the same time, the given load torque is changed to 0.3 Nm and 0.1 Nm at 0.3 s and 0.7 s, respectively. Figure 18 shows that the electromagnetic torque rapidly changes following a change in load torque. The dynamic response time is only 0.03 s. Moreover, after the motor operates stably, the observed torque value becomes the same as the load torque value, and the former fluctuates around the latter. In other words, the observer has good accuracy and dynamic response.

| Speed step tests
The motor operates under a given step speed without load. The experimental results are shown in the Figures 19 and 20. Figure 19 shows that the motor can operate stably at a given speed. The proposed method exhibits the minimum speed fluctuation amplitude, shortest settling time, and nearly no speed overshoot during the given speed change. In Figure 20, the stator current amplitude without load is nearly zero. These stator currents significantly change when the given speed command changes. The settling time that corresponds to the three methods is similar to the speed settling time shown in Figure 19. Figures 21-23 present the results under a load of 0.3 Nm when the step speed command is given. In Figure 21, the current track trend under a load of 0.3 Nm load is nearly the same as the trend without load. The motor can operate stably T K K at the given speed. Figure 22 shows that the given speed command variation will lead to a current frequency variation. When the motor speed increases to 2000 r/min within 0.3 s, the maximum amplitude of the stator current is 20.5 A as shown in Figure 22d. Afterwards, the amplitude goes through a decreasing process that leads to the shorter settling time of the proposed method compared with the other methods. Meanwhile, the stator current in the proposed method has the minimum output value of 2.8 A when the speed is reduced to 1000 r/min at 0.7 s as shown in Figure 22d. Therefore, the speed settling time of the proposed method is shorter than that of the other methods. Figure 23 shows that the torque amplitude of the proposed method is smaller than those of the PI control and SMC methods and quickly returns to 0.3 Nm. The ADRC method has the smallest torque but tends to be stable at 0.3 Nm after a long time.
The two groups of tests verify that the proposed method exhibits good dynamic response and speed tracking abilities at different speeds and loads.

| Motor parameter variation tests
Parameter variation tests are performed to verify the robustness of the proposed method. Stator resistance, inductance, and permanent magnet flux are selected as test parameters. In the experiment, these parameters are modified by changing the rated parameters in the controller.
In the stator resistance step test, the motor starts at a load of 0.2 Nm and increases its resistance by 30% at 0.1 s. The test results are presented in Figures 24-26. In Figure 24, the speed considerably fluctuates in the PI control, SMC, and ADRC methods. However, the speed of the proposed method does not change significantly, thereby suggesting that this method exhibits good robustness to stator resistance variation. After the stator resistance in Figure 25 changes, the stator current shows no obvious changes. The stator current may not show any obvious variations due to the small speed fluctuation. Figure 26 shows that the torque fluctuates in the PI control, SMC, and ADRC methods when the resistance changes. Nevertheless, the proposed method does not change significantly as the motor balanced state is maintained through the compensation of the ADR controller.
In the inductance step test, the motor starts under a load of 0.2 Nm, and the inductance is reduced by 30% when running at 0.1 s. Figure 27 shows obvious speed fluctuations in the PI control and SMC methods when the inductance changes at 0.1 s. However, the other two methods do not show any speed fluctuation given the good compensation ability of ADRC. The three-phase current in Figure 28 shows that when the inductance changes, the current under the four methods slightly fluctuates. The PI control and SMC methods show the most significant changes in their current. Figure 29 shows that the  Figure 30, when the flux linkage changes, the proposed method shows the smallest speed fluctuation with an amplitude of only 15 r/min. This model also demonstrates the shortest settling time. Meanwhile, the PI control and SMC methods have a settling time that is too long to satisfy the demand of high dynamic response. Figure 31 shows that when the flux linkage is reduced, the stator current in the four methods increases accordingly to maintain the balanced state. Figure 32 shows that the proposed method can recover the 0.2 Nm torque within the shortest time. Therefore, this method has a shorter settling time compared with the other methods. The stator resistance and permanent magnet flux linkage step tests show that the proposed method also has good parameter robustness.

| Load disturbance tests
Comparison tests are performed to verify the strong load disturbance resistance of the proposed method. When the motor operates at 1500 r/min, the time is t = [0 0.3 0.7] s, and F I G U R E 2 0 Stator current response at a given speed without load  Figure 33 shows that the speed variation amplitude is the smallest and the settling time is the shortest when the load suddenly increases or decreases. Figure 34 shows that the amplitude of the stator current also significantly changes to maintain stable speed when the load torque changes. When the time is 0.3 s in Figure 35, the proposed method has the earliest torque variation peak time. This method also achieves the earliest peak time at 0.7 s under the torque drop condition. The peak time of the torque output is considerably earlier than that of the PI control method. These results indicate that the feedback loop changes the q-axis current along with the load. The proposed method accelerates torque change and reduces speed fluctuation. In sum, this method achieves good robustness against load disturbance.