Estimation of Rotor Position and Speed for
Sensorless DSP-based PMSM Drives
Lucio Ciabattoni, Massimo Grisostomi, Gianluca Ippoliti, Sauro Longhi
Abstract— In this paper a sensorless cascade control schemefor a Permanent Magnet Synchronous Motor (PMSM) drive isproposed. The rotor position and speed are obtained throughan Extended Kalman Filter (EKF). The proposed solution isexperimentally tested on a commercial PMSM drive equippedwith a control system based on a floating point Digital SignalProcessor (DSP).
I. INTRODUCTION
Permanent Magnet Synchronous Motors (PMSMs) have an
important role in motion control applications in the low and
medium power range (e.g. robotics and machine tool drives).
The desired features of PMSMs are fast dynamical response,
high torque to weight ratio, linear dependence of the torque
on one component of the current in a suitable reference frame
[1], [2]. To achieve fast four quadrant operation, smooth
starting and acceleration, the Field Oriented Control (FOC),
or vector control, is used in the design of the PMSM drive
[3]–[12]. Standard linear design methods for FOC consist
of a properly tuned cascate configuration of Proportional
Integral (PI) speed and current controllers. Therefore accu-
rate information regarding the motor parameters and load
conditions is necessary to guarantee good drive performance
in terms of precision, bandwidth and disturbance rejection
[13].
High performance control of PMSM drives also requires
the knowledge of the rotor shaft position and speed in order
to synchronize the phase excitation pulses to the rotor posi-
tion [14]–[16]. This implies the need for speed or position
sensors such as an encoder or a resolver attached to the
shaft of the motor. The demand of inexpensive and reliable
drives now pushes applied research toward the elimination of
mechanical sensors [17]–[20]. In fact, in most applications,
these sensors present several disadvantages, such as reduced
reliability, susceptibility to noise, additional cost and weight
and increased complexity of the drive system. The position
and velocity sensorless control of PMSM drive overcome
these difficulties. A comprehensive overview of methods
developed to obtain rotor position and angular speed from
measurements of electric quantities is reported in [21]–[23].
In this paper, an Extended Kalman Filter (EKF), which
is an optimal estimator for the states of dynamic nonlinear
systems with inherent robustness against parameters varia-
tions, is proposed for the motor rotor position and speed
The Authors are with the Dipartimento di Ingegne-ria Informatica, Gestionale e dell’Automazione, UniversitaPolitecnica delle Marche, Via Brecce Bianche, 60131Ancona, Italy {l.ciabattoni, m.grisostomi,gianluca.ippoliti, sauro.longhi}@univpm.it
estimation from measurements of electric quantities. With
advances in digital technology over the last several years,
adequate data processing capability is now available on cost-
effective DSP-based platforms and the EKF appears to be a
viable and computationally efficient candidate for the online
estimation of rotor position and speed of a PMSM [21], [24]–
[26]. Theoretical basis and digital implementation of the EKF
have been deeply investigated [16], [27]–[29] and a novel
procedure for the tuning of covariance matrices in EKF-
based PMSM drives has been presented in [23]. Application
examples, in which well-known pitfalls, such as the starting
from unknown rotor position and the filter matrices tuning
have been successfully fixed in [22].
Summing up, the features of the PI-based FOC technique
combined with the EKF-based rotor position and speed esti-
mator are exploited in this work to design the cascade control
architecture shown in Fig. 1 (the meaning of the signals
and blocks shown in Fig. 1 will be explained throughout
the paper). In this scheme, the external velocity PI-based
control loop, two internal current PI-based control loops and
the EKF-based rotor position and speed estimator can be
identified. The task is to make the speed error ω∗
r − ωr to
tend to zero as close as possible.
The paper is organized as follows. The nonlinear state
space model of the PMSM dynamics is presented in Section
II. The EKF algorithm is reported in Section III. Results on
experimental tests are reported in Section IV. The paper ends
with comments on the performance of the proposed solution.
Fig. 1. Block scheme of the proposed cascade controller (FOC)
II. MOTOR DYNAMICS
In the (d, q) reference frame, synchronously rotating with
the motor rotor, the electrical equations of motion of a
19th Mediterranean Conference on Control and AutomationAquis Corfu Holiday Palace, Corfu, GreeceJune 20-23, 2011
ThCT3.3
978-1-4577-0123-8/11/$26.00 ©2011 IEEE 1421
permanent-magnet synchronous motor can be written as [30],
[31]:
diddt
= −R
Lid + ωeiq +
1
Lud (1)
diqdt
= −R
Liq − ωeid −
1
Lλ0ωe +
1
Luq (2)
where id and iq are the d−axis and q−axis stator currents,
respectively; ud and uq are the d− axis and q− axis stator
voltages, respectively; R is the winding resistance and L =Ld = Lq is the winding inductance on axis d and q; λ0 is the
flux linkage of the permanent magnet and ωe is the electrical
angular speed of the motor rotor.
The electrical torque τe and the mechanical power P of
the motor are given by:
τe = Ktiq (3)
P = τeωr (4)
in which Kt = 32λ0Nr is the torque constant with Nr the
number of pole pairs and ωr is the mechanical angular speed
of the motor rotor. The developed torque of the motor is
proportional to the iq current because of the assumption that
there is no reluctance torque in the considered PMSM.
The mechanical motion equation of the motor is described
by:
Jdωr
dt+ Bωr = τe − τℓ (5)
dθr
dt= ωr (6)
where J is the mechanical inertia of the motor and load, Bis the coefficient of viscous friction, τℓ is the load torque
and θr denotes the mechanical angular position of the motor
rotor.
For the electrical angular position/speed and the mechan-
ical angular position/speed, the following relations hold:
ωe = Nrωr (7)
θe = Nrθr. (8)
III. ESTIMATION OF ROTOR POSITION AND
SPEED
The proposed EKF providing on line estimates of rotor
position and speed is derived in this section. Denote with
X(t) :=[
ωr(t) id(t) iq(t) ϑr(t)]
the motor state and
with U(t) :=[
ud(t) uq(t)]
the motor control input. The
motor nonlinear dynamic state space model can be written
in the compact form of the following stochastic differential
equation:
dX(t) = F (X(t), U(t))dt + dη(t), (9)
where F (X(t), U(t)) is obtained by (1), (2), (5), (6) and η(t)is a Wiener process such that E(dη(t)dη(t)T ) = Q(t)dt.Its weak mean square derivative dη(t)/dt is a white noise
process ∼ N(0, Q(t)) representing the model inaccuracies.
Assuming a constant sampling period ∆tk = T and denoting
tk+1 by (k +1)T , the following sampled nonlinear measure
equation can be associated to equation (9):
Z((k + 1)T ) = G(X((k + 1)T )) + v(kT ), (10)
where Z(kT ) is the vector containing measures of mo-
tor phase currents and v(kT ) is a white sequence ∼
N(0, R(kT )). The measure vector Z(kT ) is composed of
two elements, i.e. Z(kT ) = [z1(kT ) z2(kT )]T , where
z1(kT ) = id(kT ) + v1(kT ), z2(kT ) = iq(kT ) + v2(kT ).By definition of the measurement vector one has that the
output function G(X((k + 1)T )) has the following form:
G(X(kT )) =[
id(kT ) iq(kT )]T
= C(k)X(kT ) (11)
where
C(k) =
[
0 1 0 00 0 1 0
]
(12)
and v(kT ) = [v1(kT ) v2(kT )]T . Assume U(t) = U(kT )for t ∈ [kT, (k + 1)T ). To obtain an extended Kalman filter
with an effective state prediction equation in a simple form,
model (1) and (2) has been linearized about the current state
estimate x(kT, kT ) and the control input U((k − 1)T ) ap-
plied until the linearization instant. Subsequent discretization
with period T of the linearized model results in the following
EKF (where explicit dependence on T has been dropped for
simplicity of notation),
X(k + 1, k) = Ad(k)X(k, k) + L(k)U(k)
+D(k), (13)
P (k + 1, k) = Ad(k)P (k, k)ATd (k)
+Qd(k), (14)
K(k + 1) = P (k + 1, k)CT (k + 1)
[C(k + 1)P (k + 1, k)CT (k + 1) + R(k + 1)]−1,(15)
X(k + 1, k + 1) = X(k + 1, k) + K(k + 1)
[Z(k + 1) − G(X(k + 1, k))], (16)
P (k + 1, k + 1) = [I − K(k + 1)C(k + 1)]
P (k + 1, k), (17)
where
Ad(k) = eA(k)T≃ I + A(k)T
=
1 −BJ
T 0
iq(k, k)T 1 −RL
T
−
(
λ0
L+ id(k, k)
)
T −Nrωr(k, k)T
1 0Kt
JT 0
Nrωr(k, k)T 01 −
RL
T 00 0
(18)
A(k) :=[
∂F (X(t),U(t))∂X(t)
]
X(t)=X(k,k)U(t)=U(k−1)
(19)
L(k) =
0 0TL
00 T
L
0 0
(20)
978-1-4577-0123-8/11/$26.00 ©2011 IEEE 1422
D(k) = T D(k) =
−τℓTJ
−iq(k, k)Nrωr(k, k)T
id(k, k)Nrωr(k, k)T0
(21)
D(k) := F(
X(k, k), U(k − 1))
−A(k)X(k, k) − L(k)U(k − 1) (22)
Qd(k) = σ2η(k)Q(k). (23)
For the sake of brevity, the elements of the matrix Q(k)have not been reported. The form of Qd(k) expressed by
(23) derives by the hypothesis that Q(τ) = σ2η(k)I4, τ ∈
[kT, (k + 1)T ). This simplification assumption has been in-
troduced to obtain a Qd(k) which is completely known up to
the unknown multiplicative scaling factor σ2η(k). Moreover,
the covariance matrix R(k) is assumed to have the following
diagonal form:
R(k) = diag[σ2v,1(k), σ2
v,2(k)]. (24)
This means that no correlation is assumed between the
measurement errors introduced by the sensors. As R(k)is diagonal, the components of Z(k) may be processed
one by one by reducing the inversion of the 2 × 2 matrix
in (15) to the 2 inversions of scalars [32], thus saving
much computation time. The sequential processing of each
component z1(k), z2(k) must be performed in a period of
time (typically the sampling period) such that no significant
change occurs in the state estimate and in its covariance
matrix due to dynamics (9) [32].
The EKF can be implemented once estimates of Qd(k)and R(k) are available. As stated in [21], to reduce the
computational effort for a real time implementation of the
EKF an acceptable approximation is to use a diagonal
covariance matrix Qd(k).
IV. EXPERIMENTAL IMPLEMENTATION
The proposed PI-based FOC and EKF-based rotor po-
sition and speed estimator have been implemented on the
Technosoft MCK28335-Pro DSP motion control kit [33],
available in the Robotics Laboratory at Dipartimento di
Ingegneria Informatica, Gestionale e dell’Automazione of
the Universita Politecnica delle Marche. The experimental
setup is shown in Fig. 2. It is a combination of hardware
and software and includes a DSP-based controller board, a
power module, a PMSM equipped with a 500-line quadrature
encoder (4 is the multiplication ratio of the position resolu-
tion done in the encoder interface) and a software platform
to develop motion control applications. All communication
between PC and DSP board is done through the RS-232interface using a real-time serial communication monitor
resident in the DSP flash.
In this section, the drive structure, the experimental setup
and the results are discussed.
DMCD28x-Pro�
MSK28335 board
PM50 power module�
MBE300.E.500 PMSM�
Fig. 2. Experimental setup
A. Drive Structure
Control design methods performed in the (d, q) coor-
dinates are called field-oriented control which consists of
controlling the stator currents represented by a vector (vector
control). This approach uses a state transformation after
which the decoupling and linearization tasks can be per-
formed [14]. In particular, FOC-based schemes exploit the
fact that in the (d, q) rotating reference frame the torque and
the flux dynamics are linear and decoupled and independent
torque and flux control loops can be implemented. PI con-
trollers are commonly used in both loops in order to produce
the ‘d’ and ‘q’ voltage vector components, affecting the
flux and torque dynamics, respectively. Recently, high-speed
Digital Signal Processor (DSP) has become very common
in electric drive systems and FOC has been implemented
in many drive systems of AC machines. The field-oriented
control scheme of Fig. 1 is based on the measure of two
phase currents (ia and ib). The EKF-based estimator is
designed to estimate the rotor position and speed from
measurements of electric quantities. The measured phase
currents, ia and ib, are transformed, based on the rotor
position information and the Park coordinate transformation,
into the rotor frame direct and quadrature components, idand iq. The inverse Park coordinate transformation is used
for the computation of the three-phase voltage references, u∗
a,
u∗
b and u∗
c , applied to the inverter starting from the values of
voltage references computed by the current controllers in the
(d, q) reference frame, i.e. ud and uq. Thus, 6 PWM outputs
of the DSP controller are directly driven by the implemented
control algorithm, based on these reference voltages.
The motion control uses a cascate control structure with
inner loops for the current control and an outer loop for
the speed control (see Fig. 1). Standard PI controllers have
been designed for each control loop following the directions
reported in the user manual of the MCK28335-Pro kit
[33]. In particular, the current control is performed by two
identical PI regulators that have been designed and tuned to
get a bandwidth of 400 Hz. Similarly, the parameters of the
PI speed regulator has been set considering a bandwidth of 40Hz. PI constants are related to both the system parameters
978-1-4577-0123-8/11/$26.00 ©2011 IEEE 1423
and the required bandwidth; the proportional gain and the
integral action factor are 0.0001 and 0.9618, respectively,
for the two current controllers and 171.2532 and 31.4921,
respectively, for the speed controller.
In the proposed solution the reference (i∗d) of the direct
current component is set to zero (see Fig. 1). This case
corresponds to the motion of the motor in the normal
speed range, without considering possible field weakening
operations [30].
The sampling frequency is selected as 1 kHz for the
velocity control loop and 10 kHz for the current control
loops.
As proposed in [21], Fig. 1 shows that the EKF is fed with
the reference voltages ud and uq instead of the measured
ones. In fact, taking into account saturation phenomena in
the current controller implementation, it is possible to use
the voltage references instead of the actual voltages because
of the inverter switching period is small with respect to the
electrical time constant of the motor [21].
The initial values for the matrices Qd(·), R(·) and P (·, ·)have been chosen with a trial-and-error procedure to get the
best tradeoff between filter stability and convergence time
[21], [34]. Such matrices are reported in the following:
Qd(0) =
14 0 0 00 7.2 · 10−4 0 00 0 7.2 · 10−4 00 0 0 0.1
(25)
R(0) =
[
3.35 · 10−4 00 3.35 · 10−4
]
(26)
P (0, 0) =
10 0 0 00 0.04 0 00 0 0.04 00 0 0 1
. (27)
B. Experimental Setup
Experiments have been carried out on the Technosoft
MBE.300.E500 PMSM. The motor catalog electric and me-
chanical parameters are given in Table I. The Technosoft
PM50 power module includes a 3-phase inverter, the pro-
tection circuits and the measurement circuits for the DC-
bus voltage and the motor currents. The 3-phase inverter
uses MOSFET transistors with switching frequency up to
50 kHz. The PM50 interface includes 6 PWM command
inputs (TTL/CMOS compatible) through which the control
unit can drive each transistor of the inverter. The PM50electrical specifications are given in Table II. The control
unit is the Technosoft MSK28335 board based on the high
performance Texas Instruments DelfinoTM TMS320F28335Digital Signal Controller (DSC) [35]. The three-phase volt-
age commands are generated using the PWM unit of the
DSP. The PWM outputs are applied to the 6 transistors of
the power inverter, based on sinusoidal reference values for
the motor phase voltage, as generates after computation in
(d, q) rotor coordinates frame at the output of the current
controllers, and transformation to stator coordinates frame
by the inverse Park transformation (see Fig. 1). The DSP
TABLE I
TECHNOSOFT MBE.300.E500 PMSM PARAMETERS [33].
Coil dependent parameters
Phase-phase resistance ohm 8.61Phase-phase inductance mH 07.13
Back-EMF constant V/1000 rpm 3.86Torque constant mNm/A 36.8
Pole pairs – 1
Dynamic parameters
Rated voltage V 36Max. voltage V 58
No-load current mA 73.2No-load speed rpm 9170
Max. cont. current (at 5000 rpm) mA 913Max. cont. torque (at 5000 rpm) mNm 30
Max. permissible speed rpm 15000Peak torque (stall) mNm 154
Mechanical parameters
Rotor inertia Kgm2· 10−7 11
Mechanical time constant ms 7
TABLE II
TECHNOSOFT PM50 POWER MODULE ELECTRICAL SPECIFICATIONS
[33].
Param. Cond. Min. Typ. Max. Units
DC Input Power
Mot. supply – 9 – 36 V
Mot. supply cur. – – – 2.1 Arms
Mot. supply cur. – – – 6.33 Apeak
Output Power
Voltage set by external 0 – 36 Vrms
PWM control
Nom. Mot. Power Vin = 36V , – – 75 W
fpwm = 20kHz,
TA = 40◦CNom. Mot. Cur. TA = 40◦C – – 1.7 Arms
PWM frequency – 0.1 20 100 kHz
has a 150 MIPS, 32 bit single-precision floating-point DSP
core and operates at a 150MHz frequency. The MSK28335board is equipped also with 128-kWords 0-wait state exter-
nal RAM, 2 channels of 12-bit accuracy D/A outputs, 16channels of 12-bit accuracy and 80 ns conversion time A/D
inputs, RS-232, CAN-bus and JTAG interfaces.
The motor phase current measurement scheme of the
MCK28335 kit is based on shunts mounted on each lower
leg of the inverter. The voltage drop on a shunt is amplified
and sent to the TMS320F28335 A/D channels. This current
measurement scheme, simple and cost-effective from the
hardware point of view, requires some special care from
the software implementation. The A/D conversions have to
be synchronized with the PWM command of the inverter
transistors, for a proper measurement of the currents on each
phase of the motor. In fact a ripple in the motor currents
exists and its value is relative to the motor parameters (elec-
trical time constant), PWM frequency, and current controller
bandwidth. Consequently, due to this inherent current ripple,
in order to get the closest measured value of the current,
978-1-4577-0123-8/11/$26.00 ©2011 IEEE 1424
the measurements have been performed at the middle of the
PWM period [33].
The MCK28335-Pro kit includes the DMCD28x-Pro, the
Technosoft software platform, which allows the development
of motor control applications. The code is developed in C
language using a modular approach providing flexibility for
further system integration.
C. Experimental Results
A sample of the performed speed-tracking experiments is
shown in Fig. 3. In this figure, the performance produced
by the proposed PI-based FOC equipped with the EKF-
based rotor position and speed estimator is illustrated for the
motor following a reference trajectory given by a trapezoidal
velocity profile.
A comparison with the performance of a PI-based FOC
equipped with a conventional backward-difference method
for speed estimation, using sampled position measurements
provided by a digital incremental encoder, has been also
made.
In particular, the PI-based FOC equipped with the EKF-
based rotor position and speed estimator (Fig. 3(a) - black
continuous line) shows a better tracking performance with
respect to the PI-based FOC equipped with the encoder and
the backward-difference based speed estimator (Fig. 3(a)
- blue dashed line). The speed-tracking error is reported
in Fig. 3(b); in particular the black continuous line is the
tracking error for the PI-based FOC with the EKF-based rotor
position and speed estimator and the blue dashed line is the
tracking error for the PI-based FOC with the encoder and
the backward-difference based speed estimator.
In Fig. 3(c), the EKF-based estimated rotor position (black
continuous line) is compared with the encoder-based mea-
sured one (blue dashed line); the estimated position shows
good correspondence to the measured rotor position. The
index IAE, i.e. the integral of the absolute value of the speed-
tracking error and of the error between the estimated and
the measured rotor position, is used to summarize the above
experimental result and also the performance obtained con-
sidering a reference trajectory given by a sinusoidal velocity
profile (see Table III). Experimental tests at low speed have
TABLE III
PERFORMANCE COMPARISON AT HIGH SPEED.
157 rad/s EKF-speed backward-difference EKF-position
Trapezoidal 0.6185 1.0100 0.2651Sinusoidal 1.2297 2.1900 0.2374
been also performed with trapezoidal and sinusoidal velocity
profiles. In particular velocities of 78.5 rad/s and 31.4 rad/shave been considered; results have been summarized in
Table IV. The reported index IAE shows an appreciable
improvement of the proposed solution with the EKF-based
rotor position and speed estimator with respect to the PI-
based FOC equipped with the encoder and the standard
backward-difference method for speed estimation.
TABLE IV
PERFORMANCE COMPARISON AT LOW SPEED.
78.5 rad/s EKF-speed backward-difference EKF-position
Trapezoidal 0.2904 0.3670 0.6797Sinusoidal 0.4556 0.7810 0.3355
31.4 rad/s EKF-speed backward-difference EKF-position
Trapezoidal 0.2165 0.2440 0.5974Sinusoidal 0.2995 0.3950 0.1496
V. CONCLUDING REMARKS
This paper proposed a DSP-based algorithm for the ac-
curate rotor position and speed estimation of a PMSM
from measurements of electric quantities. The approach is
based on a linearized Kalman filter and the estimated rotor
position and speed are used for the control of the PMSM.
Experiments on a commercial PMSM drive reported in the
paper confirmed that high performance of the rotor position
and speed estimation algorithm are really obtainable in a
wide range of experimental situations.
REFERENCES
[1] Z. Xu and M. F. Rahma, “Direct torque and flux regulation of an ipmsynchronous motor drive using variable structure control approach,”IEEE Transactions on Power Electronics, vol. 22, no. 6, pp. 2487–2498, Nov. 2007.
[2] K.-K. Shyu, C.-K. Lai, Y.-W. Tsai, and D.-I. Yang, “A newly robustcontroller design for the position control of permanent-magnet syn-chronous motor,” IEEE Transactions on Industrial Electronics, vol. 49,no. 3, pp. 558–565, Jun. 2002.
[3] F. J. Lin, “Real-time IP position controller design with torque feedfor-ward control for PM synchronous motor,” IEEE Trans. Ind. Electron.,vol. 44, pp. 398–407, 1997.
[4] F. J. Lin, R. F. Fung, and Y. C. Wang, “Sliding mode and fuzzy controlof toggle mechanism using PM synchronous servomotor drive,” Proc.
of IEE Control Theory Applicat., vol. 144, no. 5, pp. 393–402, 1997.[5] F. J. Lin and S. L. Chiu, “Robust PM synchronous motor servo
drive with variable-structure model-output-following control,” Proc.
IEE Elect. Power Applicat., vol. 144, no. 5, pp. 317–324, 1997.[6] F. J. Lin and Y. S. Lin, “A robust PM synchronous motor drive
with adaptive uncertainty observer,” IEEE Trans. Energy Conversion,vol. 14, pp. 989–995, Dec. 1999.
[7] M. Ghribi and H. Le-Huy, “Optimal control and variable structurecombination using a permanent-magnet synchronous motor,” in Conf.
Rec. IEEE-IAS Annu. Meeting, vol. 1, Denver, CO, Oct. 1994, pp.408–415.
[8] M. Rashed, P. MacConnell, A. Stronach, and P. Acarnley, “Sensorlessindirect-rotor-field-orientation speed control of a permanent-magnetsynchronous motor with stator-resistance estimation,” IEEE Transac-
tions on Industrial Electronics, vol. 54, no. 3, pp. 1664 –1675, june2007.
[9] K. Gulez, A. Adam, and H. Pastaci, “Torque ripple and emi noiseminimization in pmsm using active filter topology and field-orientedcontrol,” IEEE Transactions on Industrial Electronics, vol. 55, no. 1,pp. 251 –257, jan. 2008.
[10] P. Mattavelli, L. Tubiana, and M. Zigliotto, “Torque-ripple reduction inpm synchronous motor drives using repetitive current control,” IEEE
Transactions on Power Electronics, vol. 20, no. 6, pp. 1423 – 1431,nov. 2005.
[11] S. Chi, Z. Zhang, and L. Xu, “Sliding-mode sensorless control ofdirect-drive pm synchronous motors for washing machine applica-tions,” IEEE Transactions on Industry Applications, vol. 45, no. 2,pp. 582 –590, march-april 2009.
[12] A. Pisano, A. Davila, L. Fridman, and E. Usai, “Cascade controlof PM DC drives via second-order sliding-mode technique,” IEEE
Transactions on Industrial Electronics, vol. 55, no. 11, pp. 3846–3854,Nov. 2008.
978-1-4577-0123-8/11/$26.00 ©2011 IEEE 1425
[13] W. Leonhard, Control of Electric Drives. London, U.K.: Springer-Verlag, 1990.
[14] P. Vas, Vector control of AC machines. London, U.K.: Oxford Univ.Press, 1990.
[15] G. Bartolini, A. Damiano, G. Gatto, I. Marongiu, A. Pisano, andE. Usai, “Robust speed and torque estimation in electrical drivesby second order sliding modes,” IEEE Trans. Control Syst. Technol.,vol. 11, no. 1, pp. 84–90, Jan. 2003.
[16] M. Boussak, “Implementation and experimental investigation of sen-sorless speed control with initial rotor position estimation for interiorpermanent magnet synchronous motor drive,” IEEE Transactions on
Power Electronics, vol. 20, no. 6, pp. 1413 – 1422, nov. 2005.[17] R. Wu and G. Slemon, “A permanent magnet motor drive without a
shaft sensor,” IEEE Transactions on Industry Applications, vol. 27,no. 5, pp. 1005–1011, Oct. 1991.
[18] P. Schmidt and A. Wijenayake, “Sensorless control of a permanentmagnet synchronous machine down to near zero speed applied toposition motion control,” in Industry Applications Conference, 1996.
Thirty-First IAS Annual Meeting, IAS ’96., Conference Record of the
1996 IEEE, vol. 1, Oct. 1996, pp. 21–28 vol.1.[19] M. Corley and R. Lorenz, “Rotor position and velocity estimation
for a permanent magnet synchronous machine at standstill and highspeeds,” in Industry Applications Conference, 1996. Thirty-First IAS
Annual Meeting, IAS ’96., Conference Record of the 1996 IEEE, vol. 1,Oct. 1996, pp. 36–41 vol.1.
[20] J. Solsona, M. Valla, and C. Muravchik, “A nonlinear reduced orderobserver for permanent magnet synchronous motors,” IEEE Transac-
tions on Industrial Electronics, vol. 43, no. 4, pp. 492–497, Aug. 1996.[21] S. Bolognani, R. Oboe, and M. Zigliotto, “Sensorless full-digital
pmsm drive with ekf estimation of speed and rotor position,” IEEE
Transactions on Industrial Electronics, vol. 46, no. 1, pp. 184 –191,feb. 1999.
[22] S. Bolognani, M. Zigliotto, and M. Zordan, “Extended-range pmsmsensorless speed drive based on stochastic filtering,” IEEE Transac-
tions on Power Electronics, vol. 16, no. 1, pp. 110 –117, Jan. 2001.[23] S. Bolognani, L. Tubiana, and M. Zigliotto, “Extended kalman filter
tuning in sensorless pmsm drives,” IEEE Transactions on Industry
Applications, vol. 39, no. 6, pp. 1741 – 1747, nov. 2003.[24] R. Dhaouadi and N. Mohan, “Application of stochastic filtering to
a permanent magnet synchronous motor-drive system without electro-mechanical sensors,” in Proc. Int. Conf. Electrical Machines, ICEM90,1990, pp. 1225–1230.
[25] R. Dhaouadi, N. Mohan, and L. Norum, “Design and implementationof an extended kalman filter for the state estimation of a permanentmagnet synchronous motor,” IEEE Transactions on Power Electronics,vol. 6, no. 3, pp. 491 –497, July 1991.
[26] P. Vas, Parameter Estimation, Condition Monitoring, and Diagnosis
of Electrical Machines. Oxford, U.K.: Oxford Science, 1993.[27] M. Barut, S. Bogosyan, and M. Gokasan, “Speed-sensorless estimation
for induction motors using extended kalman filters,” IEEE Transac-
tions on Industrial Electronics, vol. 54, no. 1, pp. 272 –280, feb. 2007.[28] Y. Liu, Z. Q. Zhu, and D. Howe, “Instantaneous torque estimation
in sensorless direct-torque-controlled brushless dc motors,” IEEE
Transactions on Industry Applications, vol. 42, no. 5, pp. 1275 –1283,sept. 2006.
[29] S. Bolognani, L. Tubiana, and M. Zigliotto, “Ekf-based sensorlessipm synchronous motor drive for flux-weakening applications,” IEEE
Transactions on Industry Applications, vol. 39, no. 3, pp. 768–775,June 2003.
[30] J. Shi and Y. Lu, “Field-weakening operation of cylindrical permanent-magnet motors,” in Proc. IEEE International Conference on Control
Applications, Dearborn, MI, sep. 1996, pp. 864–869.[31] V. I. Utkin, J. Guldner, and J. Shi, Sliding mode control in electrome-
chanical systems, ser. Systems and Control. Florida, USA: CRC PressLLC, 1999.
[32] A. Jazwinsky, Stochastic processes and filtering theory. New-York,USA: Academic Press, 1970.
[33] (2009) Technosoft s.a. [Online]. Available: http://www.technosoftmotion.com/
[34] H.-G. Yeh, “Real-time implementation of a narrow-band kalmanfilter with a floating-point processor dsp32,” IEEE Transactions on
Industrial Electronics, vol. 37, no. 1, pp. 13–18, Feb. 1990.[35] (2009) Texas instruments incorporated. [Online]. Available: http:
//www.ti.com/
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−200
−150
−100
−50
0
50
100
150
200
Time [s]
Speed [ra
d/s
]
(a)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−20
0
20
40
60
80
100
120
140
160
Time [s]
Speed e
rror
[rad/s
]
(b)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
1
2
3
4
5
6
7
Time [s]
Positio
n [ra
d]
(c)
Fig. 3. Trapezoidal velocity profile. (a) PI-based FOC with the EKF-based rotor position and speed estimator (black continuous line), PI-basedFOC with the encoder and the backward-difference based speed estimator(blue dashed line) and reference velocity (red dotted line, almost completelysuperimposed by the black and blue lines) (b) Speed error: PI-based FOCwith the EKF-based rotor position and speed estimator (black continuousline) and PI-based FOC with the encoder and the backward-difference basedspeed estimator (blue dashed line) (c) EKF-based estimated rotor position(black continuous line) and encoder-based measured rotor position (bluedashed line).
978-1-4577-0123-8/11/$26.00 ©2011 IEEE 1426