Вы находитесь на странице: 1из 27

On the Control of the

Permanent Magnet
Synchronous Motor: An Active
Disturbance Rejection
Approach
H. Sira-Ramrez , J. Linares-Flores
and C. Garca-Rodrguez
CINVESTAV-IPN
Departamento de Ing. Electrica
Seccion de Mecatronica
Mexico, D.F., Mexico
Instituto de Electronica y Mecatronica
Universidad Tecnologica de la Mizteca
Huahuapan, Oaxaca,
Mexico
Mexico City, September 2011
The synchronous motor model
The synchronous motor is described by the fol-
lowing nonlinear multivariable model, written
in, so called, a b coordinates
L
s
di
a
dt
= R
s
i
a
+K
m
sin(n
p

r
) +u
a
L
s
di
b
dt
= R
s
i
b
K
m
cos(n
p

r
) +u
b
J
d
dt
= K
m
[i
a
sin(n
p

r
) +i
b
cos(n
p

r
)]
L
d
dt
=
where u
a
and u
b
are the control input voltages,
i
a
and i
b
are the phase currents. The variables,
, and, , stand, respectively, for the angular
displacement and the angular velocity.
r
rep-
resents the angular position of the rotor and

L
is the load torque.
1
We emphasize a needed distinction between
angular displacement and angular position.
The angular displacement is measured and de-
noted by , the angular position is denoted by

r
. We have,

r
=
0
+
where
0
is the initial position of the rotor,
which is unknown. Clearly, the angular veloc-
ity, , is given by:

r
=

=
The angular displacement, , is measured from
the rotor evolution in time, while the actual
position,
r
is unknown.
2
In complex variables:
z = i
a
+ji
b
, u = u
a
+ju
b
,
cos(n
p

r
) +j sin(n
p

r
) = e
jn
p

r
z = i
a
ji
b
, cos(n
p

r
) j sin(n
p

r
) = e
jn
p

r
the previous model is written as follows:
L
s
dz
dt
= R
s
z jK
m
e
jn
p

r
+u
J
d
dt
= K
m
m(ze
jn
p

r
)
L
d
dt
=
3
We point out an algebraic means of computing
the unknown angle
0
. Rewrite the complex
current equation as
L
s
dz
dt
= R
s
z
K
m
n
p
d
dt
_
e
jn
p

r
_
+u
Under the assumption that, z(0) = 0, and,

r
(0) =
0
, we have, upon integration, that
for any time t > 0,
K
m
n
p
e
jn
p

0
_
e
jn
p
(t)
1
_
+L
s
z(t) =
_
t
0
[u()R
s
z()]d
i.e.,
e
jn
p

0
=
n
p
K
m
_
L
s
z(t)
_
t
0
(u() R
s
z())dt
1 e
jn
p
(t)
_
Since the left hand side is constant, the ex-
pression on the right is valid for any xed t > 0
(at time t = 0 the right hand side is an inde-
terminate quantity). Thus for any small time
instant t = one obtains:
e
jn
p

0
=
n
p
K
m
_
L
s
z()
_

0
(u() R
s
z())dt
1 e
jn
p
()
_
4
From the last expression we have

0
=
1
jn
p
ln
_
n
p
K
m
_
L
s
z()
_

0
(u() R
s
z())dt
1 e
jn
p
()
__
Alternatively, one may compute the actual an-
gular position
r
in terms of the measured dis-
placement as follows. Multiply the previously
obtained expression
e
jn
p

0
=
n
p
K
m
_
L
s
z(t)
_
t
0
(u() R
s
z())dt
1 e
jn
p
(t)
_
by the known factor e
jn
p
(t)
. Upon use of the
relation:
r
(t) = (t) +
0
, this leads, immedi-
ately, for all t > 0,
e
jn
p

r
(t)
=
n
p
K
m
_
L
s
z(t)
_
t
0
(u() R
s
z())dt
1 e
jn
p
(t)
_
e
jn
p
(t)
5
The model can also be conveniently expressed
in the, so called, d q coordinates. These
are obtained by means of the following state
and input coordinate transformation, written
in terms of the measured angular displacement
. Dene
= i
d
+ji
q
= ze
jn
p

