Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 62, NO.

2, FEBRUARY 2015 1329

Comments and Corrections


Comments on “Antiwindup Strategy for PI-Type Speed Controller”
Ming Yang, Siyu Tang, and Dianguo Xu

Abstract —In a paper written by Choi and Lee (IEEE Trans. Ind.
Electron., vol. 56, no. 6, pp. 2039–2046, Jun. 2009), the authors
propose a new antiwindup strategy for the proportional–integral
speed controller, to suppress the undesired side effect known as
integrator windup when large set-point changes are made. In this
paper, we point out that there are obvious errors in the paper. Our
paper corrects these errors and informs of further study to improve
the antiwindup method. The proposed method is demonstrated by
experimental results.
Index Terms—Antiwindup, integrator value, proportional– Fig. 1. Block diagram of the proposed antiwindup PI speed controller
integral (PI) control, variable-speed drives. in [1].

I. I NTRODUCTION
In the above paper [1], the authors propose an antiwindup method
for the proportional–integral (PI) speed controller, to suppress the
undesired side effect named integrator windup when large set-point
changes are made. The proposed antiwindup scheme is developed from
the well-known conditional integral method, which changes between a
P and PI controller under specific conditions. A block diagram of the
proposed scheme is shown in Fig. 1. The switch operation connects to
the PI mode or P mode. However, the main difference is how to set the
initial value of the integrator (ii_o ) in the PI control mode.
The authors consider that the proposed antiwindup scheme has cer-
tain advantages: “Almost zero overshoot and simple implementation
in existing PI controllers. In addition, the proposed method guarantees
the designed performance independent of the operating conditions, i.e.,
different set-point changes and load torques.”
The preset initial value of the integrator ii_o is precalculated and
loaded through a low-pass filter (LPF) in the P mode and then used
in the PI mode when the PI controller works to prevent abrupt current
changing. The steady value of integrator output ii_ss is to compensate
for viscous damping and load torque, to guarantee a zero speed error.
The typical speed response to a step input, along with the integrator
output value, is shown in Fig. 2.
To obtain the initial value, the authors deduce the closed-loop
transfer function of the system. The main purpose is to satisfy pole-
zero cancellation, and the transfer function is simplified to a first-
order LPF, resulting in a zero overshoot speed response performance. Fig. 2. Angular speed response to step input and integrator output
The authors claim that the proposed antiwindup method gives a better value change.
performance compared with the conventional conditional integration
and tracking back calculation methods. II. C ORRECTING E RRORS AND C OMPLEMENT

Manuscript received January 9, 2014; revised April 27, 2014, June 30,
There are several obvious errors in the theoretical derivation, which
2014, and September 4, 2014; accepted September 5, 2014. Date of makes the conclusion lack of scientific and precise support.
publication October 17, 2014; date of current version January 7, 2015. In [1], the mechanical system is modeled as (1), with the angular
This work was supported in part by the Research Fund for the National speed ωm (t), load torque TL , electrical torque producing current i(t),
Science Foundation of China under Grant 61273147 and in part by the moment of inertia J, the viscous damping coefficient B, and the
grants from the Power Electronics Science and Education Development
Program of Delta Environmental and Educational Foundation. torque constant KT . That is,
The authors are with the School of Electrical Engineering and Au-
tomation, Harbin Institute of Technology, Harbin 150001, China (e-mail: dωm (t)
J + Bωm (t) + TL = KT i(t). (1)
yangming_hit@163.com). dt
Color versions of one or more of the figures in this paper are available
online at http://ieeexplore.ieee.org. Then, the PI controller can be written as (2), using the proportional

Digital Object Identifier 10.1109/TIE.2014.2363626 gain Kp and integral gain Ki , where ωm is the speed reference of

0278-0046 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
1330 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 62, NO. 2, FEBRUARY 2015

a constant set point, ip (t) is the proportional term, and ii (t) is the The second error in [1] is caused when (5) is substituted into (4); the
integrator term. That is, authors give
KT [(Kp − K)s + Ki ]
i(t) = ip (t) + ii (t) ωm (s) = ω∗
∗ Js2 + (KT Kp + B)s + KT Ki m
ip (t) = Kp (ωm − ωm (t))
dii (t) Js + KT K + B

