ADRC and Feedforward Hybrid Control System of PMSM

The permanent-magnet synchronous motor (PMSM) is a complex controlled object that is difficult to drive and control. In this study, the vector control strategy is adopted to drive the PMSM. The active disturbance rejection controller is used to achieve the closed-loop control of PMSM, which simplifies the computational complexity. A load torque observer and feedforward compensation component are designed to overcome the PMSM speed fluctuation of the load disturbance. An experimental system based on the DSP board is designed to test the controller performance. The results validate the control algorithm.


Introduction
The permanent-magnet synchronous motor (PMSM) is a multivariable, nonlinear, time-varying, and strongly coupled system.The control method and drive strategy of PMSMs are complex.The three main PMSM drive strategies are constantfrequency ratio control (VVVF), field-oriented control (also called vector control (VC)) [1], and direct-torque control (DTC).VVVF is called a variable-voltage and variable-frequency control; this strategy mostly adopts open-loop control [2] and has a simple structure.The VVVF does not perform well because of the lack of current and position feedback.VC and DTC belong to the high-performance PMSM control strategy and are thus different from VVFF [3].VC requires an accurate PMSM model.Vector transformation and large-system calculations can be used to control PMSM but generally do not yield the desired effect.However, the use of high-precision encoders has significantly improved PMSM control.The DTC method does not require complex coordinate transformations [4] but has a large torque ripple component because it cannot generate a current loop or execute current protection.Therefore, DTC requires current-limiting measures.With the development of a control theory, various alternative control methods [5][6][7][8], including feedback linearization, sliding mode variable structure, neural network control, adaptive control, fuzzy control, and anti-step control, have been proposed.Most of these control methods are based on the VC and DTC strategies.The PMSM control system exhibits improved performance when combined with these control methods.In this study, we adopt the VC strategy to drive PMSM and use the double-loop (speed and current loops) control method to achieve a hybrid PMSM control system.The speed loop uses the active disturbances rejection controller (ADRC), whereas the current loop adopts a PID controller composite with feedforward.ADRC is useful in analyzing nonlinear uncertain systems with unknown disturbances.Therefore, the ADRC of the speed loop can adequately handle unknown load disturbances.However, the parameters of the ADRC are difficult to adjust.Thus, we propose a linear ADRC controller and design a load torque observer and feedforward compensation component to overcome the PMSM speed fluctuation of load disturbances.A DSP is used to design an embedded PMSM controller and perform actual machine experiments in order to evaluate the effectiveness and superiority of the method.

Mathematical Model of PMSM
The mathematical model of PMSM in a ,  two-phase rotating coordinate system is shown below [9,10].The voltage equation is When the PMSM is in a steady state, the voltage equation is given by where   and   represent the stator winding shaft in a straight axis and the quadrature voltage, respectively;   and   are the direct-axis current and quadrature-axis current, respectively;   is the stator phase resistance;   and   represent the syntheses of the magnetic fields in space-direct and quadrature-axis stator winding of the magnetic chain, respectively;   is the straight axis inductance; and   is the quadrature axis inductance.The magnetic linkage equation can be expressed as follows: where   is the permanent-magnet fundamental excitation magnetic field and stator winding of the magnetic chain.
The electromagnetic torque of PMSM in the ,  coordinate is When   is equal to   , the electromagnetic torque can be simplified as follows: Figure 1 shows the VC system structure of PMSM when  = 0.The structure includes the current acquisition, rotor position, speed detection, speed control, torque control, flux controller, SVPWM modules, inverters, and PMSM.
The simulation system is established in MATLAB/ SIMULINK using a VC system simulation model of PMSM (Figure 2).

Application of ADRC in PMSM Speed Control
The ADRC technology is derived from the PID control theory.The ADRC has higher stability [11][12][13] and robustness than the PID controller and has thus been used to address the inherent defects of classical PID [14].

ADRC Controller.
The ADRC consists of two parts.The first part is the tracking differentiator (TD), which tracks the system reference input and reasonably arranges the transient process.The second part is the extended state observer (ESO), which controls the system, observes the "integrated disturbance" of systems through the nonlinear-state error feedback (NLSEF) generalized error, and provides the corresponding feedforward compensation of the disturbance [15].Figure 3 shows the structure of the ADRC controller.The ADRC can be widely used for the unknown disturbances of nonlinear uncertain systems, as follows: where (, ẋ , . . .,  (−1) , ) is the unknown function, () is the unknown disturbance, () is the system output (which can be measured),  is the control action of the system, and  is the gain.

