You are on page 1of 6

Robust Self-Tuning MTPA Algorithm

for IPMSM Drives



Dianov Anton, Kim Young-Kwan, Lee Sang-Joon, Lee Sang-Taek
Digital Appliance Division, Samsung Electronics
416, Maetan-3Dong, Yeongtong-Gu, Suwon-City, Gyeonggi-Do, 443-742, Korea
Email: anton.dianov@samsung.com

Abstract-This paper presents robust self-tuning maximum
torque per ampere (MTPA) control algorithm for an interior
permanent magnet synchronous motor (IPMSM) drives.
Proposed algorithm utilizes conventional control scheme, where
speed controller produces stator current command signal for the
MTPA block. That block decomposes commanded current I
s

into its components along direct and quadrature axes i
d
and i
q

respectively, which are used as a current commands for the
current control loops. MTPA angle , which is used for the
decomposition is defined by the MTPA tuning algorithm, which
continually varies that angle trying to find the one which
provides the minimum of stator current at the given load torque.

I. INTRODUCTION
Permanent magnet synchronous motors (PMSM) are
widely used for low-power drive applications due to high
efficiency, high torque to current ratio, low noise and
robustness [1]. They can be divided into surface-mounted
(SMPMSM) and IPMSM. The first ones have permanent
magnets (PM) mounted on the surface of rotor, which means
that motor parameters along direct and quadrature axes are
almost similar. It simplifies motor equations and allows to
utilize simple control schemes. However the main
disadvantage of the SMPMSM is limited speed range. At the
high speed the magnets can detach from the surface of the
rotor and cause drive failure. Unlike the surface-mounted
PMSM the IPMSM have magnets buried inside the rotor. It
improves motor reliability and increases speed range.
However such rotor design causes motor asymmetry along its
electrical axes d and q, which complicates motor models and
its control schemes. Furthermore, the difference in motor
inductances L
d
and L
q
causes reluctance torque of the motor,
which high-efficient control system has to utilize.
During last years many researchers paid their attention to
the MTPA algorithms and many papers with different
solutions have been proposed. The conventional approach to
this problem is to calculate maximum torque per ampere
trajectory. It can be obtained by differentiating motor torque
equation with respect to the stator current. These formulas are
well known [2] and are widely used in simple control systems.
However such approach does not take into account motor
parameters variations, which significantly affect motor
performance. In the IPM motors the permanent magnet flux
varies with the temperature and motor inductances L
d
and L
q

depend on the stator current. Furthermore, such variation can
be significant, e.g. the values of the inductances can decrease
more than two times. So high-efficient control system must
take into account such variations and adapt to them.
Many papers, dedicated to the MTPA control, suggest
several methods which can be divided into two groups.
First group includes methods, which utilize conventional
MTPA scheme, but use motor parameters estimators, which
monitor parameters variation and correct MTPA trajectory.
One of such methods is described in [3]. Authors propose
simple on-line adaptive estimation algorithm for the motor
inductances identification. However practical results showed
that L
q
estimation is sensitive to the stator resistance r
s

variation at higher torque and accuracy of L
d
estimation is
affected by the variation of PM flux linkage
m
. Improved
method is proposed in [1]. It uses adaptive parameter
estimator with iterative gradient algorithm, which is applied
to the q-axis current. For unbiased parameter estimation
proposed estimator is combined with a robust active-state
decoupling scheme. This method shows better results than the
previous one, however it is much more calculation intensive.
One more interesting method, developed for the sensorless
control of the IPMSM including MTPA, is described in [4].
Authors propose to perform motor position and speed
estimation in the maximum torque control (MTC) reference
frame, where one axis is aligned with the current vector at the
MTPA condition. They proved that motor inductances in the
MTC reference frame are not significantly affected by the
current magnitude and their variations can be neglected.
Second group consists of the methods which do not use
motor parameters. Such methods are based on seeking of the
minimum of the current magnitude at the given torque. A
self-tuning MTPA algorithm based on the high-frequency
signal injecting is described in [5]. However high-frequency
signal causes additional noises and stresses for the drive and
sometimes is not applicable.
One more interesting method, which is based on the
current vector phase variation, is introduced in [6, 7]. This
method adds and subtracts small angle to the current phase.
After that motor torque at three operational points is
calculated and the best point is selected. To increase
robustness of the algorithm, authors added on-line motor
parameter estimator to the proposed scheme.
The purpose of this paper is to present robust self-tuning
algorithm, which belongs to the second group and does not
use motor parameters for its work. The algorithm
continuously varies phase of the stator current and analyzes
1355 978-1-4244-1766-7/08/$25.00 2008
changes of its amplitude. After that the control algorithm
selects the best angle and utilizes MTPA control. The validity
of the proposed method has been verified by simulation and
experimentation.
II. CONVENTIONAL MAXIMUM TORQUE PER AMPERE
CONTROL
A. Motor Equations
Fig. 1 shows a sixteen pole IPM motor, which was used for
the experiments. Voltage equations for such motor in the
synchronous reference frame dq on the assumption that motor
parameters are constant and do not depend on the other
variables are expressed by (1):