= Ki (ωm − ωm (t)) . (2) + ωm_o . (7) in [1]
dt Js2 +(KT Kp + B)s + KT Ki

The first error comes out when substituting (2) in (1) and deriving This result is also incorrect, even if we consider that
the closed-loop transfer function for speed by a Laplace transforma- [1, eqs. (3) and (4)] are correct. If [1, eqs. (3) and (4)] are correct, then
tion. The correct closed-loop transfer function is given by the answer should be
KT (Kp s − K + Ki )
J (sωm (s) − ωm_o ) + Bωm (s) ωm (s) = ω∗
Js2 + (KT Kp + B)s + KT Ki m
 Ki
  ω∗  i  τ Js + KT K + B
i_o L
= KT Kp + m
− ωm (s) + − . (3) + 2 ωm_o
s s s s Js + (KT Kp + B)s + KT Ki
In [1], the function (3) is given by which cannot be rewritten as [1, eq. (8)] as follows:
ωm_o
 ωm_o


J (sωm (s) − ωm_o ) + Bωm (s) ωm (s) − = H(s) ωm −
s s
 Ki
 
ii _ o τL KT [(Kp − K)s + Ki ]
∗ H(s) = .
= KT Kp + (ωm −ωm (s))+ − (3) in [1] Js2 + (KT Kp + B)s + KT Ki
s s s
where ωm_o and ii_o are the initial state values for speed and integrator Let alone [1, eqs. (3) and (4)] are incorrect.
term, when the PI mode starts to work, respectively. In addition, by In fact, after fixing their mistakes, when substituting (5) into correct
rewriting (3) as (4), we can obtain the expression of angular speed, (4), we obtain
with respect to the input terms, such as the speed reference, load KT [(Kp − K)s + Ki ] /s
torque, and initial state values. That is, ωm (s) = ω∗
Js2 + (KT Kp + B)s + KT Ki m
KT (Kp s + Ki )/s Js + KT K + B
ωm (s) = ω∗ + ωm_o (6)
+ (KT Kp + B)s + KT Ki m
Js2 Js2 + (KT Kp + B)s + KT Ki
1
− 2 τL which can be rewritten as
Js + (KT Kp + B)s + KT Ki  

ωm_o ωm − ωm_o
Js ωm (s) − = H(s) (7)
+ 2 ωm_o s s
Js + (KT Kp + B)s + KT Ki
KT where
+ ii_o (4)
Js2 + (KT Kp + B)s + KT Ki KT [(Kp − K)s + Ki ]
H(s) = . (8)
Js2 + (KT Kp + B)s + KT Ki
and not [1, eq. (4)] as follows:
After comparing with the fixed one, it can be noted that
KT (Kp s + Ki )
ωm (s) = ω∗ [1, eq. (8)] is incorrect and unscientific because the item of ωm ∗
in
Js2 + (KT Kp + B)s + KT Ki m its right-hand term is in the time domain, while the rest are all in
1 the frequency domain. Obviously, this equation cannot be explained
− 2 τL
Js + (KT Kp + B)s + KT Ki scientifically because of its disunion. While all the items in the fixed
Js one (7) are in the frequency domain. The left-hand term is the speed
+ ωm_o response, and the right-hand term is product of transfer function H(s)
Js2 + (KT Kp + B)s + KT Ki
and speed reference. Hence, the mistake of this part is doubled.
KT
+ ii_o . (4) in [1] Coincidentally and fortunately, despite these mistakes in the theo-
Js2 + (KT Kp + B)s + KT Ki retical derivation in [1], their H(s) happened to be equal to the fixed
one. However, these confused theoretical derivations have severely
Since the central theoretical derivation in [1] is based on (3) and
destroyed the accuracy and scientific credibility of this paper.
(4), the aforementioned mistakes badly influence the accuracy of
According to H(s), its zeros can be assigned to a specific location
conclusions in [1] and almost make the authors work in vain.
to change the speed response, and the designed antiwindup gain K can
After fixing the aforementioned problem, we continue the theoreti-
modify the speed response characteristics in the PI control mode. The
cal derivation to obtain an accurate conclusion.
authors simplified H(s) to a first-order LPF by pole-zero cancellation,
In [1], the authors attempt to set an appropriate and adjustable initial
by assuming two poles p1 , p2 and one zero z1 and z1 = p1 , and
integral value ii_o , when the P mode is changed to the PI mode, so that
the resultant antiwindup gain is K = Kp + Ki /p1 . Then, (8) can be
they defined it heuristically as
simplified by
τL + Bωm_o ∗ −p2
ii_o = − K (ωm − ωm_o ) . (5) H(s) = (9)
KT s − p2
The gain K will be chosen according to the transfer function obtained which represents a first-order LPF without an overshoot. With the
from the aforementioned equation. Hence, the wrong transfer function given K, the initial value ii_o is determined. According to (5), ii_o

