Professional Documents
Culture Documents
net/publication/346957096
CITATIONS READS
0 227
5 authors, including:
Some of the authors of this publication are also working on these related projects:
Implementation of digital controllers for nonlinear systems using arduino boards View project
All content following this page was uploaded by Djamel Ounnas on 11 December 2020.
Abstract
This paper deals with the design, simulation, and real-time implementation of a new Takagi-Sugeno (T-S) fuzzy
tracking control for a DC-DC boost converter using Arduino mega and MATLAB/Simulink environment. The developed
controller can drive the output voltage of the boost converter to perfectly track a reference voltage, taking into
account variations in load or input voltage. Firstly, a T-S model with four fuzzy rules is developed to represent
exactly the dynamic behaviour of the nonlinear boost converter, which is investigated to develop a new control
scheme based on a combined methodology of fuzzy control and particle swarm optimization (PSO) technique. In
this context, a two-stage design procedure is developed to determine the fuzzy stabilizing control gains by solving
a set of linear matrix inequalities (LMIs) and to determine an integral control gain and a reference scaling factor
using PSO algorithm. A real-time implementation of the proposed controller is carried out using an Arduino Mega
and spatial Simulink package known as “Simulink support package for Arduino hardware”. Simulation and
experimental results show that the proposed controller offers a fast dynamic response and better performance in
terms of accuracy and limitation of overshoot compared to the baseline Proportional-Integral (PI) controller.
Keywords: DC-DC boost converter, T-S fuzzy model, LMIs, PSO, Arduino board
𝑢𝑢(𝑡𝑡) = ∑𝒓𝒓𝒊𝒊=𝟏𝟏 𝐾𝐾𝑰𝑰 𝑥𝑥(𝑡𝑡) + ∫ 𝐾𝐾𝐼𝐼 �𝐾𝐾𝑟𝑟 𝑉𝑉𝑟𝑟𝑟𝑟𝑟𝑟 − 𝑉𝑉0 �𝑑𝑑𝑑𝑑 (2)
92 ELECTROTEHNICĂ, ELECTRONICĂ, AUTOMATICĂ (EEA), 68 (2020), nr. 4
and more details about the proposed controller will be C 3: If 𝑉𝑉0 is 𝐹𝐹12 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹21 Then 𝜏𝜏(𝑡𝑡) = −𝐾𝐾3 𝑥𝑥(𝑡𝑡)
discussed in the following subsections.
3.1 Fuzzy feedback stabilization controller C 4: If 𝑉𝑉0 is 𝐹𝐹12 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹22 Then 𝜏𝜏(𝑡𝑡) = −𝐾𝐾4 𝑥𝑥(𝑡𝑡)
The design of the T-S fuzzy feedback stabilization The final fuzzy controller output is given by:
controller requires the transformation of the nonlinear 𝜏𝜏(𝑡𝑡) = − ∑𝑟𝑟𝑖𝑖=1 ℎ𝑖𝑖 (𝑡𝑡)𝐾𝐾𝑖𝑖 𝑥𝑥(𝑡𝑡) (5)
model of the boost converter Eq. (1) without
disturbance term into a fuzzy model by using the
By using (4) and (5), the closed-loop system can be
variables of output voltage 𝑉𝑉0 and inductor current as 𝑖𝑖𝑳𝑳
rewritten as follows:
decision variables. Assuming that these variables are
bounded as:
𝑥𝑥̇� = ∑𝑟𝑟𝑖𝑖=1 ∑𝑟𝑟𝑗𝑗=1 ℎ𝑖𝑖 (𝑡𝑡) ℎ𝑗𝑗 (𝑡𝑡)�𝐴𝐴𝑖𝑖 − 𝐵𝐵𝑖𝑖 𝐾𝐾𝑗𝑗 �𝑥𝑥(𝑡𝑡) (6)
𝑉𝑉0 ≤ 𝑉𝑉0 ≤ 𝑉𝑉�0 and 𝑖𝑖𝐿𝐿 ≤ 𝑖𝑖𝐿𝐿 ≤ 𝑖𝑖𝐿𝐿
By letting 𝐺𝐺𝑖𝑖𝑖𝑖 = �𝐴𝐴𝑖𝑖 − 𝐵𝐵𝑖𝑖 𝐾𝐾𝑗𝑗 � the closed-loop system
and using sector nonlinearity transformation [22,23], (6) can be described by the following form:
the nonlinear system can be described by the following
four If-Then fuzzy rules: 𝑥𝑥̇� = ∑𝑟𝑟𝑖𝑖=1 ∑𝑟𝑟𝑗𝑗=1 ℎ𝑖𝑖 (𝑡𝑡) ℎ𝑗𝑗 (𝑡𝑡)𝐺𝐺𝑖𝑖𝑖𝑖 𝑥𝑥(𝑡𝑡) (7)
R 1: If 𝑉𝑉0 is 𝐹𝐹11 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹21 Then 𝑥𝑥̇ (𝑡𝑡) = 𝐴𝐴1 𝑥𝑥(𝑡𝑡) +
𝐵𝐵1 𝜏𝜏(𝑡𝑡) 3.2 Stabilization conditions
The development of the fuzzy stabilization
R 2: If 𝑉𝑉0 is 𝐹𝐹11 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹22 Then 𝑥𝑥̇ (𝑡𝑡) = 𝐴𝐴2 𝑥𝑥(𝑡𝑡) + controller consists in obtaining the gains 𝐾𝐾𝑖𝑖 satisfying
𝐵𝐵2 𝜏𝜏(𝑡𝑡) the following theorem conditions [17], [18]:
Theorem 1: The T-S fuzzy model (7) is asymptotically
R 3: If 𝑉𝑉0 is 𝐹𝐹12 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹21 Then 𝑥𝑥̇ (𝑡𝑡) = 𝐴𝐴3 𝑥𝑥(𝑡𝑡) + stabilizable via the feedback controller (5), if there
exists, matrices 𝑌𝑌𝑖𝑖𝑖𝑖 , with:
𝐵𝐵3 𝜏𝜏(𝑡𝑡)
𝑌𝑌𝑖𝑖𝑖𝑖 =𝑌𝑌𝑖𝑖𝑖𝑖𝑇𝑇 and 𝑌𝑌𝑗𝑗𝑗𝑗 = 𝑌𝑌𝑖𝑖𝑖𝑖𝑇𝑇 for 𝑖𝑖 ≠ 𝑗𝑗 ,
R 4: If 𝑉𝑉0 is 𝐹𝐹22 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹22 Then 𝑥𝑥̇ (𝑡𝑡) = 𝐴𝐴4 𝑥𝑥(𝑡𝑡) +
a matrix 𝐷𝐷, matrices 𝑀𝑀𝑖𝑖 , a common positive definite
𝐵𝐵4 𝜏𝜏(𝑡𝑡) 𝑋𝑋 = 𝑋𝑋 𝑇𝑇 > 0 matrix, such that the following LMI
where : 𝐹𝐹11 , 𝐹𝐹12 , 𝐹𝐹21 , and 𝐹𝐹22 are the membership conditions hold:
functions given by: 𝑇𝑇 𝑇𝑇 𝑇𝑇 𝑇𝑇
�𝑋𝑋𝐴𝐴𝑖𝑖 + 𝐴𝐴𝑖𝑖 𝑋𝑋 − 𝐵𝐵𝑖𝑖 𝑀𝑀𝑖𝑖 − 𝑀𝑀𝑖𝑖 𝐵𝐵𝑖𝑖 + 𝑌𝑌𝑖𝑖𝑖𝑖 𝑋𝑋𝐷𝐷 � < 0 , 𝑖𝑖 =
𝑉𝑉0 (𝑡𝑡)−𝑉𝑉0
𝐷𝐷𝐷𝐷 − 𝑋𝑋
⎧𝐹𝐹11 (𝑉𝑉0 ) = 𝐹𝐹12 (𝑉𝑉0 ) = 1 − 𝐹𝐹11 (𝑉𝑉0 ) 1, … . . , 𝑟𝑟 (8)
𝑉𝑉0 −𝑉𝑉0
𝑖𝑖𝐿𝐿 (𝑡𝑡)−𝑖𝑖𝐿𝐿 (3)
⎨ 𝐹𝐹21 (𝑖𝑖𝐿𝐿 ) = , 𝐹𝐹22 (𝑖𝑖𝐿𝐿 ) = 1 − 𝐹𝐹21 (𝑖𝑖𝐿𝐿 )
⎩ 𝑖𝑖𝐿𝐿 −𝑖𝑖𝐿𝐿 𝑋𝑋𝐴𝐴𝑇𝑇𝑖𝑖 + 𝐴𝐴𝑖𝑖 𝑋𝑋 + 𝑋𝑋𝐴𝐴𝑇𝑇𝑗𝑗 + 𝐴𝐴𝑗𝑗 𝑋𝑋 − 𝐵𝐵𝑖𝑖 𝑀𝑀𝑗𝑗 − 𝑀𝑀𝑇𝑇𝑗𝑗 𝐵𝐵𝑇𝑇𝑖𝑖 − 𝐵𝐵𝑗𝑗 𝑀𝑀𝑖𝑖 −
𝑀𝑀𝑇𝑇𝑖𝑖 𝐵𝐵𝑇𝑇𝑗𝑗 + 2𝑌𝑌𝑖𝑖𝑖𝑖 < 0 , 𝑖𝑖 < 𝑖𝑖 ≤ 𝑟𝑟 (9)
The sub-matrices are defined as:
1 1
⎡ 0 − 𝐿𝐿 ⎤ 𝑉𝑉0
𝐴𝐴1 = 𝐴𝐴2 = 𝐴𝐴3 = 𝐴𝐴4 = ⎢⎢1 ⎥ , 𝐵𝐵 = � 𝐿𝐿 �
1⎥ 1 𝑌𝑌11 𝑌𝑌12 ⋯ 𝑌𝑌1𝑟𝑟
1
⎢𝐶𝐶 − 𝑅𝑅𝑅𝑅⎥ − 𝑖𝑖𝐿𝐿 𝑌𝑌21 𝑌𝑌23 ⋯ 𝑌𝑌2𝑟𝑟
⎣ ⎦ 𝐶𝐶 � � ≡ 𝑌𝑌� > 0 (10)
⋮ ⋱ ⋮ ⋮
1 1 1
𝑉𝑉0 𝑉𝑉 𝑉𝑉 𝑌𝑌1𝑟𝑟 𝑌𝑌2𝑟𝑟 ⋯ 𝑌𝑌𝑟𝑟𝑟𝑟
𝐿𝐿 𝐿𝐿 0 𝐿𝐿 0
𝐵𝐵2 = � � 𝐵𝐵3 = � � ,𝐵𝐵4 = � �
1
− 𝑖𝑖𝐿𝐿
1
− 𝑖𝑖𝐿𝐿
1
− 𝑖𝑖𝐿𝐿 The fuzzy stabilization gains are given by:
𝐶𝐶 𝐶𝐶 𝐶𝐶
𝐾𝐾𝑖𝑖 = 𝑀𝑀𝑖𝑖 𝑋𝑋 −1 (11)
The global dynamic system is inferred as follows:
𝑥𝑥̇ (𝑡𝑡) = ∑𝑟𝑟𝑖𝑖=1 ℎ𝑖𝑖 (𝑡𝑡)(𝐴𝐴𝑖𝑖 𝑥𝑥(𝑡𝑡) + 𝐵𝐵𝑖𝑖 𝜏𝜏(𝑡𝑡)) (4) 3.3 Tuning of integral controller and factor scale
based on PSO technique
where:
The particle swarm optimization was introduced in
ℎ𝑖𝑖 = ω𝑖𝑖 ⁄∑𝑟𝑟𝑖𝑖=1 ω𝑖𝑖 , ω𝑖𝑖 (𝑡𝑡) = ∏𝑛𝑛𝑗𝑗=1 𝐹𝐹𝑖𝑖𝑖𝑖 for all 𝑡𝑡 > 0 , ℎ𝑖𝑖 ≥ 1995 by James Kennedy and Russell Eberhart. It is an
0 and ∑𝑟𝑟𝑖𝑖=1 ℎ𝑖𝑖 (𝑡𝑡) = 1 optimization technique that uses a population of
candidate solutions to find an optimal solution to an
The controllers (C) are developed to deal with the optimization problem. The degree of optimality is
fuzzy stabilization problem as follows: generally measured by a fitness function. The PSO
method was inspired by the collective behaviour of
C 1: If 𝑉𝑉0 is 𝐹𝐹11 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹21 Then 𝜏𝜏(𝑡𝑡) = −𝐾𝐾1 𝑥𝑥(𝑡𝑡)
organized populations (societies).
The members of the population, called particles, are
C 2: If 𝑉𝑉0 is 𝐹𝐹11 and 𝑖𝑖𝐿𝐿 is 𝐹𝐹22 Then 𝜏𝜏(𝑡𝑡) = −𝐾𝐾2 𝑥𝑥(𝑡𝑡) dispersed in the space of the problem, together with the
ELECTROTEHNICĂ, ELECTRONICĂ, AUTOMATICĂ (EEA), 68 (2020), nr. 4 93
behaviour of the swarm, which can be described from the algorithm, a swarm is randomly distributed in the
particle view. search space, each particle having a random velocity.
The PSO algorithm finds and locates the global best Then, at each time step, each particle can evaluate the
solution by adapting a fitness function. At the end of the quality of its position and keep in memory its best
process, the optimal solution according to a fitness performance, i.e. the best position it has reached and
function is found for controller parameters. First, the its quality. It is able to interrogate a number of its
PSO selects a random solution to initialize the congeners and to obtain from each of them its best
population. Next, the algorithm updates its performance [24]. The PSO algorithm is summarized in
performance to obtain the best values. At the start of Figure 2.
Figure 2. Combined Methodology using T-S Fuzzy Control and PSO Technique
Every particle is designated by its velocity and and the global best position of the entire swarm
position in the swarm. The velocity of a moving particle noted 𝑔𝑔𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 . The velocity and position of the particle can
is established based on the change in position or be expressed according to Equations (12) and (13),
direction. Each particle updates its new position based respectively [25].
on the best position attained by a particle noted 𝑃𝑃𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 ,
94 ELECTROTEHNICĂ, ELECTRONICĂ, AUTOMATICĂ (EEA), 68 (2020), nr. 4
𝑣𝑣𝑖𝑖𝑖𝑖 (𝑡𝑡 + 1) = 𝑤𝑤𝑣𝑣𝑖𝑖𝑖𝑖 (𝑡𝑡) + 𝑟𝑟1 𝑐𝑐1 �𝑝𝑝𝑖𝑖𝑖𝑖 (𝑡𝑡) − 𝑥𝑥𝑖𝑖𝑖𝑖 (𝑡𝑡)� + From these results, it is clear that the output voltage
follows rapidly its reference signal without overshoot.
𝑟𝑟2 𝑐𝑐2 �𝑔𝑔𝑗𝑗 (𝑡𝑡) − 𝑥𝑥𝑖𝑖𝑖𝑖 (𝑡𝑡)� (12) The second simulation is carried out to test the
performance of the proposed controller against
𝑥𝑥𝑖𝑖𝑖𝑖 (𝑡𝑡 + 1) = 𝑥𝑥𝑖𝑖𝑖𝑖 (𝑡𝑡) + 𝑣𝑣𝑖𝑖𝑖𝑖 (𝑡𝑡 + 1) (13) suddenly changes in input voltage and load. The input
voltage is assumed to change from 5 𝑉𝑉 to 7 𝑉𝑉 at time
where: 𝑣𝑣𝑖𝑖𝑖𝑖 (𝑡𝑡), 𝑥𝑥𝑖𝑖𝑖𝑖 (𝑡𝑡 + 1), 𝑣𝑣𝑖𝑖𝑖𝑖 (𝑡𝑡), 𝑣𝑣𝑖𝑖𝑖𝑖 (𝑡𝑡 + 1), 𝑝𝑝𝑖𝑖𝑖𝑖 (𝑡𝑡) and t=0.5s, while the resistive load is assumed to change
𝑔𝑔𝑖𝑖𝑖𝑖 (𝑡𝑡) denote respectively the particle velocity, particle from 50Ω to 100 Ω at time t=1s. The responses of the
updated velocity, particle position, particle updated output voltage are shown in Figure 4.
position, particle best position and global best position
of the swarm. 𝑤𝑤 is the inertia term. 𝑐𝑐1 and 𝑐𝑐2 are the
acceleration coefficients. 𝑟𝑟1 and 𝑟𝑟2 are two uniformly
distributed random numbers ranging from 0 to 1. This
work uses PSO technique to find the best values of the
integral gain 𝐾𝐾𝑖𝑖 and reference scaling factor 𝐾𝐾𝑟𝑟 , each
particle in the search space introduces a probable
solution for the 𝐾𝐾𝑖𝑖 and 𝐾𝐾𝑟𝑟 ,which are a two-dimensional
problem. The performance of the probable solution
point is determined using the following integral signal
error (ISE) as fitness function:
𝐼𝐼𝐼𝐼𝐼𝐼 = ∫�𝑒𝑒(𝑡𝑡)�𝑑𝑑𝑑𝑑 (14) Figure 4. Output voltage response for variables input
voltage and load
4. Simulation and experimental results From these results, it is clear that regardless of
suddenly changes in input voltage and load, the output
4.1 Simulation results voltage follows rapidly its reference signal with rapid
The performance of the proposed controller is first and good disturbance rejection performance.
verified through simulation tests using Matlab-Simulink 4.2 Experimental verification
environment. Where the fuzzy stabilization gains are
obtained by solving the LMIs (8), (9) and (10) as follows: To verify and validate the simulation results, the
hardware setup shown in Figure 5 is used comprising a
𝐾𝐾1 = [5.0973 −0.2202], 𝐾𝐾2 = [3.4329 −0.0359] boost converter, an Arduino mega, a power supply, a
digital multimeter and a PC USB oscilloscope.
𝐾𝐾3 = [5.0973 −0.2202], 𝐾𝐾4 = [5.0973 −0.2202]
The integral gain and factor scale are obtained using
PSO technique with the parameters given in Table 1, as
follows:
𝐾𝐾𝐼𝐼 = 40.5235, 𝐾𝐾𝑟𝑟 = 0.5075
Figure 6. Simulink model used for the real-time implementation of proposed controller
where: 𝑉𝑉�0 (𝑠𝑠) and 𝑑𝑑̂ (𝑠𝑠) are small signal perturbations of
output voltage and switching duty cycle. 𝐷𝐷 is duty ratio.
The PI gains (𝐾𝐾𝑃𝑃 and 𝐾𝐾𝑖𝑖 ) are calculated using the known
pole compensation technique, as follows:
𝐾𝐾𝑃𝑃 = 7.1100𝑒𝑒 − 04
96 ELECTROTEHNICĂ, ELECTRONICĂ, AUTOMATICĂ (EEA), 68 (2020), nr. 4