# Practical Modeling and Comprehensive System Identification of a BLDC Motor

Authors: Changle Xiang; Xiaoliang Wang; Yue Ma; Bin Xu
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

The aim of this paper is to outline all the steps in a rigorous and simple procedure for system identification of BLDC motor. A practical mathematical model for identification is derived. Frequency domain identification techniques and time domain estimation method are combined to obtain the unknown parameters. The methods in time domain are founded on the least squares approximation method and a disturbance observer. Only the availability of experimental data for rotor speed and armature current are required for identification. The proposed identification method is systematically investigated, and the final identified model is validated by experimental results performed on a typical BLDC motor in UAV.


---

## Body

## 1. Introduction

Brushless direct current (BLDC) motors are prevailingly used in high performance drive applications such as machine tools, robotics, space crafts, and medical applications, owing to their superior speed-torque characteristics, high efficiency, less maintenance, and wide operating speed range [1]. Particularly for small-scaled UAVs (Unmanned Aerial Vehicles), the BLDC motor are receiving an increasing number of attentions with the advantages of small size, high power density, and easy control and operation. The BLDC motors, which are used to drive rotor or propeller, pursue abilities of rapid speed response and disturbance reject. Control techniques research including torque, speed, and position has been intensively carried out, such as torque control method for torque ripple minimization [2] and sensorless control algorithms for low cost applications [3]. There is a desire for algorithm validations when the controller is designed. If the difference between simulation model and the practical motor plant cannot be ignored, the designed controller in simulation is questionable. In this case, to build an accurate mathematical model of the BLDC motor is of greater importance.The system dynamic model structure is the first part of the simulation environment to take into consideration. In [4, 5], phase commutation is considered; however complexity of mathematical model is greatly enhanced. It is shown in [6] that the cogging torque is the main source of torque ripple in BLDC motor control. Therefore, besides the parameters in classic linear model [1], cogging torque effect is also essential for a practical model as a nonlinear factor, especially for the low speed mode. Meanwhile, the second important issue is the model’s parameters determination method. There has been a large amount of work on the field of BLDC motor identification, where time domain identification dominates. [7] proposes an available method using by step voltage response to estimate BLDC motor parameters and load torque disturbance. The method has some shorts because only the speed channel transfer function using speed step voltage input is identified, with the armature current ignored, and the step input cannot sufficiently stimulate system dynamics. An integral measurement steps for determining the permanent magnet synchronous machine (PMSM) model parameters is detailed in [8]. However its implementation with a torque-sensor results in extra costs. A classic least square approximation method, a recursive least square algorithm, and an on-line batch least squares algorithm are respectively applied in [9–11]. However, these methods require large numbers of data.The main focus of this paper will be on combing frequency identification techniques and time domain estimation method, in order to identify the practical mathematical model which thoroughly catches the dynamic responses features and motor torque-ripple. Most of the parameters will benefit the advantages of frequency identification in a low cost. The remaining parameters on cogging torque effect deduced in [12] will be estimated in an off-line method in time domain.The paper is organized as follows. First the practical modelling of the integrated BLDC motor is summarized. In Section3, frequency identification techniques are systematically investigated and a parameter determination method is proposed to identify first seven parameters lie in linear term of the integrated BLDC motor model. The least square method is detailed in Section 4 to calculate the cogging torque coefficients. The cogging torque values are calculated by a disturbance observer. The identification experiment on a typical BLDC motor used in a UAV is given in Section 5. Finally, in Section 6, we will draw some concluding remarks.


## 2. Problem Formulation

### 2.1. The Nonlinear BLDC Motor Model

The comprehensive model integrated by bare BLDC dynamics and electronic speed controller (ESC) model is depicted in Figure1. The BLDC dynamics is presented first.Figure 1
BLDC motor system equivalent configuration.BLDG motor model consists of two parts. One is an electrical part which calculates electromagnetic torque and current of motor. The other one is a mechanical part which BLDC Motor and Inverter Equivalent Circuit generates revolution of rotor. Assuming the variations of the stator self-inductance with rotor position and the mutual inductance between the stator windings are negligible, the electrical dynamics of the BLDC motor can be described as [1](1)
L
a
d
i
a
d
t
+
R
a
i
a
+
e
b
=
v
a
,
e
b
=
K
e
ω
,where v
a is the motor terminal voltages, i
a is the motor armature current, L
a is armature inductance, R
a is the armature resistance, e
b is the motor back-EMF and K
e is the back-EMF constant in units of V/(rad/s).When there is no externally applied torque and only a constant inertial load is considered, the mechanical equation is given as(2)
J
d
ω
d
t
+
K
f
ω
=
T
,where T is electromagnetic motor torque, J is motor load inertia and K
f is damping coefficient.From the virtual work theory, the electromagnetic motor torqueT can be derived [12] as(3)
T
=
T
d
+
T
cogg
+
T
ex
.The first term T
d in (3) is developed torque caused by interaction between the magnet field and the armature current. The second term T
cogg, known as cogging torque, is due to the attraction of the permanent magnets (PMs) mounted on the rotor with the slots in the stator. The cogging torque is only corresponding to rotor position and, will not vanish even in the absence of the armature current.The developed torqueT
d and cogging torque T
cogg are given as(4)
T
d
=
K
t
i
a
,
T
cogg
=
∑
k
=
1
K
T
c
k
cos
⁡
k
p
θ
,where K
t is the torque constant in units of Nm/A, p is the number of slots, T
c
k is the amplitude of the cogging torque component at kth cogging frequency, and θ is the mechanical angular position of the rotor.The third term is exogenous mechanical disturbances [9], which can be calculated as(5)
T
ex
=
T
a
sin
θ
+
T
b
cos
⁡
θ
,where T
a and T
b are the Fourier coefficients of the exogenous mechanical disturbances.


### 2.2. ESC Model