ADRC Controller Design.
Although ADRC implementation does not rely on the accurate mathematical model of the object, (6) shows that the ADRC order can be determined by the order of the controlled object.In addition, given the choice of different constructors, ADRC implementation can also be in various forms.

Tracking Differentiator (TD).
The mathematical model for the commonly used -order TD is as follows [16]: . . . ) where V is the reference input,  11 is the trace output after the TD arrangements,  1 is the difference between the TD trace output TD and the reference input,  12 ⋅ ⋅ ⋅  1 is the output of each derivative signal for the TD tracking reference input,  and  11 ⋅ ⋅ ⋅  1(−1) are constants, and () is an error function.
where  is the system output,  21 ⋅ ⋅ ⋅  2 is the expansion state of the ESO observing systems,  2(+1) is the total number of system disturbances observed by ESO,  2 is the difference between ESO observation and the system output,  21 ⋅ ⋅ ⋅  2(+1) is a constant,  is the system control function, and  is the gain of the control action.
The -order nonlinear feedback control rate of the state error is expressed as follows: where  31 ⋅ ⋅ ⋅  3 is the error between the system reference and the output of each order state; namely,  3 =  1 − 2 ( = 1 ⋅ ⋅ ⋅ ) and  1 ⋅ ⋅ ⋅   is a constant.The nonlinear functions () are used in TD, ESO, and NLSEF [17], as follows: where sign() is the sign function, in which sign() = 1 when  ≥ 0 and sign() = 0 when  < 0;  is the nonlinear factor and  is the filter factor.When  < 1, (, , ) has a large error with a small gain or exhibits the characteristics of small errors with a large gain.

ADRC-Based PMSM VC.
The mathematical model for PMSM in the two-phase ,  rotating coordinate system can be derived as follows [18]: When designing the ADRC controller of PMSM, the current loop inverter and PMSM are considered as one control object.
The third expression in (11) shows that the PMSM speed is affected by   ,   , load torque, and friction coefficient.According to the ADRC principle,   is due to the speed control, which is the ADRC output.  , the load torque, and the friction coefficient are considered system disturbances and are given by Therefore, the three expressions in (11) can be written as where  = (1/) 2    .In addition, the third expression in (11) shows that the PMSM speed loop is a first-order model.Therefore, the ADRC controller of the PMSM speed loop is also in the first order, as shown in Figure 4.
In Figure 4,  * is a given speed reference signal,  11 is the speed output after the TD transition procedure,  21 is the ESO speed output,  22 is the system disturbance of the ESO observation,  0 is the control signal of the nonlinear feedback control law, and  is the control signal compensated by the perturbation, which is the current reference of the quadrature axis ( *  ).The first-order ADRC controller of the PMSM speed loop can be realized as follows. TD: ESO: Nonlinear-state error feedback-control law: The MATLAB/SIMULINK is used to build a simulation model (Figure 5) based on the mathematical model.The specific parameters are as follows.
The nominal voltage is  = 560 V, the stator phase resistance is   = 0.24 Ω, the cross-axis inductance is   =   = 1.015 mH, the magnetic chain of permanent magnets and stator winding is   = 0.06784 V⋅s, the moment of inertia is  = 4.8 × 10 −4 kg⋅m 2 , the rotor damping factor is  = 1.619 × 10 −4 N⋅m⋅s, and the number of pole pairs is   = 4. Based on these parameters, the ADRC controller parameters of ADRC can be calculated as follows:

Comparison between ADRC and a PID Controller.
The current loop adopts the PID control method, whereas the speed loop uses the ADRC control strategy.This paper compares the overshooting, response time, antiload disturbance, and other capabilities of the ADRC and PID methods of PMSM in a VC system according to the requirements of the PMSM speed control.
The DC voltage of the PMSM inverter stabilizes at the start of the rated voltage (560 V) of the motor, drops to 460 V within 2 seconds, and then reverts to the rated voltage at 2.5 seconds.Moreover, this voltage increases to 660 V in 3 seconds and then reverts to the rated voltage at 3.5 seconds.The load torque input starts to stabilize at 0.5 N⋅m, increases to 3 N⋅m at 1 second, and then drops to 0.5 N⋅m at 1.5 seconds.The PMSM speed is set to 500 r/min under the same conditions.Figure 6 shows the speed output waveform of the two strategies of the PMSM speed controller.
Figure 6 shows that the speed output of the PID controller in the PMSM speed loop has significantly overshot at 23 r/min and that the regulation time is approximately 0.06 s.The torque increases to 3 N⋅m and then suddenly decreases.Moreover, the speed output has nearly 10 r/min fluctuations.The regulation time is approximately 0.1 seconds.However, the voltage fluctuations have no effect on the speed.The speed output and speed observation of ADRC are the same, and no is abc is qd s qd overshoot occurs when the motor starts.When the torque changes as above, the ADRC speed output changes to approximately 2 r/min.The voltage fluctuations also have no effect on the speed output.
The following conclusion can be drawn from the aforementioned results.
(1) The motor can start without an overshoot because of the TD arrangements and the nonlinear control state and variables.The classic PID control generates unavoidable overshoot even after adjusting the parameters.
(2) The load antidisturbance control by ADRC in the is greater than that by the PID control.(3) The three-phase inverter DC voltage fluctuations do not affect the PMSM speed output.

