# A Novel Online Multivariate Identification for Autotuning Speed Control in PMSM Drives

Authors: Ke Chen; Wu Ai; Bing Chen; Yi Liu
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

A novel online algorithm to identify the moment of inertia, viscous friction coefficient, and load torque of PMSM (Permanent Magnet Synchronous Motor) drives and a distinctive autotuning speed control scheme are presented. The proposed identification algorithm does not require motors run in a particular trajectory and only needs a short identification time. A Luenberger speed observer is introduced to eliminate noises which are generated by the detection of position signal and to improve the accuracy of identified parameters. Parameters of the speed controller are optimized by analyzing the mathematical model of the system and the formula of the PI controller. Compared to a standard recursive least squares method (RLSM) and traditional PI algorithm, the effectiveness of the proposed identification algorithm and autotuning speed control scheme are validated through simulations and experiments.


---

## Body

## 1. Introduction

PMSM (Permanent Magnet Synchronous Motor) has been more and more popular in many industrial applications because of its advantageous features, simple structure, high torque-to-current ratio, high efficiency, and low maintenance cost [1–3]. Many PI (proportional-integral) speed control algorithms for PMSM drives are widely used in practical control applications owing to their simple control structure, ease of design, low cost, and effectiveness [4, 5]. However, parameters of speed controllers are highly vulnerable to parameter variations and external disturbances, such as load variation, speed change, external unpredictable disturbance, and mechanical parameters of the motor’s nonlinear change in PMSM drives. So it is important to identify the motor mechanical parameters and load torque for autotuning parameters of speed controller to run in the better condition [6, 7].Many identification algorithms have been developed for PMSM drives such as identifying the moment of inertia of mechatronic servo systems based on the time average of a product of torque reference input [8] and using a full-order state observer [9]. They are offline algorithms. The identification algorithm which estimated inertia by using the speed observer needs the periodic test signal [10]. So algorithms [8–10] are not suitable for online identification in real-time. The recursive least square algorithm method (RLSM) and the Kalman filter have been used to estimate the moment of inertia [11, 12], but estimated value using RLSM has some oscillation on speed change and large error at low speeds. In addition, they also ignore the influence of the viscous friction coefficient. A reduced-order extended Luenberger observer has been used to estimate the moment of inertia and is not involved in the research of load torque [13].The estimated values of mechanical parameters are used to optimize performance of the speed controller in real-time. Many autotuning control algorithms for PMSM drives have been studied. The fuzzy rules are using for autotuning PI gains in [14] and a hybrid control system is proposed in [15], which contains a PI controller and fuzzy controller in the steady state. However, both these methods use offline-tuning rules, which are not suitable for dealing with parameter variations of system. It will be very difficult to limit disturbances rapidly if adopting linear control methods in [16]. An adaptive PI controller for online-tuning PI gains is employed in [17]. But it does not show the performance of the speed controller under time-varying system uncertainties. A two-step estimation method, which is called in the sequel the steady-state response method (SSRM), is proposed in [18]. Unfortunately, the authors do not estimate the load torque and do not show the results at different speed.In this paper, an online identification method which can simultaneously identify three mechanical parameters (the moment of inertia of the system, the viscous friction coefficient of the motor, and the load torque) and a distinctive autotuning speed control scheme are proposed, which adjusts the speed loop parameters using the identified parameters. The online identification algorithm does not require the motors run in a particular trajectory and only needs short identification time. The identified moment of inertia of the system is substituted into the Luenberger observer model to correct the effect of the model. The autotuning speed scheme can be transformed by comparing the PI transfer function and the formula of mathematical model of PMSM. At last, by comparing their performance of the RLSM and conventional PI speed controller, the effectiveness of the identification algorithm and the proposed control scheme has been verified.The organization of this paper is as follows. First, the structure of speed control loop is given in Section2. Then, Section 3 presents the identification algorithm and autotuning speed control scheme adopted in this paper. In Section 4, experiments are shown and the analysis of results is demonstrated. At last, Section 5 gives the conclusions of this paper.


## 2. The Scheme of Speed Control Loop

The research object is the model of a surface-mounted PMSM. The FOC (Field Oriented Control) is a very practical and effective control strategy for PMSM drives [19–23]. Theoretically, the FOC for a PMSM drive allows the motor torque to be controlled independently with the flux like DC motor operation. In other words, the torque and flux are decoupled from each other. Also, the structure of cascade control loops mainly comprises two current loops and a speed loop. Two PI algorithms are used in the two current loops, respectively. Usually, the d-axis reference current id is forced to i
d
∗
=
0. If the two current loops work well, the output id satisfies i
d
=
i
d
∗
=
0. Considering that the motor is the SPMSM, the d-axis and q-axis inductance satisfy L
d
=
L
q
=
L
s. No reluctance torque is present and then the q-axis current i
q will be controlling the motor electromagnetic torque. So, the mathematical model of a SPMSM can be simplified and modeled as Figure 1 and expressed as (1)
J
·
α
+
B
·
ω
=
T
e
-
T
d
,
(2)
T
e
=
K
t
·
i
q
.The angular acceleration, which is obtained by approximating the derivation and applying Euler’s rule, can be computed as follows: (3)
α
k
=
ω
k
-
ω
k
-
1
t
s
,where t
s is 1 ms; it is also the system sampling time and the control cycle of the speed controller.Figure 1
The physical system of motor in the loaded state.Generally, the velocity and angular acceleration are obtained by differential of position and differential of the velocity, respectively. Thus, the actual values of the position, velocity, and angular acceleration are not simultaneous, which brings multiple lag and greatly affects the identification accuracy. Therefore, a Luenberger observer is constructed and shown in Figure2 [24]. The observer compensator used in this paper is a PID compensator. The observer aims to remove the phase lag of differences, allow higher loop gains, and measure real-time motor position, velocity, and angular acceleration at any time, which normally corrupts the velocity measurement [25].Figure 2
The physical model of motor using Luenberger observer.The proposed control scheme which includes the proposed identification algorithm and the autotuning algorithm is shown in Figure3. The diagram of the control scheme covers PI speed controller, PI current controllers, autotuning algorithm, density estimation algorithm, Luenberger observer, and physical system of the motor in the loaded state. According to the actual q-axis current and the actual position signal, angular acceleration and angular velocity are obtained by the Luenberger observer. Then, three identified parameters have been estimated by the proposed identification algorithm based on the actual values of q-axis current, angular acceleration, and angular velocity. The identified moment of inertia of the system is substituted into the observer to reduce the errors of the observer model. At last, controller parameters can be drawn using autotuning algorithm and adjust the motor into the optimal state.Figure 3
The diagram of control system scheme.