+
+
=

m q
d
q s d
q d s
q
d
i
i
pL r L
L pL r
u
u

0
, (1)
where
p -differential operator,
-electrical angular velocity,
r
s
-stator resistance,
L
d
, L
q
-d-axis and q-axis inductances respectively,
i
d
, i
q
-d-axis and q-axis currents components respectively,
u
d
, u
q
-d-axis and q-axis voltage components respectively,

m
-permanent magnet flux linkage.

Electromagnetic torque of the motor can be expressed as:

( ) ( )
m d q d q
i L L Pi T + =
2
3
, (2)
where
P -number of pole pairs.

It is evident that motor torque contains two components:
excitation torque, which is caused by the magnet flux linkage
and reluctance torque, which is caused by the by the rotor
magnetic asymmetry along d and q axes.
B. Non-MTPA control
Conventional vector control systems, which do not utilize
MTPA control, use only excitation torque, setting i
d

command to zero (for non-field weakening modes). Speed
and current controllers in such systems are connected as
shown in Fig. 4. The speed controller uses speed error signal
as input and produces i
q
command. At the same time i
d

command is set to zero. Such control scheme is simple since
the torque is controlled only by one variable, however it does
not use the whole potentiality of the motor.
C. MTPA equations
To utilize the reluctance torque of the motor, d-axis current
should be controlled as well. The relationship between i
d
and
i
q
for the archiving minimum of the stator current

2 2
q d s
i i I + = (3)
at the given torque can be obtained by differentiating (2) with
respect to (3) and equating result to zero. The result is:

( ) ( )
2
2
2
4 2
q
q d
m
q d
m
d
i
L L L L
i +

=
. (4)
MTPA trajectory for the rated motor parameters is shown
in the Fig. 2. Fig. 3. shows dependences of the motor torques
on the stator current for MTPA and non-MTPA controls for
the rated motor parameters.
Control algorithm built according to (4) has the structure,
which is shown in Fig. 5. It is similar to the scheme shown in
Fig. 4, but commanded value for the d-axis current is not set
to zero. It is calculated by the MTPA block according to (4)

Fig. 1. IPM motor
Speed
Controller
i
q
Controller
i
q
i
d
Controller
i
d
i
d c
= 0
u
q c
u
d c
i
q c
i
q
i
d

Fig. 4. Non-MTPA vector control scheme
i
d
[A]
i
q
[A]
4
8
12
-4 -8

Fig. 2. MTPA trajectory

Fig. 5. MTPA vector control scheme


I [A]
5 10
40
80
T [Nm]
i
d
= 0
MTPA
Fig. 3. Motor torques under MTPA and non-MTPA
controls for rated parameters
1356 978-1-4244-1766-7/08/$25.00 2008
using commanded value for the q-axis current.
However, main disadvantage of such control is calculation
of (4), which is processor intensive. Many authors suggest to
approximate (4) with polynomial, however low-order
polynomial sometimes are not applicable.
The way out is to change control scheme a little. Equation
(2) can be rewritten in the terms of current vector I
s
and its
phase:

( ) ( )
m s q d s
I L L pI T + = cos sin
2
3
, (5)
where is the angle between i
d
and I
s
. Calculation of the
torque derivative with respect to the full current phase and
equalization it to zero results MTPA curve in the terms of the
stator current and its phase:

( ) 0 2 cos cos
2
2
3
2
3
= + =

s q d s m
I L L p I p
T
(6)
The solution of (6) is:

( )
( )

+ +
=
s q d
s q d m m
I L L
I L L
4
8
arccos
2 2 2

, (7)
This function is also difficult for calculation, however it
can be easily approximated by the second order polynomial.
Fig. 6 shows such function for the motor which was used for
the experiments.
Control algorithm built according to (6) has structure,
which is shown in Fig. 7. The speed controller produces
stator current commanded value, which is fed to the MTPA
block. MTPA block calculates phase of the stator current
using polynomial approximation of (7) and then outputs i
d

and i
q
commanded values for the current controllers.
As it was mentioned earlier, all analytical approaches
toward MTPA condition use rated motor parameters, whish
are considered to be constant in every operating point. It
means that effects of saturation, cross-saturation and
dependence of the permanent magnet flux linkage on the
temperature are not taken into account.
However variation of the motor inductances L
d
and L
q
with
the change of operating point (i
d
and i
q
) is significant. Such
dependence for the prototype motor is shown in Fig. 8. These
inductances are functions of the d-q axes currents. In this
figure effect of the cross saturation is not taken into account.
Since motor inductances are functions of its currents i
d
and
i
q
, MTPA equations deduced earlier are not valid, because
they were obtained on the assumption that motor parameters
are unchangeable. Next paragraph proposes new algorithm
which can overcome described problem and perform MTPA
control of the motor.
III. PROPOSED MTPA ALGORITHM
In order to overcome previously described problem and
perform MTPA control of the motor, new algorithm has been
developed. It does not use motor parameters and can adjust to
every operating point of the motor.
The block diagram of the control system, which utilizes
MTPA algorithm, is the same as in Fig. 7. The speed
controller uses speed error as input and produces stator
current command I
s
. This command is fed to the MTPA block,
which calculates phase of the stator current and outputs i
d

and i
q
. The difference from the conventional control schemes
is that angle is not calculated according to (7) or its
polynomial approximation. This angle is defined by the
special adjusting algorithm, which works in quasi real time
mode.
Proposed adjusting algorithm defines current phase angle ,
which minimizes motor current I
s
at the demanded torque.
For this purpose MTPA tuning algorithm seeks the best angle
for the current load conditions, which are considered to be
constant during execution of the corresponding procedure.
Tuning algorithm continuously changes current phase angle
by the small value , i.e. disturbs the system, and compares
results after end of the transients. After changing it waits till
the speed controller adjusts stator current I
s
. Since the
disturbance is small the transients are short, so after short
delay the new value of the motor current can be obtained and
currents before and after disturbance can be compared. If the
current obtained at the current step is less than the current at
previous iteration, it means that current vector has been