ADRC Linearization.
In simulation and practical applications, parameter adjustment inconvenience is the main factor that affects the ADRC control performance.On the other hand, because of the presence of nonlinear functions and its two parameters.Moreover, the calculation of nonlinear functions for embedded controllers requires a large amount of CPU resources.Thus, this study has simplified the nonlinear functions to facilitate parameter adjustment and calculations.
The nonlinear function expressed in (10) is shown in Figure 7, where  = 0.5,  = 0.05, the -axis is the error input , and the -axis is the function value.This nonlinear function has yields a small error and a large gain, and vice versa [15,19].The linear function of error  =  is instead that of the nonlinear function (, , ); that is, a straight line through the origin is used in place of the curve in Figure 7.

Realization of Linear ADRC.
The linear first-order model of ADRC in the PMSM speed loop of PMSM can be described as follows. TD: ESO: Control law of state-error feedback: As shown in Figure 8, the TD output of ADRC is smoother than that of the linear ADRC under the same , and the duration of transition is longer.However, linear ADRC can track the reference signal given a suitable parameter, and the transition time arranged by TD in linear ADRC can be arbitrarily adjusted.

PMSM Simulation
Based on Linear ADRC. Figure 9 shows the ADRC speed control output as well as the linear ADRC observations.
The speed controller with the linear ADRC also shows no overshooting.Under the same load disturbance, the linear and nonlinear ADRC controllers exhibit nearly similar speed fluctuations.Moreover, the power fluctuation of the threephase inverter circuit has negligible effects on the linear ADRC.In terms of the speed observation of the linear ADRC, the ESO yields a more complete observation of the extended states.However, when the start or working process of PMSM is disrupted, the duration for which the system returns to the steady state is relatively long.This duration corresponds to the characteristic of the () function, wherein the gain increases when the error decreases.Given that the error gain of the linear ADRC near the steady state is negligible, the changes in the control action are also relatively small and the duration of the stabilization process is relatively long.Overall, the linear ADRC has achieved the expected improvements.

PMSM Control System Based on ADRC and Feedforward Control
Feedforward control is used [20] to increase the load antidisturbance in the PMSM speed control (Figure 10).The observation and compensation of the load torque are used to achieve greater speed control.The feedforward controller of the load torque achieves the hybrid control of PMSM.Thus, a PMSM load torque observer, such as a state observer, should be constructed to achieve state reconstruction [18,21,22].

Full-Dimensional State Observer of the Load Torque.
A state observer is constructed to achieve a state observation.The dimension of the state observer is the same as that of the control system and is called a full-dimensional state observer.A state observer for PMSM is constructed according to the state reconstruction principle.
According to the motion equation ( 4) of the PMSM drive system, the electrical angle  is used instead of a mechanical angular velocity   , which is expressed as follows: Suppose that the PMSM state is  = [  ]  , the input is  =   , and the output is  = .The variation in the PMSM torque is unknown, and the torque parameter is assumed to be constant; that is, the rate of torque change is zero.Therefore, the speed system of PMSM can be described as where According to the system Σ(, , ), the new system Σ(, , ) can be constructed as follows: where x represents the state Σ, which is called the observer value of .Therefore, ẋ − ẋ = (− x), the solution of which is  − x =   [(0) − x(0)].Under normal conditions, the initial conditions are not always the same because of the assumption that the torque is constant.To eliminate the state error, the feedback of the error  − x is used based on the new system, namely, the error  − ŷ.Thus,  is the feedback matrix of the state observer.
Figure 11 shows the structural diagram of the state observer.The state equation is expressed as ẋ = x +  ( − ŷ) +  = ( − ) x +  + . (24) The state-estimated variables yield accurate approximations of the true value as long as the eigenvalues of the coefficient matrix (A-GC) in ( 4) to (6) of the state observer have negative real parts.
Let  = [ 1 ,  2 ]  .Then, the state equation of the observer can be expressed as If the expected poles of the state observer are  and , then Figure 12 shows the MATLAB-established full-dimensional state observer model of the load torque.Given the known parameters  and  of the PMSM in MATLAB, the rational poles of the observer can be used to determine the PMSM state observer, in which inputs are the mechanical angular velocity and torque of the motor and the load torque and the mechanical angular velocity are the outputs.