The BLDC motors for UAVs are driven by ESC (electronic speed controller). The ESC receives pulse-width modulation (PWM) input from some digital radio control units, and powers the applied terminal voltage for the BLDC. In order to avoid big current caused by violent increase or decrease of motor speed, a linear unit is embedded in most ESC. Therefore, such a linear dynamic mapping from PWM input to the applied terminal voltage is proposed, which can be represented as(6)
G
e
=
v
s
u
s
=
K
d
τ
s
+
1
,where u
s is PWM input, K
d is the gain from PWM to the applied voltage and is determined by ESC parameters and power supply, τ is time constant of the ESC model.


## 2.1. The Nonlinear BLDC Motor Model

The comprehensive model integrated by bare BLDC dynamics and electronic speed controller (ESC) model is depicted in Figure1. The BLDC dynamics is presented first.Figure 1
BLDC motor system equivalent configuration.BLDG motor model consists of two parts. One is an electrical part which calculates electromagnetic torque and current of motor. The other one is a mechanical part which BLDC Motor and Inverter Equivalent Circuit generates revolution of rotor. Assuming the variations of the stator self-inductance with rotor position and the mutual inductance between the stator windings are negligible, the electrical dynamics of the BLDC motor can be described as [1](1)
L
a
d
i
a
d
t
+
R
a
i
a
+
e
b
=
v
a
,
e
b
=
K
e
ω
,where v
a is the motor terminal voltages, i
a is the motor armature current, L
a is armature inductance, R
a is the armature resistance, e
b is the motor back-EMF and K
e is the back-EMF constant in units of V/(rad/s).When there is no externally applied torque and only a constant inertial load is considered, the mechanical equation is given as(2)
J
d
ω
d
t
+
K
f
ω
=
T
,where T is electromagnetic motor torque, J is motor load inertia and K
f is damping coefficient.From the virtual work theory, the electromagnetic motor torqueT can be derived [12] as(3)
T
=
T
d
+
T
cogg
+
T
ex
.The first term T
d in (3) is developed torque caused by interaction between the magnet field and the armature current. The second term T
cogg, known as cogging torque, is due to the attraction of the permanent magnets (PMs) mounted on the rotor with the slots in the stator. The cogging torque is only corresponding to rotor position and, will not vanish even in the absence of the armature current.The developed torqueT
d and cogging torque T
cogg are given as(4)
T
d
=
K
t
i
a
,
T
cogg
=
∑
k
=
1
K
T
c
k
cos
⁡
k
p
θ
,where K
t is the torque constant in units of Nm/A, p is the number of slots, T
c
k is the amplitude of the cogging torque component at kth cogging frequency, and θ is the mechanical angular position of the rotor.The third term is exogenous mechanical disturbances [9], which can be calculated as(5)
T
ex
=
T
a
sin
θ
+
T
b
cos
⁡
θ
,where T
a and T
b are the Fourier coefficients of the exogenous mechanical disturbances.


## 2.2. ESC Model

The BLDC motors for UAVs are driven by ESC (electronic speed controller). The ESC receives pulse-width modulation (PWM) input from some digital radio control units, and powers the applied terminal voltage for the BLDC. In order to avoid big current caused by violent increase or decrease of motor speed, a linear unit is embedded in most ESC. Therefore, such a linear dynamic mapping from PWM input to the applied terminal voltage is proposed, which can be represented as(6)
G
e
=
v
s
u
s
=
K
d
τ
s
+
1
,where u
s is PWM input, K
d is the gain from PWM to the applied voltage and is determined by ESC parameters and power supply, τ is time constant of the ESC model.


## 3. Parameters Identification Method of Linear Terms in Frequency Domain

