Vous êtes sur la page 1sur 7

EFFECTIVE ESTIMATION OF SPEED AND ROTOR POSITION OF A PM

SYNCHRONOUS MOTOR DRIVE BY A KALMAN FILTERING TECHNIQUE

A.Bado, S.Bolognani, H.Bigliotto

Dept. of Electrical Engineering, University of Padova


via Gradenigo 6 / A , 35131 Padova, Italy

Abstract - The paper deals with the estimation of of the drive is not completely attained.
the speed and the rotor position of a permanent State observers have been also employed for
magnet synchronous motor drive by means of a the estimation of speed and rotor position with
stochastic filtering technique. The proposed high accuracy [ 5 - 6 1 . However the drive is
estimation algorithm does not require the described by non linear equations and therefore
knowledge of the mechanical parameters and of the the stability of the observer is generally not
initial rotor position, thus it overcomes two of assured and its design is not easy.
the worst drawbacks of the speed and position Stochastic filtering techniques seem to be
estimation systems already developed. In addition, the most suitable strategies for the state
the estimation algorithm is merged with a estimation of electrical motors [ 7 ] . They have
predictive algorithm for the control of the motor found wide application in the estimation of speed
currents. The two algorithms share some routines and rotor position of synchronous motor drives ( 8 -
that reduces the computational charge. 141, mainly through the use of extended Kalman
filters. Computation requirements, parameter
sensitivity and initial conditions are items that
INTRODUCTION still unfavorably characterize this approach.
This paper describes an effective estimation
The torque control of a permanent magnet of the speed and rotor position of a permanent
synchronous motor drive needs the knowledge of the magnet synchronous motor drive by a Kalman
rotor position to perform an effective current filtering technique. The proposed estimation
control. In addition when a speed loop is algorithm does not require the knowledge of the
inplemented, the speed feedback is also needed. To mechanical parameters which have, in practice, the
these purposes the synchronous motors employed in largest range of variation. Robustness of the
servo drives are usually equipped with an algorithm is therefore significantly increased.
electromechanical sensor mounted on their shaft Furthermore the speed and position estimation
(commonly a resolver or an absolute encoder). By system operates appropriately at startup even if
manipulating the outputs of such a sensor the the actual unknown rotor position differs
speed and the rotor position are obtained. considerably from the initial value assumed by the
The desire of reducing the number of sensors algorithm. It is able to converge quickly to the
has stimulated the research towards the estimation actual value thus avoiding high speed swings at
of speed and rotor position signals from the startup or expedients to force the motor in a
terminal quantities of the motor. Different known home position before startup. Two of the
approaches have been developed for such a task. By worst drawbacks of the speed and position
manipulating the motor equations the speed and estimation systems already developed are therefore
rotor position are expressed as a function of overcame. In addition the estimation algorithm is
.
terminal quantities [ 1 ] This approach requires an merged with a predictive algorithm for the control
accurate motor model, it involves computation of the motor currents. The two algorithms share
difficulties due to derivative terms and it some routines with advantages for the computation
exhibits a high parameter sensitivity. By requirements. Simulation results confirm the
measuring the current ripple in a current accuracy of the estimation algorithm and its
controlled PWM drive, the phase inductance can be effectiveness.
detected on-line [ 2 ] . This yields to the rotor
position reconstruction, provided that the motor
has an anisotropic rotor and the dependence of the TEE EXTENDED KALMAN FILTER ALGORITBM
inductance on the rotor position is known. By the
detection of the position dependent terms in the The extended Kalman filter is an optimal
voltage of the stator windings or in search coils, recursive algorithm suitable to estimate the state
the rotor position can be indirectly measured ( 3 - of nonlinear dynamic systems [15].
4 1 . These techniques are more suitable for dc For the purpose of this paper the filter
brushless drives and they may exhibit an uncertain algorithm can be explained by considering a system
operation at low speed. In addition, in the whose dynamic equation is
strategies proposed in ( 2 - 4 1 the speed is not
estimated and thus the "sensorless" characteristic

0-7803-0695-3192 $3.00 '1992 IEEE


where
x(t) = f[x(t)] + B u(t) + u(t)

where the initial state vector x(to) is dgscribed


as a Gaussian random vector with mean xo and
covariance Po, u(t) is the deterministic input Note that the filter gain Kk used in the
vector and u(t) is a zero-mean white Gaussian
innovation step is computed in a recursive way
noise, independent of x(t ) , and with covariance
based on the prior predicted estimates. Note also
Q(t). The noise u(t) is Pntroduced to take into
that a constant covariance R is assumed in ( 6 ) .
account any system disturbance and model
inaccuracy.
Let the available discrete time measurements DESCRIPTION OF THE DRIVE
be modeled by the linear equation
A schematic of the drive considered in this
paper is shown in Fig. 1. The power stage of the
drive consists of a sinusoidal, isotropic, PM
synchronous motor fed by a voltage source PWM
inverter. The digital control and estimation
where p(tk) is a zero-mean white Gaussian noise,
independent of x(to) and u(t), and with covariance
R(tk). The noise p(t) is introduced to take into
account any measurement noise and inaccuracy.-
The optimal state estimate sequence x(tk)
generated by the filter is a minimum variance
estimate of x(t). Both the optimal state estimate
and its covariance P(tk) are computed in a two-
step loop. Let us consider the time interval from
tk-l to tk. The first step does a prediction of
the state vector and covariance matrix in tk on PREDICM
I l l
the basis of the most recent estimates, of the CUR R EN1
CONTROL
input variables and of the mathematical model of
the system (prediction step or time propagation
step). This is obtained by integrating (1) from
tk-l to tk, supposing that u(t) is equal to zero.
EXTENDED KALMAN FILTER
In this work a simple rectangular integration
technique is used, so that (the symbols are
defined in Nomenclature)
Fig. 1. Schematic of the drive.

system of the drive is also shown in Fig. 1. For


the sake of simplicity, unity gains for all the
feedbacks and for the power converter have been
assumed.
'k/k-l = 'k-l/k-l + ('k-l'k-l/k-l +
The main control tasks are the speed
control, the predictive current control and the
generation of the PWM commands Sa,Sb and Sc for
the inverter switches. The speed controller
delivers the q-axis current reference (torque
where
reference). The d-axis current is kept equal to
zero to maximize the torque/current ratio. The
current controller evaluates the references of the
stator voltages by a predictive algorithm.
Therefore the controller uses the predicted
current estimates rather than the actual current
feedbacks.
and a constant covariance matrix p is supposed. The estimation task is to derive the speed
The -second step updates the predicted state and position estimates of the motor by means of an
estimate x ~ / ~ and- ~covariance Pk/k-l comparing extended Kalman filter.
the predicted output variables with the In order to apply the Kalman filter
corresponding measured ones (measurement update algorithm as described in the previous Section,
step or innovation step). To this end the the motor state equations and the output equations
following equations are used must be derived and written like in (1) and ( 2 ) .
To this purpose the motor is described in a
stationary two-axis reference frame. The model
voltages and currents are therefore related to the
actual physical quantities by simple linear
(5) combinations with constant coefficients. In
addition the motor equations are derived supposing

952
a rotor inertia of infinite value. As a FLOW-CHART OF TEE CONTROL AND ESTIMATION ALGORITHM
consequence the torque equation reduces to a speed
derivative equated to zero and any mechanical load The digital control and estimation algorithm
parameter as well as the load torque disappears in proposed in this paper is organized according to
the motor equations. This means to assume a the flow-chart of Fig. 2. The algorithm consists
constant speed in the prediction step and to of an initialization routine, followed by a
produce the entire speed dynamics by the control cycle made up of six software ( SW) blocks
innovation step. which are sequentially executed at each control
At last, the motor equations result ( 1 ) and and estimation loop. Fig. 3 shows the time
( 2 ) where the state, input and output vectors are sequence of the SW blocks together with the
sampling instants at which the current
measurements are carried out and the PWM cycles
start.
A sampling time of 100 p s is supposed. It

and the syster?.,control and output matrices are

0 WO sin0 0
E3 PREDlCTlON

SPEED COMOL
STEP

C U R R W CONTROL

RiR
- _ WO cosQ 0
L
0

0 W O
O OI

Fig. 2. Flow-chart of the control and estimation


0 algorithm

0 should be long enough to allow the whole digital


algorithm to be implemented in a fast digital

I
0 0 0 device as, for instance, a Digital Signal
Processor.
0 0 0

H = 1 1

0
0

1
0

0 6 1 2 3 4 5 6 1 2 3 4 5 6

From (I) and (10) one realizes that PMSM is


a fourth order nonlinear system. However it is
linear with respect to the input and output. Such
a linearity remains also with respect to the
physical three-phase voltages and currents because Details of the flow-chart are given
of the linear transformations which relate hereafter. The description of the loop SW blocks
physical quantities to stationary two-axis is made with reference to the cycle between tk-l
quantities. The description of the motor dynamics and tk (cycle # k-1).
in a stationary reference frame is thus to be
preferred to the description in a synchronous
rotating reference frame, as the former does not Initialization
introduce further nonlinearities besides those
inherent to the motor. The initialization routine- sets any estimate
to its initial value. A null xo is assumed for
the state variables ( 7 ) , while the initial state
covariance Po has been chosen as follows

95 3
and tk+l, such that the actual current vector
0.01 0 0 0 equals the reference at sampling instant tk+l.
This is obtained by
0 0.01 0 0
Po =
0 0 200 0

0 0 0 1 0

In the initialization routine


covariances Q and R are also fixed. Different

discussed below, while the latter remains


the

values have been experimented for the former as

where
I: :.: [
+

for all the simulations. and

Prediction ster, jSW block Y 1 L

The prediction step SW block executes ( 3 ) and


( 4 ) where the vector of the mean input voltages is
replaced by the reference voltage vector
calculated by the current controller in the
previous control cycle. In the first cycle the Eqs. (17) and (18) have been obtained by
initial state and the initial state covariance are assuming that the speed does not vary
used as the most recent estimates, together with a significantly between tk and tk+l. It may be
null mean voltage vector. worthwhile to know that a parameter estimation can
be also incorporated in this type of current
controller [16].
Speed control ISW block Y 2 L

No particular attention has been paid for -


PWM generation jSW block #4L
the speed control algorithm. It is a standard PI
A space vector modulation strategy is used
digital controller which gets as its input the
error between the speed -reference w; and the to determine the switching instants of the
predicted speed estimate w ~ ~ ~ The- controller
~ . inverter devices so that the voltage vector
t;en computes the q-axis current reference calculated by the current controller is applied to
i ktl, which represents the current to be the machine [17]. A compensation of the inverter
obiasned at the end of the next cycle, by means of dead time could be also incorporated in the PWM
generation SW block [le].

Current measurement and pJ@ a startup (sw


block # S i

This SW block performs the sampling of the


Some saturation actions are also included to actual three-phase currents and transform them
prevent any motor overloading and to improve the into the two-axis stationary reference frame. In
drive speed response. addition it starts the next PWM cycle, programmed
with the switching instant just calculated by the
previous SW block.
Current control jSW block t 3 L

The current control SW block is a predictive Innovation step ISW block 561
algorithm, based on a discrete representation of
the stator equation of the motor. The SW block The innovation step SW block applies ( 5 ) and
calculates the mean value <uk> of the voltage (6) to obtain the optimal estimate of the state
vector ( 8 ) to be applied to the motor between tk vector. The cycle index is then incremented and a

954
new control and estimation cycle can be started. than 5 ms. Fig. 5 shows, on a longer time
interval, the estimated and the actual speed. One
can note that the filter works appropriately also
SINULATION RESULTS during the transient due to the load torque
application. Fig. 6 gives the actual d- and q-axis
Some simulated results of the Kalman filter components of the stator currents. The former
performances are shown in Figs. 4, 5 and 6. They exhibits a large but short transient followed by a
refer to a startup of the drive of Fig. 1, constant profile with null value as required by
followed by a load torque application. Data of the the current controller.
drive are given in Appendix. An initial position
error of n f 4 rad. is considered in the simulation.

rad

-6 '
0 10 20 30 40 M Bo 70 80 90
I
100
t (ms)

0 1 2 3 4 6 6 7 8 D 10
Pig. 6. d- and q-axis actual currents.
t (as1
Fig. 4. Estimated and actual rotor position.
START-UP PROCEDURE
The covariance matrix Q used in the simulation in
given by It can be realized from (1) and (10) that
besides the exact speed w and position 0 , the

I
0.02 0 0 0 1 speed -U and position 0-n also meet the first two
equations for given currents and voltages. Of
course, this second solution is incompatible with
the fourth equation in ( 1 ) and (lo), but it may be
0 0.02 0 0 found by the filter when the initial poaition
Q = -
error is greater than n / 2 rad and the dynamics of
Tc 0 0 400 0 the filter is dominated by the innovation step. In
order to avoid this incorrect filter output, two
0 0 0 0.2 strategies have been developed.
The first solution consists in reducing
adequately the innovation action on the position
estimate, which is then delivered primarily by the
Fig. 4 shows the estimated and the actual prediction step based on the motor model. To this
rotor position. The figure points out that the
filter converges to the actual position in less

Pig. 7. Estimated and actual position during a


t (nr)
startup with large initial position error,
Fig. 5. Estimated and actual rotor speed. (first solution).

955
purpose the artifice which has been used consists
in choosing 4(4,4)=0 in the covariance matrix p .
As a consequence the estimated and the actual
position during a startup with an initial position
error of 3n/4 results like in Fig. 7 , while the rad/r
corresponding speeds are shown in Fig. 8 . One
notes that the filter outputs still converge on
the actual quantities, but the transient is
longer than that of Fig. 4 and a significant
uncontrolled movement of the rotor occurs.

Fig. 10. Estimated and actual speed corresponding


to the startup of Fig. 9.

CONCLUSIONS

The paper describes an effective estimation


._.._...’
.

,
I

of the speed and rotor position of a permanent


-200
o 10 20 30 40 50 60 70 no no io0
magnet synchronous motor drive by a Kalman
t (mr1
filtering technique. The proposed estimation
Fig. 8. Estimated and actual speed corresponding
algorithm does not require the knowledge of the
to the startup of Fig. 7.
mechanical parameters.
Furthermore the speed and position
The second solution, which is also the most
estimation system operates appropriately at
effective, consists in comparing the sign of the
speed with that of the position derivative and startup even if the actual unknown rotor position
varying the estimated position of n rad if the two differs considerably from the initial value
assumed by the algorithm. It is able to converge
signs are different. The check must be done after
quickly to the actual value thus avoiding high
that the settling time of the filter is passed.
speed swings at startup or expedients to force the
This can be verified by detecting the magnitude of
motor in a known home position before startup.
the element P(4,4) of the covariance matrix of the
At last the estimation algorithm is merged
state vector. The settling time is extinguished
with a predictive algorithm for the control of the
when P(4,4) assumes a small value. Such an
motor currents. The two algorithms share some
approach allows a quick convergence of the filter
routines with advantages for the computation
to the actual state with any initial position
requirements. Simulation results confirm the
error as shown by Figs. 9 and 10. One notes also
accuracy of the estimation algorithm and its
that during the transient of the filter the rotor
effectiveness.
does not exhibit any appreciable motion from its
initial position.

rad
‘ 1 B
NOMENCLATURE

control matrix.
f(X) system state matrix.
F partial derivative system matrix.
H output matrix.
K Kalman gain matrix.
P state covariance matrix.
Q system noise covariance matrix.
R measurement noise covariance matrix.
U input vector.
X state vector.
Y output vector.
U system noise vector.
I P measurement noise vector.
E 10 II 20 as 30 i stator current.
t (ns)
ki PI speed controller gains.
stator inductance.
Pig. 9. Estimated and actual position during a
R stator resistance.
startup with large initial position error,
computation time interval.
( second aolut ion ) . TC
V stator voltage.

956
w rotor speed.
6 rotor position. permanent excited synchronous machine",
0 PM stator flux. Proc. of 1989 European Power Electronics
Conf., pp. 1207-1212.
S.Liu, MStiebler, "State estimation of a
Subscripts PWM inverter fed synchronous motor by using
stochastic filtering techniques", Proc. of
1990 Int. Conf. on Electrical Machines, pp.
stationary two-axis quantities.
1206-1211.
synchronous rotating two-axis
R. Dhaouadi, N. Mohan, "Application of
quantities.
stochastic filtering to a permanent magnet
computation cycle index. - synchronous motor-drive system without
predicted estimate (i.e. x ~ / ~ I - ~
electro-mechanical sensors", Proc. of 1990
predicted x(tk)
optimal - estimate (i.e. Int. Conf. on Electrical Machines, pp. 1225-
%k/k E 1230.
optimal x(tk)
M.Schroed1, "Control of a permanent magnet
synchronous machine using a new position-
Bold characters are used for vectors and matrices. estimator", Proc. of 1990 Int. Conf. on
Electrical Machines, pp. 1218-1224.
Symbol < s k > is used to indicate mean value in the
R.Dhaouadi, N.Mohan, "DSP-based control of a
computation cycle from tk to tk+l. Superscript
permanent magnet synchronous motor with
is used for transpose matrices and vectors.
estimated speed and rotor position", Proc.
of 1991 European Power Electronics Conf.,
Vol. 1, pp. 596-602.
REFERENCES
A.H.Jazwinski, "Stochastic processes and
filter theory" Academic Presse, New York,
H.Watanabe, T.Isii, T.Fujii, "DC-brushless
1970.
servo-system without rotor position and
N. Matsui, H. Ohashi, "DSP-based adaptative
speed sensor", Proc. of 1987 Industrial
control of a brushless motor",IEEE 1988 IAS
Electronics Int. Conf, pp. 228,234.
Annual Meeting Conf.
A.B.Kulkarni, M.Ehsani, A novel position
A.J.Pollman,"Software pulsewidth modulation
sensor elimination technique for the
for pP control of ac drives", 1986 IEEE
interior permanent-magnet synchronous motor
Transaction on Industry Applications.1A-22,
drive", Conf. Rec. 1989 IEEE Ind. Appl. Soc.
pp.691-696
Annu. Meeting, pp. 773-779.
G.Yang, T.H.Chin, "Pratical variable-
[31 M.Jufer, "Self-commutation of brushless dc
structure approaches for current control in
motors without encoder", Proc. of 1985
a vector controlled inverter-induction
European Power Electronics Conf., pp. 3.275-
motor system", Proc. of 1990 Int. Power
3.279.
Electronics Conf., pp. 284-290.
141 K.J.Binns, D.W.Shimmin, K.M.Al-Aubidy,
"Implicit rotor position sensing for
permanent magnet self-commutating machine-
APPENDIX
drives", Proc. of 1990 Int. Conf. on
Electrical Machines, pp. 1231-1236.
The drive simulations have been performed
[51 J.H.Lang, G.C.Verghese, "Adaptive estimation
with the following data:
of state and parameters in electrical
machines", IEEE Workshop on Microcomputer
1.55 n
Control of Electric Drives", Trieste, pp.
20.5 mH
C1-1,C1-7, 1989. 0.22 vs
L.A.Jones, J.H.Lang, "A state observer for 0.002 Nms : viscous damping
permanent-magnet synchronous motor", IEEE
0.00022 N ~ :S rotor
~ inertia
Trans. on Ind. Electr., Vol. 36, No. 3, pp.
374-382, August 1989.
The DC input voltage of the inverter is 300
A.M.N.Lima, B.de Fornel, Mrs. Pietrzak-
V. The q-axis current limits have been fixed equal
David, "On stochastic filtering technique
to t16 A.
and its applications to AC numerical drive
Speed reference is equal to 200 rad/s for
systems", Proc. of 1987 European Power
all the simulations. The load torque, when
Electronics Conf., pp. 683-688.
applied, has an amplitude of 1 Nm.
181 U.Kirberg, P. K. Sattler, "State estimation of
an inverter fed synchronous motor", Proc. of
1985 European Power Electronics Conf., pp.
3.229-3.234.
191 P.K.Sattler, K-Starker, "Control of an
inverter fed synchronous machine by
estimated pole position", Proc. of 1988
Power Electronics Specialist Conf., pp. 415-
422.
[lo] P.K.Sattler, K.Starker, "Estimation of speed
and pole position of an inverter fed

957

Vous aimerez peut-être aussi