Online Identification of Intrinsic Load Current Dependent Position Estimation Error for Sensorless PMSM Drives

Low-speed sensorless control of Permanent Magnet Synchronous Machine (PMSM) faces an intrinsic problem of increased position estimation error with increased load. This phenomenon is due to changed magnetic saliency caused by the load current on the machine side. Therefore, such position estimation error, which deteriorates the drive performance, cannot be corrected by the sensorless algorithm itself; it has to be detected/compensated by other methods. In this article, an on-line identification method is proposed to detect reliably this load current dependent position estimation error. The unique features of the proposed method are its easy implementation and plug-and-play capability, without the needs of machine detailed flux map or extra devices such as a rotor locker; the detection process is very fast, so even with the q-axis current present, it will not cause noticeable rotor position change. Various experimental results are presented to validate the effectiveness of the proposed method.


I. INTRODUCTION
PMSM has been widely used in modern adjustable speed drives due to its well-known advantages of high efficiency, compact size and high torque density [1]. Field Oriented Control (FOC) is often adopted for effective control of the PMSM, where the rotor position information is required, which is referred to as the rotor magnetic field axis. Instead of using an encoder, various position observers have been extensively studied in the last few decades to achieve sensorless operation of the drive for reducing the cost and increasing the reliability.
Position observers are normally divided into two categories for operations at medium-high speed range and at zero-low speed range respectively [2]. For medium-high speed range operation, position observers often utilize the fundamental model of the PMSM. The main idea is to detect the rotor position information contained in the back-EMF and the permanent magnet flux linkage [3]- [8]. Full-order [4] or reduced-order [5] state observers may be used. This kind of observer is not suitable for zero-low speed application due The associate editor coordinating the review of this manuscript and approving it for publication was Kan Liu . to the low amplitude of the back-EMF when the speed is low. At zero-low speed range, the rotor magnetic saliency is utilized for the position estimation by injecting e.g. revolving [9]- [11] or pulsating carrier signals [12]- [14] in either stationary or rotary reference frames. However, independent of the sensorless algorithm chosen, there is an intrinsic error in the detected magnetic saliency between no load and loaded conditions [15]. The magnetic field produced by the load current may affect the saturation of the machine magnetic path, which is also known as cross-saturation effects [15], and consequently, the orientation of the machine magnetic saliency deviates from its no-load axis [16]. This load current dependent error is hard to be corrected by the position estimation algorithms themselves [28]. In order to achieve satisfactory sensorless control performance, identification and compensation of the load current dependent position estimation error are needed [28].
Existing studies in identifying the profile of the load current dependent position estimation error can be categorized into two types: off-line and on-line identifications. One solution of the off-line methods is to calculate the position estimation error using the profiles of the machine self-and mutual-inductances or machine d-and q-axes flux linkages by considering the self-and cross-saturation effects [18], [19]. Such inductance or flux profiles can be obtained experimentally with the assistance of an additional rotor-locking device [20]. Alternatively, this can be done indirectly by using finite element analysis tools [17], which require detailed knowledge of the machine that is often not available for many industrial applications and will suffer from manufacturing tolerances as well. The other possible solution is to measure the load current dependent position estimation error directly. This can be done by locking the rotor to a known position and detect the position estimation error under different load conditions using the selected injection-based position observers [21]. The idea behind this approach is straightforward. The position estimation error is the deviated estimated position caused by the load current when compared to the estimated position at zero load current condition. Since the rotor is locked, the rotor position cannot change when the load current is applied. Then, by subtracting the estimated position at no-load from the estimated position at a loaded condition, this load dependent position error can be identified. The main inconvenience of this approach is that with the load current present, the machine produces torque and it is necessary to lock the rotor using a rotor locking device in order to accomplish the test in such a way [20], [21]. An alternative off-line solution is to use the position estimated from the fundamental excitation-based position observer as a reference, since the influence of the cross-saturation effects is assumed to be limited in such position observers [22], [23]. However, to do so, the drive system needs to be operated at the medium-high speed range, which does not favor the signal injection methods due to e.g. the increased influences of the back-EMF voltage and increased fundamental frequency; manipulation of the load for identifying the position error at different load levels is also required, which complicates the test procedure.
Since the above-mentioned off-line methods require either detailed machine knowledge or an extra shaft locking device / load manipulation possibility, it is inconvenient or even impossible to be performed on-site for many industrial applications. Instead, on-line identification methods, without involving extra devices and influencing the machine operation conditions, are much preferred [24], [25]. Unfortunately, on-line identification methods have not been well researched so far (very few relevant references). One on-line solution proposed was to use a neural network algorithm applied in the steady state operation of the machine [24]. Its implementation complexity and calculation burden on the controller will be high. In practice, it is preferred to run this load current dependent position error detection in the initialization phase of the drive. Since typically, the position error is in a linear relationship to the load current. This can be easily stored as a look-up table for use in normal operations of the drive. It is worth to emphasize that the on-line identification algorithm in the initialization phase should not cause noticeable change of the rotor position, in order to avoid undesired movements of the load. To serve this purpose, attempt has been made in [25]. However, the proposed method in [25] requires detailed information of machine parameters in order to estimate the gain value between the q-axis current and the position estimation error; it uses parabolic curve fitting with the assumptions of small position estimation error, constant d-and q-axes inductances, neglected resistive voltage drop, etc. Since one of the attractive advantages of many injectionbased position estimation algorithms is the machine parameter independency, a machine parameter independent position error identification method is much preferred. In [26], attempt has been made to find this position estimation error at startup. But rotating voltage vector injected for 360 degrees are used, which is not convenient. To summarize, it is of great interest to develop an on-line identification method that is machine parameter independent, simple to implement, fast in response, and will not cause noticeable rotor rotation even with the load current (q-axis current) present. It should not require locking the rotor or manipulation of the load system in order to accomplish the position error identification. To the authors' knowledge, there are little efforts done so far towards such a plug-and-play solution.
In this article, a new active searching strategy is introduced to achieve a fast and reliable load-dependent position estimation error detection in the system initialization phase before machine start-up; the influence to the system initial condition is then minimized. The proposed approach is a plug-andplay solution without requiring detailed machine parameter information or a shaft locking device. The proposed method is verified experimentally, and the improved sensorless drive performance with this error compensated is illustrated.
This article is organized in the following manner. In section II, a typical high-frequency signal injection based sensorless drive system is briefly introduced. The influence of position estimation error caused by the load current is clearly demonstrated. In section III, the machine high-frequency model used for position estimation at zero-low speed range is presented and the influence of the load current to the machine high-frequency model and consequently the position estimation error is analyzed. In section IV, the proposed on-line identification procedure, including the adopted sensorless algorithm and proposed searching strategy, is explained in detail. An active searching strategy is investigated to fasten the identification procedure without causing any noticeable change of the rotor position. In section V, experimental verifications of the proposed on-line identification method are given. The performance of the sensorless drive with on-line identification and compensation of the load current dependent position error is provided to prove the feasibility and effectiveness of the entire control solution.