The parameters of the BLDC motor provided in the previous section areK
t, K
e, K
f, R
a, L
a, J, τ, and T
c
1
,
T
c
2
,
…
,
T
c
K. Note that the first seven parameters lie in linear term of the BLDC motor model, and the last term corresponds to nonlinear term which describes cogging torque. All these parameters are all assumed time-invariant. This section presents an off-line method for identifying these unknown parameters. The identification method depends on given experiment data for control PWM input, and the corresponding rotor speed and armature current responses. There will be two steps to complete identification. Firstly, an open-loop frequency domain method is used to identify these parameters in linear terms, on the operation in high speed where cogging torque can be ignored. In the second step, the cogging torque signal, considered as a disturbance torque, is estimated by using a closed up observer. Then the least square approximation method is applied in order to identify these nonlinear term parameters. Both steps are described in detail in the following subsections. The frequency domain identification method determines most of the parameters; therefore, this method is briefly described first.For the BLDC model proposed in Section2, the nonlinearity is produced by cogging torque which is especially prominent at lower speeds. However, at high speed the effect of cogging torque can be filtered out by the motor moment of inertia, thus cogging torque can be ignored. Therefore, these parameters in linear terms can be identified at high speed when the BLDC motor is approximately considered as a linear system. The block diagram for motor linear dynamics is depicted in Figure 2.Figure 2
Block diagram for motor linear dynamics.The transfer functionsω
s
/
u
a
s
=
G
ω
s, i
a
s
/
u
a
s
=
G
i
s and u
a
s
/
v
a
s
=
G
e
s are given as(7)
G
ω
s
=
K
t
/
L
a
J
s
2
+
K
f
/
J
+
R
a
/
L
a
s
+
R
a
K
f
/
L
a
J
+
K
e
K
t
/
L
a
J
,
G
i
s
=
(
1
/
L
a
)
s
+
K
f
/
L
a
J
s
2
+
K
f
/
J
+
R
a
/
L
a
s
+
R
a
K
f
/
L
a
J
+
K
e
K
t
/
L
a
J
,
G
e
s
=
0.02187
τ
s
+
1
.Note thatG
e
s represents ESC dynamics, according to Section 2.2, and the gain value 0.02187 is fitted by throttle curves from the ESC manufacturer when power supply is set in 26 V output.As for identifying these foregoing parameters, although time-domain techniques can still be adopted, it is strongly recommended in this case to leave the time domain in favor of the frequency domain. Indeed in the frequency domain, one has several features not found in the time domain [13]: (1) unbiased frequency-response estimates when experimental data contain process and output measurement noise; (2) access to the coherence function as an unbiased measure of nonparametric identification accuracy and system response linearity; (3) elimination of biases and reference shifts as identification parameters. Therefore, frequency identification method is introduced to identify parameters in linear terms.Then the identification procedure for the unknown parameters will be addressed in detail. A simple, meaningful, and comprehensive method will be proposed. Correspondingly the identification procedure is separated into five steps.Step 1 (input sweep signal design).
In [13], an automatic sweep signal generating is designed as(8)
u
t
=
u
0
+
u
sweep
t
=
u
0
+
A
sin
θ
t
,
θ
t
=
ω
min
⁡
-
0.0187
ω
max
⁡
-
ω
min
⁡
t
+
0.00467
T
rec
ω
max
⁡
-
ω
min
⁡
e
4
t
/
T
rec
-
1
,where u
0 is trim value of input determining the trim values of rotor speed and armature current, u
sweep is dynamic value of input, A is sweep magnitude, θ
t is signal phase, ω
min
⁡
,
ω
max
⁡ is sweep signal range, and T
rec is sweep record length.Step 2 (collection of time-history data).
The sweep signalu acts as an input on the integrated BLDC motor plant, and rotor speed ω and armature current i
a are collected as the output for system identification. The outputs are also divided into two terms as follows:(9)
ω
t
=
ω
0
+
ω
sweep
t
,
i
a
t
=
i
a
0
+
i
a
sweep
t
,where ω
0 and i
0 are trim values of output and ω
sweep
t and i
a
sweep
t are dynamic value of output. The dynamic terms will be used to obtain frequency responses.Step 3 (frequency response calculation).
The methods to calculate spectrum function are briefly introduced and with greater detail in [14]. First, a Chirp-Z transform is applied to initially transform time-domain response data to the frequency-domain. Then, a technique of combining a weighted average of multiple windows, known as Composite Windowing, is used to improve the frequency of accuracy. The results of this calculation, in a high quality, are input autospectrum G
x
x
f, output autospectrum G
y
y
f and cross-spectrum G
x
y
f. Then Frequency response function is obtained by(10)
H
^
f
=
G
x
y
f
G
x
x
f
.Step 4 (coherence function calculation).
Coherence function is defined as(11)
γ
x
y
f
=
G
x
y
f
2
G
x
x
f
G
y
y
f
.Coherence function can be interpreted, physically, as the fraction of the output spectrum that is linearly attributable to the input spectrum at any frequency. It can effectively and rapidly assess the accuracy of the frequency response identification. In particular, the frequency response identification results are acceptable as long as the coherence function satisfies the condition:(12)
γ
x
y
≥
0.6
.Step 5 (transfer function fitting).
A numerical optimization algorithm is used to determine the unknown parameters by minimizing the magnitude and phase errors between the desired BLDC motor transfer modelsH
s and the associated frequency responses H
^
s. The practical cost function is (13)
min
⁡
:
J
=
20
n
w
∑
ω
1
ω
n
w
W
γ
W
g
H
-
H
^
+
W
P
∠
H
-
∠
H
^
2
,where n
w is the number of frequency points and ω
1 and ω
n
w are starting and ending frequencies of fit. W
γ is weighting function dependent on the value of the coherence function at each frequency. W
g and W
p are the relative weights for magnitude and phase squared errors. One can obtain detailed selection of these weighing functions in [13].
All these forgoing methods to frequency system identification have been incorporated into the known software, CIFER (Comprehensive Identification from Frequency Responses). Unlimited to its original application in rotorcraft, CIFER is also suitable for other plant, such as BLDC motor system, for linear system identification.Step 6 (system parameters determination).
Based on these five steps for frequency identification, the transfer function from PWM input to speed channel and armature channel are obtained. However, these parameters that isK
t, K
e, K
f, R
a, L
a, J, τ in mechanism, are still unknown. Hence, a method is proposed as follows.
The identified transfer functions in lumped parameters are(14)
H
ω
s
=
K
1
s
3
+
a
11
s
2
+
a
12
s
+
a
13
,
(15)
H
i
s
=
K
2
b
2
s
+
1
s
3
+
a
21
s
2
+
a
22
s
+
a
23
.Theoretically, both denominators of (14) and (15) are equal. Nevertheless, small allowable deviation is unavoidable in practice, resulting in very close but strictly different denominators in these two equations. In that case, these unknown parameters cannot be obtained by classic undetermined coefficient method. A feasible idea is to find suitable parameters that ensure theoretical model to approximate identification result as much as possible.
The bias between theoretical model and identification result should be defined first. In [15], the bias between two transfer functions G
1 and G
2 can be written as(16)
G
1
-
G
2
∞
.
Hence, the parameter determination problem can be transferred to the following optimization problem byH
∞ norm:(17)
min
⁡
:
bias
=
f
K
t
,
K
f
,
K
e
,
J
,
R
a
,
L
a
,
τ
=
W
ω
H
ω
-
G
ω
G
e
W
i
H
i
-
G
i
G
e
∞
=
W
ω
H
ω
-
0.02187
τ
s
+
1
·
K
t
/
L
a
J
s
2
+
K
f
/
J
+
R
a
/
L
a
s
+
R
a
K
f
/
L
a
J
+
K
e
K
t
/
L
a
J
W
i
H
i
-
0.02187
τ
s
+
1
·
1
/
L
a
s
+
K
f
/
L
a
J
s
2
+
K
f
/
J
+
R
a
/
L
a
s
+
R
a
K
f
/
L
a
J
+
K
e
K
t
/
L
a
J
∞
.
Equation (17) alone is, probably, not sufficient to find the only solution. Another two equation constraints on system static step response are(18)
ω
0
=
0.02187
K
t
R
a
K
f
+
K
e
K
t
,
i
a
0
=
0.02187
K
f
R
a
K
f
+
K
e
K
t
,where ω
0 and i
a
0 are, respectively, measured static value of rotor speed and armature on step response experiment. W
ω and W
i are weighting coefficients and H
ω and H
i are identified transfer function. As a typical constrained optimization problem, this problem is not complicated, and can be readily solved by Matlab optimization toolbox.