## 3. Identification Algorithm and Autotuning Speed Control Scheme

### 3.1. Identification Algorithm

The precondition of the proposed identification algorithm is that the motor is running at a constant speed, the speed and the load torque of the motor are steady but allow a little fluctuation, and fluctuations of speed and torque are at an acceptable range during the period of identification time. Under this precondition, the proposed identification algorithm can online obtain highly accurate moment of inertia of the system, viscous friction coefficient, and load torque in short time. When the rotor speed and load torque are constant in a short period of time, the mathematical model of the motor can be discretized and solved. Since three motor parameters are fixed, the solution to the equation is also constant. Based on the discrete form of (1), the motor state corresponding to the series of discrete points is acquired. Using any three consecutive points, a matrix equation (4) can be listed and shown as follows:(4)
α
k
-
1
ω
k
-
1
1
α
k
ω
k
1
α
k
+
1
ω
k
+
1
1
·
J
′
B
′
T
d
′
=
A
·
J
′
B
′
T
d
′
=
T
e
k
-
1
T
e
k
T
e
k
+
1
.Also, the linear matrix inequalities with feasible performance constraints are used for expression (4). The condition of geometric solution of expression (4) is the inequality (5)
A
=
α
k
-
1
ω
k
-
1
1
α
k
ω
k
1
α
k
+
1
ω
k
+
1
1
≠
0
.According to expressions (3) and (5), expression (6) is obtained and simplified to get expression (7):(6)
α
k
-
1
ω
k
-
1
1
α
k
ω
k
-
1
+
α
k
·
t
s
1
α
k
+
1
ω
k
-
1
+
α
k
+
α
k
+
1
·
t
s
1
=
α
k
-
1
ω
k
-
1
1
α
k
-
α
k
-
1
α
k
·
t
s
0
α
k
+
1
-
α
k
α
k
+
1
·
t
s
0
≠
0
,
(7)
α
k
·
α
k
-
α
k
-
1
·
α
k
+
1
≠
0
.A group of data satisfying formula (7) is substituted into (4). Formulas (8)–(11) can be viewed as expressions to obtain identified values of the moment of inertia, viscous friction coefficient, and load torque:(8)
J
′
B
′
T
d
′
=
ω
k
-
ω
k
+
1
ω
k
+
1
-
ω
k
+
1
ω
k
-
1
-
ω
k
α
k
+
1
-
α
k
α
k
-
1
-
α
k
+
1
α
k
-
α
k
-
1
M
1
M
2
M
3
M
1
+
M
2
+
M
3
·
T
e
k
-
1
T
e
k
T
e
k
+
1
,
(9)
M
1
=
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
,
(10)
M
2
=
α
k
+
1
·
ω
k
-
1
-
α
k
-
1
·
ω
k
+
1
,
(11)
M
3
=
α
k
-
1
·
ω
k
-
α
k
·
ω
k
-
1
.When the motor is unloaded (T
d
=
0), formulas (12) and (13) are derived by solving formula (1). The sufficient condition of that is inequality (14): (12)
J
′
=
T
e
k
·
ω
k
+
1
-
T
e
k
+
1
·
ω
k
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
,
(13)
B
′
=
T
e
k
+
1
·
α
k
-
T
e
k
·
α
k
+
1
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
,
(14)
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
≠
0
.There are measurement errors of speed and angular acceleration. And external electromagnetic equipment can cause interference to the measurement of current signals. To reduce measurement errors of detection signals, they are limited by three restrictive solutions that are listed in formula (15). Considering the actual conditions, motors and inverters are nonlinear devices. The motors themselves have the cogging torque, saturation, and cross saturation. If directly calculating the matrix of the mathematical model of SPMSM, there are computational errors in identification values. But most identification values are very close to the reference value. As far as possible, to decrease computational errors of identification values, the identification values are also limited by three restrictive solutions that are listed in formula (16). Each group of data must simultaneously satisfy the restrictive solutions that are listed below:(15)
α
m
i
n
⩽
α
k
⩽
α
m
a
x
;
ω
m
i
n
⩽
ω
k
⩽
ω
m
a
x
;
i
q
m
i
n
⩽
i
q
k
⩽
i
q
m
a
x
,
(16)
J
m
i
n
′
<
J
′
k
⩽
J
m
a
x
;
B
m
i
n
<
B
′
k
⩽
B
m
a
x
;
T
d
m
i
n
⩽
T
d
′
k
⩽
T
d
m
a
x
,where α
m
i
n, α
m
a
x are minimum and maximum values of the angular acceleration and satisfy |
α
m
i
n
|
=
|
α
m
a
x
|, which is also equal to the rated angular acceleration; ω
m
i
n, ω
m
a
x are minimum and maximum values of the speed and satisfy |
ω
m
i
n
|
=
|
ω
m
a
x
|, which is also equal to the rated speed; i
q
m
i
n, i
q
m
a
x are minimum and maximum values of the q-axis current and satisfy |
i
q
m
i
n
|
=
|
i
q
m
a
x
|, which is also equal to the rated current; J
m
i
n, J
m
a
x are minimum and maximum values of the moment of inertia; B
m
i
n, B
m
a
x are minimum and maximum values of the viscous friction coefficient; T
d
m
i
n, T
d
m
a
x are minimum and maximum values of the load torque.Usually,J
m
i
n, B
m
i
n, and T
d
m
i
n satisfy J
m
i
n
=
0, B
m
i
n
=
0, and T
d
m
i
n
=
0, respectively. In industrial field, the load inertia is less than 20 times of the inertia of a servo motor J
0. So J
m
a
x satisfies J
m
a
x
=
21
·
J
0. The viscous friction coefficient of the motor is nonlinear and associated with speed. B
m
a
x is equal to the ratio of the rated torque and the rated speed. T
d
m
a
x is equal to the rated torque. If there is more information, they are used to narrow the range of restrictive solutions in order to improve performance of identification algorithm.Each group of solutions calculated by formula (8) corresponds to a point in a three-dimensional (3D) space. The J, B, and T
d are defined as the X-axis, Y-axis, and Z-axis of the 3D coordinate system, respectively. Based on the numerical analysis and general theory of statistics, when more points are corresponding to solutions of the equation, the regional density close to actual values in the 3D coordinate system is larger. The densest region and the average of the densest region are both figured out according to the required accuracy. Consequently, the three identified motor parameters were obtained simultaneously. The moment of inertia of the system and the load torque are not related to speed; however, the viscous friction coefficient is a nonlinear parameter related to speed. Thus, the viscous friction coefficient is affected by motor speed. If the identification values change during the identification time, it could slow down the convergence speed of the identification and would not be conducive to obtain stable and accurate identification values. For accurate and stable identification, the three mechanical parameters should remain unchanged during the time required for identification. And, the time required for identification in this paper is set to 2 seconds. Therefore, one noticeable conditional restriction in this identification algorithm is that the load torque, the moment of inertia of drive systems, the viscous friction coefficient, and speed of drive systems are constants or fluctuate within the small range of permission in 2 s. When PMSDS in motion meets the conditional constraint, the proposed identification algorithm can estimate the identification target with stable and high identification precision at full speed range.For example, the motor parameters (J, B, and T
d) used in the simulation are set as 0.022 kg·m2, 0.0125 N·m·s, and 9.25 N·m at the rotor speed of 900 rpm. When the motor is at a constant speed, the valid range of the speed is from 880 to 920. Specific information of the motor and controller is shown in Section 4. According to the above conditions, the restrictive solutions used in simulation are listed below:(17)
-
2972
⩽
α
k
⩽
2972
;
880
⩽
ω
k
⩽
920
;
-
23.8
⩽
i
q
k
⩽
23.8
,
0
<
J
′
k
⩽
0.3885
;
0
<
B
′
k
⩽
0.2626
;
0
⩽
T
d
′
k
⩽
55
.The schematic drawing of the identification results is shown in Figure4, where Figure 4(a) shows the 3D coordinates diagram; Figures 4(b), 4(c), and 4(d) show the projections of 3D graphics in plane x-y, plane x-z
, and plane y-z, respectively. The solutions to the equations are not always fixed but fluctuate around the actual solution. With more solutions, more points are around the actual solution. Therefore, the density of regions around actual solution increases. Because the number of solutions is fixed, the maximum density region can be easily identified using the proposed identification algorithm. The 3D coordinate system in Figure 4(a) is analogized as a cuboid and its length, width, and height are each divided into 1000 equal parts, which build up one billion small cuboids. With a comparison of the number of points in these small cuboids, the small cuboid that contains the most points is the densest slum in the entire 3D coordinate system. The region containing the most points is selected and the average values of the corresponding solutions which are the three identified motor parameters are calculated. When the motor is stable at constant speed, the stable load torque and small fluctuations in the rotor speed slightly impact the identified load torque and viscous friction coefficient. The identification results are more concentrated and shown in Figure 4(d). According to formula (3), fluctuations of angular acceleration that alternately change from positive to negative are much larger than that of the rotor speed. It greatly impacts the identified moment of inertia. Then the identified moment of inertia of the system is more dispersed than the identified load torque and viscous friction coefficient (Figures 4(b) and 4(c)). However, the identified values are very close to the actual values.Figure 4
The schematic drawing of the identification results.
(a)
(b)
(c)
(d)