in [1] will lead to an incorrect value for K. contains speed reference ωm and load torque TL , which guarantees
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 62, NO. 2, FEBRUARY 2015 1331

the designed performance independent of the operating conditions,


i.e., different set-point changes and load torques, as mentioned earlier.
That is the main advantage of this method compared with traditional
methods.
We consider that the main idea of this paper is inspirational but not
perfect. In (5), ii_o is defined artificially with a parameter K calculated
complicatedly. This value contains too many human factors that may
lead to imprecise results, and the computational process of K and ii_o
is complicated. Since ii_o is quite necessary for overshoot suppression,
it should be given precisely. Meanwhile, although the authors simplify
the transfer function into a first-order LPF successfully, the key point
to control is not pointed out yet.
We have done plenty of research on antiwindup methods (such as
the segmented tracking back calculation scheme, the integral steady-
state value prediction method [2], and the incremental PI differential
control method). Some of our results would help to complement and
perfect the idea in [1] and in the field of antiwindup.
All experiments here are implemented in a digital permanent-
magnet synchronous motor servo system, in which TMSF28335 is
the control core. The main parameters include: 750-W rated power,
3000-r/min rated speed, 2.39-N · m rated torque, and 4.4-A rated cur-
rent. The parameters of the PI speed controller are Kp = 2, Ki = 0.2,
and the amplitude of current is 2 p.u. (Imax = 2 p.u., Imin = −2 p.u.).
As mentioned in [1], “When the speed control mode is changed from
P control to PI control, an appropriate initial value for the integrator is
assigned. This value then restricts the overshoot.” This value is ii_o . In
our research, we have further study about this issue.
The steady-state value of the integrator and speed response are
denoted by ii_ss and ωm_ss , respectively. According to (1) and (2),
we obtain
τL + Bωm_ss
ii_ss = (10)
KT

and in speed control systems without steady errors, ωm_ss = ωm .
Thus, when substituted with (10), (4) can be rewritten as
 ∗

ωm_o −ωm

ωm Js2 s
ωm (s) = +
s Js2 + (KT Kp + B)s + KT Ki
KT (ii_o − ii_ss )
+ . (11)
Js2 + (KT Kp + B)s + KT Ki

It can be noted that, when ii_o is equal to ii_ss , the last right-hand
term is zero, and the speed response is the best. This is successfully
proved by our simulation and experimental results.
Fig. 3 shows the output response of the tracking back calculation
scheme when giving step speed reference under no-load condition,
where ωm , i∗ , and ii indicates the speed response, the PI speed
controller output (i.e., current reference), and the value of the inte-
grator, respectively. At the switching moment t1 , the initial value of
the integrator is ii_o (indicated by the horizontal dotted line), and at
the moment of t2 , the value of the integrator is ii_ss . In Fig. 3(a),
the speed reference is 1000 r/min. Obviously, ii_o is larger than Fig. 3. Experimental results for speed responses of the tracking back
ii_ss , and the speed response has overshoot. In Fig. 3(c), the speed calculation scheme at no-load condition. (a) 1000 r/min. (b) 2000 r/min.
reference is 3000 r/min, and ii_o is smaller than ii_ss , and the over- (c) 3000 r/min.
damping response of the speed occurs. While in Fig. 3(b), with a
2000-r/min speed reference, the two values are equal, and neither Therefore, we consider that the idea of assigning ii_o equal to the
significant overshoot nor overdamping happens. That verifies that the steady-state value of integrator ii_ss is more reasonable because it
relationship between ii_o and ii_ss is the key point to control, as focuses on the key point to control, i.e., the relationship between ii_o
follows: and ii_ss . As in (10), if the load condition is known, ii_ss is easy to
know. In practice, we use
ii_o > ii_ss overshoot
ii_o = ii_ss perfect dωm (t)
TL = Tm − J − Bωm (t)
ii_o < ii_ss over damping. (12) dt
1332 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 62, NO. 2, FEBRUARY 2015