II. SENSORLESS CONTROL SYSTEM AND POSITION ESTIMATION ERROR PHENOMENON
A typical PMSM sensorless drive system based on FOC with i d = 0 is shown in Fig. 1. The rotor position information, which is essential for transformations needed in the FOC system, could be estimated by using high frequency signal injection methods. To minimize the influences of the uncertainties in motor terminal voltages and motor parameters on position estimation accuracy, the position estimation algorithm [13], which utilizes the motor phase currents only, is adopted in this article. The test setup is shown in Fig. 2. The parameters of the PMSM are listed in Table 1. A DC motor is connected to the PMSM to serve as the load machine. A Danfoss FC302 voltage source inverter is used to drive the PMSM, where the controller is implemented on a DSP-TMS320F28335 with a switching frequency of 5 kHz (same as the sampling frequency). An incremental encoder with 2048 lines per revolution is mounted on the non-drive-end of the PMSM to obtain actual rotor position and speed as reference signals for comparison with estimated position and speed. The injection voltage magnitude is chosen to be 50 V, compromising the signal-to-noise ratio and resultant injected current ripple [31]. Fig. 3 shows the performance of the PMSM drive using the estimated position as feedback under an operation condition  of 50% load torque step at 15 rpm. The drive can handle the half-load torque step change, as shown in Fig. 3. However, a large position estimation error of -12.4 • in average can be observed, as the q-axis current increases to 2 A at 50% load torque. This error is due to the cross-saturation effects caused by the load current and will be further explained in section III.
The existence of this load current dependent position estimation error will degrade the drive performance. A large position estimation error will bring an unnecessary d-axis current component in the steady state operation. The situation will be worse when the load increases which results in increased position estimation error. For example, with a full load torque step as shown in Fig. 4, the controller is even not able to run the machine stably due to a too large position estimation error. Hence, this load dependent position estimation error must be carefully investigated and compensated.