### 3.2. Autotuning Speed Control Scheme

The open-loop transfer function of the PI controller can be given as(18)
K
p
+
K
i
s
=
G
s
.Equations (19) can be obtained:(19)
K
p
′
·
ω
∗
-
ω
k
-
1
+
Δ
+
K
i
′
·
ω
∗
-
ω
k
-
1
=
i
q
∗
k
-
1
,
K
p
′
·
ω
∗
-
ω
k
+
Δ
+
K
i
′
·
ω
∗
-
ω
k
=
i
q
∗
k
,
K
p
′
·
ω
∗
-
ω
k
+
1
+
Δ
+
K
i
′
·
ω
∗
-
ω
k
+
1
=
i
q
∗
k
+
1
.From (19), (20) can be derived as follows:(20)
K
p
′
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
+
K
i
′
·
ω
k
+
1
-
ω
k
=
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
.Ignoring that(
2
·
i
q
∗
(
k
)
-
i
q
∗
(
k
+
1
)
-
i
q
∗
(
k
-
1
)
) is equal to zero, it can be simplified as(21)
K
p
′
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
+
K
i
′
·
ω
k
+
1
-
ω
k
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
=
1
.By substituting (3) to the discrete form of (1), (22)-(23) can be written as(22)
J
′
·
ω
k
-
ω
k
-
1
t
s
+
B
′
·
ω
k
=
T
e
k
-
T
d
′
,
(23)
J
′
·
ω
k
+
1
-
ω
k
t
s
+
B
′
·
ω
k
+
1
=
T
e
k
+
1
-
T
d
′
.By substituting (2) to the difference between (23) and (22), (24) can be expressed as(24)
J
′
t
s
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
+
B
′
·
ω
k
+
1
-
ω
k
=
K
t
·
i
q
k
+
1
-
i
q
k
.Ignoring thati
q
(
k
+
1
)
=
i
q
(
k
), (24) can be rewritten as(25)
J
′
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
t
s
·
K
t
·
i
q
k
+
1
-
i
q
k
+
B
′
·
ω
k
+
1
-
ω
k
K
t
·
i
q
k
+
1
-
i
q
k
=
1
.Ignoring that(
ω
(
k
+
1
)
+
ω
(
k
-
1
)
-
2
·
ω
(
k
)
) and (
ω
(
k
+
1
)
-
ω
(
k
)
) are both equal to zero, (26) can be derived:(26)
J
′
t
s
·
K
t
·
i
q
k
+
1
-
i
q
k
-
K
p
′
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
+
ω
k
+
1
-
ω
k
·
B
′
K
t
·
i
q
k
+
1
-
i
q
k
-
K
i
′
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
=
0
.Since (26) is the identical equation, (27)-(28) can be derived as(27)
K
p
′
=
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
K
t
·
i
q
k
+
1
-
i
q
k
·
J
′
t
s
,
(28)
K
i
′
=
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
K
t
·
i
q
k
+
1
-
i
q
k
·
B
′
.According to deduced equations above, we can elaborate relations between PI parameters of speed controller, three identified parameters, and the sampling period of system. The proposed adaptive algorithm has a straightforward approach to online autotune PI parameters of speed controller and considered completely influences of the moment of inertia of system, viscous friction coefficient of motor, and load torque. Not only that, the proposed autotuning algorithm also has the following guidance in practical application:(a)
The moment of inertia of the system is positively related to the proportional gain. When the moment of inertia changes, the proportional gain also needs corresponding changes. If the moment of inertia is in a stable condition, the proportional gain is updated to reduce the steady-state error and improve the system dynamic response by (27).
(b)
The viscous friction coefficient of the motor is positively related to the integral gain. But the integral part of the speed controller has a cumulative effect; viscous friction coefficient has no significant effect on the performance of the speed controller.
(c)
It is not direct relationship between the load torque and the PI parameters. However, if the load torque is changed, the reference current and the feedback current also change. So the load torque indirectly affects the PI parameters. When the load torque has been stable, the PI parameters using (27) are changed to reduce the steady-state error and improve the system dynamic response.


