Beruflich Dokumente
Kultur Dokumente
as
(1)
v
bs
=r
s
i
bs
+
d
dt
bs
(2)
v
cs
=r
s
i
cs
+
d
dt
cs
(3)
where v
as
, v
bs
, and v
cs
are the stator voltages of the motor;
r
s
is the stator resistance; i
as
, i
bs
, and i
cs
are the stator cur-
rents;
as
,
bs
, and
cs
are the stator three-phase uxes; and
d/dt is the operator of the differential. The three-phase self-
inductances are expressed as
as
= (L
ls
+ L
A
+ L
B
cos(2
re
)) i
as
+
_
1
2
L
A
+ L
B
cos
_
2
re
2
3
__
i
bs
+
_
1
2
L
A
+ L
B
cos
_
2
re
+
2
3
__
i
cs
(4)
bs
=
_
1
2
L
A
+ L
B
cos
_
2
re
2
3
__
i
as
+
_
L
ls
+ L
A
+ L
B
cos
_
2
re
+
2
3
__
i
bs
+
_
1
2
L
A
+ L
B
cos(2
re
)
_
i
cs
(5)
cs
=
_
1
2
L
A
+ L
B
cos
_
2
re
+
2
3
__
i
as
+
_
1
2
L
A
+ L
B
cos(2
re
)
_
i
bs
+
_
L
ls
+ L
A
+ L
B
cos(2
re
2
3
)
_
i
cs
(6)
where L
ls
is the leakage inductance, L
A
is the average value of
the self-inductance, and L
B
is the amplitude of the sinusoidal
WEI AND LIU: HIGH-PERFORMANCE SENSORLESS POSITION CONTROL SYSTEM OF A SYNRM 3413
variation about this average value. The self-inductances and
mutual inductances are not constant values and vary with the
stator currents i
as
, i
bs
, and i
cs
due to the saturated inuence.
re
is the electrical angle of the rotor position.
It is very difcult to express the electromagnetic torque
equation in the abc stationary frame. As a result, a coordinate
transform is required here. After the abc to dq coordinate
transform, the ux linkages can be expressed as
ds
=L
d
i
ds
(7)
qs
=L
q
i
qs
(8)
L
d
=L
ls
+
3
2
(L
A
+ L
B
) (9)
L
q
=L
ls
+
3
2
(L
A
L
B
) (10)
where
ds
is the d-axis ux linkage,
qs
is the q-axis ux
linkage, L
d
is the d-axis inductance, L
q
is the q-axis inductance,
i
ds
is the d-axis current, and i
qs
is the q-axis current.
The electromagnetic torque expressed in the dq synchro-
nous frame is
T
e
=
3
2
P
2
(
ds
i
qs
qs
i
ds
) =
3
2
P
2
(3L
B
)i
ds
i
qs
(11)
where T
e
is the electromagnetic torque of the motor and P is
the number of poles of the motor.
Then, the rotor speed of the motor is expressed as
d
dt
rm
=
1
J
m
(T
e
T
L
B
m
rm
). (12)
The rotor position of the motor can be expressed as
d
dt
rm
=
rm
(13)
where
rm
is the mechanical rotor speed, J
m
is the inertia
constant of the motor and load, T
L
is the external load torque,
B
m
is the viscous coefcient of the motor and load, and
rm
is
the mechanical rotor position. The electrical rotor speed is
re
=
P
2
rm
. (14)
The electrical rotor position is
re
=
P
2
rm
. (15)
After that, by doing some mathematical processes, one can
obtain
_
_
v
as
v
bs
v
cs
_
_
=
_
_
r
s
0 0
0 r
s
0
0 0 r
s
_
_
_
_
i
as
i
bs
i
cs
_
_
+
d
dt
_
_
L
q
0 0
0 L
q
0
0 0 L
q
_
_
_
_
i
as
i
bs
i
cs
_
_
+
d
dt
_
_
e
a
e
b
e
c
_
_
(16)
where
e
a
,
e
b
, and
e
c
are the a-, b-, and c-phase extended uxes
of the SynRM.
The extended ux linkages can be expressed as follows:
e
a
=
__
1
2
L
A
+
3
2
L
B
+ L
B
cos(2
re
)
_
i
as
+
_
1
2
L
A
+ L
B
cos
_
2
re
2
3
__
i
bs
+
_
1
2
L
A
+ L
B
cos
_
2
re
+
2
3
__
i
cs
_
(17)
e
b
=
__
1
2
L
A
2L
B
cos(2
re
)
_
i
as
+
_
1
2
L
A
+
3
2
L
B
2L
B
cos(2
re
)
3L
B
sin(2
re
)
_
i
bs
+
_
1
2
L
A
+ L
B
cos
_
2
re
+
2
3
__
i
cs
_
(18)
e
c
=
__
1
2
L
A
2L
B
cos(2
re
)
_
i
as
+
_
1
2
L
A
+
3
2
L
B
2L
B
cos(2
re
)
+
3L
B
sin(2
re
)
_
i
cs
+
_
1
2
L
A
+ L
B
cos
_
2
re
2
3
__
i
bs
_
. (19)
From (17)(19), we can dene the following new symbols
for the inductances:
L
AA
=
1
2
L
A
+
3
2
L
B
+ L
B
cos(2
re
) (20)
L
AB
=L
CB
=
1
2
L
A
+ L
B
cos
_
2
re
2
3
_
(21)
L
AC
=L
BC
=
1
2
L
A
+ L
B
cos
_
2
re
+
2
3
_
(22)
L
BA
=L
CA
=
1
2
L
A
2L
B
cos(2
re
) (23)
L
BB
=
1
2
L
A
+
3
2
L
B
2L
B
cos(2
re
)
3L
B
sin(2
re
) (24)
L
CC
=
1
2
L
A
+
3
2
L
B
2L
B
cos(2
re
)
+
3L
B
sin(2
re
). (25)
III. DUAL CURRENT-SLOPE SENSORLESS TECHNIQUE
Chen et al. and Lin et al. proposed a single current-slope
sensorless technique several years ago. To improve the accuracy
of the estimated rotor position, a dual current-slope sensorless
technique is developed in this paper. The detailed principle,
3414 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 59, NO. 9, SEPTEMBER 2012
Fig. 1. Illustrated switching mode 100.
comparison, and online self-tuning-gain state estimator are
described as follows.
A. Proposed Rotor Position Estimating Technique
The inverter has eight switching states, including six active
modes and two free-wheeling modes [25]. Switching mode 100
is shown in Fig. 1. In this condition, S
1
, S
2
, and S
3
are turned
on. By using the same way, we can dene that the switching
mode is 010 when S
1
, S
2
, and S
3
are turned on, and the
switching mode is 001 when S
1
, S
2
, and S
3
are turned on. To
systematically explain the basic principle, some fundamental
ideas may overlap with the ideas that Chen et al. proposed
in [22]. However, the dual current-slope sensorless technique
is different from the single current-slope sensorless technique
proposed in [22]. The advantages of the dual current-slope
technique are discussed in part B of this session.
According to Fig. 1, the relative voltage and current equa-
tions of the motor can be expressed as
V
dc
=v
as
v
bs
(26)
v
bs
=v
cs
(27)
i
as
= (i
bs
+ i
cs
). (28)
By neglecting the voltage drop of the stator resistance and by
substituting (16) into (26), we can easily obtain
V
dc
= v
as
v
bs
= L
q
d(i
as
i
bs
)
dt
+
d
dt
(
e
a
e
b
) . (29)
By substituting (17) and (18) into (29), the voltage across the
a- and b-phases can be expressed as
V
dc
=L
q
d(i
as
i
bs
)
dt
+ (L
AA
L
BA
)
di
as
dt
+ (L
AB
L
BB
)
di
bs
dt
+ (L
AC
L
BC
)
di
cs
d
+
re
_
i
as
d(L
AA
L
BA
)
d
re
+ i
bs
d(L
AB
L
BB
)
d
re
+ i
cs
d(L
AC
L
BC
)
d
re
_
. (30)
On the other hand, when the inverter is operated in the free-
wheeling mode, the IGBTs of S
1
, S
2
, and S
3
are all turned on
or all turned off. The input voltage is isolated from the motor.
The input voltages of the three-phase windings of the motor,
therefore, are equal to zero. Then, the voltage equation becomes
0 =L
q
d(i
as
i
bs
)
dt
F
+ (L
AA
L
BA
)
di
as
dt
F
+ (L
AB
L
BB
)
di
bs
dt
F
+ (L
AC
L
BC
)
di
cs
dt
F
+
re
_
i
as
d(L
AA
L
BA
)
d
re
F
+ i
bs
d(L
AB
L
BB
)
d
re
F
+i
cs
d(L
AC
L
BC
)
d
re
F
_
(31)
where index F indicates the free-wheeling mode. The switch-
ing frequency of the inverter is 7.5 kHz. For each switching
interval, the period is only 133 s. As a result, the variation of
the current-slope and the back EMF in near switching states is
very small and can be neglected. Based on this condition and
by substituting (31) into (30), we can derive
V
dc
=L
q
d(i
as
i
bs
)
dt
mode100
+ (L
AA
L
BA
)
di
as
dt
mode100
+ (L
AB
L
BB
)
di
bs
dt
mode100
+ (L
AC
L
BC
)
di
cs
dt
mode100
. (32)
On the other hand, by substituting (16) into (27) and by neglect-
ing the voltage drop of the resistance, we can obtain
0 =L
q
d(i
bs
i
cs
)
dt
mode100
+ (L
BA
L
CA
)
di
as
dt
mode100
+ (L
BB
L
CB
)
di
bs
dt
mode100
+ (L
BC
L
CC
)
di
cs
dt
mode100
. (33)
In addition, by differentiating the left and right sides of (28),
it is easy to obtain
di
as
dt
mode100
=
_
di
bs
dt
mode100
+
di
cs
dt
mode100
_
. (34)
By combining (32)(34) and by substituting (22) and (23) into
their results, we can obtain (35), shown at the bottom of the next
page.
After that, by substituting (20)(25) into (35), we can derive
the current-slope of the new switching mode 100 by using
MATHEMATICA software as in (36)(39), shown at the bot-
tom of the next page.
By using the same method, it is not difcult to derive the
current-slopes of the old 1 switching mode 010 as in (40)(42),
shown at the bottom of the next page, and the old 2 switching
mode 001 as (43)(45), shown at the bottom of the next page.
WEI AND LIU: HIGH-PERFORMANCE SENSORLESS POSITION CONTROL SYSTEM OF A SYNRM 3415
To simplify the symbols, we can dene the differ-
ence in the current-slopes Di
as
|
new_old1
, Di
bs
|
new_old1
, and
Di
cs
|
new_old2
as follows:
_
_
Di
as
|
mode100_mode010
Di
bs
|
mode100_mode010
Di
cs
|
mode100_mode001
_
_
=
_
_
_
di
as
dt
_
mode100
_
di
as
dt
_
mode010
_
di
bs
dt
_
mode100
_
di
bs
dt
_
mode010
_
di
cs
dt
_
mode100
_
di
cs
dt
_
mode001
_
_
. (46)
In (46), Di
cs
|
new_old2
uses old 2 to replace old 1 to avoid
the difculty of dividing by zero. By substituting (36)(38)
and (40)(45) into (46) and then by doing some coordination
transformation, we can obtain
_
_
Di
as
|
mode100_mode010
Di
bs
|
mode100_mode010
Di
cs
|
mode100_mode001
_
_
=
_
_
9
2
3
3
2
3
0 3
3 3
0 3
3 3
_
_
_
_
Di
Di
K DC
_
_
(46a)
_
_
V
dc
0
0
_
_
=
_
_
L
AA
L
BA
+ L
q
L
AB
L
BB
L
q
0
0 L
BB
L
CB
+ L
q
L
BC
L
CC
L
q
1 1 1
_
_
_
_
(di
as
/dt)|
mode100
(di
bs
/dt)|
mode100
(di
cs
/dt)|
mode100
_
_
(35)
di
as
dt
mode100
=
(3L
B
2L
q
+ 3L
B
cos(2
re
)) V
dc
(36)
di
bs
dt
mode100
=
_
3
2
L
B
+ L
q
+
3
3
2
L
B
sin(2
re
)
3
2
L
B
cos(2
re
)
_
V
dc
(37)
di
cs
dt
mode100
=
_
3
2
L
B
+ L
q
3
2
L
B
sin(2
re
)
3
2
L
B
cos(2
re
)
_
V
dc
(38)
=
3
4
_
12L
B
L
q
4L
2
q
(39)
di
as
dt
mode010
=
_
3
2
L
B
+ L
q
+
3
3
2
L
B
sin(2
re
)
3
2
L
B
cos(2
re
)
_
V
dc
(40)
di
bs
dt
mode010
=
_
3L
B
2L
q
3
2
L
B
sin(2
re
)
3
2
L
B
cos(2
re
)
_
V
dc
(41)
di
cs
dt
mode010
=
_
3
2
L
B
+ L
q
+ 3L
B
cos(2
re
)
_
V
dc
(42)
di
as
dt
mode001
=
_
3
2
L
B
+ L
q
3
2
L
B
sin(2
re
)
3
2
L
B
cos(2
re
)
_
V
dc
(43)
di
bs
dt
mode001
=
_
3
2
L
B
+ L
q
+ 3L
B
cos(2
re
)
_
V
dc
(44)
di
cs
dt
mode001
=
_
3L
B
2L
q
+
3
3
2
L
B
sin(2
re
)
3
2
L
B
cos(2
re
)
_
V
dc
(45)
3416 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 59, NO. 9, SEPTEMBER 2012
K =
V
dc
(47)
DC =
3
2
L
B
+ L
q
. (48)
From (46a), it is not difcult to obtain
_
_
Di
Di
K DC
_
_
=
_
_
9
2
3
3
2
3
0 3
3 3
0 3
3 3
_
_
1
_
Di
as
|
mode100_mode010
Di
bs
|
mode100_mode010
Di
cs
|
mode100_mode001
_
_. (49)
Next, by substituting (36)(41) and (45) into (49), Di
and Di
can be shown as
Di
=
4V
dc
L
B
cos(2
re
)
3
_
12L
B
L
q
4L
2
q
(50)
Di
=
4V
dc
L
B
sin(2
re
)
3
_
12L
B
L
q
4L
2
q
. (51)
The rotor angle, nally, can be obtained as follows:
re
=
1
2
tan
1
_
Di
Di
_
. (52)
From (50)(52), we can observe that the current-slopes Di
and Di
and Di
,
which is shown in (52), is only related to the rotor position. As a
result, the inuences of the voltage V
dc
and the saturation of the
inductances disappear. Moreover, no voltage sensor is required
here.
In the proposed system, the current-slope is obtained by
online measuring and not by using the mathematical model of
the SynRM. However, to avoid the current spike, the sampling
instance is critical. The details are shown as follows. First, the
DSP reads the stator current through A/D converters and Hall-
effect current sensors to compute the current-slope of the stator
current. Then, the DSP executes the coordinate transformation,
as shown in (49). After that, the rotor position of the motor
can be obtained by using the arc tangent mathematical process
shown in (52). The online sampling technique of the stator
current is very important and is shown in Fig. 2(a). To compute
the current-slope, two sampling points are required. Generally
speaking, the DSP sends a trigger signal to turn on the IGBT.
Then, the stator current changes. After a few microseconds, at
time T
S1
, the DSP reads the rst sampling point of the stator
current. At time T
S2
, the DSP reads the second sampling point
of the stator current. Time T
S2
is set before the DSP sends the
trigger signal to turn off the IGBT. By using this measuring
technique, the stator current can be precisely measured, and
then, the current-slope of the stator current can be easily
Fig. 2. Stator current sampling techniques. (a) Measured waveform.
(b) Trigger signal.
computed. Fig. 2(b) shows the real experimental measuring
result of the stator current by using the proposed method. For
each switching state, a 133-s time interval is required, which
is enough for the DSP to read two currents and execute the
required current-slope and its related rotor position estimating
technique.
Although this paper and [7] look very similar, they are
different in many ways. First, Schroedl proposed a complex
inductance, which is not the real inductance to estimate the
rotor position of a SynRM. This paper, however, can compute a
real inductance to estimate the rotor position of a SynRM.
Second, in [7], Schroedl used voltage sensors to detect the
stator voltages and current sensors to detect the stator currents.
Both of them are required to estimate the rotor position of a
SynRM. In this paper, only current sensors are required, and
the voltage sensors are not used here. Next, in [7], the current-
slope method was used for standstill and low-speed range. In
this paper, the proposed dual current-slope method can be used
from standstill to rated speed. According to the aforementioned
discussions, we can conclude that, compared to [7], the pro-
posed method in this paper has many advantages, including
low cost, wider operating range, and strong relationship to the
real inductances.
B. Comparison of Proposed and Single Current-Slope Method
When the inverter is operated in the active mode, the
a-phase voltage is a nonzero voltage. In this situation, the motor
is operated in any mode, except the zero-voltage vector mode.
Take the following example to explain the basic idea. When
switching mode 100 is selected rst and then switching mode
010 is selected next, if the inverter is operated at mode 100, the
a-phase voltage is expressed as
v
as
=
2
3
V
dc
. (53)
By substituting (53) into (1) and (4) and by neglecting the
voltage drop of the resistance, we can obtain the a-phase
WEI AND LIU: HIGH-PERFORMANCE SENSORLESS POSITION CONTROL SYSTEM OF A SYNRM 3417
current-slope as
di
as
dt
mode100
=
2
3
V
dc
_
L
ab
di
bs
dt
mode100
+ L
ac
di
cs
dt
mode100
_
L
aa
. (54)
The b- and c-phase current-slopes can be expressed as
di
bs
dt
mode100
=
di
cs
dt
mode100
=
1
2
di
as
dt
mode100
. (55)
By substituting (55) into (54), we can obtain
di
bs
dt
mode100
=
di
cs
dt
mode100
=
1
3
V
dc
+
1
2
_
L
ab
di
bs
dt
mode100
+L
ac
di
cs
dt
mode100
_
L
aa
.
(56)
Similarly, when the motor is operated in mode B+, the b-phase
voltage is expressed as
v
bs
=
2
3
V
dc
. (57)
By substituting (57) into (2) and (5) and by neglecting the volt-
age drop in the resistance, we can obtain the b-phase current-
slope as
di
bs
dt
mode010
=
2
3
V
dc
_
L
ba
di
as
dt
mode010
+ L
bc
di
cs
dt
mode010
_
L
bb
. (58)
Then, the a- and c-phase current-slopes are expressed as
di
as
dt
mode010
=
di
cs
dt
mode010
=
1
2
di
bs
dt
mode010
. (59)
By substituting (59) into (58), we can obtain
di
as
dt
mode010
=
di
cs
dt
mode010
=
1
3
V
dc
+
1
2
_
L
ba
di
as
dt
mode010
+L
bc
di
cs
dt
mode010
_
L
bb
. (60)
Generally speaking, the mutual inductance is very small and
can be neglected [26]. According to (54), (56), (58), and (60)
and letting L
aa
= L
bb
= L
cc
, we can derive
Di
as
|
mode100_mode010
=
V
dc
L
aa
(61)
Di
bs
|
mode100_mode010
=
V
dc
L
bb
. (62)
From (54), (56), (61) and (62) and by neglecting the mu-
tual inductance, the dual current-slope satises the following
relationship:
Di
as
|
mode100_mode010
=
3
2
di
as
dt
mode100
(63)
Di
bs
|
mode100_mode010
=3
di
bs
dt
mode100
. (64)
The c-phase current-slope can be analyzed by using the same
method. It can be expressed as
Di
cs
|
mode100_mode010
= 3
di
cs
dt
mode100
. (65)
According to the aforementioned analysis, the differences in
the current-slopes between switching modes 100 and 010 or
switching modes 100 and 001 are 1.5 times to 3 times larger
than the current-slopes di
as
/dt|
mode 100
, di
bs
/dt|
mode 100
, and
di
cs
/dt|
mode 100
. The current-slopes proposed in [22] include
di
as
/dt|
mode 100
, di
bs
/dt|
mode 100
, and di
cs
/dt|
mode 100
. As a
result, the dual current-slope, which is based on the difference
between two current-slopes, has a better performance for rotor
position estimation than the paper proposed in [22].
IV. ONLINE TUNING STATE ESTIMATOR
In this paper, a new state estimator is developed to obtain the
estimated velocity of the motor. In the real word, the parameters
J
m
and B
m
in (8) cannot be measured precisely. To solve the
difculty, an online self-tuning-gain state estimator is proposed
here. By using the proposed method, the state estimator pro-
vides good dynamic performance and smaller steady-state error.
The block diagram of the proposed state estimator is shown in
Fig. 3.
The proposed self-tuning-gain state estimator can effectively
obtain the position, velocity, and external load of the system.
Because the proposed dual current-slope estimating technique
provides a higher accuracy in position estimation, the proposed
adaptive estimator, therefore, also contributes to a higher ac-
curacy in the estimation of the position, velocity, and external
load. The details are described as follows.
According to (8) and (9), it is not difcult to derive the
estimated error dynamics as [27]
_
_
rm
rm
T
LD
_
_
=
_
_
0 1 0
0 0
1
J
m
0 0 0
_
_
_
_
rm
rm
T
LD
_
_
_
_
l
l
T
_
_
(
rm
ob
)
(66)
where
ob
is the estimated state variable and T
LD
is the distur-
bance load, which can be dened as follows:
T
LD
= J
m
rm
+ B
m
rm
+ B
m
rm
+ T
L
(67)
where J
m
is the uncertain inertia constant of the motor
and B
m
is the uncertain viscous coefcient of the motor.
Therefore, we can assume that
T
LD
= 0 because the variation
of T
LD
is very slow when compared to the sampling time
3418 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 59, NO. 9, SEPTEMBER 2012
Fig. 3. Proposed self-tuning-gain state estimator.
interval. According to (66), in the discrete-time domain, the
result is
1
T
_
_
rm
(k)
rm
(k)
T
LD
(k)
_
_
=
_
_
0 1 0
0 0
1
J
m
0 0 0
_
_
_
_
rm
(k)
rm
(k)
T
LD
(k)
_
_
_
_
l
(k)
l
(k)
l
T
(k)
_
_
rm
(k)
_
(68)
where T is the sampling time interval and k is the number of
the sampling point. After that, the online self-tuning-gain state
estimator is used to force the output Y (k) to follow the desired
output D(k) by suitably adjusting the weighted factors.
First, we can dene the input u(k) as the rotor position
estimating error, which is expressed as
u(k) =
rm
(k). (69)
Then, we dene the weighted factor vector L(k) as
L(k) = [l
(k) l
(k) l
T
(k)] . (70)
The vector Y (k) is expressed as
Y (k) = L
T
(k)u(k). (71)
From (68) and by assuming
rm
(k) = 0, we can dene the de-
sired vector D(k), which is shown at the left side of (68), as
D(k) = [d
(k) d
(k) d
T
(k)]
T
=
1
T
_
rm
(k)
rm
(k)
T
LD
(k)
_
T
=
_
rm
(k)
T
LD
(k)/J
m
0
_
T
. (72)
The output error vector E(k) can be expressed as
E(k) = [e
(k) e
(k) e
T
(k)]
T
= D(k) Y (k). (73)
After that, one can dene the performance index J(k) as
J(k) = E
T
(k)E(k) = D
T
(k)D(k) 2D
T
(k)L
T
(k)u(k)
+ u(k)L(k)L
T
(k)u(k). (74)
Taking the partial differential of the performance index, we can
obtain
J(k)
L(k)
= 2D
T
(k)u(k) + 2u(k)L(k)u(k). (75)
To reach the minimum performance index, it is possible to use
the steepest descent method to adjust the weighted factor vector,
which can be expressed as
L(k + 1) =L(k) + ((k)) (76)
(k) =
J(k)
L(k)
= 2D
T
(k)u(k) + 2u(k)L(k)u(k)
= 2E
T
(k)u(k). (77)
Then, from (70) and by combining (76) and (77), we can obtain
l
(k + 1) =l
(k) + 2u(k)e
(k) (78)
l
(k + 1) =l
(k) + 2u(k)e
(k) (79)
l
T
(k + 1) =l
T
(k) + 2u(k)e
T
(k) (80)
where is a positive constant, which is between 0 and 1. In
the real world, the parameter is selected according to the
WEI AND LIU: HIGH-PERFORMANCE SENSORLESS POSITION CONTROL SYSTEM OF A SYNRM 3419
Fig. 4. Block diagram of the proposed control system.
designers experience. Then, the weighted factors can be online
tuned.
V. ADAPTIVE POSITION CONTROLLER DESIGN
Only a few papers use advanced controllers in sensorless
control systems because the whole system becomes too com-
plicated. As a result, using an adaptive controller to control a
sensorless reluctance motor controlling system is a big chal-
lenge. Adaptive control is an effective technique in dealing with
the parameter uncertainties and the external torque disturbance.
In this paper, we propose an adaptive position controller for a
sensorless SynRM drive system. A detailed description follows.
By combining (8) and (9), we can obtain
J
m
rm
= B
m
rm
+ i
qs
T
L
. (81)
The normalized parameters J
m
, B
m
, and T
L
can be expressed
as vector
T
T
=
_
J
m
B
m
T
L
=
_
J
m
K
t
B
m
K
t
T
L
K
t
_
(82)
where K
t
is a torque constant. The position error, which is the
difference between the position command and the real position,
can be expressed as
e
rm
rm
. (83)
From (83), we can take the derivation of the position error and
then express its result as
e
= e
rm
rm
. (84)
In this paper, we select the variable S as
S = K
1
e
+ e
(85)
where K
1
is a positive real value. Then, by combining (81) and
(83)(85), we can obtain
J
m
S =J
m
[K
1
e
+ (
rm
rm
)]
= i
qs
+ J
m
(K
1
e
rm
) + B
m
rm
+ T
L
. (86)
TABLE I
PARAMETERS OF THE MOTOR
Then, we dene the state vector Y as
Y = [K
1
e
rm
rm
1] . (87)
By substituting (82) and (87) into (86), we can obtain
J
m
S = i
qs
+
T
Y. (88)
In the real world, however, the parameters J
m
, B
m
, and T
L
cannot be precisely measured. The estimated parameters that
are used to replace the real parameters of the motor are used
here. First, select the estimating parameter vector as
T
=
_
J
m
B
m
T
L
_
. (89)
Then, select the control input i
qs
as
i
qs
=
T
Y + K
2
S (90)
where K
2
is a positive real value. By substituting (90) into (88),
we can obtain
J
m
S = (
T
Y + K
2
S) +
T
Y = H
T
Y K
2
S (91)
H
T
=
T
T
= [J
m
J
m
B
m
B
m
T
L
T
L
].
(92)
Next, select the Lyapunov function as [28]
V =
1
2
1
J
m
S
2
+
1
2
H
T
H (93)
3420 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 59, NO. 9, SEPTEMBER 2012
Fig. 5. Flowchart of the proposed rotor position estimating technique.
where
1
is a positive real value. By taking the derivative of
(93) and then by combining its result with (91), we can derive
V =
1
S(H
T
Y K
2
S) + H
T
H
=H
T
(
1
SY +
H)
1
K
2
S
2
. (94)
From (94), we can nd the adaption law as
H =
1
SY. (95)
WEI AND LIU: HIGH-PERFORMANCE SENSORLESS POSITION CONTROL SYSTEM OF A SYNRM 3421
Fig. 6. Trajectories of the current-slope. (a) Traditional method [22].
(b) Proposed method.
By substituting (95) into (94), we can obtain
V =
1
K
2
S
2
0. (96)
By integrating (96), we can obtain
_
0
S
2
dS
2
=
1
1
K
2
_
0
V d =
1
1
K
2
[V (0) V ()] . (97)
Finally, by applying Barbalets Lemma, it is not difcult to
obtain [28]
lim
t
e
(t) = 0. (98)
According to (96) and (98), by using the proposed controller,
the position error of the closed-loop drive system can be asymp-
totically converged to zero. As a result, the closed-loop drive
system is asymptotically stable.
Fig. 7. Measured position responses at 1 r/min. (a) Speed responses.
(b) Position responses. (c) Estimated error.
3422 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 59, NO. 9, SEPTEMBER 2012
Fig. 8. Measured position responses at 360
J
m
,
B
m
, and
T
L
approach zero. That implies that
J
m
,
B
m
,
and
T
L
become constant values in a steady-state condition. Un-
fortunately, that cannot guarantee that the estimated parameters
J
m
,
B
m
, and
T
L
can converge to their true values. In fact, these
results are discussed in several textbooks of adaptive control
[28], [29]. In the real world, the designer and manufacturer pay
more attention to the steady-state position error and velocity
error, not the parameters of the estimating errors of inertia,
viscous coefcient, and external load.
VI. IMPLEMENTATION
The block diagram of the implemented SynRM control sys-
tem is shown in Fig. 4. The system consists of six major parts:
WEI AND LIU: HIGH-PERFORMANCE SENSORLESS POSITION CONTROL SYSTEM OF A SYNRM 3423
Fig. 10. Measured position transient responses.
a DSP, an inverter, a SynRM, a driving circuit, A/D converters,
and sensors. A TMS-320F-28335 DSP system was used here.
The DSP is different from TMS-320-C30, which was used in
[22] and [23]. The DSP provided oating-point operation with
a 6.67-ns single-cycle instruction execution time. The DSP was
interfaced to parallel I/O devices and A/D converters. First, the
DSP reads the three-phase currents. Then, the DSP executed the
rotor estimating algorithm and the control algorithm. Finally,
the DSP sent the trigger signals to the inverter. The inverter
turned-on or turned-off the six IGBTs, and then, the motor
rotated. Most of the jobs were executed by the DSP; the
hardware circuit, therefore, was very simple. The inverter was a
voltage-source current-regulated type, which was implemented
by using six IGBTs. The IGBTs were type PS21265-P/AP,
made by Mitsubishi Company. The IGBTs provided a 20-A
continuous rating current and a 600-V continuous blocking
voltage. The motor was a three-phase, four-pole, and 220-V
SynRM, rated 0.75 hp, with 1800-r/min rated speed, manu-
factured by Reliance Electric Company. The parameters of the
motor are shown in Table I. The d-axis current command was
set at 1 A. The reason is that, when the d-axis current command
was larger than 1 A, the motor was saturated. On the other
hand, when the d-axis current was smaller than 1 A, the torque
of the motor was very small. By using a hysteresis controller,
the current-regulated loop can be achieved. The sensors of
the system only included the Hall-effect current sensors. No
voltage sensors were required. The Hall-effect sensors were
type LA-25NP, made by the LEM Company. The bandwidth
of the Hall-effect sensors was about 150 kHz. The signals of
the current sensors were sent to the DSP via A/D converters.
The A/D converters were 14 bit, with a 2.4-s conversion
time. The sampling interval of the current and position loops
was 133 s, and the sampling interval of the velocity loop was
1.3 ms.
The owchart of the interrupt service routine for the rotor
position estimation is shown in Fig. 5. The basic estimating
Fig. 11. Measured load disturbance responses. (a) Position command and real
position. (b) Real and estimated positions.
principle is mentioned in Section III. As you can observe, it
is not difcult to estimate the rotor position
re
according
to the dual current-slopes Di
as
|
new_old1
, Di
bs
|
new_old1
, and
Di
cs
|
new_old2
.
VII. EXPERIMENTAL RESULTS
The proposed sensorless algorithm was evaluated by ex-
perimental results. The following parameters are selected for
the adaptive controller: K
1
= 50, K
2
= 10, and
1
= 0.1.
Fig. 6(a) and (b) shows the trajectories of the current-slope of
the SynRM, which is operated at 400 r/min. Fig. 6(a) shows
the trajectory of a traditional method, which uses the single
current-slope and removes the current-slope by using the zero
voltage switching modes [21]. Fig. 6(b) shows the trajectory
of the proposed method. As you can observe, the performance
using the proposed estimator can be obviously improved. The
3424 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 59, NO. 9, SEPTEMBER 2012
Fig. 12. Position responses of the proposed technique. (a) Triangular re-
sponse. (b) Tracking error.
zero-voltage vector is not used in this paper because a dual
current-slope is proposed here. Fig. 7(a)(c) shows the mea-
sured results of the proposed estimating technique. Fig. 7(a)
shows the transient responses at 1 r/min. Fig. 7(b) shows the
comparison of the real and estimated rotor positions. The esti-
mated rotor position is close to the real rotor position, including
the standstill, starting, transient, and steady-state conditions.
Fig. 7(c) shows the measured estimated error. The proposed
dual current-slope method has better performance than the
single current-slope estimating technique [22].
Fig. 8(a)(c) shows the responses measured from the pro-
posed sensorless SynRM control system. Fig. 8(a) shows the
position transient responses at 360
= 20, l
= 30, and l
T
= 1
Fig. 13. Position responses of the traditional estimating technique. (a) Trian-
gular response. (b) Tracking error.
for the traditional estimating method. To design the online
self-tuning-gain estimator, the weighting factor of the iter-
ation is selected as = 0.1. Then, the proposed estimator
performs better than the traditional estimator. Fig. 8(c) shows
the comparison of the measured different speed estimated error.
Again, the proposed system performs well. Fig. 9(a) shows
the measured position responses while the parameters J
m
and
B
m
are varied from 0.5 to 1.5 times. Although the parameters
varied in a wide range, the transient responses are very close.
The proposed drive system, therefore, has good robustness.
Fig. 9(b) shows the variation of the adaptive parameters in
transient state. Fig. 10 shows the measured position transient
responses at different position commands, which include 1
,
60
, 120
, 180
, 240
, 300
, and 360