Fig. 6. MTPA trajectory in terms of stator current and its phase
Fig. 7. MTPA vector control scheme
Fig. 8. Motor inductances vs. current
1357 978-1-4244-1766-7/08/$25.00 2008
rotated to the right direction, otherwise to the wrong. In that
case the sign of the disturbance angle must be changed and
at the next step tuning algorithm will rotate current to the
opposite direction. Fig. 9 illustrates current vector rotation
under constant load torque.
Such approach has a significant advantage to tune to the
different operational condition of the motor, because it can
find the minimum of the stator current even when the motor
parameters change with the current variation. It means that
inductance variation due to the saturation and cross-saturation
and flux variation due to the temperature change do not affect
the performance of the method.
However proposed tuning algorithm has weak points,
inherent to all searching algorithms. It can fail in transients
because changes of the minimizing variable are caused by the
impact of external factors. For example, if the load torque
increases quickly the stator current is also increasing
regardless of its phase variation. In that case is not changing
significantly, it swings by near the value, which was
before the load transient. The worst case for the tuning
algorithm is rapid decrease of the load torque. In that case
motor current at the next step is always less than at the
previous one and tuning algorithm continuously changes
into direction, which depends on the sign of before the
transient. This problem can be solved by setting limits for the
. These limits can be defined by simulation or measured
during motor test. Another solution is to define the transient
and switch the tuning algorithm off during that time. Usually
there are two external factors, which can cause the transient:
commanded speed and load torque. So control system has to
analyze commanded speed and commanded stator current and
if they are changing the control system has to stop tuning.
Since tuning algorithm uses current magnitude only for
comparison, it is better to use squared value of this parameter,
which skips square root calculation and saves processor time.
The flowchart of the described algorithm is shown in Fig. 10.
It should be taken into account that current minimum at the
constant torque usually is not strongly pronounced, so
typically current vector is oscillating near its minimum. It
should be also noted that current vectors which phases differ
by small angle have almost the same magnitudes, so
measurement error can affect the algorithm. To avoid it the
current filtering should be used or variation value should
be increased.
1 + k
s
I
k
s
I
Fig. 9. Motor current phase variation
Start of MTPA
tuning
Define new current phase
k+1
=
k
+
Set new value of the for
MTPA block
k
=
k+1
min

k+1

max
Correct
k+1
Wait till speed controller
commands new current vector
and it is set
Calculate average squared
amplitude of the current vector
End of MTPA
tuning
( ) ( )
2 2
1 k
s
k
s
I I <
+

Fig. 10. Flowchart of MTPA tuning algorithm
TABLE I
MOTOR PARAMETERS
Parameter Value
Number of poles 2P = 16
Rated power, W 1000
Rated current, A 6
Rated speed, rpm 400
Phase resistance, 8.3
d-axis inductance, mH 144
q-axis inductance, mH 168
Back-EMF constant, Vs/rad 0.53
1358 978-1-4244-1766-7/08/$25.00 2008
IV. EXPERIMENTAL RESULTS
A. Experimental system
Experiments have been performed on the 1 kW IPMSM
coupled with the DC load machine. Rated motor parameters
are given in the Table 1. The load machine is controlled from
the PC and is used as a programmable load for the tested
motor. The motor is driven by the three-phase voltage source
PWM inverter, which is based on the Fairchild
FSBB20CH60F (20 A/600 V) smart power module. Motor
position is measured by means of 4096 pulse per revolution
quadrature encoder. Control system is built on the base of 60
MIPS Matsushita microcontroller MN103SFA7K, which
controls inverter with 10 kHz PWM. There are 3 sensors in
the developed system: two current hall-sensors in the motor
phases and DC-link voltage sensor. All the analog signals are
converted by the 10-bit ADC of microcontroller with
sampling time of 100 s. Test installation was designed to be
supplied from the standard 220 V (50 60) Hz source.
Experimental board also contains RS-232 interface, which is
used for connection with PC for monitoring of the algorithm
variables. For the experiments there was used conventional
MTPA control scheme with additional block of the MTPA
tuning algorithm. Fig. 14 shows a schematic of the
experimental system.
B. Motor characteristics
To verify validity of the proposed MTPA control algorithm
real motor characteristics have been obtained. They were
measured by manual changing of the stator current phase
with the step of 1 for several values of the load torque. Then
the points with the lowest current have been selected and
motor MTPA characteristics have been plotted. Fig. 11 shows
dependence of the motor torque on its current under MTPA
control. Fig. 12 shows motor MTPA trajectory in the terms of
stator current and its phase and Fig. 13 shows the MTPA
trajectory in the terms of stator current components i
d
and i
q
.
I [A]
5 10
20
40
T [Nm]
Experimental
Calculated using rated
parameters
Fig. 11. Motor torque vs. current
under MTPA control
I
s
[A]
[]
5 10
100
110
120
90
Experimental
Calculated using rated
parameters
Fig. 12. MTPA trajectory in terms of
stator current and its phase
Fig. 13. MTPA trajectory in terms of
i
d
and i
q