## 3.1. Identification Algorithm

The precondition of the proposed identification algorithm is that the motor is running at a constant speed, the speed and the load torque of the motor are steady but allow a little fluctuation, and fluctuations of speed and torque are at an acceptable range during the period of identification time. Under this precondition, the proposed identification algorithm can online obtain highly accurate moment of inertia of the system, viscous friction coefficient, and load torque in short time. When the rotor speed and load torque are constant in a short period of time, the mathematical model of the motor can be discretized and solved. Since three motor parameters are fixed, the solution to the equation is also constant. Based on the discrete form of (1), the motor state corresponding to the series of discrete points is acquired. Using any three consecutive points, a matrix equation (4) can be listed and shown as follows:(4)
α
k
-
1
ω
k
-
1
1
α
k
ω
k
1
α
k
+
1
ω
k
+
1
1
·
J
′
B
′
T
d
′
=
A
·
J
′
B
′
T
d
′
=
T
e
k
-
1
T
e
k
T
e
k
+
1
.Also, the linear matrix inequalities with feasible performance constraints are used for expression (4). The condition of geometric solution of expression (4) is the inequality (5)
A
=
α
k
-
1
ω
k
-
1
1
α
k
ω
k
1
α
k
+
1
ω
k
+
1
1
≠
0
.According to expressions (3) and (5), expression (6) is obtained and simplified to get expression (7):(6)
α
k
-
1
ω
k
-
1
1
α
k
ω
k
-
1
+
α
k
·
t
s
1
α
k
+
1
ω
k
-
1
+
α
k
+
α
k
+
1
·
t
s
1
=
α
k
-
1
ω
k
-
1
1
α
k
-
α
k
-
1
α
k
·
t
s
0
α
k
+
1
-
α
k
α
k
+
1
·
t
s
0
≠
0
,
(7)
α
k
·
α
k
-
α
k
-
1
·
α
k
+
1
≠
0
.A group of data satisfying formula (7) is substituted into (4). Formulas (8)–(11) can be viewed as expressions to obtain identified values of the moment of inertia, viscous friction coefficient, and load torque:(8)
J
′
B
′
T
d
′
=
ω
k
-
ω
k
+
1
ω
k
+
1
-
ω
k
+
1
ω
k
-
1
-
ω
k
α
k
+
1
-
α
k
α
k
-
1
-
α
k
+
1
α
k
-
α
k
-
1
M
1
M
2
M
3
M
1
+
M
2
+
M
3
·
T
e
k
-
1
T
e
k
T
e
k
+
1
,
(9)
M
1
=
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
,
(10)
M
2
=
α
k
+
1
·
ω
k
-
1
-
α
k
-
1
·
ω
k
+
1
,
(11)
M
3
=
α
k
-
1
·
ω
k
-
α
k
·
ω
k
-
1
.When the motor is unloaded (T
d
=
0), formulas (12) and (13) are derived by solving formula (1). The sufficient condition of that is inequality (14): (12)
J
′
=
T
e
k
·
ω
k
+
1
-
T
e
k
+
1
·
ω
k
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
,
(13)
B
′
=
T
e
k
+
1
·
α
k
-
T
e
k
·
α
k
+
1
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
,
(14)
α
k
·
ω
k
+
1
-
α
k
+
1
·
ω
k
≠
0
.There are measurement errors of speed and angular acceleration. And external electromagnetic equipment can cause interference to the measurement of current signals. To reduce measurement errors of detection signals, they are limited by three restrictive solutions that are listed in formula (15). Considering the actual conditions, motors and inverters are nonlinear devices. The motors themselves have the cogging torque, saturation, and cross saturation. If directly calculating the matrix of the mathematical model of SPMSM, there are computational errors in identification values. But most identification values are very close to the reference value. As far as possible, to decrease computational errors of identification values, the identification values are also limited by three restrictive solutions that are listed in formula (16). Each group of data must simultaneously satisfy the restrictive solutions that are listed below:(15)
α
m
i
n
⩽
α
k
⩽
α
m
a
x
;
ω
m
i
n
⩽
ω
k
⩽
ω
m
a
x
;
i
q
m
i
n
⩽
i
q
k
⩽
i
q
m
a
x
,
(16)
J
m
i
n
′
<
J
′
k
⩽
J
m
a
x
;
B
m
i
n
<
B
′
k
⩽
B
m
a
x
;
T
d
m
i
n
⩽
T
d
′
k
⩽
T
d
m
a
x
,where α
m
i
n, α
m
a
x are minimum and maximum values of the angular acceleration and satisfy |
α
m
i
n
|
=
|
α
m
a
x
|, which is also equal to the rated angular acceleration; ω
m
i
n, ω
m
a
x are minimum and maximum values of the speed and satisfy |
ω
m
i
n
|
=
|
ω
m
a
x
|, which is also equal to the rated speed; i
q
m
i
n, i
q
m
a
x are minimum and maximum values of the q-axis current and satisfy |
i
q
m
i
n
|
=
|
i
q
m
a
x
|, which is also equal to the rated current; J
m
i
n, J
m
a
x are minimum and maximum values of the moment of inertia; B
m
i
n, B
m
a
x are minimum and maximum values of the viscous friction coefficient; T
d
m
i
n, T
d
m
a
x are minimum and maximum values of the load torque.Usually,J
m
i
n, B
m
i
n, and T
d
m
i
n satisfy J
m
i
n
=
0, B
m
i
n
=
0, and T
d
m
i
n
=
0, respectively. In industrial field, the load inertia is less than 20 times of the inertia of a servo motor J
0. So J
m
a
x satisfies J
m
a
x
=
21
·
J
0. The viscous friction coefficient of the motor is nonlinear and associated with speed. B
m
a
x is equal to the ratio of the rated torque and the rated speed. T
d
m
a
x is equal to the rated torque. If there is more information, they are used to narrow the range of restrictive solutions in order to improve performance of identification algorithm.Each group of solutions calculated by formula (8) corresponds to a point in a three-dimensional (3D) space. The J, B, and T
d are defined as the X-axis, Y-axis, and Z-axis of the 3D coordinate system, respectively. Based on the numerical analysis and general theory of statistics, when more points are corresponding to solutions of the equation, the regional density close to actual values in the 3D coordinate system is larger. The densest region and the average of the densest region are both figured out according to the required accuracy. Consequently, the three identified motor parameters were obtained simultaneously. The moment of inertia of the system and the load torque are not related to speed; however, the viscous friction coefficient is a nonlinear parameter related to speed. Thus, the viscous friction coefficient is affected by motor speed. If the identification values change during the identification time, it could slow down the convergence speed of the identification and would not be conducive to obtain stable and accurate identification values. For accurate and stable identification, the three mechanical parameters should remain unchanged during the time required for identification. And, the time required for identification in this paper is set to 2 seconds. Therefore, one noticeable conditional restriction in this identification algorithm is that the load torque, the moment of inertia of drive systems, the viscous friction coefficient, and speed of drive systems are constants or fluctuate within the small range of permission in 2 s. When PMSDS in motion meets the conditional constraint, the proposed identification algorithm can estimate the identification target with stable and high identification precision at full speed range.For example, the motor parameters (J, B, and T
d) used in the simulation are set as 0.022 kg·m2, 0.0125 N·m·s, and 9.25 N·m at the rotor speed of 900 rpm. When the motor is at a constant speed, the valid range of the speed is from 880 to 920. Specific information of the motor and controller is shown in Section 4. According to the above conditions, the restrictive solutions used in simulation are listed below:(17)
-
2972
⩽
α
k
⩽
2972
;
880
⩽
ω
k
⩽
920
;
-
23.8
⩽
i
q
k
⩽
23.8
,
0
<
J
′
k
⩽
0.3885
;
0
<
B
′
k
⩽
0.2626
;
0
⩽
T
d
′
k
⩽
55
.The schematic drawing of the identification results is shown in Figure4, where Figure 4(a) shows the 3D coordinates diagram; Figures 4(b), 4(c), and 4(d) show the projections of 3D graphics in plane x-y, plane x-z
, and plane y-z, respectively. The solutions to the equations are not always fixed but fluctuate around the actual solution. With more solutions, more points are around the actual solution. Therefore, the density of regions around actual solution increases. Because the number of solutions is fixed, the maximum density region can be easily identified using the proposed identification algorithm. The 3D coordinate system in Figure 4(a) is analogized as a cuboid and its length, width, and height are each divided into 1000 equal parts, which build up one billion small cuboids. With a comparison of the number of points in these small cuboids, the small cuboid that contains the most points is the densest slum in the entire 3D coordinate system. The region containing the most points is selected and the average values of the corresponding solutions which are the three identified motor parameters are calculated. When the motor is stable at constant speed, the stable load torque and small fluctuations in the rotor speed slightly impact the identified load torque and viscous friction coefficient. The identification results are more concentrated and shown in Figure 4(d). According to formula (3), fluctuations of angular acceleration that alternately change from positive to negative are much larger than that of the rotor speed. It greatly impacts the identified moment of inertia. Then the identified moment of inertia of the system is more dispersed than the identified load torque and viscous friction coefficient (Figures 4(b) and 4(c)). However, the identified values are very close to the actual values.Figure 4
The schematic drawing of the identification results.
(a)
(b)
(c)
(d)


