Speed and Position Estimation for PM Synchronous Motor using self-compensated Back-EMF Observers Marco Tursini, Roberto Petrella, Alessia Scafati Department of Electrical Engineering - University of L'Aquila Roio Monteluco, I-67040, Italy tursini@ing.univaq.it, petrella@ing.univaq.it, scafati@ing.univaq.it Abstract - The paper deals with the self-compensation of the intrinsic estimation error in back-EMF based rotor position observers for PM synchronous motors. The self-compensation is based on the analytical calculation of the rotor position estimation error for two types of popular back-EMF observers, such as the standard-linear Luenberger Observer and the nonlinear Sliding Mode Observer. Once the compensation characteristics are derived, they are included in the observer itself by a proper mechanism in order to cancel the position error affecting the estimation, thus providing the real-time selfcompensation scheme. As a consequence, the performance and the robustness of the transducer-less drive can be improved, both at steady state and transient operations. Test results are presented to verify the effectiveness of the method in several operating conditions: both simulation results using a timecontinuous Matlab/ Simulink model, and experimental results using a DSP based transducer-less drive. I. INTRODUCTION Permanent magnet (PM) synchronous motor drives represent the preferred solution in industrial automation and control systems. The motors employed in these applications have usually a cylindrical iron-laminated rotor, with the permanent magnets displaced on the surface, and a threephase stator similar to that of standard induction machines. Control of PM synchronous motors requires the knowledge of the rotor magnet axis position (briefly “rotor position”). For this reason they are equipped with some kind of transducer, such as encoders or resolvers, able to provide that information. This additional component involves cost, encumbrance, wiring, alignment procedures, and others tedious disadvantages. Thereafter, researchers working in this area are focused on the removal of the position transducer and the replacement of its function by certain detection method, i.e. a “transducer-less” strategy. As from theory, the counter electromotive force induced by the rotor magnets in the stator phases, namely “backEMF”, contains the information about both speed and rotor position. Although this information decades at zero speed, transducer-less strategies based on back-EMF detection are suitable for an important class of medium-high speed drives such as cooling fans and compressors, embracing household and automotive appliance [1][2][3]. The authors have developed a solution based on state observer for back-EMF estimation, [4][5]. The approach requires the simply introduction of a software algorithm in a standard DSP based vector control scheme, it can be applied both to sinusoidal and non-sinusoidal motors and it needs the use of a specific starting procedure. 1-4244-0136-4/06/$20.00 '2006 IEEE An advantage of this proposal is the availability of the analytical solution of the observer, which allows to find out the (theoretical) speed and position estimation errors, and the influence of parameters and system deviations, both in dynamic and steady state conditions [6]. This paper presents the transducer-less control scheme for PM synchronous motors based on back-EMF observer, in which self-compensation of the intrinsic rotor position estimation error is implemented. Sections are organized as follows: based on the voltage model for the PM synchronous motor, the popular standard-linear (Luenberger) and nonlinear (Sliding Mode) back-EMF observers are briefly recalled (Section II); the transducer-less strategy and the drive scheme are introduced (Section III); calculation of the self-compensation law is developed by an unified approach for both the observers (Section IV); simulation and experimental results are presented to validate the method, using the former a Matlab/Simulink model, the latter a TMS320F240 DSP based transducer-less drive (Section V and VI). II. BACK-EMF OBSERVERS The PM synchronous motor can be represented in term of two-phases-equivalent stator-fixed αβ windings as follows: i = [ A] i + [B] v i − [B] v where i = [i α iβ ] , v = [vα vβ ] T T and v i = [v iα viβ ] (1) T are the vectors of the current, voltage, and back-EMF components, and [A], [B] are the matrices of the system parameters; in purely sinusoidal machines, the back-EMF components depend on the rotor electric speed (ωr) and the magnet axis position (θr) through the relations: v iα (θr ) = − k e ω r sin θ r ; v iβ (θr ) = k e ω r cos θr (2) where ke is the back-EMF constant. By extending the model (1) with a proper (fictitious) estimation equation for the back-EMFs ( v i = 0 ), the Luenberger Observer (LO) and the Sliding Mode Observer (SMO) are respectively build as follows: ~ ~ (3) xˆ = [ A] xˆ + [ B] v + [ K] ( i − i ) ~ ~ xˆ = [ A] xˆ + [ B] v + [K ] sgn (i − iˆ) (4) where xˆ = [iˆ, vˆ i ]T is the state vector of the extended model, [ A~] , [B~] the matrices of the extended system parameters, 5087 vα Luenberger/ Sliding Mode Observer vβ θ̂r eq(5) vˆ iα iα ω *r Rvel iq* Riq iβ Rid id* = 0 vˆ iβ ω̂ (r1) Kalman Filter iˆd ω̂ r Fig. 1. The transducer-less strategy PWM iβ αβ ia αβ ib 3 (5) This approach leads to calculate the estimated speed as the derivative of the estimated position. Unfortunately, making a derivative has certain number of disadvantages from the implementation point of view. Therefore, the authors have presented an alternative method, which employs an extended Kalman filter for the detection of both the speed and the position “sine” and “cosine”, using a “first-harmonic” model [5]. Hereafter, the transducer-less strategy has been generalized as shown in Fig. 1, where the superscript (1) identifies the outputs of the Kalman filter. In case of SMO, the presence of the filter permits to remove the noisy effects of chattering, while in case of LO, it allows the application of the strategy to PM motors with distorted (i.e. non-sinusoidal) back-EMF waveforms. The drive scheme implementing the transducer-less strategy is represented in Fig. 2. The structure is that of a standard AC brush-less control scheme arranged in the synchronously rotating reference frame d-q, with PI speed and current regulation, and inverter modulation through Space Vector (SV) technique. The speed feedback and the ic Observer vβ* iα iβ PMSM Fig. 2. PM synchronous motor transducer-less drive scheme position “sine/cosine” functions needed for the Park transformations are provided according to the transducer-less strategy. IV. DEVELOPMENT OF THE COMPENSATION LAW In order to find the exact compensation law for the magnet axis position estimation, we proceed to solve the error equations associated to the back-EMF observer, which are obtained from (3) as follows: e i = [A] e i + [B] e e − k e i e e = −v i − l k e i According to (2), upon the estimation of the back-EMF components, the magnet axis position could be obtained by a reverse trigonometric formula such as: vˆ i2α + vˆ i2β iα dq v*α III. TRANSDUCER-LESS SCHEME θ̂r = arccos vˆ iβ SV vβ* αβ sinθ̂r cosθˆ r and [K ] = [ k [I ] l k [I ] ]T is a gain matrix ( [I ] is the identity matrix, k and l are gain coefficients). According to (3), the LO estimates the back-EMF components (and currents) from the measurement of the motor phase voltages and currents; it uses the linear value of the current estimation error (i.e. the difference between the measured and the estimated one) as correction feedback, and the observer is linear. The SMO has exactly the same structure, but, according to (4), it uses the sign of the current estimation error (instead of the linear value) to build the correction feedback, and the observer is non-linear, [7][8]. As demonstrated, the SMO is capable to give same results as the LO with smaller gains, [6]. Unfortunately, due to its own nature, sliding mode estimates are affected by “chattering” and a proper filtering action is needed. vα* dq vd* iˆq sin θ̂(r1) cos θ̂(r1) vq* (6) where e i and e e are the current and back-EMF estimation errors respectively (defined as the difference between estimated and actual values), and v i = [ v iα , viβ ]T are the time derivative of the back-EMF. The solution of the differential equations (6) is quite difficult in the time domain, thus leading to use Laplace (L) −transform−based method. The s −domain transfer functions can be obtained as follows: sE i (s ) − e i 0 = [A] E i (s ) + [B] E e (s ) − k E i (s) sE e (s ) − e e 0 = −V i (s ) − l k E i (s ) (7) where V i (s ) is the L−transform of the back-EMF timederivative, and e e 0 , e i 0 are the initial conditions for the back-EMF and current estimation error respectively, that can be assumed zero without loose of generality. After some calculations, current and back-EMF estimation errors can be written as follow: E i (s ) = 1 Ls V (s ) (s − s1 )(s − s 2 ) i E e (s ) = − where m = − l Ls and: 5088 s + 2h (s − s1 )(s − s 2 ) V i (s ) (8) (9) s1, 2 = −h ± ∆ = − h ± j ∆ h= 1 2 (k + Rs Ls ); ∆ = 1 4 (k + Rs (10) Ls )2 − mk The values of parameters m, k must be chosen in order to assure asymptotic stability and fast response, e.g. complex roots of (9): (h > 0) ∪ ( ∆ < 0) . The asymptotic stability is a sufficient condition for the existence of sinusoidal steady-state response to sinusoidal excitation. This leads to the following expression for the back-EMF estimation error: k e ω r2 cos (ω r t + φ F ) v e e (t ) = Fv ( jω ) ω =ω 2 r k ω sin ( ω t + φ r Fv ) e r (11) where ω r is the actual angular rotor speed and Fv ( jω ) ω =ω = r φ Fv ω =ω r 2 ( 2h ( h + ∆ )) 2 + ω r2 ( ∆ − ω r2 − 3h 2 ω ( ∆ − ω r2 − 3h 2 ) = arctang r 2 h (h 2 + ∆ ) TABLE I POSITION ERRORS 2 2 ) [h − (ω r − ∆ )(ω r + ∆ )] + (2hω r )2 2 value of gain k (which affects the LO only). Numerical results are resumed in TABLE I. Parameters from a commercial PM synchronous motor available in laboratory have been considered (see the Table in Appendix), aiming at comparing simulation and experimental verifications. For the same gain (l) value, the SMO has a smaller position error with respect to the LO. An increment of the gain l reduces the position error, which nevertheless reaches non-negligible values at high speed. Thereafter a compensation mechanism of the position error with the speed is necessary. The same relations (15) for LO and (16) for SMO can be assumed as first-attempt (theoretical) compensation laws. Obviously, discrepancies and nonmodelled effects could lead to correct the theoretical compensation in the actual implementation. Luenberger (12) 800 Splitting the vector equation (11) into its components gives: e eα (t ) = Av cos (ω r t + φ Fv ) e eβ (t ) = Av sin (ω r t + φ Fv ) ∞ ←k -7.41 -6.22 -5.19 -5.08 1000 rpm -16.97 -13.22 -10.37 -10.08 2000 rpm -32.63 -21.99 -15.52 -14.93 3000 rpm (All results are obtained with gain l = −28.28) 0 Position estimation error [degrees] Equation (13) provides a mean to calculate the αβ estimated components of the back-EMF as follows: vˆ iα = viα + e eα (t ) = − k e ω r sinω r t + Av cos (ω r t + φ Fv ) vˆ iβ = viβ + e eβ (t) (14) = k e ω r cosω r t + Av sin (ω r t + φ Fv ) From (14) it is straightforward to calculate the estimation error for the magnet axis position. After some simplifications one obtains: -5 -5.078 -6.22 -10.079 -10 -14.928 LO -15 SMO LO -20 SMO -25 0 l = −28.28; k = 1600 -13.22 l = −28.28 l = −56.56; k = 1600 -21.99 l = −56.56 500 1000 1500 2000 2500 3000 Rotor speed [RPM] (15) Assuming a “high-current-gain” LO ( k → ∞ ) the ideal SMO is achieved for the current estimation (that means e i = e i = 0 ). Equation (15) is then obtained as follows: θ̂r − θr = arctg (ω r Ls l ) 16000 Position error (θ̂r − θr ) [degrees] (13) where Av = Fv ( jω r ) k e ω 2r . Av cos φFv θ̂r − θr = arctg − k e ω r + Av sin φF v 1600 SMO (16) For a given set of motor parameters, the (steady state) position error depends of the rotor speed, while it is independent of the feeding current that means, according to the vector controller set-up, independency of the load torque. Fig. 3 shows such a behaviour vs. speed for both LO (15) and ideal SMO (16), for two different values of gain l and a given Fig. 3. Position estimation error vs. speed. V. SIMULATION RESULTS For completeness of analysis, a Matlab/Simulink timecontinuous model of the transducer-less drive in Fig. 2 has been developed, with the magnet axis position computed by (9) in order to avoid the influence of Kalman filtering. Results in Figs. 4 and 5 refer to the no-load transient from 0 to 1000 RPM, “off-line” LO and ideal SMO respectively, and 1.2 Nm load torque (60% of the rated one) inserted at 0.35s. Gain values compatible for an actual implementation are assumed. The position errors obtained from LO and SMO and those with compensation, achieved subtracting the (respective) analytical values from the previous ones, are 5089 Luenberger Observer 1 Position estimation error [degrees] 0 0.5e-3 -1 -2 Position estimation error Compensated position estimation error -3 -4 -5 -6 load insertion -6.22 -7 -8 0.05 0.1 0.15 0.2 0.25 0.3 l = −28.28 k = 1600 0.35 0.4 0.45 0.5 Time [s] Fig. 4. Position estimation error with LO. Sliding Mode Observer 1 Position estimation error [degrees] 0 -5.5e-3 -1 -2 Position estimation error Compensated position estimation error -3 Fig. 6. Experimental drive system. -4 -5 -5.08 load insertion -6 l = −28.28 -7 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Time [s] Fig. 5. Position estimation error with SMO. reported. The numerical values of the position errors shown on the plots (uncompensated case) can be found to match those reported in the second and fourth columns of TABLE I respectively. The independence of the position error from the load conditions is confirmed at steady state. It is interesting to notice that compensation, although carried out by the steady state laws, gives quite good results also during transient operation. VI. EXPERIMENTAL RESULTS The performance of the proposed transducer-less backEMF based strategy has been investigated using the experimental drive system shown in Fig. 6, in order to evaluate the discrepancies between theory and practice due to the un-modelled effects in the real system. The experimental drive consists of a single board drive unit, the (already mentioned) commercial PM synchronous motor and the necessary development and testing tools. The drive unit includes the control hardware and an integrated IGBT based Intelligent Power Module (IPM). The phase currents are measured on the three lower branches of the inverter by means of resistive sensors integrated in the IPM. The control hardware makes use of a fixed point Digital Signal Processor (DSP) TMS320F240. Set points and main parameters of the control scheme can be changed in real-time by means of a host PC linked to the DSP through a standard RS-232 interface. The host PC is also used to run the DSP development and debugger tools. A scope has been used to display in real-time the variables calculated inside the control algorithm by means of a 2 channels digital-to-analog interface, which is mapped on the I/O addressing space of the µC DSP. The execution of the control routine (including the back-EMF observer) is synchronized to the modulation carrier. The PWM period has been fixed to 150 µs, resulting in 6.6 kHz switching frequency. At each PWM period the current control loop, the observer with Kalman filter and the speed regulator are executed. During the development of the control program, a 4096 ppr incremental encoder is employed to measure the actual position and speed and compare them with the estimated ones. As mentioned, computation of the estimated position is not necessary in the transducer-less strategy, which makes use of the estimated “sine/cosine” functions provided by the Kalman filter. Thereafter, the estimated position has been computed for monitoring and analysing purposes only, applying an inverse trigonometric function to one output of the filter: θ̂r ,mon = arccos ( cosθ̂(r1) ) (17) The LO and SMO algorithms are obtained through discretization of the time-continuous relations (3) and (4): in comparing experimental and theoretical results one can consider the gains of the actual implementation equal to: 5090 k =1600 and l = −28.28 (these are the gains of the equivalent time-continuous observers). In the first test case, the steady state operation at different speeds (and no-load) is investigated: the speed set-point is changed in sequence from 500 to 2000 rpm (with 500 rpm step) using a slow ramp-varying reference. Figures from 7 to 9 refer to the SMO operation, they show the traces of the position error (in electrical degrees) in comparison with the actual speed, and particularly: - Fig. 7 shows the case without any compensation: one notices that the mean value of the position error is a function of actual rotor speed, thus in good agreement with theoretical expression (16) and the simulation analysis. One notices also that the computed error is affected by a noise band whose amplitude in the order of 3 degrees around the mean value. This noise can be attributed to the residual “chattering” of SMO, which is not completely eliminated by the Kalman filter; - Fig. 8 shows the case when self-compensation is implemented according to the (theoretical) expression (16): one notices that the adopted formula gives appreciable results but not an exact compensation over the whole speed range, as the mean value of the (absolute) error is reduced to 3.5 degrees in the worst high-speed case (2000 rpm), with respect to 7 degrees without compensation; - Fig. 9 shows the case when an empirical self-compensation is implemented, according to the experimental measurement of the position error in Fig. 7. In this case, the same linear compensation strategy is adopted but with a different value of the slope. One can notice that the mean value of the error is zero over the whole speed range, thus confirming the validity of the proposed theoretical analysis. 1 [V] → 2.25 [degrees] 1 [V] → 600 [RPM ] ωr (θ̂ r , mon − θ r ) 1 [V] → 2.25 [degrees] 1 [V] → 600 [R PM ] ωr ( θ̂ r , mon − θ r ) Fig. 7. Position estimation error with SMO at different speed values (from 500 to 2000 rpm). 1 [V] → 2.25 [degrees] 1 [V] → 600 [RPM] ωr ( θ̂ r , mon − θ r ) Fig. 8. Position estimation with SMO and theoretical compensation at different speed values (from 500 to 2000 rpm). Fig. 9. Position estimation with SMO and empirical compensation at different speed values (from 500 to 2000 rpm). The same kind of test with step variation of the speed setpoint is repeated for the LO (Figs. 10 and 11): - Fig. 10 shows the case without any compensation: one notices that the mean value of the position error increases with the speed similarly but being greater than the one with SMO at the same speed. The results are in good agreement with theoretical and simulation analyses. The noise affecting the error signal is less important than with SMO: it appears concentrated in particular zones and is related to the low accuracy of the actual implementation of the inverse trigonometric function (17); - Fig. 11 shows the case when the empirical selfcompensation is implemented, according to the experimental measurement of the position error in Fig. 10: same as for SMO, the mean value of the error is forced to zero at each operating speed. The influence of the load torque on the performance of the back-EMF observer has been investigated too, both without and with self-compensation. Results in the case of the SMO are presented: the overall behaviour of the rotor position error vs. the load torque is summarized in Fig. 12, over a large torque-speed range (tests cover the variation of the load torque from zero to 75% of the rated one, with 0.5 Nm step, and speed from 500 to 2500 rpm). Differently from theory (where the independence of the load torque is found) one notices an effect of the load on the position error, although quite small (not greater than two degrees in all the tested conditions); compensation by the theoretical law is right in 5091 direction but the quantity is excessive for increasing speed: nevertheless the maximum (absolute) error is limited to about 5 degrees at the maximum tested speed. exact compensation requires a proper adjustment by experimental tests. 1 [V ] → 2.25 [degrees] 1 [V ] → 600 [R PM ] ωr ( θ̂ r , mon − θ r ) Fig. 12. Position estimation error vs. speed with SMO as a function of load torque. Fig. 10. Position estimation error with LO at different speed values (from 500 to 2000 rpm). APPENDIX MOTOR PARAMETERS rated power /current rated speed/torque pole pairs no-load back-EMF @ rated speed stator resistance stator inductance rotor inertia inverter DC voltage 1 [V ] → 2.25 [degrees] 1 [V ] → 600 [R PM ] ωr 630 W - 2.5 A rms (*) 3000 rpm (*) - 2.0 Nm (*) 4 82.72 Vrms (*) 1.9 Ω 6 mH 22⋅10-5 kgm2 300 V (*): base values assumed for displaying results VIII. REFERENCES ( θ̂ r , mon − θ r ) [1] [2] Fig. 11. Position estimation with LO and empirical compensation at different speed values (from 500 to 2000 rpm). VII. CONCLUSIONS [3] The possibility to compensate the intrinsic position estimation error in a transducer-less control scheme for PM synchronous based on back-EMF observers and Kalman filter has been analysed. Basic results are as follows: - 1st: it is possible to evaluate a theoretical compensation law for the steady-state operation, both with Luenberger and Sliding Mode observers; - 2nd: such laws yield satisfactory compensation also during fast transients; - 3rd: it has been proven that the presence of a Kalman filter in cascade to the back-EMF observer does not introduce additional position error at steady-state, and negligible one during transients if slow ramp-varying speed reference is used; - 4th: the un-modelled effects in the actual drive, motor and real-time system introduce some discrepancies from theory: [4] [5] [6] [7] [8] 5092 B. Nahid Mobarakeh, F. Meibody-Tabar, and F-M. Sargos “Back-EMF estimation based sensorless control of PMSM: robustness with respect to measurement errors and inverter irregularities”, Proc. of the IEEEIAS Annual Meeting, Vol. 3 , pp. 1858 – 1865, Atlanta, Oct. 3-7, 2004. E. Robeischl, M. Schroedl, and M. Krammer: “Position-sensorless biaxial position control with industrial PM motor drives based on INFORM-method and back EMF model”, Proc. of the IEEE-IES Annual Conference (IECON), Vol. 1 , pp. 668 – 673, Nov. 5-8, 2002. J.X. Shen, Z.Q. Zhu, and D. Howe: “Sensorless flux-weakening control of permanent-magnet brushless machines using third harmonic back EMF”, IEEE Trans. on Industry Applications, Vol. 40, No 6, pp.1629 – 1636, Nov.-Dec. 2004. F. Parasiliti, R. Petrella and M. Tursini : “Sensorless Speed Control of a PM Synchronous Motor by Sliding Mode Observer”, Proc. of IEEE Int. Symposium on Industrial Electronics (ISIE), Vol.3, p.1106-1111, Guimaraes, July 7-11, 1997. F. Parasiliti, R. Petrella and M. Tursini: “Rotor speed and position detection for PM synchronous motors based on sliding mode observer and Kalman filter”, Proc. of the European Conference on Power Electronics and Applications (EPE), Lausanne, 1999. M. Tursini, R. Petrella, A. Scafati: “Speed and Position Estimation for PM Synchronous Motor with Back-Emf Observer”, Proc. of the IEEE IAS Annual Meeting (IAS’2005), Kowloon, Hong Kong, October 2-6, 2005, CD Rom. Z. Chen, M. Tomita, S. Doki, and S. Okuma: “New adaptive sliding observers for position and velocity sensorless controls of brushless DC motors”, IEEE Trans. on Industrial Electronics, Vol. 47, No 3 , pp. 582 – 591, June 2000. M. Elbuluk and C. Li: “Sliding Mode Observer for Wide-Speed Sensorless Control of PMSM Drives”, Proc. of the IEEE-IAS Annual Meeting, CD Rom, Salt Lake City, Oct. 12-16, 2003.