## 4. Cogging Torque Parameters Identification Method in Time Domain

Parameters in linear terms can be estimated by frequency identification method during high speed operation, where the cogging torque’s influence could be neglected. But when motor speed approaches to a low operation, as shown in Figure3, such perfectly constant speed cannot be achieved. In this case, cogging torque effect should be taken into account. Since cogging torque is a nonlinear compact on the BLDC motor model, assumptions for frequency identification method is ruined. Hence, aiming at estimating parameters in cogging torque term, a nonlinear system identification method is necessary. The cogging torque cannot be measured or calculated by direct means. In this subsection, the cogging torque, considered as a disturbance, will be estimated by a closed up observer. The least square method (LSM) is used to obtain cogging torque parameters T
c
1
,
T
c
2
,
…
,
T
c
K.Figure 3
Cogging torque effect in low speed.


### 4.1. Disturbance Observer Design

A general block diagram for disturbance observer [9], shown in Figure 4, can be used to approximate disturbance signal u
dist
⁡. If inaccuracies in the plant model are negligible and the compensator is able to ensure convergence of the error signal e towards zero, then the compensator output u
^
dist
⁡ is able to estimate disturbance signal. Thus a similar way can be used to estimate non-modelled dynamics in the case of the linear model discussed in frequency domain, on condition that exogenous disturbances are ignored.Figure 4
Disturbance observer block diagram.Based on superposition principle for linear system, the transfer functionH
o
s from estimated to applied disturbance can be deduced as(19)
H
o
s
=
u
^
dist
⁡
u
dist
⁡
=
G
P
s
G
c
s
1
+
G
P
s
G
c
s
.The compensator G
c
s should be chosen so that the denominator of the polynomial in (19) is Hurwitz stable. Then the system in Figure 4 is asymptotically stable. Therefore, the output of the compensator u
^
dist
⁡ succeeds in observing disturbance signal u
dist
⁡ asymptotically.Depended on the previously discussed disturbance observer, the cogging torque coefficients identification in an off-line process is realized, as shown in Figure5. The ideal model comes from mechanical dynamics in the linear BLDC motor model, and there’s no load external torque. A P
I controller, designed by following the two principals introduced in Section 4.1, works as a compensator.Figure 5
Cogging torque estimation.The cogging torque is equivalent to a disturbance signal of electromagnetic torque. If aP
I compensator is chosen, the compensator, plant model and observer transfer function will be(20)
G
c
s
=
P
+
I
s
,
G
P
s
=
1
J
s
+
K
f
,
H
o
s
=
G
P
s
G
c
s
1
+
G
P
s
G
c
s
=
P
s
+
I
J
s
2
+
K
f
+
P
s
+
I
.Two principles will ensure the accuracy of the observer system shown in Figure4.Principle 1.
Since the observation function is a typical second order system, the system is stable if(21)
ξ
=
K
f
+
P
2
J
I
>
0
.Equation (21) means that positive P and I sufficiently assure the stability of the system.Principle 2.
In order to improve the accuracy of the observing signalu
^
dist
⁡, the compensator should minimize the maximum gain from in whole history data; that is, (22)
min
⁡
:
e
2
=
y
-
y
^
2
=
∑
i
n
y
i
-
y
^
i
2
,where n is the number of history data points and ε is minimum energy of error signal that allowed.


### 4.2. Cogging Torque Parameters Identification Based on Least Squares Approximation Method

In BLDC motor system, since the convergence of the assumed speed towards the measured speed is ensured by the resulting compensator, the estimated cogging torqueT
^
dist
⁡ is able to approximate the true nonlinear dynamics well.The least squares method is considerably used in practice due to convenient implementation. The objective of this approximating method is to minimize the “energy of error,” namely, the squared difference between the measured signals and the estimated signals. Considering a vector problem, the estimated outputz
^ is determined by a signal model which relates to the unknown parameter vector β
=
β
1
,
…
,
β
k. w and z are, respectively, the input of the model and the practical measured output. The least squares estimator (LSE) is to find the value of β, which minimizes the squares error criterion, given as(23)
min
⁡
:
J
=
z
-
z
^
2
=
∑
n
=
1
N
z
n
-
z
^
n
2
.The observation interval is assumed to ben
=
1,2
,
…
,
N. If the linear least squares problem is taken into consideration, the signal model is linear with respect to the unknown parameter, therefore, the output signal can be(24)
z
=
Φ
β
,where Φ is the observation matrix, in [16], the least square estimator and average minimum least square error are(25)
β
^
=
ϕ
T
ϕ
-
1
ϕ
T
z
^
,
(26)
J
a
min
⁡
=
z
^
-
ϕ
β
^
T
z
^
-
ϕ
β
^
N
.Considering the unbalanced mechanical system effect into the estimation process [9], the estimated disturbance torque is(27)
T
^
dist
⁡
=
T
cogg
=
∑
k
=
1
K
T
c
k
cos
⁡
k
p
θ
+
T
a
sin
θ
+
T
b
cos
⁡
θ
.The rotor position θ, is obtained by integration of the time-history data of rotor speed ω. In this way, the term in (27) cos
⁡
k
p
θ is known.Then the observation matrix of LSE is, therefore, written as(28)
Φ
=
ϕ
i
j
ϕ
i
j
s
ϕ
i
j
c
,
ϕ
i
j
=
cos
⁡
j
·
p
θ
i
,
i
=
1
:
N
,
j
=
1
:
K
,
ϕ
i
j
s
=
sin
θ
i
,
i
=
1
:
N
,
j
=
1
,
ϕ
i
j
c
=
cos
⁡
θ
i
,
i
=
1
:
N
,
j
=
1
.Then the parameter vector β
=
T
c
1
T
c
2
⋯
T
c
K
,
T
a
,
T
b is calculated by (25). An essential parameter K, the minimal number of relevant harmonics, which gives the simplest signal model, is necessarily determined by average minimum least square error J
a
min
⁡. A suitable K is obtained to adequately describe the cogging torque characteristics. For this sake of determination method, we will increase the number of harmonics K unless the minimum least squares error is small enough.