## 3.2. Autotuning Speed Control Scheme

The open-loop transfer function of the PI controller can be given as(18)
K
p
+
K
i
s
=
G
s
.Equations (19) can be obtained:(19)
K
p
′
·
ω
∗
-
ω
k
-
1
+
Δ
+
K
i
′
·
ω
∗
-
ω
k
-
1
=
i
q
∗
k
-
1
,
K
p
′
·
ω
∗
-
ω
k
+
Δ
+
K
i
′
·
ω
∗
-
ω
k
=
i
q
∗
k
,
K
p
′
·
ω
∗
-
ω
k
+
1
+
Δ
+
K
i
′
·
ω
∗
-
ω
k
+
1
=
i
q
∗
k
+
1
.From (19), (20) can be derived as follows:(20)
K
p
′
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
+
K
i
′
·
ω
k
+
1
-
ω
k
=
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
.Ignoring that(
2
·
i
q
∗
(
k
)
-
i
q
∗
(
k
+
1
)
-
i
q
∗
(
k
-
1
)
) is equal to zero, it can be simplified as(21)
K
p
′
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
+
K
i
′
·
ω
k
+
1
-
ω
k
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
=
1
.By substituting (3) to the discrete form of (1), (22)-(23) can be written as(22)
J
′
·
ω
k
-
ω
k
-
1
t
s
+
B
′
·
ω
k
=
T
e
k
-
T
d
′
,
(23)
J
′
·
ω
k
+
1
-
ω
k
t
s
+
B
′
·
ω
k
+
1
=
T
e
k
+
1
-
T
d
′
.By substituting (2) to the difference between (23) and (22), (24) can be expressed as(24)
J
′
t
s
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
+
B
′
·
ω
k
+
1
-
ω
k
=
K
t
·
i
q
k
+
1
-
i
q
k
.Ignoring thati
q
(
k
+
1
)
=
i
q
(
k
), (24) can be rewritten as(25)
J
′
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
t
s
·
K
t
·
i
q
k
+
1
-
i
q
k
+
B
′
·
ω
k
+
1
-
ω
k
K
t
·
i
q
k
+
1
-
i
q
k
=
1
.Ignoring that(
ω
(
k
+
1
)
+
ω
(
k
-
1
)
-
2
·
ω
(
k
)
) and (
ω
(
k
+
1
)
-
ω
(
k
)
) are both equal to zero, (26) can be derived:(26)
J
′
t
s
·
K
t
·
i
q
k
+
1
-
i
q
k
-
K
p
′
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
·
ω
k
+
1
+
ω
k
-
1
-
2
·
ω
k
+
ω
k
+
1
-
ω
k
·
B
′
K
t
·
i
q
k
+
1
-
i
q
k
-
K
i
′
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
=
0
.Since (26) is the identical equation, (27)-(28) can be derived as(27)
K
p
′
=
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
K
t
·
i
q
k
+
1
-
i
q
k
·
J
′
t
s
,
(28)
K
i
′
=
2
·
i
q
∗
k
-
i
q
∗
k
+
1
-
i
q
∗
k
-
1
K
t
·
i
q
k
+
1
-
i
q
k
·
B
′
.According to deduced equations above, we can elaborate relations between PI parameters of speed controller, three identified parameters, and the sampling period of system. The proposed adaptive algorithm has a straightforward approach to online autotune PI parameters of speed controller and considered completely influences of the moment of inertia of system, viscous friction coefficient of motor, and load torque. Not only that, the proposed autotuning algorithm also has the following guidance in practical application:(a)
The moment of inertia of the system is positively related to the proportional gain. When the moment of inertia changes, the proportional gain also needs corresponding changes. If the moment of inertia is in a stable condition, the proportional gain is updated to reduce the steady-state error and improve the system dynamic response by (27).
(b)
The viscous friction coefficient of the motor is positively related to the integral gain. But the integral part of the speed controller has a cumulative effect; viscous friction coefficient has no significant effect on the performance of the speed controller.
(c)
It is not direct relationship between the load torque and the PI parameters. However, if the load torque is changed, the reference current and the feedback current also change. So the load torque indirectly affects the PI parameters. When the load torque has been stable, the PI parameters using (27) are changed to reduce the steady-state error and improve the system dynamic response.