III. LOAD DEPENDENT PMSM SMALL SIGNAL MODEL AND SENSORLESS SCHEME
The load current will distort the magnetic field and consequently the saturation condition of the machine, both selfand cross-saturation effects will appear [15]. Typical machine voltage equations in the dq-reference frame including the self-and cross-saturation effects can be expressed as: where u d , u q , i d , i q are the stator d-and q-axes voltages and currents respectively; L d and L q are the d-and q-axes inductances; L dq and L qd are the mutual inductances in dq-frame caused by the machine load currents; R is the stator resistance; ω r is the rotor electrical speed; λ d , λ q are the d-and q-axes flux linkages, and λ mpm is the amplitude of the rotor PM flux linkage. It should be noticed that L dq and L dq are i d and i q dependent, respectively (self-saturation); the mutual inductance L dq and L qd are i d and i q dependent (cross-saturation) and they are equal to each other [27]. When considering the machine small signal responses at much higher frequency than the machine fundamental frequency, it is safe to assume that the resistive voltage drop and the back-EMF voltage component does not change during two neighboring switching periods. Then according to [13], by applying (1) in the first and second switching periods respectively and then subtracting these two voltage equations, (1) is reduced to: where represents the difference between the two neighboring switching periods. In (2), the influences of uncertain voltage components such as the phase resistive voltage drop and back-EMF voltage component are removed due to the subtraction, giving simplified equations. Subtraction of the voltage equations in the two neighboring switching periods has been proven to be effective in suppressing these aforementioned voltage disturbances on position estimation accuracy [13].
A more convenient form to represent (2) is to get rid of the cross-coupling inductance L dq . This can be achieved by transforming (2) to a special d q -reference frame that leads the real dq-frame by an angle of ε = 0.5· arctan [2L dq /(L d −Lq)], as indicated in Fig. 5. The angle ε between the d -axis and the mechanical d-axis is L dq dependent, which is affected by the load current. Preforming reference frame transformation gives: and u d , u q , i d , i q are the stator voltages and currents respectively in the d q -reference frame (Fig. 5). In (3), the d -, q -axes are mathematically decoupled. Therefore, the d -axis is considered as the machine apparent magnetic saliency. At no-load, L dq = 0, and consequently ε = 0. The d -axis becomes aligned with the mechanical d-axis (Fig. 5), and the machine model (3) becomes the classical machine dq-model since L d and L q can be simplified to L d and L q respectively with L dq = 0 in (3). When considering sensorless operation, since only estimated position information could be obtained, the estimateddq-reference frame, where the signal is injected to, needs to be introduced and is shown in Fig. 5. Then by transforming (3) to the estimateddq-frame, (4) can be obtained: where ud , uq, id , iq are the stator voltages and currents respectively in thedq-reference frame; L 0 = (L d + L q ) 2, and L 1 = (L d − L q ) 2;θ r is the position estimation error between the mechanical rotor position (θ r ) and the estimated rotor position (θ r ), i.e.θ r = θ r −θ r as indicated in Fig. 5. However, based on (4), it is clear that onlyθ r + ε can be obtained by manipulating the equations. This means based on the estimatedd-axis and the obtained position estimation error, only the magnetic d -axis can be identified. This feature is independent on the injection scheme chosen. The desired position error between the estimated and machine mechanical d-axisθ r cannot be obtained without the knowledge of ε.
A sensorless algorithm needs to be chosen first for the normal operation of the machine. Due to advantages of simple implementation, no requirement of any filters and the ability to suppress disturbing voltage components, in this article, two opposite voltage vectors aligned with the estimatedd-axis (± Vd , Fig. 6) are injected during two consequent switching periods, where the injection frequency is 2.5 kHz. Under this condition, it can be obtained from (4) (i.e. ud = 2V d and u q = 0 in (4)) that [13]: where T s is the switching period. The differential d iq dt can be approximated by ( iq) T s . It can be seen that the position information sin(2θ r + 2ε) can be obtained by measuring the variation of theq-axis current change rates during two neighboring switching periods. Thus, the position error between the estimated and real d-axesθ r can be obtained only if ε is known. Sensorless operation of the drive is not the focus of this article, more detailed information of this sensorless method can be found in [13].