## 4.1. Disturbance Observer Design

A general block diagram for disturbance observer [9], shown in Figure 4, can be used to approximate disturbance signal u
dist
⁡. If inaccuracies in the plant model are negligible and the compensator is able to ensure convergence of the error signal e towards zero, then the compensator output u
^
dist
⁡ is able to estimate disturbance signal. Thus a similar way can be used to estimate non-modelled dynamics in the case of the linear model discussed in frequency domain, on condition that exogenous disturbances are ignored.Figure 4
Disturbance observer block diagram.Based on superposition principle for linear system, the transfer functionH
o
s from estimated to applied disturbance can be deduced as(19)
H
o
s
=
u
^
dist
⁡
u
dist
⁡
=
G
P
s
G
c
s
1
+
G
P
s
G
c
s
.The compensator G
c
s should be chosen so that the denominator of the polynomial in (19) is Hurwitz stable. Then the system in Figure 4 is asymptotically stable. Therefore, the output of the compensator u
^
dist
⁡ succeeds in observing disturbance signal u
dist
⁡ asymptotically.Depended on the previously discussed disturbance observer, the cogging torque coefficients identification in an off-line process is realized, as shown in Figure5. The ideal model comes from mechanical dynamics in the linear BLDC motor model, and there’s no load external torque. A P
I controller, designed by following the two principals introduced in Section 4.1, works as a compensator.Figure 5
Cogging torque estimation.The cogging torque is equivalent to a disturbance signal of electromagnetic torque. If aP
I compensator is chosen, the compensator, plant model and observer transfer function will be(20)
G
c
s
=
P
+
I
s
,
G
P
s
=
1
J
s
+
K
f
,
H
o
s
=
G
P
s
G
c
s
1
+
G
P
s
G
c
s
=
P
s
+
I
J
s
2
+
K
f
+
P
s
+
I
.Two principles will ensure the accuracy of the observer system shown in Figure4.Principle 1.
Since the observation function is a typical second order system, the system is stable if(21)
ξ
=
K
f
+
P
2
J
I
>
0
.Equation (21) means that positive P and I sufficiently assure the stability of the system.Principle 2.
In order to improve the accuracy of the observing signalu
^
dist
⁡, the compensator should minimize the maximum gain from in whole history data; that is, (22)
min
⁡
:
e
2
=
y
-
y
^
2
=
∑
i
n
y
i
-
y
^
i
2
,where n is the number of history data points and ε is minimum energy of error signal that allowed.


## 4.2. Cogging Torque Parameters Identification Based on Least Squares Approximation Method

In BLDC motor system, since the convergence of the assumed speed towards the measured speed is ensured by the resulting compensator, the estimated cogging torqueT
^
dist
⁡ is able to approximate the true nonlinear dynamics well.The least squares method is considerably used in practice due to convenient implementation. The objective of this approximating method is to minimize the “energy of error,” namely, the squared difference between the measured signals and the estimated signals. Considering a vector problem, the estimated outputz
^ is determined by a signal model which relates to the unknown parameter vector β
=
β
1
,
…
,
β
k. w and z are, respectively, the input of the model and the practical measured output. The least squares estimator (LSE) is to find the value of β, which minimizes the squares error criterion, given as(23)
min
⁡
:
J
=
z
-
z
^
2
=
∑
n
=
1
N
z
n
-
z
^
n
2
.The observation interval is assumed to ben
=
1,2
,
…
,
N. If the linear least squares problem is taken into consideration, the signal model is linear with respect to the unknown parameter, therefore, the output signal can be(24)
z
=
Φ
β
,where Φ is the observation matrix, in [16], the least square estimator and average minimum least square error are(25)
β
^
=
ϕ
T
ϕ
-
1
ϕ
T
z
^
,
(26)
J
a
min
⁡
=
z
^
-
ϕ
β
^
T
z
^
-
ϕ
β
^
N
.Considering the unbalanced mechanical system effect into the estimation process [9], the estimated disturbance torque is(27)
T
^
dist
⁡
=
T
cogg
=
∑
k
=
1
K
T
c
k
cos
⁡
k
p
θ
+
T
a
sin
θ
+
T
b
cos
⁡
θ
.The rotor position θ, is obtained by integration of the time-history data of rotor speed ω. In this way, the term in (27) cos
⁡
k
p
θ is known.Then the observation matrix of LSE is, therefore, written as(28)
Φ
=
ϕ
i
j
ϕ
i
j
s
ϕ
i
j
c
,
ϕ
i
j
=
cos
⁡
j
·
p
θ
i
,
i
=
1
:
N
,
j
=
1
:
K
,
ϕ
i
j
s
=
sin
θ
i
,
i
=
1
:
N
,
j
=
1
,
ϕ
i
j
c
=
cos
⁡
θ
i
,
i
=
1
:
N
,
j
=
1
.Then the parameter vector β
=
T
c
1
T
c
2
⋯
T
c
K
,
T
a
,
T
b is calculated by (25). An essential parameter K, the minimal number of relevant harmonics, which gives the simplest signal model, is necessarily determined by average minimum least square error J
a
min
⁡. A suitable K is obtained to adequately describe the cogging torque characteristics. For this sake of determination method, we will increase the number of harmonics K unless the minimum least squares error is small enough.


## 5. System Identification Experiment