## 4. Simulation and Experiments

### 4.1. Simulation and Experiments for Setup

All experiments were performed on a prototype SPMSM, whose parameters are listed in Table1. The schematic drawing of the simulation bench with the Simulink™/Matlab® is shown in Figure 5. Because it is related to the rotor speed, the viscous friction coefficient with different simulation values is introduced at different speeds. It is used to analyze the effectiveness of the identification algorithm. The experimental data are obtained from the data collection and storage section of the IPC. The CPU used for the IPC is equipped with a 2.26 GHz Intel Core 2 Duo processor. The photograph of the test bench is shown in Figure 6. The load torque is provided by the load motor and is tested by the torque tester.Table 1
Prototype PMSM Specification.
Parameter
Value
Model number
GK6107-8AC61
Number of poles
4
Rates power
11.5 KW
Rates torque
55 (N⋅m)
Rates speed
2000 (r/min)
Torque constant
2.31 (N⋅m/A)
Moment of inertia
0.01855 (kg⋅m⋅s2)Figure 5
Schematic drawing of the simulation bench.Figure 6
Photograph of the test bench.


### 4.2. Performance of the Luenberger Observer

The reference speed signal for test is a step signal from 200 rpm to 800 rpm with the same PI parameters of speed controller. Results are displayed in Figure7(a) (with the observer) and Figure 7(b) (with a low pass filter). The range of output signals from the 16-bit DAC module on the IPC is ±10 V. The range of actual velocity is ±2000 rpm and that of angular acceleration is ±2972 rad/s2. Channel 1 on oscilloscope is reference speed, channel 2 is actual angular acceleration, and channel 3 is actual speed. From Figures 7(a) and 7(b), the response time using the observer is faster and there is smaller lag. The angular acceleration is less volatile than that with the low pass filter.Figure 7
The actual velocity and acceleration.
(a)
With the observer
(b)
With a low pass filter


### 4.3. Simulation and Experiment for Performance of the Identification Algorithm