IV. LOAD DEPENDENT POSITION ESTIMATION ERROR IDENTIFICATION A. LOAD DEPENDENT POSITION ESTIMATION ERROR DETECTION PROCEDURE
As pointed out in the above section, a load/saturation dependent position estimation error ε exists when utilizing the machine high frequency model to detect the rotor position. The error can be significant and should be identified and compensated to achieve satisfactory sensorless control performance. In this section, an on-line identification method to find ε, which is implemented in the initialization phase before machine start-up, is proposed. The obtained relationship between ε and the load current may then be conveniently used to correct the estimated position used for normal sensorless operation of the drive. In this article, to illustrate this identification method, i d is kept to be zero since ε is mainly dependent on the i q . When the estimatedd-axis is aligned with the magnetic d'axis, the injected voltage will result in zero current variation on the estimated q'-axis (i.e. ( iq) = 0), since this results in ε = −θ r =θ r − θ r according to (5), and the corresponding locations of the axes are illustrated in Fig. 6 (for the case of i q > 0). Noting that the position estimation errorθ r is defined to be positive when the estimatedd-axis is lagging the real d-axis (Fig. 5), so hereθ r is indicated as −θ r for the leadinĝ d-axis position with respect to the real d-axis shown in Fig. 6. It is worth to point out that there is only one equation (5) available but there are two unknown variables (ε andθ r ). Other measures must be used in order to determine ε.
At no-load, the load dependent position errorε is zero. The initial rotor position (θ r0 ) may be unknown, but it can be estimated by using the adopted sensorless algorithm, denoted asθ r i q =0 . If it is assumed that the estimated initial position at no-load isθ r i q =0 = θ r0 , then when the load current increases (i q > 0) and if the rotor position cannot change, there will occur a position estimation errorθ r with respect to the position estimated at no-load, which will satisfy ε = −θ r =θ r i q >0 −θ r i q =0 if the estimatedd-axis keeps tracking the magnetic d -axis by searching for the position that makes ( iq) = 0 (Fig. 6). The load dependent position error ε can then be obtained for different load conditions in such a way.
In practice, due to measurement noise, the measured current variation could not be really zero. Therefore, searching for the minimal ( iq) is used. This is preferred instead of calculating ε directly by using (5) from measured ( iq) andθ r , since the searching method does not need to know the gain factor (determined by machine parameters) involved in the right side of (5). The searching method will converge to an injection positionθ r that can make ( iq) (and consequently sin(2θ r +2ε)) to be ideally zero. Under this condition, no matter how large the gain factor (including injected voltage magnitude) is, ε = −θ r . In this approach, the values of the machine parameters and injected voltage magnitudes are not needed in achieving the converged position by the searching method.
In the above analysis, it is assumed thatθ r i q =0 = θ r0 , i.e. the initial position estimation is accurate enough. To validate this, the performance of the initial position detection by using thed-axis opposite voltage injection method is investigated and the results are shown in Fig. 7. It can be seen that the position detection errors at different rotor initial positions at no-load are all within ±3 electrical degrees, which are not significant for sensorless control. It may be further mentioned that since the initial position detection and load dependent position error detection use the same algorithm, the possible detection error of the initial position (caused by the algorithm itself) will be there when performing the load dependent position error detection. The desired load dependent position error to be obtained is the incremental position change between a loaded condition and the no-load condition (initial position). Therefore, the position error vs. load current profile is not affected by the inherent position error contained in the algorithm itself which affects the initial position detection. It is clear from the obtained ε−i q curve shown in the following section that when the q-axis current is zero, ε = 0 (no error).
To summarize, the implementation of the above described procedure for the load dependent position error ε detection is illustrated in Fig. 8. The first step is an initial d-axis position detection to obtain θ r0 at zero q-axis current; the second step is to adjust i q to an expected value (a loaded condition); at last opposite voltage vectors on the estimatedd-axis are injected and corresponding ( iq) is obtained. As may be observed from Fig. 8, it takes two switching periods only for completing ± Vd injection to obtain the desired ( iq) value and one more switching period to maintain the desired q-axis current. During the whole detection period, a certain q-axis current needs to be maintained to create the loaded saturation condition whereas the corresponding load dependent position error ε is determined by the searching method to find minimal ( iq) that is to be discussed below.

