State Estimation for Sensorless Control of BLDC Machine with
Particle Filter Algorithm978-1-5386-9254-7/19/$31.00 ©2019
IEEE
State Estimation for Sensorless Control of BLDC Machine with
Particle Filter Algorithm
Yaser Chulaee 1, Hossein Abootorabi Zarchi 2, Seyyed Iman Hosseini
Sabzevari 3
1,2,3 Faculty of Engineering
Ferdowsi University of Mashhad
yaser.chulaee@mail.um.ac.ir, abootorabi@um.ac.ir,
imanhosseini@mail.um.ac.ir
Abstract – This paper presents a technique in order to estimate the
rotor speed and position of the BLDC machine. In the proposed
method, particle filter (PF) is employed to estimate state
variables of the machine using measured currents and line voltages.
PF is a type of stochastic filters that has wide applications in
state estimation of non-linear systems. The main aim of this paper
is to utilize particle filter in the sensorless control of BLDC
machine and investigate proposed PF algorithm performance. In
addition, effective parameters in estimation accuracy and transient
response of the filter are discussed. The simulation is performed
in MATLAB/SIMULINK environment and results denote that proposed
sensorless drive have good accuracy in wide speed range and load
torque variation. Also, the algorithm performance is not influenced
by the incorrect initial position. Index Terms - Brushless DC
Machine (BLDCM), Particle Filter, Sensorless Drive
I. INTRODUCTION
Recently, BLDC machines have gained interest in HVAC, EVs and home
appliances, etc. because of their advantages such as high
torque-inertia ratio, compact size, ease of maintenance, and low
audible noise due to the absence of brushes. In practice, our goal
is to utilize these machines effectively. For this purpose, various
control strategies have been used, almost all of them need the
information regarding position and/or speed of machine. As in most
BLDC applications position information is needed only for every 60
degrees, hall-effect sensors have been employed [1, 2]. However, in
a high-performance application, the exact position and speed are
required and, as a result, encoders or resolvers have been used.
Adopting these sensors in the drive control system increases cost
and complexity, in addition to decreasing reliability. Over the
last two decades, many research endeavors have been conducted in
order to eliminate these sensors from the drive system, which leads
to the introduction of sensorless drives [3, 4]. Some works in the
literature obtain position and speed information by using open-loop
techniques. In these methods, motor position is identified by
terminal voltages measuring [5]. One of the well-known open-loop
approaches uses motional back emf voltages as in [6]. This paper
shows that inadequate back emf amplitude at low speed makes
position detection problematic. This is the main drawback of all
motional emf schemes. Another disadvantage that is common in all
open-loop approaches is parameters variation sensitivity due to
lack of
internal improving mechanism [5]. Closed-loop methods, for example,
sliding-mode observer (SMO) and stochastic filtering, had been
introduced and developed to overcome these disadvantages. As shown
in [7], SMO suffers from the chattering phenomenon. Traditionally,
one of the stochastic filters that had been used as an observer is
Kalman filter (KF). In KF, all state variables are estimated via
measuring the states in a noisy environment. The simple KF is only
appropriate for linear stochastic systems, and the extended Kalman
filter (EKF) derived from KF is suitable for nonlinear systems.
Both of them are based on the least square variance estimation.
References [8, 9, and 10] employed EKF to estimate position and
speed of the machine using measured stator line voltages and
currents. In [11], a novel EKF with the help of Active Learning
Method (ALM) was proposed. EKF algorithm uses a linearized model of
machine that is done by Jacobian matrix calculation, and, this
procedure, besides adding more complexity and hardware
implementation problem, is not suitable for highly nonlinear model
systems. Reference [12] uses the unscented Kalman filter (UKF) for
sensorless control of the PMSM. UKF is an improved type of KF that
simplifies its algorithm via eliminating Jacobian matrix
calculation step. Application of stochastic filters mentioned above
(EKF and UKF) is based on the assumption that the process and
measurement noise distributions are Gaussian. One solution for
highly nonlinear systems at the presence of non-Gaussian noises is
the particle filter (PF). PF algorithm was invented to numerically
implement the Bayesian estimator. The PF has some similarity with
the UKF but, in contrast to it, theoretically, the estimation error
in PF can converge to zero [13]. In this paper, a sensorless drive
system of the BLDC machine was investigated. The position and speed
of the machine was estimated by means of measuring machine terminal
variables using the PF algorithm that employed an effective
resampling method. Estimated states fed into the drive system as
input signals, and the speed of the machine is controlled
effectively.
II. MATHEMATICAL MODEL OF THE BLDC
The electrical equations of BLDC machines are [14] = −R i − λ f (θ
)ω + V + V (1)
2019 10th International Power Electronics, Drive Systems and
Technologies Conference (PEDSTC) 12-14 February, Shiraz University,
Iran
172
= −R i − λ f (θ )ω − V + V (2)
= −R i − λ f (θ )ω − V − V (3)
T = λ f (θ )i + λ f (θ )i + λ f (θ )i (4)
where ωm, θ , R , L , λ are mechanical rotor speed in rad/sec,
mechanical rotor position in radian, line-to-line resistance (),
inductance (H), and flux linkage in V/(rad/sec), respectively. f ,
f , f have the same shape as the back EMFs with a maximum amplitude
of ±1 and are specified in Table I. The mechanical equations are as
follows: = T − T − T (5)
= ω (6) T = B ω (7)
where J , B are the moment of inertia in kg.m2, friction
coefficient in Nm/(rad/sec), and electromagnetic, load and friction
torque are denoted as T , T , T , respectively [15]. Finally, by
combining equations (1)-(7), the BLDC machine can be described in
state space form as shown in (8), (9) and (10) at the bottom of the
page.
III. THE PF ALGORITHM
In state estimation, based on the Bayesian filtering approach, one
solution is constructing the posterior probability density function
(pdf) by using all available information, including measurement
data. Since this pdf contains all statistical information, optimal
state estimation and its accuracy can be derived from it [16]. By
using Bayes’s rule a posterior pdf is obtained as [13]: p(x |y : )
= ( | ) ( | : )( | : ) (11)
In (11): p(x |y : ) = p(x |x : )p(x |y : ) dx : (12)
TABLE I Functions f , f and f
0 ≤ θ 6π θ −1 1
≤ θ 1 −1 1 − 6π (θ − π6) ≤ θ 1 −1 + 6π (θ − π2) −1
≤ θ 1 − 6π (θ − 5π6 ) 1 −1
≤ θ −1 1 −1 + 6π (θ − 7π6 ) ≤ θ −1 1 − 6π (θ − 9π6 ) 1
≤ θ 2π −1 + 6π (θ − 11π6 ) −1 1 p(y |y : ) = p(y |x )p(x |y : ) dx
(13)
Except for some cases (e.g. linear Gaussian model), analytical
solutions to these equations are not available. For other models,
(11) needs to be evaluated approximately. The particle filter is
represented to approximate posterior pdf by using a set of random
weighted particles {(x , w ), n =1:N }, (14) [16]. p(x |y : ) ≈ ∑ w
δ(x − x ) (14)
where x is a state value of mth particle, w is its weight, δ(. )
denotes the Dirac delta function, and N is the number of particles.
Actually, the weight of a particle demonstrates the probability of
the particle which is represented by the equation (15): ω ( ) ∝ ω (
) ( | ) ( | )( | ) (15)
State estimation with the help of the particle filter is a
recursive procedure. After several iterations, most particles will
have small weights. This leads to the allocation of a large
computational effort to update particles that have a small role in
approximating the pdf. This phenomenon is called degeneracy, which
is a common problem with PF. To prevent degeneracy, one of the most
well-known methods is
x = f(x)x + Bu
ωθ = 0 0 ( ) 00 0 ( ) 00 0 ( ) 0( ) ( ) ( ) 0 0 0 0 1 0
iiiωθ + 0000 00 0 0 VVT
y = Hx = 1 0 0 0 00 1 0 0 00 0 1 0 0 iiiωθ
(9)
(10)
(8)
173
BLDC
Speed Controller
Figure 1
resampling [16]. In the resampling process, small weight particles
are replicated with those that have large weight. Consider a
nonlinear system described by state equations as follows: x (t) =
f(x(t))x(t) + Bu(t) + σ(t) (16) y(t) = h(x(t)) + ν(t) (17)
where σ(t) and ν(t) are zero-means white Gaussian noises with
covariance Q(t) and R(t), respectively. Equations (16) and (17) are
in continuous time domain, but the PF algorithm is implemented in
discrete domain. These equations are discretized as: x = (I + f(x
)t)x + Btu + w (18) y = h(x ) + ν (19)
where I is the identity matrix, and t is the sampling period. Note
that in these equations, process and measurement noises pdf are
assumed to be known. At the first iteration, based on the initial
assumed pdf p(x ), N initial particles (x . (i = 1. … . N)) are
generated randomly. Choosing parameter N is an important issue in
particle filter that affects estimation accuracy and computational
burden. In order to obtain prior particles x . , initial particles
are propagated in the system discrete equation (18). In the next
step, relative weight must be assigned to each prior particle with
respect to the measurement data. This is done by evaluating the pdf
p(y |x ) , with calculating the likelihood of particles as follows
[13]: q = p(y |x . ) ~ ( ) | | exp ( ( ) ( ) ) (20)
where m is related to the output matrix dimension and y is measured
data, respectively. According to equations (15) and (20), the
weight of each particle is directly proportional to their
likelihood. After that, for choosing the large-weighted particles
and constructing posterior particles x . , resampling on the basis
of normalized likelihood is utilized. Now, the posterior pdf p(x |y
: ), is obtained. Finally, the estimation of the states is obtained
by calculating the average of approximated pdf p(x |y : ). Note
that these posterior particles are propagated at the next iteration
in order to generate prior particles.
TABLE II Specifications of the BLDC motor used in simulation
Parameter Value
Number of poles 8
Flux linkage 0.175 Wb
Rated speed 1500 Rpm
Friction factor 0.001 Nm/rad/sec
As mentioned earlier, resampling is a critical step, hence various
techniques had been proposed in many papers. These methods have
some differences in features such as computational complexity,
runtime, and the number of random numbers used [17]. One of the
effective methods is stratified resampling that is used in the
proposed PF algorithm. Stratified resampling divides the whole
population of particles into subpopulations [18]. For more
information about the structure of the stratified method and also
other resampling strategies, you can see [17].
IV. SENSORLESS DRIVE SCHEME
Fig. 1 shows a block diagram of the sensorless speed control of the
BLDC machine. Drive structure consists of two main parts: Power
stage and control section. Power stage includes a dc power supply,
an inverter, and the BLDC machine. In the control section, the
proportional integral (PI) controller is used as a speed regulator
that compares reference of the speed with the estimated speed of
the machine and generates proper currents command. As demonstrated
in Fig. 1, particle filter algorithm estimates speed and position
of the rotor by means of measured currents and voltages. Then,
these estimated parameters are fed into the control section as
feedback signals. As a result, this structure leads to the
elimination of speed and position sensors, hence called
sensorless.
V. SIMULATION RESULTS
The sensorless speed control of the BLDC motor using particle
filter that act as state estimator, has been simulated in
MATLAB/SIMULINK software. The specification of the BLDC motor used
in the simulation is presented in Table II.
PF algorithm has been implemented in a MATLAB function block that
operates similar to a digital processor. The measured currents and
line voltages are inputs of the PF block. At each time step, after
the PF algorithm process explained in section III, estimated speed
and position have been used as feedback signals for the drive
system. In the real-time system, any measurement data consist of
noise and inaccuracy. Hence, to simulate measurement noise, a white
Gaussian noise with known mean and variance was added to the
measured variables.
Fig. 1. The proposed sensorless speed control drive structure
174
Fig. 3. (a) Position and (b) speed estimation error at speed
reference of 200 to
1200 rpm
A critical step in PF algorithm implementation is choice elements
of P0, Q and R matrices. Choosing the proper value of these
parameters, results in a better performance and lower convergence
time of the filter. Also, transient specifications of the filter
can be directly modified with these matrices where matrix P0 and Q
affects peak of the transient and transient time, respectively.
Diagonal elements of the matrix P0 determine variances of initial
particles of each state that construct initial pdf p(x ). The
amount of system noise and model parameters uncertainty are
presented by the matrix Q. In the simulation environment, any
variations in system parameters are not considered, which means
elements of Q must be small. Typically, P0 and Q are chosen by a
trial-and-error procedure with regard to stability and transient
characteristics. Matrix R indicates statistical properties of
measurement noise. In this paper, measured data includes only phase
currents of the motor, and hence, in practice, elements of the R
are determined with
Fig. 4. Details of (a) position and (b) speed estimation error
between = 3
and = 6 sec.
the help of current senor manufacturer datasheet, and based on
added noise variance in simulation. Covariance matrices P0, Q and R
used in simulated PF algorithm are given below:
P = 0.05 0 0 0 00 0.05 0 0 00 0 0.05 0 00 0 0 10 00 0 0 0 0.01
(21)
Q = 0.2 0 0 0 00 0.2 0 0 00 0 0.2 0 00 0 0 1 00 0 0 0 0.01
(22)
R = 5 0 00 5 00 0 5 (23)
E rr
o r
o f
P o
si ti
o n
-0.09
-0.06
-0.03
0
0.03
0.06
/)
Fig. 2. Estimation results of the proposed PF algorithm at = 0 for
various speed references. Actual and estimated (a) mechanical speed
(b) position and (c)
line current of the motor.
ω (r
ad /s
A)
175
Fig. 5. Transient behaviour of the proposed PF algorithm at
electrical initial
position, =15 rad.
Fig. 6. Transient behaviour of the proposed PF algorithm at
electrical initial
position, =5 rad.
Note that all simulation tests performed at closed-loop control
with the number of the particles N, equal to 15. The estimated
speed, position and motor line current by simulated PF algorithm
and actual ones that had been measured in sensoreless drive mode
are shown in Fig. 2(a), (b) and (c), respectively. Additionally, in
order to evaluate sensorless drive performance, the speed of
machine when the drive system utilized sensors data is shown in
Fig. 2(a) (labeled as “actual sensored drive”). In this simulation
experiment, the mechanical speed reference of the motor changes
from 200 rpm (20.94 rad/sec) to 1200 (125.66 rad/sec) rpm at time t
= 3 seconds and reduced to 200 rpm at t = 6 seconds. As it can be
seen in this figure, simulation results indicate that the proposed
PF algorithm has a good performance in a wide speed range. Fig. 3
shows the speed and position estimation error and details error in
3 seconds time duration are shown in Fig. 4. As demonstrated in
Fig. 4, the maximum estimated position and speed error are 0.065
radian and 6.4 rad/sec, respectively. An important issue in
estimation by stochastic filters is behavior at the startup
procedure when the assumed initial position value θ , differs from
the actual one that may lead to wrong convergence. Hence, a
simulation experiment with the incorrect initial position is
performed to investigate the proposed filter performance. Fig. 5
and 6 illustrate results of the simulation with two non-zero
initial positions of the rotor. As shown in Fig. 6 the PF algorithm
has a good operation in this condition, and the filter converges to
the actual position in less than 25 ms. For evaluating the
persistence of the proposed sensorless drive under load torque
variation a simulation test is performed. As shown in Fig. 7(b), at
= 1 seconds, a 2 N.m load torque is suddenly applied to the
machine. Fig. 7(a) shows that speed estimation has a good accuracy
even at load torque change.
Fig. 7. (a) Estimated and actual speed of the motor (b) mechanical
torque at load torque variation and = 1200 rpm.
VI. CONCLUSION In this paper, a sensorless control of the BLDC
machine using PF algorithm as state estimator is presented.
Particle filter due to the elimination of model linearization step
and propagation of N particles in the system model has suitable
performance even for state estimation in highly non-linear systems
at the presence of non-Gaussian noises. The number of the particles
N, is an important parameter in PF algorithm, and increasing this
parameter leads to the enhancement of filter accuracy in exchange
for increasing computational burden, and, a trade-off between these
two factors is needed. Resampling is such a vital step in particle
filter algorithm that adopting convenient resampling strategy can
prevent from divergence. For simplifying practical implementation
of the PF algorithm, straightforward equations and a step-by-step
procedure are presented. Simulation results indicate that the
proposed PF algorithm is capable of estimating states of the BLDC
machine at various speeds, load torque, and different initial
positions with good accuracy. In addition, based on the simulation,
the presented sensorless drive system has a good transient and
steady state performance.
REFERENCES
[1] P. Vas, Sensorless vector and direct torque control, Oxford,
Oxford University Press, 1998.
[2] A. Khazaee, H. Abootorabi Zarchi, and G. Arab Markadeh, "Loss
model based efficiency optimized control of brushless DC motor
drive," ISA Transactions, 2018.
[3] D. Lenine, B. Rami Reddy, and S. Vijay Kumar, "Estimation of
speed and rotor position of BLDC motor using extended Kalman
filter," IET-UK International Conference on Information and
Communication Technology in Electrical Sciences (ICTES 2007), 2007,
pp. 433–440.
[4] P. Tomei and C. Verrelli, "Observer-Based Speed Tracking
Control for Sensorless Permanent Magnet Synchronous Motors With
Unknown Load Torque," IEEE Transactions on Automatic Control, vol.
56, no. 6, pp. 1484-1488, June 2011.
[5] R. Bojoi, M. Pastorelli, J. Bottomley, P. Giangrande, and C.
Gerada, "Sensorless control of PM motor drives - A technology
status review," 2013 IEEE Workshop on Electrical Machines Design,
Control and Diagnosis (WEMDCD), 2013, pp. 168-182.
[6] T. de Almeida, G. de Paula, A. de Castro, W. Pereira, and J.
Monteiro, "Sensorless vector control for BLDC machine," 2017
Brazilian Power Electronics Conference (COBEP), 2017.
[7] A. Deenadayalan and G. Saravana Ilango, "Position sensorless
sliding mode observer with sigmoid function for Brushless DC
motor," 2012 International Conference on Advances in Power
Conversion and Energy
θ (r
( N
.m )
176
Technologies (APCET), 2012, pp. 1-6. [8] B. Terzic and M. Jadric,
"Design and implementation of the extended
Kalman filter for the speed and rotor position estimation of
brushless DC motor," IEEE Transactions on Industrial Electronics,
vol. 48, no. 6, pp. 1065-1073, Dec. 2001.
[9] M. Preindl and S. Bolognani, "Model Predictive Direct Speed
Control with Finite Control Set of PMSM Drive Systems," IEEE
Transactions on Power Electronics, vol. 28, no. 2, pp. 1007-1015,
Feb. 2013.
[10] A. Bado, S. Bolognani, and M. Zigliotto, "Effective estimation
of speed and rotor position of a PM synchronous motor drive by a
Kalman filtering technique," PESC `92 Record. 23rd Annual IEEE
Power Electronics Specialists Conference, 1992, pp. 951-957.
[11] A. Ejlali and J. Soleimani, "Sensorless vector control of
3-phase BLDC motor using a novel Extended Kalman," 2012
International Conference on Advances in Power Conversion and Energy
Technologies (APCET), 2012, pp. 1-6.
[12] D. Janiszewski, "Sensorless control of Permanent Magnet
Synchronous Motor based on Unscented Kalman Filter," 2011
International Conference on Power Engineering, Energy and
Electrical Drives, 2011, pp. 1-6.
[13] D. Simon, Optimal state estimation - Kalman, H infinity, and
Nonlinear Approaches, Hoboken (N.J.), Wiley-Interscience,
2006.
[14] B. K. Lee and M. Ehsani, "Advanced Simulation Model for
Brushless DC Motor Drives," Electric Power Components and Systems,
vol. 31, no. 9, pp. 841-868, Sep. 2003.
[15] R. Krishnan, Permanent magnet synchronous and brushless DC
motor drives, Boca Raton, CRC, 2010.
[16] M. Arulampalam, S. Maskell, N. Gordon, and T. Clapp, "A
tutorial on particle filters for online nonlinear/non-Gaussian
Bayesian tracking," IEEE Transactions on Signal Processing, vol.
50, no. 2, pp. 174-188, Feb. 2002.
[17] T. Li, M. Bolic and P. Djuric, "Resampling Methods for
Particle Filtering: Classification, implementation, and
strategies," IEEE Signal Processing Magazine, vol. 32, no. 3, pp.
70-86, May 2015.
[18] G. Kitagawa, "Monte Carlo Filter and Smoother for Non-Gaussian
Nonlinear State Space Models," Journal of Computational and
Graphical Statistics, vol. 5, no. 1, pp. 1-25, March 1996.
177
2019-04-22T15:45:30-0400
LOAD MORE