Experiment 1.
The no-load motor parameters used in the simulation and experiment are set as follows: referenceJ
=
0.01855 kg·m2 and reference B
=
0.0288 N·m·s at the rotor speed of 300 rpm shown in Figures 8(a) and 8(b) and reference B
=
0.0078 N·m·s at the rotor speed of 1500 rpm shown in Figures 8(c) and 8(d). The estimated moment of inertia using RLSM is not convergent and estimation error of that is more than 10% at 2 s. Whether the speed of the no-load motor is at 300 or 1500 rpm, the time required for the proposed identification algorithm is only 1.2 s and both the simulation values and the experimental values of J and B are very close to the reference values.Figure 8
The identifiedJ and B when the no-load motor is at 300 rpm and 1500 rpm.
(a)
(b)
(c)
(d)Experiment 2.
The loaded motor parameters used in the simulation are set as follows: referencesJ, B, and T
d are set to 0.022 kg·m2, 0.0225 N·m·s, and 5 N·m, respectively, at the rotor speed of 300 rpm shown in Figures 9(a)–9(c); they are set to 0.022 kg·m2, 0.007 N·m·s, and 10 N·m, respectively, at the rotor speed of 1500 rpm shown in Figures 9(d)–9(f). Whether the speed of the loaded motor is at 300 or 1500 rpm, the time required for the proposed identification algorithm is only 1.1 s. The simulation values and experimental values of moment of inertia of the system, viscous friction coefficient, and load torque very quickly converge to reference values. But, estimated moment of inertia using RLSM is not convergent and estimation error of that is more than 10% at 2 s.Figure 9
The identifiedJ, B, and T
d when the loaded motor is at 300 rpm and 1500 rpm.
(a)
(b)
(c)
(d)
(e)
(f)Thus, whether the SPMSM is under different load torque, different load inertia, different viscosity coefficient, or at different speeds, the identification time is in 1.2 s. According to the identified errors of these identified parameters, all the identified errors of them are within 5%, and the minimum identified error is less than 1%. The proposed identification algorithm also satisfies the identification accuracy and the time required for identification in different conditions.


### 4.4. Experiment for Dynamic Performance of the Control System

Experiment 3.
Figures10(a) and 10(b) show dynamic performances of the step response, using the proposed adaptive algorithm represented by the red line and using the traditional PI algorithm represented by the green line, under the load torque of 10 N·m. The step speed signal increases from 300 to 1500 rpm. The settling time and overshoot of the rotor speed using the proposed adaptive algorithm are 160 ms and 8 rpm in Figure 10(b), respectively. However, the settling time and overshoot of the rotor speed using the traditional PI algorithm are 220 ms and 30 rpm in Figure 10(a), respectively. Thus, when the rotor speed changes under a constant load torque, the response time and accuracy of the control system using the proposed adaptive algorithm are superior to that using the traditional PI algorithm.
Figures10(c) and 10(d) show a Bode plot of the closed-loop transfer function of the proposed autotuning PI speed controller. The gain in decibels and phase in degrees are plotted against the frequency in hertz. The frequency scale is logarithmic and the vertical scales are linear. The frequency spans from 0.01 Hz to 1000 Hz in Figures 10(c) and 10(d). The gain is shown in Figure 10(c), scaled at 5 dB per division. The phase is shown in Figure 10(c), scaled at 20° per division. Closed-loop responsiveness is commonly measured in the frequency domain as the bandwidth, the frequency at which the gain has fallen −3 dB. That frequency is about 260 Hz in Figure 10(c). And the phase lag accumulates to 46.49° in Figure 10(d). The proposed adaptive algorithm shows a wide gain and phase stability margin and the system bandwidth.Figure 10
Dynamic performance of the control system when the loaded motor is at 300 rpm and 1500 rpm.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)Experiment 4.
When the rotor speed is set at 300 or 1500 rpm under different load torques, the dynamic response diagram of the motor is displayed in Figures10(e)–10(h). Under loading and unloading of 5 N·m at the rotor speed of 300 rpm, the settling time and overshoot of the rotor speed that introduces the proposed adaptive control algorithm represented by the red line are 160 ms and 1.5 rpm in Figure 10(e), respectively. However, the settling time and overshoot of the rotor speed that introduces the traditional PI algorithm represented by the green line are 300 ms and 7.8 rpm in Figure 10(f), respectively. Under loading and unloading of 10 N·m at the rotor speed of 1500 rpm, the settling time and overshoot of the rotor speed that introduces the adaptive control algorithm are 200 ms and 7 rpm in Figure 10(g), respectively. However, the settling time and overshoot of the rotor speed that introduces the traditional PI algorithm are 330 ms and 36 rpm in Figure 10(h), respectively.Consequently, the response time and accuracy of the control system that adapted the adaptive control algorithm are better than the traditional PI control system when the load torque changes at constant speed. When the operation condition changes, the proposed method can estimate the mechanical parameters and update the speed controller’s parameters to ensure that the motor is in the optimum operating condition.


## 4.1. Simulation and Experiments for Setup

All experiments were performed on a prototype SPMSM, whose parameters are listed in Table1. The schematic drawing of the simulation bench with the Simulink™/Matlab® is shown in Figure 5. Because it is related to the rotor speed, the viscous friction coefficient with different simulation values is introduced at different speeds. It is used to analyze the effectiveness of the identification algorithm. The experimental data are obtained from the data collection and storage section of the IPC. The CPU used for the IPC is equipped with a 2.26 GHz Intel Core 2 Duo processor. The photograph of the test bench is shown in Figure 6. The load torque is provided by the load motor and is tested by the torque tester.Table 1
Prototype PMSM Specification.
Parameter
Value
Model number
GK6107-8AC61
Number of poles
4
Rates power
11.5 KW
Rates torque
55 (N⋅m)
Rates speed
2000 (r/min)
Torque constant
2.31 (N⋅m/A)
Moment of inertia
0.01855 (kg⋅m⋅s2)Figure 5
Schematic drawing of the simulation bench.Figure 6
Photograph of the test bench.


## 4.2. Performance of the Luenberger Observer

The reference speed signal for test is a step signal from 200 rpm to 800 rpm with the same PI parameters of speed controller. Results are displayed in Figure7(a) (with the observer) and Figure 7(b) (with a low pass filter). The range of output signals from the 16-bit DAC module on the IPC is ±10 V. The range of actual velocity is ±2000 rpm and that of angular acceleration is ±2972 rad/s2. Channel 1 on oscilloscope is reference speed, channel 2 is actual angular acceleration, and channel 3 is actual speed. From Figures 7(a) and 7(b), the response time using the observer is faster and there is smaller lag. The angular acceleration is less volatile than that with the low pass filter.Figure 7
The actual velocity and acceleration.
(a)
With the observer
(b)
With a low pass filter