B. SEARCHING STRATEGY
An important requirement mentioned in the above analysis is that the rotor position should be kept unchanged for both no-load and loaded conditions, without locking the rotor.
In detecting ε when certain q-axis current (i q ) is maintained, the machine is generating torque and will start to rotate if the generated torque is higher than the system static frictional torque. Since the machine mechanical time constant is often much larger than its electrical time constant, it is possible to maintain the rotor position if the detection algorithm with this bias q-axis current i q present could be implemented in a very short duration (e.g. few switching periods).
To fasten the identification procedure, secant method is employed in this article. It should be noted that ε is zero when i q is zero, ε is positive when i q is positive, and vice versa. Then, since typically |ε| < 45 • [28], for the positive i q bias current, it is convenient and safe to choose two initial values of the secant method as the initial position of 0 • in this example study and another position at 45 • away -an assumed large position estimation error possibly affected by the q-axis current. Similarly, the two initial values are chosen to be 0 • and -45 • for negative q-axis bias current.
The first two iterations of the secant method when i q = 4 A are shown in Fig. 9. The two initial injection positions (θ r1 andθ r2 ) are chosen to beθ r0 + 0 • andθ r0 + 45 • respectively, whereθ r0 is the detected initial position as described in the above subsection. Two ( iq) values could be obtained by injecting voltage pulses on the axes located atθ r1 andθ r2 respectively, which are points A and B as shown in the top plot of Fig. 10. The first secant line S 1 that links points A and B has a zero-crossing point atθ r3 =θ r0 + 23.0 • , which is denoted by point C (hollow dot point) as shown in the zoomed bottom figure of Fig. 10. Then the voltage vector is injected onθ r3 axis and the actual value of ( iq) can be obtained, which is denoted by point D (solid dot point). Thereafter,  As mentioned before, three switching periods are needed for the injection at a selected rotor position (± Vd injection followed by one more switching period for maintaining the q-axis current). Therefore, after obtainingθ r5 , only 15 switching periods (3 ms) are needed for completing the searching algorithm. It should be noted here that even after the first two injections giving points A and B (6 switching periods), the obtained position from iteration isθ r3 =θ r0 + 23.0 • . There is only 1.4 o difference compared to the converged value. This searching method is very fast to converge.
By using the searching strategy discussed above, the load/saturation dependent position estimation error at      Fig. 11. It can be seen that they agree well with each other. An extra experiment is performed with the assistance of a shaft locker as shown in Fig. 12. It can be observed that the result obtained with a shaft locker is similar to the result from the proposed identification method without the need to lock the rotor. Moreover, the sensorless algorithm based on (5) is tested during normal rotational operation conditions and different loads are applied. The position errors between the estimated and actual rotor positions (obtained from an encoder), which are mainly caused by the load current cross-saturation effects, is obtained and shown in Fig. 12. It matches well with the proposed on-line method obtained at standstill conditions.  The obtained ε − i q relationship may be involved in the sensorless control as a simple look-up table and is used to compensate the estimated position as illustrated in Fig. 13.