to obtain TL . When dωm /dt is zero and B is ignored, TL is equal to


Tm directly. We set

τL + Bωm_ss τL + Bωm
ii_o = ii_ss = = (13)
KT KT
instead of (5) and obtain the experimental results as in Fig. 4. This
method is similar to that in [1]. The only difference is how to set
the initial value of integrator ii_o when the PI mode starts to work.
Comparing with (5),
τL + Bωm_o ∗
ii_o = − K (ωm − ωm_o )
KT

i.e., ii_o in [1], (13) is greater because ωm_o in (5) is less than ωm and

K(ωm − ωm_o ) is positive. In other words, the initial value of inte-
grator ii_o in [1] is less than the steady-state value of integrator ii_ss ;
hence, it is not the best choice of ii_o . It may lead to overdamping.
Fig. 4(a), (b), (d) shows the output response to 1000-, 2000-,
and 3000-r/min step speed references under no-load condition,
respectively, and (c) is under full-load condition with
2000-r/min step speed reference.
In Fig. 4, ii_o is equal to ii_ss , as we have set. The speed response is
fast and has neither overshoot nor overdamping under different speed
references and load conditions, which is exactly the high performance
we expected. It still guarantees the designed performance independent
of the operating conditions, such as different set-point changes and
load torques. This result also verifies that ii_o equal to ii_ss is the key
point to obtain a high performance of the system.
The experimental results in Fig. 4 verifies that (13) is correct. The
∗ ∗
value of ii_o is determined by ωm , KT , B, and τL . In practice, ωm
and KT are easy to obtain. However, as to how to acquire B and
τL , it depends on. If the load is constant, τL is easy to know. If load
condition changes frequently, the load disturbance observer is needed
to obtain τL . The viscous damping coefficient B can be also obtained
by the observer, and sometimes, it can be ignored. Shin and Park [2]
proposed a method of predicting the steady value of the integrator. In
fact, the methods used to obtain Fig. 4 and proposed in [2] are both
feasible. In the study of the antiwindup method, we have examined
several methods, according to papers on this issue. After comparing
all the experimental results, we consider that the approach in [2] is the
most effective.

III. C ONCLUSION

There are several obvious errors in the theoretical derivation in [1],


which badly influence the accuracy and scientific credibility of the
paper. Furthermore, the ii_o assignment method is not considered to be
reasonable. This paper fixes the main problem in [1]. We have shown
the key point to control, i.e., the relationship between ii_o and ii_ss ,
and then suggest a better method of setting ii_o . All conclusions were
verified by experimental tests.

REFERENCES
[1] J.-W. Choi and S.-C. Lee, “Antiwindup strategy for PI-type speed control-
ler,” IEEE Trans. Ind. Electron., vol. 56, no. 6, pp. 2039–2046, Jun. 2009.
[2] H. B. Shin and J. G. Park, “Anti-windup PID controller with integral state
predictor for variable-speed motor drives,” IEEE Trans. Ind. Electron.,
vol. 59, no. 3, pp. 1509–1516, Mar. 2012.

Fig. 4. Experimental results for speed responses of the antiwindup


scheme, with ii_o set as (13). (a) 1000 r/min, no load. (b) 2000 r/min,
no load. (c) 2000 r/min, full load. (d) 3000 r/min, no load.

You might also like