and
= v
d
+jv
q
= ue
jn
p

We have,
L
s
d
dt
= (R
s
+jn
p
L
s
) jK
m
e
jn
p

0
+
J
d
dt
= K
m
m()
L
d
dt
=
6
or, more explicitly,
L
s
di
d
dt
= R
s
i
d
+n
p
L
s
i
q
+K
m
sin(n
p

0
) +v
d
L
s
di
q
dt
= R
s
i
q
n
p
L
s
i
d
K
m
cos(n
p

0
) +v
q
J
d
dt
= K
m
i
q

L
d
dt
=
Notice that when
0
= 0, i.e., the angular po-
sition coincides with the angular displacement,
one obtains the traditional d q model
L
s
di
d
dt
= R
s
i
d
+n
p
L
s
i
q
+v
d
L
s
di
q
dt
= R
s
i
q
n
p
L
s
i
d
K
m
+v
q
J
d
dt
= K
m
i
q

L
d
dt
=
7
Flatness of the d q model
The uncertain d q model,
L
s
di
d
dt
= R
s
i
d
+n
p
L
s
i
q
+K
m
sin(n
p

0
) +v
d
L
s
di
q
dt
= R
s
i
q
n
p
L
s
i
d
K
m
cos(n
p

0
) +v
q
J
d
dt
= K
m
i
q

L
d
dt
=
is dierentially at with at outputs given by
and i
q
.
8
Indeed, all system variables are dierentially
parameterizable in terms of the at outputs:
=

i
q
=
_
J
K
m
_

+

L
K
m
v
q
=
_
L
s
J
K
m
_
d
3

dt
3
+L
s

L
K
m
+R
s
_
J
K
m

+

L
K
m
_
+(n
p
L
s
i
d
+K
m
cos(n
p

0
))

v
d
= L
s
di
d
dt
+R
s
i
d
n
p

L
s
_
J
K
m

+

L
K
m
_
K
m

sin(n
p

0
)
Further ahead, and for a GPI observer con-
struction task, we view the above input-to-at
outputs system, as follows:
d
2

dt
2
=
_
K
m
L
s
J
_
v
q
+
w
(R
s
(t),
0
, i
d
, , ,
L
(t),
L
(t))
di
d
dt
=
_
1
L
s
_
v
d
+
i
(R
s
(t),
0
, i
d
, , ,
L
(t))
9
Assumptions
Only the angular displacement, , is measurable.
The initial position
0
is unknown and, hence, the
angular position
r
is not available.
The load torque
L
is time-varying and known to be
uniformly absolutely bounded. Otherwise the load
torque is completely unknown.
All system parameters, {L
s
, K
m
, J} are perfectly known.
The stator resistance R
s
is a positive real param-
eter, of time-varying nature and, otherwise, com-
pletely unknown.
For any suciently large positive integers, m, and,
p, the quantities,
w
(t) and
i
(t), viewed as time
functions, respectively, exhibit uniformly absolutely
bounded time derivatives of order m and p,
(m)
w
(t)
and
(p)
i
(t).
10
Problem formulation
Given the uncertain PM synchronous motor
model
L
s
di
d
dt
= R
s
(t)i
d
+n
p
L
s
i
q
+K
m
sin(n
p

0
) +v
d
L
s
di
q
dt
= R
s
(t)i
q
n
p
L
s
i
d
K
m
cos(n
p

0
) +v
q
J
d
dt
= K
m
i
q

L
(t)
d
dt
=
with all the previous assumptions being valid,
devise a at output feedback controller that
accurately allows for the tracking of a given
angular velocity reference trajector:,

(t), and
of the d-axis current reference trajectory, i

d
(t),
regardless of the values adopted by the time-
varying torque,
L
(t), the windings resistance,
R
s
(t), and of the initial value of the angular
shaft position
0
.
11
Main Results (GPI observer)
Given the previously described uncertain PM synchronous
motor model, the pair of linear GPI observers given be-
low estimate, via the variables z
1w
and z
1i
, and within an
arbitrarily small neighborhood of the origin of the esti-
mation error phase space, both, the lumped endogenous
and exogenous additive perturbation inputs:

w
(R
s
(t),
0
, i
d
, , ,
L
(t),
L
(t))

i
(R
s
(t),
0
, i
d
, , ,
L
(t))
as well as the angular displacement phase variables,
, ,
with, w
1
= , and, w
2
=

, provided the sets of observer
design coecients: {
w0
, ...,
w(m+1)
}, {
i0
, ...,
i(p)
}, are
chosen in such a manner that the roots of the follow-
ing characteristic polynomials: p
w
(s) and p
i
(s), in the
complex variable, s, are located suciently far from the
imaginary axis, in the left half side of the complex plane:
p
w
(s) = s
m+2
+
w(m+1)
s
m+1
+ +
w1
s +
w0
p
i
(s) = s
p+1
+
ip
s
3
+ +
i1
s +
i0
12
w
1
= w
2
+
w(m+1)
( w
1
)
w
2
=
K
m
JL
s
v
q
+z
1w
+
wm
( w
1
)
z
1w
= z
2w
+
w(m1)
( w
1
)
z
2w
= z
3w
+
(w(m2)
( w
1
)
.
.
.
z
mw
=
w0
( w
1
)
d
dt

i
d
= (
1
L
d
)v
d
+z
1i
+
ip
(i
d


i
d
)
z
1i
= z
2i
+
i(p1)
(i
d


i
d
)
z
2i
= z
3i
+
i(p2)
(i
d


i
d
)
.
.
.
z
pi
=
i0
(i
d


i
d
)
13
Proof
Let e
w
= w
1
denote the angular velocity
estimation error and e
(i)
w
, i = 1, 2, ..., m its as-
sociated phase variables in the angular velocity
estimation error space. Similarly, let e
i
= i
d


i
d
be the d-axis current estimation error. These
signals satisfy, as it is easily veried after elim-
ination of the perturbation model variables:
z
jw
, j = 1, ..., m and z
ki
,k = 1, ..., p:
e
(m+2)
w
+
w(m+1)
e
(m+1)
w
+ +
w1
e
w
+
w0
e
w
=
(m)
w
(t)
e
(p+1)
i
+
ip
e
(p)
i
+ +
i1
e
i
+
i0
e
i
=
(p)
i
(t)
Let us dene, respectively, the estimation er-
ror state vectors:
w
= (e
w
, ..., e
(m+1)
w
)
T
and

i
= (e
i
, ..., e
(p1)
i
)
T
. These vectors satisfy lin-
ear perturbed equations of the form:
w
=
A
w

w
+b
w

(m)
w
(t),
i
= A
i

i
+b
i

(p)
i
(t). where
the A
x
, x = w, i matrices are in companion
form, with the last row constituted, respec-
tively, by the negative of the characteristic poly-
nomial coecients and the constant b
x
, x =
w, i, vectors are constituted by zeroes except in
their last row components; being, both, equal
to 1.
14
The uniformly absolutely bounded nature of
the unknown lumped disturbance inputs,
(m)
w
(t),
and,
(p)
i
(t), hypothesizes the existence of un-
known but nite constants K
w
and K
i
such
that sup
t
|
(m)
w
(t)| K
w
and sup
t
|
(p)
i
(t)| K
i
.
Consider the Lyapunov function candidates:
V
w
() =
1
2

T
w

w
, and, V
i
() =
1
2

T
i

i
. The time
derivatives of these Lyapunov function candi-
dates, respectively, satisfy:

V
w
(
w
, t) =
1
2

T
w
(A
w
+(A
w
)
T
)
w
+
T
w
b
w

(m)
w
(t)
e [
max
A
w
] |
w
|
2
+K
w
|
w
|

V
i
(
i
, t) =
1
2

T
i
(A
i
+(A
i
)
T
)
i
+
T
i
b
i

(p)
i
(t)
e
_

max
A
i
_
|
i
|
2
+K
i
|
i
|
The Lyapunov functions time-derivatives are,
respectively, strictly negative outside the balls:
B
w
= {
w
R
m+2
|
w
|
K
w
e [
max
A
w
]
}
B
i
= {
i
R
p
|
p
|
K
i
e
_

max
A
i
_
}
15
It follows that, for uniformly absolutely bounded,
lumped, endogenous and exogenous disturbance
inputs, the norm of the vectors representing
the estimation error phase variables can be
made arbitrarily small in both cases with the
proper suciently large choice of the negative
real parts of the largest eigenvalues of the ma-
trices A
x
, x = w, i, in the injected estimation
error dynamics.
On the other hand, from the observation error
dynamics we can readily establish the following
relations
e
w
+
w(m+1)
e
w
+
w(m)
e
w
=
w
(t) z
1w
e
i
+
i(p)
e
i
=
i
(t) z
1i
From the result just established, the sets of es-
timation error phase variables: {e
w
, e
w
, e
w
} and
{ e
i
, e
i
}, can be made to ultimately evolve ar-
bitrarily close to the origin of the correspond-
ing phase spaces of the estimation errors e
w
and e
i
, where they will be uniformly ultimately
bounded within the balls, B
w
and B
i
.
16
It follows that the disturbance estimation er-
rors,
w
(t)z
1w
, and,
i
(t)z
1i
, also ultimately
evolve in arbitrarily small neighborhoods of zero.
The GPI observer variables, z
1w
, and, z
1w
, rep-
resenting the internal model approximation of
the lumped disturbances, viewed as time func-
tions, estimate, in an arbitrarily close fashion,
such lumped disturbances. The self-updating
character of the internal model approximations
z
1w
and z
1i
is thus established.
17
(GPI observer based controller)
The linear, GPI observer based, at output
feedback controllers, provided with active dis-
turbance rejection terms: z
1w
and z
1i
,
v
q
=
L
s
J
K
m
_

(t) z
1w

w
1
(w
2

(t))

w
0
(

(t))
_
v
d
= L
s
_
di

d
(t)
dt
z
1i

i
0
(i
d
i

d
(t))
_
asymptotically exponentially force the closed
loop tracking error trajectories of the PM syn-
chronous motor towards as small as desired
neighborhoods of the origin of the correspond-
ing trajectory tracking error phase spaces, pro-
vided the roots of the characteristic polynomi-
als, in the complex variable s,
p
wc
(s) = s
2
+
w
1
s +
w
0
p
ic
(s) = s +
i
0
s
are located suciently far to the left of the
imaginary axis in the complex plane.
18
Proof
Let

w
stand for the observer variable z
1w
, es-
timating the lumped disturbance input
w
(t)
in the angular velocity dynamics. Similarly,
let

i
stand for the observer variable z
1i
, es-
timating the lumped disturbance input
i
(t) in
the d-axis current dynamics. Further, let
w
and
i
denote, respectively, the reference tra-
jectory tracking errors:
w
=

(t) and

i
= i
d
i

d
(t). The closed loop tracking errors
satisfy the following perturbed linear dieren-
tial equations,

w
+
w
1

w
+
w
0

w
=
w
(t)

w
+
w
1
e
w

i
+
i
0

w
=
i
(t)

i
Since the angular velocity estimation error deriva-
tive, e
w
, evolves ultimately uniformly arbitrarily
close to zero and, also, the disturbance estima-
tion errors,
w
(t)

w
, and,
i
(t)

i
, uniformly
evolve within arbitrarily small neighborhoods of
zero, the appropriate choice of the feedback
19
controller design coecients: {
1
,
0
} and {
i
0
},
results in tracking error phase variables,
w
,
and,
i
, to converge, in an asymptotically ex-
ponential manner, to arbitrarily small neighbor-
hoods of the origin. Naturally, in this case, due
to the uniformly absolutely bounded, but arbi-
trarily small, nature of the perturbation inputs
in the right hand sides of the above closed loop
dierential equations, the roots of the charac-
teristic polynomials, p
wc
(s), and, p
ic
(s), may
be chosen to be suciently, but moderately,
away from the imaginary axis of the complex
plane. The result follows.
20
Simulation Results
0 5 10 15
10
0
10
20
30
time [s]
[
r
a
d
/
s
]
0 5 10 15
0
2
4
time [s]
[
O
h
m
]
0 5 10 15
0
1
2
3
time [s]
[
A
m
p
]
0 5 10 15
0
0.5
1
1.5
time [s]
[
N

m
]
0 5 10 15
0
10
20
30
time [s]
[
V
o
l
t
]
0 5 10 15
0
1
2
time [s]
R
s
(t)
(t)

L
(t)
i
q
(t)

L
(t)
v
q
(t)
v
d
(t)
i
d
(t)
i
q
(t)
Performance of GPI observer based linear
controller in robust angular velocity reference
trajectory tracking and stabilization to zero of
d-axis current.
21
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
10
0
10
20
[
r
a
d
/
s
]
0 5 10 15
400
200
0
[
V
o
l
t
/
H
]
0 5 10 15
8
6
4
2
0
x 10
4
[
r
a
d
/
s
2
]
z
1is
z
1s
(t)
(t)
Redundant GPI angular velocity estimation
and performance of GPI observer in
simultaneous robust linear estimation of
aggregate eects of endogenous nonlinearities
and exogenous disturbance input torque
CONTINUOUS SYSTEM PMSYNC
" this program simulates a GPI observer based controller
" for a permanent magnet synchronous motor in dq coordinates
" with a model considering the lack of knowledge of the}
" initial position and with significant stator resistor
" variations. The id current is forced to zero while
" the angular velocity is controlled to a constant value.
" The torque tauL is completely unknown and time-varying
STATE w id iq
STATE wh whd z1w z2w z3w
STATE idh z1i z2i z3i
DER dw did diq
DER dwh dwhd dz1w dz2w dz3w
DER didh dz1i dz2i dz3i
TIME t
" Initializations:
th0:1.5
w:0
id:0
tauL= 1+0.5*exp(-sin(0.2*t)*sin(0.2*t))*cos(3*t)*sin(t)
" PM Motor Equations:
dw=1/J*(M*iq-B*w-tauL)
diq=1/Lq*(-np*w*Ld*id-R*iq+vq-M*w*cos(np*th0))
did=1/Ld*(np*w*Lq*iq-R*id+vd+M*w*sin(np*th0))
22
"numerical values
np:4
B:0.001
R=(2.5+sin(2*t))*exp(-0.3*t)+0.5
Lq=Ld
Ld=0.0133
M:0.7485
J:0.02
" Flat output phase variables and disturbance observers
dwh=whd+gw4*(w-wh)
dwhd=M/(J*Lq)*vq+z1w+gw3*(w-wh)
dz1w=z2w+gw2*(w-wh)
dz2w=z3w+gw1*(w-wh)
dz3w=gw0*(w-wh)
gw0=ww^4*pw
gw1=(4*zw*ww^3*pw+ww^4)
gw2=(4*zw*ww^3+2*ww^2*pw+4*zw^2*ww^2*pw)
gw3=(2*ww^2+4*zw^2*ww^2+4*zw*ww*pw)
gw4=(pw+4*zw*ww)
pw:80
ww:80
zw:1
23
didh=1/Ld*vd+z1i+gi3*(id-idh)
dz1i=z2i+gi2*(id-idh)
dz2i=z3i+gi1*(id-idh)
dz3i=gi0*(id-idh)
gi0=wi^4
gi1=4*zi*wi^3
gi2=4*zi^2*wi^2+2*wi^2
gi3=4*zi*wi
zi:1
wi:80
"observer based controllers
vq=J*Lq/M*(wsdd-z1ws-2*zwc*wwc*(whds-wsd)-wwc^2*(wh-ws))
vd=Ld*(idsd-ki0*(id-ids)-z1is)
ki0:2
zwc:1
wwc:2
" smoothing of initial peaks
whs=wh*sf
whds=whd*sf
z1ws=z1w*sf
z1is=z1i*sf
24
sf=if t < eps then sin8 else 1
sin8=sin2*sin2*sin2*sin2
sin2=sin1*sin1
sin1=sin(pi*t/(2*eps))
eps=20/(zw*ww)
" desired trajectory
ids:0
idsd:0
ws:31.4
wsd:0
wsdd:0
pi:3.14159265
END
25