Online multi ‐ parameter estimation of permanent magnet synchronous machine with step ‐ pulse injection

Online estimation of the machine parameters is essential to fault diagnosis and high ‐ performance control of permanent magnet synchronous machine (PMSM). The signal injection is an effective way to estimate machine parameters. However, the inductance variation caused by signal injection will result in difficulties for the estimated parameters to converge. At the same time, online parameters estimation brings heavy burden to the operation of control system. To solve these two problems, optimized inductance model is built with the step ‐ pulse injection to improve the accuracy of estimation. Compared with the existing method, the step ‐ by ‐ step parameter estimation method is adopted and orders of feedback matrix are reduced, which improves the computation efficiency. The forgetting factor recursive least square (FFRLS) algorithm is adopted to estimate stator resistance, rotor flux linkage and d ‐ , q ‐ axes inductances without acquiring any nominal parameter. The minimum amplitude and appropriate frequency of step ‐ pulse are determined by the parameter error and convergence analysis. The effectiveness of the proposed method is verified via a 1.5 kW PMSM drive platform.


| INTRODUCTION
Due to the high power/torque density and high efficiency, permanent magnet synchronous machine (PMSM) has been used widely in the industrial servo drive, renewable energy generation system and electrical vehicle [1,2]. The machine parameters including the stator resistance, rotor flux linkage and d-, q-axes inductances are essential to fault diagnosis and high-performance control of PMSM [3][4][5][6]. However, the multiple-solutions problem exists in solving the steady-state equations of PMSM in the dq-axis reference frame. It is difficult to estimate more than two machine parameters under one steady state.
To deal with the multiple-solutions problem, various approaches have been proposed. One popular approach is to construct a unique-solution model using fixed parameters value [7][8][9][10][11][12][13]. Based on Lyapunov function analysis and LaSalle's invariance principle, the stator resistance and inductance are estimated in the case of the constant rotor flux linkage [12]. The model reference adaptive system (MRAS) is proposed to estimate stator resistance while the rotor flux linkage and d-, q-axes inductances are fixed [13]. However, the fixed machine parameters change with the machine's operating condition, which brings low accuracy in online parameter estimation. Another way is that the equations containing the estimated parameters are constructed to increase the number of the steady-state equations by measuring additional electrical signals [14][15][16][17]. For example, online multi-parameter estimation is realized by adding additional torque measurement technique [14]. In the study by Liu et al. [17], the rotor flux linkage is estimated by burying a thermocouple to monitor the temperature of the stator resistance. The additional measuring device is rarely installed in practical condition, which may limit the application of this method. PMSM is usually fed by a voltage-source inverter (VSI). The d-, q-axes voltages are difficult to be measured, thus the PI outputs of current loop are used to replace the actual voltage. This may introduce an error between the reference voltage of the controller and the actual output voltage of the VSI. The parameter estimation could be biased due to the dead time influence of VSI such as switch voltage drop, switching delay and dead zone response [18,19]. To achieve accurate estimation, the dead time influence of VSI has to be considered; in other words, it is necessary to take both the VSI and machine into consideration.
Recently, the signal injection is an effective way to estimate machine parameters [18,5,[20][21][22][23][24][25]. This way may not be sufficient to make the estimation model unique-solution if it does not consider changes in motor model, such as dynamic change on the inductance. Another problem is the huge amount of computation, which is caused by the multi-parameter matrix operation and redundant measurements. The calculation of the magnetic flux of the motor driver requires precise parameters such as the inductance diagrams under different load conditions. Thus, the comprehensive parameter estimation requires a large number of redundant measurements and complex algorithm. To improve the estimated performance, the increasing measurements will lead to a significant increase in computation time. While the existing parameter estimation methods have limited ability to process a large number of measurements. In the surface-mounted PMSM sensorless control system, injecting short-term AC current into d-axis frame is proposed to estimate the stator resistance, rotor flux linkage and d-, qaxes inductances simultaneously [21]. Underwood et al. use two execution rates algorithms to estimate parameters by injecting a three-level pulse into the d-axis [24]. A logistic function-based adaptive inertia weight particle swarm optimization algorithm is adopted to achieve online identification of the electrical parameters and mechanical parameters of PMSM by injecting a pulse into d-axis [20]. The unique-solution models in the studies by Cheng et al. and Underwood and Husain [20,24] are constructed based on the premise that d-, q-axes inductances are constant during the pulse injection. The above models do not consider the magnetic circuit saturation, and this may not guarantee that the estimated parameters will converge to the correct values. Compared with the studies by Liu and Hameyer and Underwood and Husain [21,24] adopts two execution rates algorithms to save some computation time, but the 'slow' algorithm still has high-order matrix operations. Reducing the computational complexity of online parameter identification is still worth studying.
A novel online multi-parameter estimation method with step-pulse injection is proposed for estimating stator resistance, rotor flux linkage and d-, q-axes inductances of PMSM. First, the step-pulse Δi d * is injected into d-axis, then the rotor speed, currents and voltages are measured. Second, the optimized inductance model is built with the step-pulse injection, and the dead time effect of VSI is also considered. The inductance model and dq-axis steady-state machine model are combined to estimate the machine parameters using forgetting factor recursive least square (FFRLS) algorithm and the convergence of iterative solution is ensured. Third, the stepby-step parameter estimation method is utilized to reduce the orders of feedback matrix and saves the computation time. Finally, the minimum amplitude and appropriate frequency of step-pulse are determined by the parameter error and convergence analysis.
The text is organized as follows. In Section 2, the optimized inductance model is built to construct the new steady-state PMSM equations and the dead time effect of VSI is also considered. In Section 3, a new online multi-parameter estimation method is proposed with the analysis of code execution efficiency and the minimum amplitude, appropriate frequency of step-pulse. In Section 4, experiments on a 1.5 kW IPMSM are carried out for the verifications. Finally, some concluding remarks are presented in Section 5.

| PMSM modelling and multiplesolutions equation
The dq-axis model of PMSM can be described by the following equation [24]: where p n is the number of pole pairs, T e is electromagnetic torque, Ris the stator resistance, ψ m is the rotor flux linkage, L dq are the machine dq-axis inductances, p is the Laplace differential operator, ω is the electrical angular speed, i dq and u dq are the machine dq-axis currents and voltages, respectively.
The measured data including d-, q-axes currents, voltages and electrical angular speed are filtered by second-order butterworth lowpass filters, respectively. Online multi-parameter estimation can be based on the steady-state machine model after filtering [21], which can be simplified as follows: where k is the index of the discrete sampling instants in the estimation system. Stator resistance, rotor flux linkage and d-, q-axes inductances are parameters to be estimated in Equations (2). The other variables can be measured including electrical angular speed, d-, q-axes currents and voltages. Equations (2) can be regarded as multiple-solutions due to more than two estimated parameters. Taking into account the dead time influence of VSI, the model of PMSM and VSI as a whole, Equations (2) can be rewritten as where D d and D q are the function of rotor position. The variable V dead is the distorted voltage due to dead time influence of VSI, and can be represented as where T dead is the dead-time period of the switching device, T on and T off are turn-on and turn-off times of the switching device, V dc is measured real-time dc bus voltages, V ce and V d are the saturation voltage drop of the active switch and the forward voltage drop of the freewheeling diode, T s is the switching period. It can be known that if variable V dead is ignored, the estimation results may also be influenced by the nonzero dead time terms (D d V dead and D q V dead ), and this may introduce an error into the estimation of the PMSM parameters. The D d and D q are functions of rotor position and their waveforms are shown in Figure 1 for different γ. γ represents the angle between the stator current vector and q-axis in the rotating reference frame. Therefore the solution of the employed mathematical model should be considered first no matter which estimation methods are employed for online multi-parameter estimation.

| Optimized inductance model
The step-pulse injection method is based on injecting K different current pulses into the d-axis to obtain extra K steady-state equations for online multi-parameter estimation. By supposing that i d0 is the steady-state d-axis current, i d1 , …,i dK are the K injected current pulses. Then, the PMSM dq-axis equation for parameter estimation is as follows: where the subscript i denotes the ith steady state. The proposed step-pulse injection can be implemented within 200 ms, as shown in Figure 2. The R and ψ m can be considered constant within such a short time. However d-, q-axes inductances would vary with d-, q-axes currents and cannot be considered constant during this period. It can be expressed as: According to Equations (5) and (6), the number of parameters to be estimated is (2K þ 5), but the rank of (5) is (2K þ 2) when i varies from 0 to K. So the multiple-solutions problem remains.
The d-, q-axes inductances can be denoted as a nonlinear function of the d-, q-axes currents [26], as given in However, it is difficult to convert this implicit function into a specific explicit equation due to nonlinear characteristic of magnetic circuit saturation [27][28][29].
In the study by Mellor et al. [30], the measurement of the d-, q-axes inductances parameters for the machine is implemented and the measurement method is described. The whole map of d-, q-axes inductances at different current levels is shown in Figure 3. To analyse the influence of saturation and cross coupling more intuitively, Figure 4 shows that the q-axis inductance images under two-level d-axis currents were drawn from the whole map. As the q-axis current increases to the rated value, the q-axis inductance decreases gradually. To simplify the analysis, when the motor does not run in the depth saturation zone, a linear function can be used to fit the downward trend of q-axis inductance, as shown in Figure 4. The q-axis inductance has no change basically under i d ¼ 0 and i d ¼ À 6A, which could ignore the cross coupling effect. Here, a simplified linear equation is proposed to build and optimize the inductance model during the step-pulse injection. Q-axis current maintains a constant because the magnitude of injected step-pulse is small. The variation of d-axis inductance is dominated by the d-axis current due to small step-pulse injection. In other words, the cross coupling effect is ignored to F I G U R E 1 Distorted coefficients of dead-time for different γ F I G U R E 2 Strategy of the step-pulse injection approach 188simplify the parameter estimation. The optimized inductance model can be expressed as follows: where L q0 and L d0 are offline qand d-axes inductances, A q and A d are qand d-axes magnetic circuit saturation constants, respectively.
By substituting Equation (8) into (5), the optimize steadystate PMSM equation (9) is derived for online multi-parameter estimation: There are seven parameters to be estimated in Equation (9). The parameters are R, ψ m , L d0 , L q0 , A d , A q and V dead .

| Implementation of parameter estimation
The algorithms to estimate d-, q-axes inductances run at the current sampling rate, which is referred to as the 'fast' FFRLS. While, the algorithms to estimate stator resistance and rotor flux linkage run at a lower frequency to save CPU time, which is referred to as the 'slow' FFRLS.
Each implementation of the final FFRLS algorithm is denoted as: where λ is the forgetting factor, y is the output vector, θ est is the estimated parameter vector, Φ is the feedback matrix, ϵ is the estimation error, Κ and P are correction gain matrices, and I is unit matrix.
As shown in Figure 2, the step-pulse injection is performed when the machine reaches the steady state. Then two step pulses are orderly injected within 200 ms and the response time of current controller is designed to be less than 10 ms, so the collection of measuring data should be delayed by 10 ms.
By combining the torque equation in Equations (1) and (5), Equation (11) can be obtained: where T ei is the electromagnetic torque at the ith steady state and l ¼ 2 3p n . The step-pulse injection can be completed in a short time which is much faster than the mechanical system response, so the load torque is assumed to be constant during -189 the step-pulse injection. The following equation is introduced: The conditions for the establishment of Equation (12) are discussed in Section 3.5. By combining Equations (11) and (12), the estimation model of R and V dead can be represented as: The stator resistance and dead time voltage estimation algorithm is denoted as the following matrices: 8 > > > < > > > : R and V dead are the estimated stator resistance and dead time voltage respectively. By substituting them into (5b), (16) can be utilized to estimate q-axis inductance.
The q-axis inductance L qi is estimated in Equation (16), so the inductance variation due to magnetic circuit saturation can be estimated from Equation (16). The q-axis inductance estimation algorithm is denoted as the following matrices: 8 > > < > > : There are remaining three parameters (L d0 ,ψ m and A d ) to be estimated in Equation (9a). So the estimation model of ψ m can be represented as: The rotor flux linkage estimation algorithm is denoted as the following matrices: 8 > > > < > > > : b ψ m is the estimated rotor flux linkage and omit the values of L d0 and A d0 due to slow execution rate. Substituting b R and b ψ m into Equation (5a) yields (20) The d-axis inductance estimation algorithm is denoted as the following matrices:

| Complexity of proposed algorithm
Online multi-parameter estimation requires real-time data collection for algorithm iteration. In general, the order of feedback matrix determines the computation amount of the algorithm. The more estimation parameters are, the larger order of the feedback matrix will be, which will cause a huge amount of computation.
The computational efficiency of algorithm proposed here is greatly enhanced using the step-by-step parameter estimation method to reduce the orders of feedback matrix in Figure 5(a), and this will save CPU time greatly. For the proposed method (PM), parameter estimation using (15), (17), (19) and (21) needs to compute matrix multiplications and inverse, as listed in Table 1. For instance, Equation (15) involves computing the multiplication of a Φ T 1�2 � Φ 2�1 matrix and the inverse of Φ 1�1 matrix. The proposed approach is compared with two estimation methods in Figure 5(b). The two compared methods adopt high-order matrix operations, and this brings a heavy burden to the CPU. The first compared method (CM1) [24] estimates stator resistance, rotor flux linkage and d-, q-axes inductances simultaneously by injecting a three-level pulse in the d-axis using two execution rates RLS algorithms. The CM1 involves computing the multiplication of a Φ T 2�4 � Φ 4�2 matrix, a Φ T 2�2 � Φ 2�2 matrix and the inverse of two Φ 2�2 matrices. The second compared method (CM2) [21] estimates stator resistance, rotor flux linkage and d-, q-axes inductances simultaneously by injecting a sinusoidal current in the daxis. The CM2 involves computing the multiplication of a Φ T 2�5 � Φ 5�2 matrix and the inverse of a Φ 2�2 matrix. It can be seen from Table 1 that the matrix order of PM is smaller than CM1 and CM2 by step-by-step parameter estimation method, which will save more CPU time than estimate four parameters simultaneously.
To verify the PM consumes less CPU time, the code execution time of the PM and compared method is measured using STM32F417IGT6 MCU. As shown in Figure 6, the code execution time of the PM is 26 F06Ds, but the time of CM1 and CM2 is 48 and 51 F06Ds, respectively. It would be found that the computational time of PM is about half of CM1 or CM2. The experimental results are corresponding to the theoretical analysis above. Although the number of the proposed algorithms increases, the code-running time decreases greatly.

| The effect of transient current
In general, the electromagnetic time constant of the system is much less than the mechanical one, so the change of the speed is often much slower than the current. If the mechanical time constant satisfies the certain condition, the speed can be considered to be unchanged in the transient process of the current. The condition for ignoring the effect of the transient current on the speed can be shown as

| Persistent excitation condition
To achieve fast and accurate convergence, the regressor matrix Φ should carry sufficient information about the estimated parameters. This property is known as persistent excitation (PE) which is crucial for parameter estimation [31,[33][34][35]. The PE condition implies that ∫ tþT t ΦΦ T dt is positive-definite for any t; T > 0. If the regressor matrix Φ is PE, then the FFRLS estimation scheme with exponential forgetting factor is exponentially stable [33]. It is shown that if the gain matrices P is bound, Φ will meet the PE condition. The proof of this condition is shown in the Appendix B.

| The frequency and amplitude of steppulse
Appropriate step-pulse frequency should be selected. On one hand, a high frequency decreases the sample-numbers per injection period, which results in the divergence of estimated parameters. On the other hand, an extreme low frequency will bring slow convergence of the estimated parameters. The execution frequency of the parameter estimator can be determined as f est ¼ mf in , where m is the sample-numbers in each period of the injected step-pulse, f in is the injected step-pulse frequency. In this paper, the algorithms adopt two execution rates, and f in should be selected according to 'slow' FFRLS algorithm. The slow algorithm is embedded into the speed loop, and the execution frequency is 1 kHz. In the steady state, the estimation algorithm should converge to the correct value within 20 iterations [32]. If reserving 5 times the threshold, m is 100 and f in should be chosen as 5 Hz.
At the same time, the step-pulse is injected into d-axis which minimizes the torque ripple, including SPMSM or IPMSM with low reluctance. The injected step-pulse should not only be as small as possible to minimize the torque ripple but also be large enough to have its effect felt in the controller feedback.
It is important to select appropriate magnitude of the injected step-pulse. On one hand, the parameters estimation errors are depicted in Figure 7  estimation errors will be smaller and smaller with the magnitude increasing of Δi d * and when |Δi d * | ≥1, the errors are small enough with acceptable accuracy. On the other hand, the injected step-pulse will have a certain impact on the control system. Figure 8 shows d-, q-axes currents, voltages and electromagnetic torque without and with the step-pulse injection. The magnitude of step-pulse is 1 A. The injected steppulse causes the fluctuation of d-axis current and voltage, but it will not cause the fluctuation of q-axis voltage and current.
According to the analysis of torque waveform, the DC components of the torque before and after injection are almost equal. Although a 5 Hz step-pulse current is injected, the 5 Hz torque harmonic is very small. The 6th and 12th are the main harmonics in electromagnetic torque, but they do not increase after injection. It does not lead to torque ripple due to a short period of time injection. Thus torques before and after injection can be considered equal. Figure 9 shows schematic diagrams for the proposed online multi-parameter estimation. To verify the PM, the experiments are carried out on a 1.5 kW IPMSM with parameters listed in Table 2, and the experiment platform is shown in Figure 9 (b). The PWM frequency is set at 10 kHz，which is the execution frequency of 'fast' FFRLS. The STM32F417IGT6 MCU is used to execute the algorithm. Through calculation and verification, the experimental platform is consistent with the condition for ignoring the effect of transient current on speed.

| EXPERIMENTAL INVESTIGATIONS
The proposed approach is validated on the test motor operating at 360 and 1500 r/min at the experiment. The vector control system shown in Figure 9 (a) is used for the online multi-parameter estimation.
Step-pulse is injected into the drive system when the PMSM reaches its steady state. The proposed approach is performed by following the flowchart in Figure 5, and the experiment results are also given.

| Stator resistance estimation
The value of the stator resistance tested at room temperature is 0.626 Ω. The 360 and 1500 r/min experiments are performed, respectively, at room temperature. Figure 10 (a) and (b) presents the estimation of stator resistance at 360 and 1500 r/min, respectively. It shows that the estimated stator resistance converges from 0 to the stable value rapidly when the 'slow1' FFRLS algorithm enables. The stable values are, respectively, 0.645 Ω at 360 r/min and 0.655 Ω at 1500 r/min. The estimated errors are 3.04% at 360 r/min and 4.63% at 1500 r/min. The experimental results show the stator resistance estimation error at 1500 r/min is slightly larger than that at 360 r/min. However estimated rotor flux linkage and d-, q-axes inductances at high rotor speed are more accurate than those at low rotor speed, which will be demonstrated in the following results. The voltage drops on stator resistance, rotor flux linkage and d-, q-axes inductances are u r1 ¼ Ri d and u r2 ¼ Ri q , u ψm ¼ ωψ m , u Ld ¼ ωL d i d , and u Lq ¼ ωL q i q respectively.
As mentioned above, the torques before and after injection can be considered equal, and Equation (13) can be simplified as (23) ignoring the dead time influence: Estimation all parameters simultaneously Estimation all parameters simultaneously As shown in Figure 8, the injected step-pulse causes the fluctuation of d-axis current and voltage, but it will not cause the fluctuation of q-axis voltage and current. The following equation is introduced: Equation (23) can be simplified as The voltage-dropping term that affects the estimated accuracy of stator resistance is mainly u r1 ¼ Ri d . With the increase in rotor speed, the ratio of u r1 to the d-axis voltage (u r1 =u d ) is decreased, and the influence of measurement noise on resistance estimation is increased as well.

| Rotor flux linkage estimation
The nominal value of rotor flux linkage is about 0.196 Wb at the room temperature. Figure 11  proposed approach, the stable values are 0.1950 Wb at 360 r/min and 0.1965 Wb at 1500 r/min. The estimation errors are 0.51% at 360 r/min and 0.30% at 1500 r/min. The rotor flux linkage estimation at higher rotor speed is much more accurate than that at lower rotor speed. The reason is that the voltage drop on rotor flux linkage is u ψm ¼ ωψ m , so the estimation error can be approximately denoted as u eψm =ω, where u eψm is the voltage error. The rotor flux linkage estimation error is inversely proportional to the rotor speed. The value of u ψm is a large proportion of u q , thus the influence of measurement error on rotor flux linkage estimation is small. In fact, the estimation accuracy of rotor flux linkage is the highest among the four parameters.

| d-, q-Axes inductances estimation
The nominal d-, q-axes inductances at different current levels are shown in Figure 3.  where ΔL q and ΔL d are qand d-axes inductances estimation errors, u eLq and u eLd are the voltage errors. It is shown in Equation (26) that the d-, q-axes inductances estimation errors are inversely proportional to the rotor speed.
The approach, herein, as mentioned in Section 3.2 is compared with the method proposed in the study by Liu and Hameyer [21]. The compared method estimates d-, q-axes inductances simultaneously by injecting a sinusoidal current in the d-axis, which ignores saturation effect. For the compared method, the fast algorithm starts at 0.3 s and uses the result of estimated stator resistance and rotor flux linkage, as shown in Figures 12 and 13. The estimated d-, q-axes inductances converge from initial values to the stable values quickly. The estimated L q and L d at 360 r/min are 6.65 and 4.365 mH. At 1500 r/min, the estimated L q and L d are 6.50 and 4.55 mH. For q-axis inductance, the estimation errors are 5.0% at 360 r/min and 7.14% at 1500 r/min. For d-axis inductance, the estimation errors are 7.32% at 360 r/min and 3.40% at 1500 r/min. Thus the proposed approach can improve the accuracy of estimation than the compared approach. At the same time, the proposed algorithm does not need to acquire any nominal parameter, but the compared algorithm takes the offline parameters as the initial values. In Figure 14, the d-, q-axes inductances estimation results are showed by using the proposed approach and the compared method at i d the nominal values of qand d-axes inductances are about 5.9 and 4.7 mH under the given load. For the PM, the estimated L q and L d are 6.0 and 4.76 mH, respectively. The estimation errors of L q and L d are 1.69% and 1.28%, respectively. For the compared method, the estimated L q and L d are 5.66 and 4.4 mH, respectively. The estimation errors of L q and L d are 4.07% and 6.38%, respectively. This shows that proposed approach can improve the estimation of inductance by optimizing inductance model. respectively. On the other hand, the q-axis inductance estimation diminishes with the load increased and rises with the load decreased, because of magnetic circuit saturation. Compared with the measurements Figure 3, the estimation errors of q-axis inductance stay within 3%. The estimation algorithm is still valuable in motor transient operation.

| CONCLUSION
A novel online multi-parameter estimation approach has been proposed to estimate stator resistance, rotor flux linkage and d-, q-axes inductances. The following conclusions could be drawn through theory analysis and experiment verifications.
1. Optimized inductance model is built with the step-pulse injection, which facilitates the inductance estimation at different load conditions, and the dead time effect of VSI is also taken into account. 2. Compared with other approaches, the proposed method reduces the orders of feedback matrix and doubles the computational efficiency approximately. 3. The experiments prove that the proposed method improves the estimated accuracy of stator resistance, rotor flux linkage and d-, q-axes inductances at different operating conditions. 4. The minimum amplitude and appropriate frequency of step-pulse are determined by the parameter error and convergence analysis. Proposed method does not need the nominal value of any parameter and only needs to sample the d-, q-axes currents, voltages and the rotor speed.