V. EXPERIMENT VERIFICATION A. DETERMINATION OF IDENTIFICATION TIME DURATION
To verify the discussion regarding the maximum allowable identification time duration in section IV.B, an experiment is carried out with 4 A q-axis current. It can be seen from Fig. 14 that it takes about 6 ms for the rotor to rotate for one electrical degree. This means that if θ max = 1 • and i q = 4 A, the identification procedure is allowed to use about 30 switching periods to detect the load dependent position estimation error ε for the setup shown in Fig. 2.
The ε − i q relationship (look-up table) obtained in section IV.B is used to correct the estimated position as shown in Fig. 13. Fig. 15 shows the performance of the PMSM drive using the corrected position estimation as feedback under an operation condition of 50% load torque step at 15 rpm. It can be observed that when the ε − i q compensation is involved, the position estimation errorθ r is only 0.7 • in average, which shows the effectiveness of the compensation and the correctness of the identified ε − i q relationship when compared with the previous experimental results under the same operation condition (-12.4 • shown in Fig. 3). Fig. 16 shows the performance of the PMSM drive using the corrected position estimation as feedback under a full load torque step at 15 rpm. Rather than losing the system stability without ε −i q compensation (as shown in Fig. 4), the sensorless drive can perform well with an average position estimation error of 2.2 • only when ε − i q compensation is involved.

C. PERFORMANCE OF FULL SENSORLESS CONTROL WITH ε-i q COMPENSATION
The performance of the PMSM drive with full sensorless control (both position and speed estimations are used as feedback signals in FOC) and ε−i q compensation at different operating conditions are shown in Fig. 17 to Fig. 19. Fig. 17 shows the experimental results under a full load torque step change at 15 rpm. The drive performs well with an average position estimation error of 1.4 • .  Fig. 18 shows the experimental results when the reference speed of the drive steps from 0 rpm to 15 rpm at full load torque condition, whereθ r is only 1.1 • in average. Fig. 19 shows the experimental results when the reference speed is reversed from 15 rpm to -15 rpm, whereθ r is only -0.4 • in average.

VI. CONCLUSION
In this article, the influence of the load current dependent position estimation error of a sensorless drive is analyzed. A fast searching method for identifying such position error without the assistance of extra devices, setup modifications or machine inductance / flux map knowledge, is presented. The proposed plug-and-play load dependent position estimation error identification method is machine parameter independent and can be performed on-line at the system initialization phase before the machine start-up, without causing noticeable rotor position changes even with the rated q-axis current present. The relationship of the load/saturation dependent position estimation error versus q-axis current (ε − i q ) of a PMSM drive is obtained by using the proposed identification method. It is shown by experiments that the position estimation error can be reduced greatly by compensating the estimated position with the obtained ε − i q relationship. Satisfactory results are obtained and the robustness of the sensorless drive is enhanced with the identified load current dependent position estimation error compensated. The drive system could handle tough conditions, such as full load step at low speed, full load starting and speed reversing.