Speed
Controller
i
q
Controller
i
q
i
d
Controller
i
d
u
q c
u
d c
I
s c
i
q
i
d
i
d c
MTPA
i
q c
SVPWM
I
n
v
e
r
t
e
r
ref
u
DC
VT 220 V
Tuning
algorithm
IPMSM
Encoder
d
s
,q
s
d
e
,q
e
Speed and
position
calculation
a,b
d
e
,q
e
Fig. 14. Schematic of the experimental system
1359 978-1-4244-1766-7/08/$25.00 2008
Dashed lines show dependences, which were calculated using
rated parameters of the motor. It is seen that saturation
strongly impact motor characteristics and conventional
MTPA algorithms based on (3) and (7) are not applicable.
C. Performance of the proposed algorithm
Proposed MTPA algorithm has been implemented in C and
tested with the system, which was described earlier. Fig. 15
shows commanded load torque and current phase, selected by
the tuning algorithm. At this experiment the tuning algorithm
ran with the frequency of 20 Hz and phase variation of 2 .
Fig. 15 shows commanded load torque (a), current phase,
which was selected by the tuning algorithm, when it operated
during transients (b) and when it was disabled (c).
It is clear that tuning algorithm fails at the rapid change of
the load torque. At that, when load torque increases the
current phase oscillates near the value before rising, but when
the load torque decreases, the current phase changes until it
reaches maximum or minimum limit.
Fig. 16 shows commanded load torque and corresponding
current phase . For the load torque there were selected the
same points as for motor testing, which allow to compare
output of the algorithm with the motor MTPA trajectory.
Fig. 16 shows that proposed algorithm successfully detects
motor MTPA trajectory, especially at the load torque over
20 Nm.
V. CONCLUSION
In this paper, robust self-tuning MTPA algorithm for
IPMSM drives has been presented. The proposed method
does not use computed motor parameters, which vary
depending on motor operational point. The control structure
is similar to the conventional one, but uses additional MTPA
tuning block, which sets phase for the stator current. This
block continuously varies current phase and selects the angle,
which corresponds to the lowest current at the given load
torque.
Experimental results have been presented to demonstrate
validity of the developed algorithm. They showed that
proposed algorithm works well even with motors, which have
small difference between L
d
and L
q
.
REFERENCES
[1] Y.A.-R.I. Mohamed, T.K. Lee, Adaptive self-tuning MTPA vector
controller for IPMSM drive system, IEEE Transactions on Energy
Conversion, vol. 21, pp. 529-551, September 2006.
[2] T.M. Jahns, G.B. Kliman, T.W. Neumann, Interior Permanent-Magnet
Synchronous Motors for Adjustable-Speed drives, IEEE Trans. On Ind.
Appl., Vol IA-22, pp. 738-747, July/Aug. 1986.
[3] H.B. Kim, J. Hartwig, R.D. Lorenz, Using on-line parameter
estimation to improve efficiency of IPM machine drives, IEEE 33
rd

Power Electronics Specialists Conference, vol. 2, pp. 815-820, June
2002.
[4] H. Hajime, T. Yoshio, K. Keiji, Novel sensorless control for pm
synchronous motors based on maximum torque control frame,
European Conference on Power Electronics and Applications, pp. 1-10,
September 2007.
[5] S. Bolognani, L. Sgarbossa, M. Zordan, Self-tuning of MTPA current
vector generation scheme in IPM synchronous motor drives, European
Conference on Power Electronics and Applications, pp. 1-10,
September 2007.
[6] P. Niazi, H.A. Toliyat, A. Goodarzi, Robust Maximum Torque per
Ampere (MTPA) Control of PM-Assisted SynRM for Traction
Applications, IEEE Transactions on Vehicular Technology, vol. 56, pp.
1538-1545, July 2007.
[7] P. Niazi, H.A. Toliyat, Robust maximum torque per amp (MTPA)
control of PM-assisted synchronous reluctance motor, Twenty-First
Annual IEEE Applied Power Electronics Conference and Exposition,
pp. 1-8, March 2006.
Fig. 15. Commanded load torque (a) and current phase (b), (c)
Fig. 16. Commanded load torque (a) and current phase (b)
1360 978-1-4244-1766-7/08/$25.00 2008

You might also like