Control Engineering Practice 6 (1998) 369—383
Rotor-speed estimator for induction motors using voltage and current measurements J.L. Zamora, A. Garcı´ a-Cerrada*, A. Zazo Instituto de Investigacio´ n Tecnolo´ gica and Department of Electronics and Control Engineering, Universidad Pontificia Comillas, Alberto Aguilera 23, 28015 Madrid, Spain Received July 1997; accepted December 1997
Abstract This paper presents a rotor-speed estimator for induction motor drives which uses only stator voltage and current measurements. First of all, the identifiability of the rotor speed is analysed in relation to the operating point, giving a good insight into when and why rotor speed can be estimated. Secondly, a computation method is proposed for the rotor speed. Its sensitivity to errors in both model parameters and measurements is discussed in detail. In order to produce effective noise attenuation, a state-variable filter and a recursive total least-squares (TLS) algorithm are used. The estimator is validated by simulation and by field tests. ( 1998 Elsevier Science Ltd. All rights reserved. Keywords: Induction motor control, identification, sensitivity analysis, filtering, total least squares
List of symbols mS , iS wS , wR u ,u R Rnom u, u S R ,R S R ¸ ,¸ S R ¸ M l ,l S R p Y S Y, U
"stator voltage and current space vectors "stator- and rotor-flux space vectors "rotor speed and its rated value "rotor-flux and slip frequencies "stator and rotor resistances "stator and rotor inductances "magnetising inductance "stator and rotor leakage inductances "leakage coefficient (1!¸2 /¸ ¸ ) M R S "motor admittance "output and regressor in a linear regression model, respectively j "forgetting factor r "correlation coefficient Note: Space vectors are named with bold-face letters. 1. Introduction Induction motor drives are becoming the standard for variable-speed applications because of the robustness of
* Corresponding author. 0967-0661/98/$19.00 ( 1998 Elsevier Science Ltd. All rights reserved PII S 0 9 6 7 - 0 6 6 1 ( 9 7 ) 0 0 0 2 2 - 7
squirrel-cage induction motors, their stiff torque-speed characteristic, and the development of high-performance control algorithms and power electronics. The rotorspeed is used for flux estimation in high-performance drives, and for speed feedback when open-loop speed control is not sufficient. However rotor-speed measurement is always troublesome, very often not practical, and sometimes impossible. For these reasons there is a growing interest in estimating the rotor speed by using only the stator voltage and current measurements. This estimator could be useful, not only for speed feedback as part of the speed-control loop in servo drives, but also for diagnosis of the drive when speed measurement is available. Since all the necessary electrical variables are available within the power electronics controller, speed estimates and measurements could be compared. Note that estimation algorithms require calculation of the variable of interest, plus some averaging method to filter noise. Three main types of algorithms have been proposed in the literature, based on an ideal model of the induction motor: (a) extended estimators for joint state and rotorspeed estimation (considering the latter as a parameter) (Kim et al., 1994; Du et al., 1995), (b) linear regression models (Ve´lez-Reyes, 1992) and (c) model reference adaptive systems (Schauder, 1992; Peng and Fukao, 1994).
370
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
Algorithms of type (a) require a high sampling frequency so that a simple model-discretization algorithm can be used, and are computationally intensive, anyway. Algorithms of type (b) are very simple and easy to implement in real time. In addition, they are well-known, and have been used successfully in many applications. Calculation of the integrals and derivatives of signals is required. However, it will be shown that a state-variable filter can be used for this purpose. Algorithms of type (c) have been widely applied in this field. Their main drawbacks are their sensitivity to inaccuracies in the reference model, and the difficulties of designing the adaptation block. In this paper an algorithm of type (b) is presented, and its implementation details are given. The proposed algorithm estimates rotor-speed, together with slip frequency and rotor-flux frequency. Rotor-speed identifiability is treated in Section 2. The computation method for rotor speed is presented in Section 3. This method is similar to that proposed by Vas (1993), but includes modifications that ease the implementation of a state-variable filter to obtain the derivatives and integrals involved during calculation. The differences will also be highlighted in Section 3. Robustness against motor parameter variations and measurement errors is analysed in Sections 4 and 5 by computing the sensitivities. Section 6 adds an averaging algorithm to filter noise in the rotor-speed computation. A numerical simulation and test-rig results are presented in Section 7 for a 15 kW induction motor with the parameters shown in Appendix A. This motor is used throughout the paper. The algorithm proposed here is then compared with that proposed by Schauder (1992), which has motivated a lot of research and produces reasonably good results. Finally, the main conclusions of this paper are listed in Section 8. The paper is intended not only to describe in detail an alternative for rotor speed estimation, but also to give a good insight into the features and limitations of the motor model used, which could be applicable to other estimation algorithms described in the literature.
2. Induction-motor modelling and identifiability The vector voltage and flux-linkage equations of a squirrel-cage induction motor in a fixed reference frame are (Leonhard, 1990): dwS m "RS i # S S dt
(1)
dwR 0"R i # !ju wR RR R dt
(2)
wS"¸ i #¸ i SS MR wR"¸ i #¸ i . MS RR
(3) (4)
Typically, the rotor speed varies slowly, and can be considered as a parameter. In this case, the motor admittance can be written as the frequency response transfer function between stator current and voltage i (u, u ) R Y (u, u )" S S R m (u, u ) S R R R#j(u!u ) R ¸ R
" . R R (R #j¸ u)#j(u!u )(R #jp¸ u) S S R S S ¸ R (5) The identifiability of rotor speed by using stator currents and voltages has to be investigated by considering the sensitivity of motor admittance to rotor speed. Note that the motor admittance is a complex function, with real and imaginary parts for each harmonic in the supply voltage; therefore, the response of the induction motor for each frequency component could be used to calculate the parameters in Eq. (5) (including rotor speed). However, the asymptotic value of the motor admittance with increasing harmonic order is 1 Y " lim Y " (6) S-*. uPR S jp¸ u S showing that the leakage inductance p¸ is the only S motor parameter in this limit, whereas the rotor speed is absent. Therefore, only fundamental and low-order harmonics can be used to estimate the rotor speed. To illustrate this, the percentage deviation in motor admittance from its asymptotic value (D Y !Y D/½ ) is S S-*. S-*. shown in Fig. 1 for the fundamental, 5th, 7th and 11th harmonics, as a function of motor operating point, with the flux at its rated value. The parameters in Appendix A were used. The torque and rotor-speed p.u. values are referred to their rated values. Fig. 1 shows that information from the 5th harmonic and above is only relevant for very low rotor speed. Other standard motors produce similar results because the p.u. parameter values for all these motors are very similar. This justifies filtering out higher harmonics when estimating rotor speed. In addition, this is desirable to attenuate high-frequency noise. For the fundamental only, the sensitivity of the motor admittance to rotor speed is LY u S Rnom" Lu ½ R S !ju (1!Y (R #jp¸ u)) Rnom S S S . (7) R R (R #j¸ u)#j(u!u )(R #jp¸ u) ½ S S R S S S ¸ R The magnitude of this sensitivity as a function of the operating point is plotted in Fig. 2. It is high for all operating conditions, particularly at low torque. Hence,
A
B
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
371
Fig. 1. Deviation in % between the motor admittance and its asymptotic value for several harmonics: (a) fundamental, (b) 5th, (c) 7th and (d) 11th.
Fig. 2. Magnitude of the admittance sensitivity with respect to rotor speed as a function of the motor’s operating point.
the motor admittance at the fundamental frequency always contains enough information to estimate the rotor speed.
their derivatives and integrals. The rotor current in Eq. (2) cannot be measured, but it can be eliminated using (4):
3. Rotor-speed computation. Problem formulation
¸ dw R ¸ ¸ M R# R M w #(1!p)¸ i "ju M wR . SS R¸ ¸ dt ¸ ¸ R R R R R
The model (1)—(4) must be rewritten to relate rotor speed to stator-voltage and stator-current vectors and
In addition, the derivative of the rotor-flux vector in (8) can be obtained as a function of stator-voltage and
A
B
(8)
372
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
stator-current vectors using (1), (3) and (4):
A
B
di dwR ¸ " R m !R i !p¸ S . S SS S dt dt ¸ M Using (9), (8) can be rewritten as y
(9)
P
u
dggeggf def R m # R m dt "u j m dt N y"u u 2 R 1 R 1 ¸ R
P
P
(10)
where di ¸ dwR "m !R i !p¸ S (11) m " M S SS S dt 1 ¸ dt R di m "m !R i !¸ S . (12) 2 S SS S dt Equation (10) is the model used for rotor-speed computation. As shown in (11) and (12), u does not affect the R calculation of y and u in (10). Hence, the quotient of the moduli of these complex numbers can be used to calculate u . Note that the sign of u is not included. This can R R easily be put right by attaching the sign of the scalar product ReMuy*N to the modulus of u. The derivatives and integrals required in Eq. (10) can be calculated using a state-variable filter (Van Hamme et al., 1991). If rotor dynamics are assumed to be considerably slower than electromagnetic dynamics, u can be R considered as a parameter when applying the filter. Therefore, Eq. (10) can be treated as a linear time-invariant differential equation, which also holds if the variables involved are substituted by the corresponding filtered variables. The results in Section 7 were obtained using a fourth-order Bessel band-pass filter with cut-off frequencies at 5 Hz and 100 Hz to calculate derivatives and integrals. It also suppresses noisy high frequencies, avoids drift error in low-frequency integration, and reduces phase distortion in the filtered signals. A digital version of this filter has been obtained by exact timediscretization for the state matrix (using an exponential matrix) and a trapezoidal hold for the input. The digital filter is applied separately to the real and imaginary components of stator-voltage and stator-current vectors to obtain the corresponding filtered values and their derivatives and integrals. More details of the filter design are given in Appendix C. Initially, the necessary induction-motor parameters are assumed to be known. However, the sensitivity of the rotor-speed computation to errors in these parameters can be calculated. This problem will be addressed in Section 4. Eq. (10) can also be used to estimate the slip and rotor-flux frequencies. For this purpose, m can be rewritten as 1 ¸ dwR ¸ 1 dt R#ju m " M " M wR 1 ¸R dt t dt ¸ R R ¸ :ju M wR"ju m dt (13) 1 ¸ R
P
A
B
where u is the rotor-flux frequency. Equation (13) assumes that the rotor flux magnitude changes very slowly (its derivative is almost zero). Combining (10) and (13),
P
R ! R m dt"ju m dt (14) 2 S 1 ¸ R where u is the slip frequency. Equations (13) and (14) S also hold for the signals filtered by the state-variable filter. If complex numbers y and y are defined as 1 2 y "m (15) 1 1 R y "! R m dt (16) 2 2 ¸ R the rotor-flux and slip frequencies can be calculated as the quotient of the moduli of y and u or y and u, 1 2 respectively. Although (13) is valid only when the derivative of rotor-flux magnitude is zero, the approach works reasonably well since the assumption is almost always true. This algorithm to compute the slip frequency somewhat resembles that proposed by Vas (1993). There, ¸ /¸ w in (13) is computed previously by integrating M R R (9). Then, (8) is used to obtain an expression for the slip frequency as follows: dividing both members of equation (8) by ¸ /¸ w one obtains: M R R 1 dt R i R#ju# R 1#¸ S "ju . (17) M R t dt ¸ wR R R Taking only the imaginary part of (17), leads to:
P
A
~uS dggeggf i wR* R ¸ u# R M Im S "u R ¸ t2 R R
G H
B
(18)
where the rotor speed is calculated by subtracting the slip frequency (u in (18)) from the rotor-flux frequency (u). S The rotor-flux frequency is calculated by differentiating the angle of w with respect to time. Therefore, the R computation of slip frequency carried out by Vas (1993) is exact. However, the calculation of the derivatives and integrals required when implementing (18) is not addressed there. Again, the use of state-variable filters could be the solution, but the effect of using the filtered variables is difficult to predict since (18) is a non-linear equation of the state variables. This is the main disadvantage of the calculation procedure proposed by Vas (1993) because the exact calculation of derivatives and integrals is troublesome in a practical implementation, above all if noise is present in the measurements. The main advantage of the alternative formulation proposed in this paper is that the application of a state-variable filter is straightforward because (10) may be treated as linear and timeinvariant if the rotor speed varies slowly. In addition, it makes it possible to compute the rotor speed, the slip frequency and the rotor-flux frequency directly from the
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
same equation. Although in this case the slip and rotor-flux frequencies are not calculated exactly, the results obtained will show that the assumption involved in (13) (slow variation in rotor-flux magnitude) is adequate.
373
The rotor speed can be calculated as the modulus of y/u, written as a function of motor admittance Y : S
A
A
R ¸ RR 1!j R ! R #R S #j p¸ u! S R S R¸ S y ¸ u ¸ u R R R " u 1 (1!(R #jp¸ u)Y ) S S S u
The rotor-speed calculation uses the induction motor parameters. In this section the influence of parameter errors is assessed by calculating the sensitivities of computed rotor-speed to motor parameters in steady state. The parameters considered are R , R , ¸ and p¸ , S R S S because in a standard motor one can assume that: (19)
The steady-state sensitivities are found under two assumptions: (a) only the fundamental of induction motor variables is present, and (b) there are no measurement errors. The steady-state values of u and y are then 1 u" (m !(R #jp¸ u)i ) S S S u S
A
y" 1!j
A
(20)
B A
R ¸ R m ! R #R S S R¸ ¸ u S R R
BB
RR #j p¸ u! S R S ¸ u R
i . S
Y
S
.
(22)
4. Sensitivity to errors in model parameters
¸ +¸ p¸ +l #l . S R S S R
BB
(21)
Note that the motor admittance in (22) is obtained from voltage and current measurements. The relative sensitivities of computed rotor speed to motor parameter errors can be obtained easily using (B.1) from Appendix B. They vary with the motor’s operating point, and are plotted in Fig. 3 for each parameter. They give the percentage error in computed rotor speed when there is a 1% error in a motor parameter. In Fig. 3 the base value for the rotor-speed error (100%) is the rated rotor speed. The base value for the parameter error is the actual parameter value. The torque and rotor-speed p.u. values are referred to their rated values. Fig. 3 shows that the most critical parameter is R , R mainly at high torque. R has a small influence (note the S 10~3 factor in axis scaling), except at low speeds. Finally, ¸ and p¸ also have a reduced and very similar influR S ence, which increases with torque. The actual rotor speed is not significant in these sensitivities except for R . Due S to the fact that, in steady state, the motor parameters affect only the slip frequency computation, every sensitivity in Fig. 3 tends to zero when the motor is close to no load (except R at very low speed). S
Fig. 3. Sensitivities of rotor-speed computation with respect to parameters: (a) R , (b) R , (c) ¸ and (d) p¸ . S R R S
374
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
5. Sensitivity to measurement errors
6. Averaging of rotor-speed computation
In this section, the sensitivities of the computed rotor speed to persistent errors in the magnitudes or phases of stator voltage (l , b) and stator current (i , c) are anaS S lysed. The computation of these sensitivities is explained in detail in Appendix B. This analysis should help in specifying sensor precision. The results shown below assume an ideal steady state. These sensitivities are plotted in Fig. 4 as a function of the operating point. Figs 4a and 4c give the % estimation error due to a 1% error in l or i . The base value for S S rotor-speed-estimation errors is the rated rotor speed. The base values for l and i errors are the voltage and S S current rated values. Figs 4b and 4d show the rotorspeed-estimation error produced by a 1-degree error in b or c respectively. Fig. 4 shows that errors in l are relevant only at low S rotor speeds, where they can spoil the estimation. Errors in i become more important when the motor load inS creases, while the actual rotor speed seems to have an influence only at low values. Sensitivities to errors in b or c are of similar magnitude and opposite sign. This proves that only the angle between these vectors is relevant. These last two sensitivities increase when the rotor speed is reduced. If both parameter and measurement errors are present, the error of the calculated rotor speed can be obtained by adding the errors calculated from the sensitivities studied previously. For example, Fig. 5 depicts rotor-speed errors with a 1% error in R (the most troublesome parameter) R and errors in voltage and current measurements (1% error in moduli and a 1-degree error in phases).
The direct calculation of rotor speed by (22) is greatly affected by measurement noise. The influence of noise can be attenuated by averaging. Several approaches may be adopted for this purpose: moving average (MA) filtering, ordinary least squares (OLS) and total least squares (TLS) have been tested by the authors. None of these methods will improve the identifiability of the rotor speed, since this is a property of the motor model adopted. However, they may have differing performance against measurement noise. In this section a total leastsquares approach is described in detail; its results are compared in Section 7 to those obtained by other methods. To apply this averaging algorithm, the sampled observations of u and y are weighted and gathered into two column vectors, U and Y: U "(1!j)1@2[u j1@2u 2 jk@2u ]T (23) k k k~1 0 Y "(1!j)1@2[y j1@2y 2 jk@2y ]T. (24) k k k~1 0 Note that u must take the proper sign, as explained in Section 3. To achieve averaging while fading out old information, the samples of u and y are exponentially weighted with a time constant ¹ q"! , ln j
(25)
¹ being the sampling period. The ‘‘forgetting factor’’ j is a positive number between 0 and 1. A value of j equal to 0 corresponds to a complete revision of the rotor speed estimate at each sample, whereas earlier estimates retain more influence as j approaches 1.
Fig. 4. Sensitivities of rotor-speed computation with respect to measurement errors: (a) l , (b) b, (c) i and (d) c. S S
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
375
Fig. 5. Errors in % of rotor-speed computation when there is a 1% error in R plus (a) 1% error in l , (b) 1 deg. error in b, (c) 1% error in i and R S S (d) 1 deg. error in c.
From these column vectors, a linear regression model can be written for the rotor speed if it is assumed that its variation is very small within the effective averaging window: Y #EY "u (U #EU ) k k Rk k k
(26)
where EY and EU are vectors of the errors up to sampk k ling time k. The cost function minimised in TLS is the weighted total squared error: E EU E2 E EY E2 k # k . EU E2 EY E2 k k
(27)
In this case, the rotor-speed estimate is (Van Huffel and Vandewalle, 1991): EY E uˆ " k . Rk E U E k
(28)
The sign of the scalar product between U and Y has to be attached as the proper sign of uˆ . Also note that TLS Rk takes account of errors in both vectors, U and Y. Only a recursive form is practical to avoid large storage and computational load in a microprocessor for on-line applications. For this purpose, the calculation of the squared 2-norm of U and Y and the scalar product of k k both column vectors can be carried out recursively by E2 E U E2"(1!j)u2#j E U k k~1 k
(29)
E2 E Y E2"(1!j)y2#j E Y k k~1 k
(30)
YT U "(1!j)u y #jYT U . k~1 k~1 k k k k
(31)
A useful index of the accuracy of the estimate is the correlation coefficient r : k YT U k k r" . k EU E EY E k > k
(32)
This is the cosine of the angle between vectors U and Y . k k This angle will be zero if these column vectors are collinear, with the rotor speed as the scale factor between them. The closer this factor is to 1, the better the rotorspeed estimation is. r is used in the algorithm to decide if k the rotor-speed estimate is to be updated at sampling time k. The analysis for MA or OLS could be carried out as described here, but it has been omitted for conciseness. For further information, the reader is referred to Appendix D. TLS is preferred as the most comprehensive approach, since errors in both sides of (26) are considered.
7. Simulation and test-rig results In this section the estimation method proposed in Section 6 is applied to the standard 15 kW, 50 Hz induction motor used throughout. Simulation and field-test results are presented for a start-up from zero to rated rotor speed, with load torque proportional to rotor speed. The torque was set to half its rated value at rated rotor speed. The sampling frequency is fixed at 1 kHz (¹"1 ms). Floating-point arithmetic is used. To compute derivatives and integrals, a digital fourth-order Bessel band-pass filter is used, with cut-off frequencies
376
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
5 Hz and 100 Hz (Appendix C). The induction motor parameters used in the simulation and estimation were given by the manufacturer. A forgetting factor j, equal to 0.95, is used. In the recursive algorithm the rotor-speed estimate is updated only when the correlation coefficient (32) is greater than 0.95. 7.1. Simulation results The induction motor supply in the simulation is a sinusoidal voltage source with a variable frequency ramping from 0 to 50 Hz. The rise time is 2s. The V/Hz relationship is equal to the rated one. A load inertia value of 1.5 kgm2 is used. Zero-mean Gaussian white noise of standard deviation 0.025 p.u. is added to the components of m and i . Fig. 6 shows the results of rotor-speed, S S rotor-flux-frequency and slip-frequency estimation, applying the TLS algorithm. Their p.u. values are referred to the rated supply frequency. The correlation coefficient is also plotted. The small delay in the estimates is caused by the state-variable filter and the averaging procedure. The algorithm shows good noise rejection. Fig. 7 shows the estimation error for rotor speed, rotor-flux frequency and slip frequency. The slip frequency, calculated as the difference between the actual supply frequency (without noise) and the estimated rotor speed, is also plotted for comparison. The measurement noise mainly affects the rotor-speed and rotor-flux-frequency estimates, whereas it decreases significantly in the slip-frequency estimation. Therefore, if it is necessary to
know the slip frequency with accuracy, it is advisable to estimate it directly (compare Figs. 6d and 7d). The algorithms presented in this paper are compared with that proposed by Schauder (1992) in Fig. 8. Schauder’s algorithm estimates the rotor speed to make the rotor-flux vector calculated by (8) collinear with that obtained by (9). Eq. (9) does not depend on rotor speed and is the reference model, whereas (8) is the adaptive model. Rotor speed is obtained from a PI adaptation block to reduce the angular error between the vectors. The motor model used by Schauder is of the same nature as that used in this paper. In Fig. 8 the rotor-speedestimation errors obtained by TLS and Schauder’s algorithms, with a 50% deviation in every parameter, are compared. The gains in the PI adaptation block in Schauder’s algorithm have been chosen to give good rotor-speed estimation in the absence of parameter errors. Fig. 8 shows that the TLS algorithm is less sensitive to parameter errors than Schauder’s algorithm. Only for the rotor resistance does Schauder’s algorithm show better behaviour in the transient state, although in steady state the algorithms have similar performance. The leakage-inductance error is critical in Schauder’s algorithm, producing instability as shown in Fig. 8d. This is due to the large influence of this parameter on the angle of the rotor-flux vector calculated from (9). The angular error produced makes the behaviour of the adaptive model deteriorate considerably. Further comparisons have been carried out, looking at the noise rejection of the algorithms when the actual
Fig. 6. Estimation of rotor speed, rotor-flux frequency and slip frequency during a start-up: (a) Correlation coefficient. Comparison of actual (solid line) and estimated (dashed line) values for (b) the rotor speed, (c) supply frequency and (d) slip frequency.
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
377
Fig. 7. Estimation error of (a) rotor speed, (b) rotor-flux frequency and (c) slip frequency, and (d) slip frequency calculation using the rotor-speed estimates and the actual supply frequency.
Fig. 8. Rotor-speed-estimation error obtained with a 50% error in every parameter using TLS (solid line) and Schauder’s algorithms (dashed line): (a) R , (b) ¸ , (c) R and (d) p¸ . S R R S
values of the parameters are used. Fig. 9 shows estimation errors for MA, OLS, TLS and Schauder’s algorithm during the motor start-up. The transient is as described at the beginning of this section. Zero-mean Gaussian white noise of standard deviation of 0.025 p.u. has also
been added to the components of m and i . Fig. 9 shows S S that the performance of MA, OLS and TLS is very similar in both transient and steady state. In these three cases the mean value of the estimation error (k ) during e the transient is directly related to the delay in speed
378
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
Fig. 9. Rotor-speed-estimation error obtained with noise in the measurements: (a) MA, (b) OLS, (c) TLS and (d) Schauder’s algorithm.
estimation. The algorithms are unbiased in steady state. Schauder’s algorithm is not a simple averaging procedure, and its error mean value during the transient cannot be compared in the same way. Schauder’s algorithm shows a very small bias in steady state. Noise rejection of the examples in Fig. 9 can be better understood by looking at the standard deviation of the estimation error (p ) in steady state. Table 1 shows k (during e e the transient) and p (in steady state) for the data in e Fig. 9. It is shown that Schauder’s algorithm offers better results (if parameter errors are not too large) when attenuating estimation noise. All the averaging algorithms proposed in this paper show similar noise rejection in steady state, and similar delay during the start-up. The combined effect of small errors in the parameters and measurement noise in the proposed algorithm has been investigated further by simulation. Fig. 10 shows the rotor-speed-estimation errors obtained in the above starting transient by the TLS algorithm with a 50% deviation in every parameter and noise in the voltage and current measurements (zero-mean Gaussian white noise of standard deviation 0.025 p.u.). As before, Fig. 10 shows bigger errors during the transient than in the steady state. Table 2 shows the mean k and the standard deviation p e e of the rotor-speed estimate error in steady state. The bias of the estimation is due to parameter errors, while the estimation noise come from noise in the measurements. 7.2. Test-rig results The field test carried out on the test rig was similar to the simulation test. The induction motor drives a perma-
Table 1 Means and standard deviations of rotor-speed-estimation errors using several algorithms Algorithm
k ]103 e
p ]103 e
MA OLS TLS Schauder
!12.5 !13.8 !13.3 7.2
4.17 4.21 4.18 1.58
nent-magnet synchronous machine which feeds a 7 kW resistive load. The load torque is proportional to the rotor speed. The test consists of a start-up to rated speed with a PWM inverter supply. Analogue Bessel filters have been used to prevent aliasing. Fig. 11 shows the real part of the measured stator-voltage and stator-current vectors (after the hardware filter) in p.u., together with their filtered values using the digital state variable filter proposed. A tachometer gives a rotor-speed measurement for comparison with the estimated values. All variables are sampled and processed later in a recursive form; TLS averaging is used. Fig. 12 shows the calculated values of EYE, EUE, EY E and EY E (filtered values of u, y, y and y respec1 2 1 2 tively) during the start-up. As can be seen, EUE is proportional to the rotor-flux magnitude, whereas EYE, EY E 1 and EY E have similar forms to those of the rotor speed, 2 the rotor-flux frequency and the slip frequency, respectively. Fig. 13 shows the correlation coefficient, the rotorspeed estimates, the difference from rotor-speed measurements, and the slip frequency estimates. These results
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
379
Fig. 10. Rotor-speed-estimation error obtained with a 50% error in every parameter using TLS and with noise in the measurements: (a) R , (b) ¸ , S R (c) R and (d) p¸ . R S Table 2 Means and standard deviations of rotor-speed-estimation errors in steady state when there are errors in the parameters and noise in the measurements (using TLS) Error in
k ]103 e
k ]103 e
R S ¸ R R R p¸ S
!0.43 !0.72 !5.87 !0.91
4.22 4.18 4.16 4.35
compare well with the equivalent ones taken during simulation (Figs. 6 and 7). Note that the noisy error in Fig. 13c is mainly due to the noise in the tachometer measurements.
8. Summary of results The main results presented here can be summarised as follows: (1) The rotor speed, rotor-flux frequency and slip frequency of an induction motor can be computed satisfactorily using stator currents and voltages only. The basic formulation has been described, and a statevariable filter and a recursive TLS algorithm have been proposed to yield good estimates from severely noise-affected directly calculated values.
(2) From sensitivity analysis it has been concluded that the most critical parameter is R , mainly for highR torque values. R has little influence in rotor speedS estimation, except at low speed. Errors in ¸ and p¸ R S do not have a significant effect on rotor-speed estimation, although their sensitivities increase as torque increases. The actual rotor speed is not important, except when considering errors in R . S (3) Looking at errors in the available measurements, it has been proved that magnitude errors in m are S relevant only at low speeds, where they can seriously spoil the estimates. Magnitude errors in i become S more important as motor load increases, while the actual rotor speed seems to have influence only at low values. The sensitivity to errors in the angle between m and i increases as the rotor speed is reduced. S S (4) Slip-frequency estimation is mainly sensitive to errors in induction motor parameters, whereas the rotorflux frequency is mainly sensitive to measurement noise. Because of this, rotor-speed estimation would be improved by subtracting the slip-frequency estimate from the supply frequency, if the latter is available. (5) Results of a simulated start-up and from a field test have been presented, for a standard 15 kW induction motor. A comparison has been carried out between the TLS algorithm and that proposed by Schauder (1992). The TLS algorithm has a lower sensitivity to parameter errors, although its noise attenuation is not quite as good. The rotor-speed estimates seem accurate enough to be used in closed-loop control.
380
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
Fig. 11. Real parts of (a) stator-voltage and (b) stator-current vectors, and their corresponding filtered values: (c) voltage and (d) current.
Fig. 12. 2-norm of column vectors (a) Y, (b) U, (c) Y1 and (d) Y2.
Acknowledgements This work has been partially supported by the DGICYT of the Spanish Government with the project number PB91-0216-C02-00. The test rig has been built thanks to the financial support of ‘‘Patronato de ICAI’’.
The results improved dramatically when trying to answer questions raised by SIEMENS S.A. (Fa´brica de Getafe) during a collaborative project (ref. I#D0008/94), partially financed by the Autonomic Government in Madrid (AGM). J.L. Zamora is being supported by AGM towards his Ph.D. Thanks are also due to Professors
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
381
Fig. 13. (a) Correlation coefficient, (b) rotor-speed estimates, (c) difference between rotor-speed estimates and measurement, and (d) slip frequency estimates.
R. Faure and R. Rodrı´ guez Vigo, Mr. M. Navajas, Mr. D. Mun8 oz and Mr. A. Querol for their help setting the test rig, and to Professor J. P. Norton for his suggestions on the typescript. Appendix A Induction motor data (given by the manufacturer, INDAR S.A.): P (kW) 15 rated f (Hz) 50 rated » (V) 220 rated
¸ (H) S ¸ (H) R ¸ (H) M
0.0413 0.0416 0.0400
p R ()) S R ()) R
0.0660 0.224 0.177
Appendix B If H"Heju is a complex function of several scalar parameters, its sensitivity to any parameter h is:
A
B
LH h LH u Lu h " ej #jHeju Lh H Lh Lh Heju LH h Lu " #j h. Lh H Lh
(B.1)
The errors in u and y (moduli of vectors u and y, respectively in Eqs. (20) and (21)) due to small errors in the magnitude and the phase of stator-voltage (l , b) S and stator-current (i , c) vectors can be calculated using S Eqs. (B.2). The results can be summarised in matrix form as
C D C
D
Du a a a a " 11 12 13 14 Dy a a a a 21 22 23 24
CD
Dl S Db . Di S Dc
(B.3)
The coefficients a in Eq. (B.3) can be obtained easily ij from Eqs. (B.4) and (B.5) below, derived from Eqs. (20) and (21) using Eq. (B.2):
GA
B
Du 1 m Dl S#jDb " Re S u l u u S
A BH BA B A BBA BH
Di i S#jDc ! S (R #jp¸ u) S i u S S
GA A
Dy m R "Re S 1!j R y ¸ u y R
RR #j p¸ u! S R S ¸ u R
(B.4)
Dl i ¸ S#jDb ! S R #R S R¸ l y S S R Di S#jDc i S
The equation (B.1) is used to calculate the sensitivities of the rotor-speed computation to errors in model parameters (Section 4). On the other hand, a small variation in H can be computed as:
From Eq. (10) the error in the rotor-speed estimate due to small errors in u and y is
DH 1 DH "(DHeju#jHeju Du) #jDu. u" H Hej H
y 1 DuL "! Du# Dy R u2 u
(B.2)
.
(B.5)
(B.6)
382
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383
and, using (B.3), the relative errors in the computed rotor-speed due to errors in the magnitudes and the phases of the voltage and current vectors can be obtained as Duˆ ya a R"! 11# 21 Dl u2 u S Duˆ ya a R"! 12# 22 Db u2 u
(B.7) (B.8)
Duˆ ya a R"! 13# 23 Di u2 u S Duˆ ya a R"! 14# 24 . Dc u2 u
(B.9) (B.10)
It is easy to calculate the sensitivities of rotor speed estimates using (B.7)—(B.10). Appendix C A band-pass fourth-order Bessel filter with cut-off frequencies at 0.1 and 2 p.u. (5 Hz and 100 Hz) has been used as state-variable filter whose transfer function is: bs2 F(s)" (C.1) s4#a s3#a s2#a s#a 3 2 1 0 with b"142.5, a "20.68, a "158.3, a "163.3 3 2 1 y a "62.34. The block diagram for a state-variable filter 0 of this type is shown in Fig. C.1, where u is the original signal and y the filtered signal. As can be seen with this structure, the state variables are the integrals and derivatives of the filtered signal. The state equations for this filter in matrix form are:
C DC : y dt y dy dt d2y dt
0 0 " 0 !a
1 0 0 0 1 0 0 0 1 !a !a !a 0 1 2 3
CD
0 0 # u. 0 b
DC
D
::y dt2 :y dt y dy dt
Fig. C.1. Block diagram for the state-variable filter.
ment noise is to apply a first-order weighted movingmean filter: y uˆ "juˆ #(1!j) k , (D.1) Rk Rk~1 u k where j is the forgetting factor. D.2. Ordinary least squares (OLS) applied to rotor-speed estimation The following linear regression model is used in this case: Y #EY "u U k k Rk k
(D.2)
where EY is the output-error vector at sampling time k. k In OLS it is assumed that the vector of regressors U is k known exactly (the error affects only the output). The minimum value of the squared 2-norm of error vector E EY E2 is calculated as (see (Van Huffel and Vandewalle k (1991))): YT U uˆ " k k Rk E U E2 k
(D.3)
Everything can be calculated recursively, as in Section 6. References (C.2)
Appendix D D.1. Moving average (MA) filtering applied to rotor-speed estimation The simplest procedure to average the computed values of rotor speed and attenuate the effect of measure-
Du, T., Vas, P., Stronach, F., 1995. Design and application of extended observers for joint state and parameter estimation in high-performance AC drives. IEE Proc.-Electr. Power Appl. 142(2), 71—77. Kim, Y.R., Sul, S.K., Park, M.H., 1994. Speed sensorless vector control of induction motor using extended Kalman filter. IEEE Transactions on Industry Applications 30(5), 1225—1233. Leonhard, W., 1990. Control of Electrical Drives. Springer-Verlag, ch. 10, pp. 142—152. Peng, F.Z., Fukao, T., 1994. Robust speed identification for speedsensorless vector control of induction motors. IEEE Transactions on Industry Applications 30(5), 1234—1240. Schauder C., 1992. Adaptive speed identification for vector control of induction motors without rotational transducers. IEEE Transactions on Industry Applications 28(5), 1054—1061.
J.L. Zamora et al. / Control Engineering Practice 6 (1998) 369—383 Van Hamme, H., Pintelon, R., Schoukens, J., 1991. Discrete-time Modelling and Identification of Continuous-Time Systems: a General Framework. In: Sinha, N.K., Rao, G. P., (Eds.), Identification of Continuous-Time Systems. Kluwer Academic Publishers, ch 2, pp. 17—28. Van Huffel, S., Vandewalle J., 1991. The total least squares problem. Computational aspects and analysis. Frontiers in Applied Mathematics, SIAM.
383
Vas P., 1993. Parameter Estimation, Condition Monitoring and Diagnosis of Electrical Machines. Oxford University Press, ch. 5, pp. 137—142. Ve´lez-Reyes M., 1992. Decomposed algorithms for parameter estimation. Ph.D. Thesis. Massachusetts Institute of Technology, ch. 7, pp. 147—175.