Direct Calculation of the Load Torque.
Although the load torque observation in previous studies [21,22] is mainly designed using a full-dimensional or reduced-order observer, the load torque can be calculated directly and straightforwardly by using the PMSM drive equation [23].
The drive equation of PMSM can be rewritten as follows, and the expression [10], of the load torque can be calculated using the following equation: Figure 13 shows a model diagram of the load torque observer, which is established using MATLAB via direct calculation.
Equation ( 27) shows that the method of directly calculating the load torque requires the same parameters and inputs as those used for the full-dimensional state observer, except for the speed observation.

Comparison of the Two State Observers of Load Torque.
To compare the performances of the two load torque observers, we simulate a state observer via calculation and via fullorder observation.The load torque is initially set at 0.5 N⋅m, is increased to 4 N⋅m at 0.5 s, and is returned to 0.5 N⋅m at 1 s. Figure 14 shows the observations of the two load torque state observers.

4.4.
Load Torque Feedforward Controller.The two current loops, the inverter, and the PMSM are regarded as generalized controlled objects.Moreover, the current loop is approximated to a proportional element with a ratio of 1.Then, the expression of the controlled object is a modification of the PMSM motion equation and is given by   / = −(/)  − (1/)  + (1/)  .At   = 0 or   =   , this equation can be rewritten as where the control input is   , which can be considered as an electromagnetic torque, and the disturbance is the load torque.According to (28),   () = −1/(+) and   () =     /( + ) can yield the following: Equation ( 28) shows that once the load torque changes after compensation of the same electromagnetic torque, the righthand side of the equation becomes constant to ensure a constant speed.The feedforward observer can then be expressed as follows: After verification, (30) is shown to have the same relationship as (29).

Simulation of PMSM Based on ADRC and Feedforward
Control.The load torque observer and feedforward controller consist of the load torque compensation.The output is the compensation of   once the load suddenly changes.The linear ADRC in the PMSM speed loop achieves the feedback control for speed, the output of which is the reference for   .This output and the compensation of the load feedforward controller consist of the reference input of   .Figure 15 shows the model for the PMSM control system based on ADRC and feedforward control, which are established using MATLAB.
The PID control is used in the current loop, and the speed reference is set at 500 r/min (Figure 15).Moreover, the DC voltage fluctuations of the inverter have no effect on the entire system and are thus directly set to 560 V. Figure 14 shows the setting of the load torque, and Figure 16 shows the PMSM speed output.
Figure 16 shows the results of a comparison of the actual outputs of the speed using PID, ADRC, and ADRC with the feedforward speed control.The ADRC and feedforward control have not exhibited overshooting and have shown nearly negligible speed fluctuations when the load suddenly   changes.These results confirm that the ADRC controller with the feedforward load torque compensation exhibits a stable performance and antidisturbance ability when PMSM starts.

Controlled voltage source
The speed controller output is not constant even when the feedforward compensation is added under ideal conditions because of the speed and the differential signal used in designing the load torque observer.That is, the output of the load torque observer changes and compensates when the speed output changes.In addition, the results of the simulation are acceptable as long as the motor model in MATLAB is accurate.However, because an accurate model and parameters cannot be obtained in practical applications, so the feedforward control cannot fully compensate for the effects of changes in the load torque.