System identification experiments are designed and carried out to obtain data for comprehensive identification. This section is divided into three parts. First we will detail the experimental plant in BIT. Then frequency identification results and system main parameter determination will be described. Finally we will discuss nonlinear identification and estimate cogging torque coefficients.


### 5.1. Experimental Setup

The experimental bench setup is shown in Figure6, including BLDC motor, driving unit, control unit and measure unit. Each of the subsystem will be briefly introduced by the following subsystems of the experimental setup.Figure 6
BLDC motor identification experimental bench setup.


#### 5.1.1. BLDC Motor

The motor to be identified is popular BLDC motor for UAVs, scorpion SII-6530. Considering the simple configuration of this motor, the rotor inertia can be evaluated by Solidworks, which is important for the validation of the identification results. Some motor parameters and the evaluated inertia of the rotary encoder and coupling are listed in Table1.Table 1
BLDC motor mechanical parameters.
Description
Value
Unit
Number of stator arms
12
/
Magnet poles
14
/
Max continuous power
3900
W
Rotor inertia (evaluated)
0.000549
kg·m2
Rotary encoder inertia
0.00001
kg·m2


#### 5.1.2. Driving Unit

The driving unit consists of a ESC and a PWM generator. The ESC, produced by Hobyywing, similar to a motor controller and three-phase bridge, receives the signal produced by the PWM generator. A stabilized voltage source powers the ESC to drive the motor. The PWM generator, actually a servo controller is mainly responsible for decoding control commands and generating PWM wave.


#### 5.1.3. Control Unit

The control unit is an ordinary PC, installed by Linux operating system. The PC and PWM generator are connected by RS-232 serial ports. All the designed control commands are sent from control unit to the PWM generator.


#### 5.1.4. Measure Unit

In order to measure these two system states, rotor speed and armature current, a rotary encoder and hall current sensor are, respectively, included in measure unit. Both of output signal of these two sensors are recorded by the digital oscilloscope in high sample rates. The measurement sampling time of the digital oscilloscope could be set from 1μs up to 50 μs, and the memory amount is available for recording data length of 10 Mb. Then the rotor speed and armature current can be deciphered from the measured data.


### 5.2. Frequency Identification Results

When the power supply is set at 23 V, the rotary encoder was mounted onto the BLDC motor rotor, and the armature current wire passes through the hall current sensor. The encoder and the hall sensor’s outputs are recorded simultaneously, during the experiment, with sampling frequencyf
s
=
100 Hz. The rotor speed, and armature are then calculated off-line.Complying with (8), the input signal, shown in Figure 7, covers frequencies ranging from 0.01 to 10 Hz. This frequency sweep input signal is utilized to excite the dynamics of our plant, over a broad frequency range. Figure 8 shows the rotor speed and armature current extracted from experimental data. Note that rotor speed response amplitude diminishes at higher frequencies, as expected from the bandwidth of the corresponding channel. However, the armature current response amplitude will increase with the even very high frequency, suggesting a very high bandwidth of the armature current channel, which is considerably over the max sweep frequency.Figure 7
Automatic sweep input signal ranging from 0.01~10 Hz.Figure 8
Rotor speed and armature current responses.
(a)
Rotor speed response
(b)
Armature current responseThe data obtained from this test will be applied to extract frequency responses used for the model identification. The estimated frequency responses are calculated using spectral density functions with CIFER. Figure9 shows frequency identification of rotor speed channel and armature channel. Good coherence is achieved in the required frequency range, indicating good quality experimental data and the linear model assumption. With respect to coherence, rotor speed channel identification result is better than that of current channel, because the hall current sensor yields a poor accuracy compared to rotary encoder. The identified transfer functions, represented by red dashed lines, show good fits of the magnitude and phase responses of each channel.Figure 9
Rotor speed channel/armature channel identification.
(a)
Rotor speed channel
(b)
Armature channelThe two transfer functions of two channels, based on (13) and (14), identified are (29)
H
ω
s
=
2057342
s
3
+
189.5
s
2
+
13412
s
+
142834
,
H
i
s
=
21749
0.2015
s
+
1
s
3
+
196
s
2
+
14695
s
+
149431
.The identified transfer functions are taken into account, to determine BLDC motor mechanism parameters, as suggested in Section 3. Then the problem in (17) and (18) is solved by Matlab optimization toolbox. The bias between theoretical model and identification result is 0.41. The estimated BLDC motor parameters are listed in Table 2. Note that the identified rotor inertia J
^
=
0.00061, is very close to the evaluated value in Table 1, indicating a satisfactory identification accuracy of this parameter.Table 2
Estimated BLDC motor parameters.
System parameters
Symbol
Value
Unit
Rotor inertia
J
0.00061
kg·m2
Voltage constant
K
e
0.0637
V/(rad/s)
Torque constant
K
t
0.2663
Nm/A
Armature resistance
R
a
0.6187
Ω
Armature inductance
L
a
2.62
mH
Friction coefficient
K
f
0.00291
N/(rad/s)
Time constant of the ESC model
τ
0.0781
sThe accuracy of the comprehensive BLDC motor model must be, further verified by tine history data. The input doublet signal, shown in Figure10, is used to stimulate the BLDC motor dynamics. The validation results are shown in Figure 11. Both rotor speed and armature current are measured during the input doublet signal. It is shown that the identified model perfectly predicts the rotor speed responses, however, the true armature current response exhibits a slight deviation from the responses predicted by the identified model. This mismatch can be explained by the relatively low coherence in high frequency of the armature channel identification. The close agreement between the simulation response and experimental data indicates the identified model is accurate enough to reflect the BLDC motor’s dynamics.Figure 10
Input doublet signal.Figure 11
Time domain validation of the BLDC motor identified dynamics.
(a)
Rotor speed validation of the BLDC motor dynamics
(b)
Armature current validation of the BLDC motor dynamics


### 5.3. Cogging Torque Coefficients Identification Results