## 4.3. Simulation and Experiment for Performance of the Identification Algorithm

Experiment 1.
The no-load motor parameters used in the simulation and experiment are set as follows: referenceJ
=
0.01855 kg·m2 and reference B
=
0.0288 N·m·s at the rotor speed of 300 rpm shown in Figures 8(a) and 8(b) and reference B
=
0.0078 N·m·s at the rotor speed of 1500 rpm shown in Figures 8(c) and 8(d). The estimated moment of inertia using RLSM is not convergent and estimation error of that is more than 10% at 2 s. Whether the speed of the no-load motor is at 300 or 1500 rpm, the time required for the proposed identification algorithm is only 1.2 s and both the simulation values and the experimental values of J and B are very close to the reference values.Figure 8
The identifiedJ and B when the no-load motor is at 300 rpm and 1500 rpm.
(a)
(b)
(c)
(d)Experiment 2.
The loaded motor parameters used in the simulation are set as follows: referencesJ, B, and T
d are set to 0.022 kg·m2, 0.0225 N·m·s, and 5 N·m, respectively, at the rotor speed of 300 rpm shown in Figures 9(a)–9(c); they are set to 0.022 kg·m2, 0.007 N·m·s, and 10 N·m, respectively, at the rotor speed of 1500 rpm shown in Figures 9(d)–9(f). Whether the speed of the loaded motor is at 300 or 1500 rpm, the time required for the proposed identification algorithm is only 1.1 s. The simulation values and experimental values of moment of inertia of the system, viscous friction coefficient, and load torque very quickly converge to reference values. But, estimated moment of inertia using RLSM is not convergent and estimation error of that is more than 10% at 2 s.Figure 9
The identifiedJ, B, and T
d when the loaded motor is at 300 rpm and 1500 rpm.
(a)
(b)
(c)
(d)
(e)
(f)Thus, whether the SPMSM is under different load torque, different load inertia, different viscosity coefficient, or at different speeds, the identification time is in 1.2 s. According to the identified errors of these identified parameters, all the identified errors of them are within 5%, and the minimum identified error is less than 1%. The proposed identification algorithm also satisfies the identification accuracy and the time required for identification in different conditions.


## 4.4. Experiment for Dynamic Performance of the Control System

Experiment 3.
Figures10(a) and 10(b) show dynamic performances of the step response, using the proposed adaptive algorithm represented by the red line and using the traditional PI algorithm represented by the green line, under the load torque of 10 N·m. The step speed signal increases from 300 to 1500 rpm. The settling time and overshoot of the rotor speed using the proposed adaptive algorithm are 160 ms and 8 rpm in Figure 10(b), respectively. However, the settling time and overshoot of the rotor speed using the traditional PI algorithm are 220 ms and 30 rpm in Figure 10(a), respectively. Thus, when the rotor speed changes under a constant load torque, the response time and accuracy of the control system using the proposed adaptive algorithm are superior to that using the traditional PI algorithm.
Figures10(c) and 10(d) show a Bode plot of the closed-loop transfer function of the proposed autotuning PI speed controller. The gain in decibels and phase in degrees are plotted against the frequency in hertz. The frequency scale is logarithmic and the vertical scales are linear. The frequency spans from 0.01 Hz to 1000 Hz in Figures 10(c) and 10(d). The gain is shown in Figure 10(c), scaled at 5 dB per division. The phase is shown in Figure 10(c), scaled at 20° per division. Closed-loop responsiveness is commonly measured in the frequency domain as the bandwidth, the frequency at which the gain has fallen −3 dB. That frequency is about 260 Hz in Figure 10(c). And the phase lag accumulates to 46.49° in Figure 10(d). The proposed adaptive algorithm shows a wide gain and phase stability margin and the system bandwidth.Figure 10
Dynamic performance of the control system when the loaded motor is at 300 rpm and 1500 rpm.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)Experiment 4.
When the rotor speed is set at 300 or 1500 rpm under different load torques, the dynamic response diagram of the motor is displayed in Figures10(e)–10(h). Under loading and unloading of 5 N·m at the rotor speed of 300 rpm, the settling time and overshoot of the rotor speed that introduces the proposed adaptive control algorithm represented by the red line are 160 ms and 1.5 rpm in Figure 10(e), respectively. However, the settling time and overshoot of the rotor speed that introduces the traditional PI algorithm represented by the green line are 300 ms and 7.8 rpm in Figure 10(f), respectively. Under loading and unloading of 10 N·m at the rotor speed of 1500 rpm, the settling time and overshoot of the rotor speed that introduces the adaptive control algorithm are 200 ms and 7 rpm in Figure 10(g), respectively. However, the settling time and overshoot of the rotor speed that introduces the traditional PI algorithm are 330 ms and 36 rpm in Figure 10(h), respectively.Consequently, the response time and accuracy of the control system that adapted the adaptive control algorithm are better than the traditional PI control system when the load torque changes at constant speed. When the operation condition changes, the proposed method can estimate the mechanical parameters and update the speed controller’s parameters to ensure that the motor is in the optimum operating condition.


## 5. Conclusion

This paper presents a novel online identification algorithm and a distinctive autotuning algorithm for adjusting the controller parameters in PMSM drives. The moment of inertia, load torque, and viscosity coefficient of the motor can be simultaneously obtained online by the proposed algorithms. The proposed identification algorithm does not require motors run in a particular trajectory and has high identification accuracy. Using identified parameters and the PI transfer function, the autotuning algorithm can be deduced. Some guidance of the proposed autotuning algorithm in practical application has been introduced and explained. By comparing their performance of RLSM and PI speed algorithm, the accuracy of the proposed identification algorithm and satisfactory performance of the servo system using the proposed autotuning algorithm have been verified by simulations and experiments.



---

*Source: 1780710-2016-02-29.xml*