Experiments
The PMSM used in this paper is the Wuhan 110ST-M02030 motor, which has a surface-type package permanent magnet rotor.Moreover, the direct-axis inductance of this motor is the same as its quadrature-axis inductance, its stator windings are star wirings and do not have neutral wires, and the sum of its three-phase currents is zero.In addition, the motor is packaged with a compound incremental encoder to detect the rotor position.The parameters of the motor and encoder are presented in Table 1.
The DSP board and IPM driver board for the PMSM control system testing in the experiments are shown in Figure 17.
During the test, the PMSM is connected to a ZC100 hysteresis dynamometer (Guangzhong Electrical Equipment Co. Ltd.) via couplings to detect the motor speed conveniently and add load to the motor immediately.We conducted motor starting experiments and load tests to verify the control method.The PMSM speed reference is set at 500 r/min.Figure 18 shows the changes in the speed, output torque, and output power recorded by the collecting system under a 1 N⋅m load input.
Curves 1 and 2 in Figure 18 show the relationship between motor speed and output torque and between output power and output torque, respectively.The two curves exhibit the relations of speed and power with the changes in the output power.The relationship of speed and power with the torque shows the following.(1) When the motor starts, the PMSM output torque overcomes the load torque and increases the speed.As a result, the output torque is higher than that of the no-load.When the motor speed is kept equal to the reference speed, the output torque becomes lower than that of the noload (if the effects of the rotor-damping factor are ignored).Thus, curve 1, which is drawn from 0 r/min to 500 r/min, represents the decrease in the output torque.The difference between the two curves is that the output torque is reduced with the PID controller when the speed reaches the set value, whereas the output torque reaches its maximum value with the ADRC controller when the speed increases.These phenomena can also explain the occurrence of an overshoot in the PID controller but not in the ADRC controller.When the output power changes with the product of the output torque and speed, the change trends are decided by the control method and are consistent with the changes in the output torque.The output power for the PID controller reaches its maximum value when the speed approaches the set value.By contrast, the output torque for the ADRC controller reaches its peak and remains constant when the motor starts.(2) The speed can return to the set value because of the closed-loop regulation when the load changes.The changes in the output power vary with the changes in the load torque and thus illustrate the linear relationship between the two parameters.However, because of the greater changes in the speed with the PID control, the output power of this controller is relatively larger than that of the ADRC controller.
In the PID control system of PMSM, the overshoot is 15 r/min.Figure 18 When a sudden load is added, the speed drop is 4 r/min.When the load disappears, the maximum speed is 5 r/min.In addition, the output torque of ADRC begins to decrease before the speed reaches the set value, whereas the output power is nearly kept constant to ensure that no overshoot occurs when PMSM starts.These results confirm that ADRC performs better than PID.The comparison results are shown in Table 2.
The performance improves when a compound control of ADRC or PID with a PMSM feedforward control of PMSM is used (Figure 19).The maximum speed change decreases to 3 and 4 r/min when the load increases and disappears, respectively.The feedforward control requires an accurate PMSM model, such as the inertia, damping, stator flux, and real-time   .  is necessary in the measurement of fixed parameters.However, this current is inaccurate because of the inaccurate measurement of the three-phase current as well as the nonideal mutual difference of 120 ∘ between the three-phase current.Therefore, the measurement of the load torque is inaccurate and results in the insufficient compensation of the feedforward control and of the speed changes caused by the load torque.Thus, the test results are not accurate as the simulation performance.
Figure 20 shows the line voltage and line current waveform of the PMSM, as measured by a FLUKE 43B power quality analyzer.In Figure 20, the line voltage and current waveform are approximately equal to the sinusoidal signal, which has a frequency of 33.4 Hz and is nearly equal to the 33.33 Hz frequency set by the speed set value.This result further confirms the suitability of the PMSM VC.

Conclusions
PMSM is difficult to drive because of the synchronicity requirement.The ADRC is an excellent controller in industrial control.In this study, we use ADRC to achieve a closed-loop control of PMSM.A linearization method is also adopted to simplify the computational complexity.To achieve load antidisturbance, a feedforward component is designed by observing the load change.The simulation results show the excellent performance of the combined ADRC and feedforward component.The load disturbance has no effect on the PMSM speed.An embedded controller based on DSP is designed to validate the practical application of the new controller.The combined ADRC and feedforward component shows higher performance than the PID in terms of the steady-state and dynamic characteristics.Although the results are promising, additional research, particularly on the online parameter estimation of PMSM, is necessary to improve the accuracy of the PMSM model.

Figure 8 :
Figure 8: Comparison of the tracking differentiator (TD) outputs of the linear active disturbance rejection controller (ADRC) and normal ADRC.

Figure 11 :
Figure 11: Structural diagram of the state observer.

Figure 15 :
Figure 15: Modeling of the permanent-magnet synchronous motor (PMSM) vector control (VC) based on active disturbance rejection control (ADRC) and feedforward control.

Figure 16 :
Figure 16: Permanent-magnet synchronous motor (PMSM) speed output based on the active disturbance rejection control (ADRC) and feedforward control.

Figure 19 :
Figure 19: Results for the active disturbance rejection controller (ADRC) and feedforward controller.

Figure 20 :
Figure 20: Line voltage and current waveform.

Table 2 :
Changes in speed with the different control methods under sudden load.