Since the cogging torque effect exists significantly in low speed, the terminal voltage of the motor is set at 6.5 V. The disturbance observer is applied to calculate cogging torque, as stated in Section4.2. In order to eliminate the stochastic error, the experiment is repeated by 10 repetitions, with single test time of 20 s. The minimum least squares error obtained by (26), versus the number of cogging torque harmonics are shown in Figure 12, with the estimated disturbance signal approximated using LSE. It is obvious that the sixth cogging torque harmonic is highly dominant, from the diagram, and a slight of third harmonics is also present. [17] has pointed out that the cogging torque harmonics for three-phase motors, usually, are multiples of six times the fundamental commutation frequency.Figure 12
The minimum least squares error versus the number of cogging torque harmonics.A simulation of the identified model is performed in order to verify the results of the proposed parameters identification method. The cogging torque coefficients in Table3, and the estimated linear terms by frequency identification in Section 5.2, are utilized in the comprehensive BLDC motor model. A comparison between measured and estimated rotor speed is formed to highlight the verification result (see Figure 13). Note that there is a small phase deviation of between experimental and estimated cogging torque, this could be interpreted by the unmodeled dynamics. Matching of the simulated and experimental data is ensured. Hence, the proposed identification method is applicable and sufficient.Table 3
Estimation results for the mechanical parameters.
System parameters
x
- (mean values)
σ
- (standard deviations)
T
c
1
29.3
4.5
T
c
2
52.7
5.1
T
c
3
370.6
44.6
T
c
4
15.6
4.1
T
c
5
84.3
22.4
T
c
6
561.2
43.3
T
a
110.3
12.5
T
b
162.0
33.2Figure 13
Validation of identified comprehensive BLDC motor model.


## 5.1. Experimental Setup

The experimental bench setup is shown in Figure6, including BLDC motor, driving unit, control unit and measure unit. Each of the subsystem will be briefly introduced by the following subsystems of the experimental setup.Figure 6
BLDC motor identification experimental bench setup.


### 5.1.1. BLDC Motor

The motor to be identified is popular BLDC motor for UAVs, scorpion SII-6530. Considering the simple configuration of this motor, the rotor inertia can be evaluated by Solidworks, which is important for the validation of the identification results. Some motor parameters and the evaluated inertia of the rotary encoder and coupling are listed in Table1.Table 1
BLDC motor mechanical parameters.
Description
Value
Unit
Number of stator arms
12
/
Magnet poles
14
/
Max continuous power
3900
W
Rotor inertia (evaluated)
0.000549
kg·m2
Rotary encoder inertia
0.00001
kg·m2


### 5.1.2. Driving Unit

The driving unit consists of a ESC and a PWM generator. The ESC, produced by Hobyywing, similar to a motor controller and three-phase bridge, receives the signal produced by the PWM generator. A stabilized voltage source powers the ESC to drive the motor. The PWM generator, actually a servo controller is mainly responsible for decoding control commands and generating PWM wave.


### 5.1.3. Control Unit

The control unit is an ordinary PC, installed by Linux operating system. The PC and PWM generator are connected by RS-232 serial ports. All the designed control commands are sent from control unit to the PWM generator.


### 5.1.4. Measure Unit

In order to measure these two system states, rotor speed and armature current, a rotary encoder and hall current sensor are, respectively, included in measure unit. Both of output signal of these two sensors are recorded by the digital oscilloscope in high sample rates. The measurement sampling time of the digital oscilloscope could be set from 1μs up to 50 μs, and the memory amount is available for recording data length of 10 Mb. Then the rotor speed and armature current can be deciphered from the measured data.


## 5.1.1. BLDC Motor

The motor to be identified is popular BLDC motor for UAVs, scorpion SII-6530. Considering the simple configuration of this motor, the rotor inertia can be evaluated by Solidworks, which is important for the validation of the identification results. Some motor parameters and the evaluated inertia of the rotary encoder and coupling are listed in Table1.Table 1
BLDC motor mechanical parameters.
Description
Value
Unit
Number of stator arms
12
/
Magnet poles
14
/
Max continuous power
3900
W
Rotor inertia (evaluated)
0.000549
kg·m2
Rotary encoder inertia
0.00001
kg·m2


## 5.1.2. Driving Unit

The driving unit consists of a ESC and a PWM generator. The ESC, produced by Hobyywing, similar to a motor controller and three-phase bridge, receives the signal produced by the PWM generator. A stabilized voltage source powers the ESC to drive the motor. The PWM generator, actually a servo controller is mainly responsible for decoding control commands and generating PWM wave.


## 5.1.3. Control Unit

The control unit is an ordinary PC, installed by Linux operating system. The PC and PWM generator are connected by RS-232 serial ports. All the designed control commands are sent from control unit to the PWM generator.


## 5.1.4. Measure Unit

In order to measure these two system states, rotor speed and armature current, a rotary encoder and hall current sensor are, respectively, included in measure unit. Both of output signal of these two sensors are recorded by the digital oscilloscope in high sample rates. The measurement sampling time of the digital oscilloscope could be set from 1μs up to 50 μs, and the memory amount is available for recording data length of 10 Mb. Then the rotor speed and armature current can be deciphered from the measured data.


## 5.2. Frequency Identification Results

When the power supply is set at 23 V, the rotary encoder was mounted onto the BLDC motor rotor, and the armature current wire passes through the hall current sensor. The encoder and the hall sensor’s outputs are recorded simultaneously, during the experiment, with sampling frequencyf
s
=
100 Hz. The rotor speed, and armature are then calculated off-line.Complying with (8), the input signal, shown in Figure 7, covers frequencies ranging from 0.01 to 10 Hz. This frequency sweep input signal is utilized to excite the dynamics of our plant, over a broad frequency range. Figure 8 shows the rotor speed and armature current extracted from experimental data. Note that rotor speed response amplitude diminishes at higher frequencies, as expected from the bandwidth of the corresponding channel. However, the armature current response amplitude will increase with the even very high frequency, suggesting a very high bandwidth of the armature current channel, which is considerably over the max sweep frequency.Figure 7
Automatic sweep input signal ranging from 0.01~10 Hz.Figure 8
Rotor speed and armature current responses.
(a)
Rotor speed response
(b)
Armature current responseThe data obtained from this test will be applied to extract frequency responses used for the model identification. The estimated frequency responses are calculated using spectral density functions with CIFER. Figure9 shows frequency identification of rotor speed channel and armature channel. Good coherence is achieved in the required frequency range, indicating good quality experimental data and the linear model assumption. With respect to coherence, rotor speed channel identification result is better than that of current channel, because the hall current sensor yields a poor accuracy compared to rotary encoder. The identified transfer functions, represented by red dashed lines, show good fits of the magnitude and phase responses of each channel.Figure 9
Rotor speed channel/armature channel identification.
(a)
Rotor speed channel
(b)
Armature channelThe two transfer functions of two channels, based on (13) and (14), identified are (29)
H
ω
s
=
2057342
s
3
+
189.5
s
2
+
13412
s
+
142834
,
H
i
s
=
21749
0.2015
s
+
1
s
3
+
196
s
2
+
14695
s
+
149431
.The identified transfer functions are taken into account, to determine BLDC motor mechanism parameters, as suggested in Section 3. Then the problem in (17) and (18) is solved by Matlab optimization toolbox. The bias between theoretical model and identification result is 0.41. The estimated BLDC motor parameters are listed in Table 2. Note that the identified rotor inertia J
^
=
0.00061, is very close to the evaluated value in Table 1, indicating a satisfactory identification accuracy of this parameter.Table 2
Estimated BLDC motor parameters.
System parameters
Symbol
Value
Unit
Rotor inertia
J
0.00061
kg·m2
Voltage constant
K
e
0.0637
V/(rad/s)
Torque constant
K
t
0.2663
Nm/A
Armature resistance
R
a
0.6187
Ω
Armature inductance
L
a
2.62
mH
Friction coefficient
K
f
0.00291
N/(rad/s)
Time constant of the ESC model
τ
0.0781
sThe accuracy of the comprehensive BLDC motor model must be, further verified by tine history data. The input doublet signal, shown in Figure10, is used to stimulate the BLDC motor dynamics. The validation results are shown in Figure 11. Both rotor speed and armature current are measured during the input doublet signal. It is shown that the identified model perfectly predicts the rotor speed responses, however, the true armature current response exhibits a slight deviation from the responses predicted by the identified model. This mismatch can be explained by the relatively low coherence in high frequency of the armature channel identification. The close agreement between the simulation response and experimental data indicates the identified model is accurate enough to reflect the BLDC motor’s dynamics.Figure 10
Input doublet signal.Figure 11
Time domain validation of the BLDC motor identified dynamics.
(a)
Rotor speed validation of the BLDC motor dynamics
(b)
Armature current validation of the BLDC motor dynamics


## 5.3. Cogging Torque Coefficients Identification Results

Since the cogging torque effect exists significantly in low speed, the terminal voltage of the motor is set at 6.5 V. The disturbance observer is applied to calculate cogging torque, as stated in Section4.2. In order to eliminate the stochastic error, the experiment is repeated by 10 repetitions, with single test time of 20 s. The minimum least squares error obtained by (26), versus the number of cogging torque harmonics are shown in Figure 12, with the estimated disturbance signal approximated using LSE. It is obvious that the sixth cogging torque harmonic is highly dominant, from the diagram, and a slight of third harmonics is also present. [17] has pointed out that the cogging torque harmonics for three-phase motors, usually, are multiples of six times the fundamental commutation frequency.Figure 12
The minimum least squares error versus the number of cogging torque harmonics.A simulation of the identified model is performed in order to verify the results of the proposed parameters identification method. The cogging torque coefficients in Table3, and the estimated linear terms by frequency identification in Section 5.2, are utilized in the comprehensive BLDC motor model. A comparison between measured and estimated rotor speed is formed to highlight the verification result (see Figure 13). Note that there is a small phase deviation of between experimental and estimated cogging torque, this could be interpreted by the unmodeled dynamics. Matching of the simulated and experimental data is ensured. Hence, the proposed identification method is applicable and sufficient.Table 3
Estimation results for the mechanical parameters.
System parameters
x
- (mean values)
σ
- (standard deviations)
T
c
1
29.3
4.5
T
c
2
52.7
5.1
T
c
3
370.6
44.6
T
c
4
15.6
4.1
T
c
5
84.3
22.4
T
c
6
561.2
43.3
T
a
110.3
12.5
T
b
162.0
33.2Figure 13
Validation of identified comprehensive BLDC motor model.


## 6. Conclusion

In this paper, a comprehensive procedure for system identification applicable to BLDC motor used in UAV has been systematically presented. The procedure aims to serve as a guide for the steps necessary to determine an accurate BLDC motor model. Considering the nonlinear characteristics, cogging torque effect of the BLDC motor system, a practical mathematical model is introduced for identification. Preliminarily, frequency domain identification theory is applied to estimate the first seven parameters in linear terms of the model, at a high motor speed region where the nonlinear term can be neglected. Then an off-line method for identifying the cogging torque coefficients is performed at very low speed when cogging torque effect exists significantly. This method is founded on the least squares approximation method, a disturbance observer and the identified parameters in frequency identification. The results from the simulation and the real-time experiments matched closely, which is considered as a validation of the obtained mathematical model.The BLDC model identifications are conditional only on the availability of experimental data for rotor speed and armature current; therefore, our method without sensors to detect torque or back-EMF is easy to realize, and is practical and effective. This research will provide greater opportunities for future controller design of the BLDC motor. The extracted linear model can be utilized directly for linear controller design, and the accurately identified cogging torque effect is beneficial to reduce the speed ripple of the motor at some low speed conditions, using some advanced control theory, such as robust control and nonlinear control.



---

*Source: 879581-2015-04-07.xml*