The International Journal of Engineering and Science (The IJES)
Optimal Control Tracking Problem of a Hybrid Wind-Solar-Battery Energy System
1. Optimal Control Tracking Problem of a Hybrid
Wind/Solar/Battery Energy System
April 26, 2016
Julio Bravo
juliobravo88@yahoo.com
Abstract
We consider a hybrid wind/solar/battery power system with the goal of generating
and controlling power to meet a specified power demand. Each subsystem is modeled
independently and then their separate power outputs are combined. The systems are
combined in such as way that the wind system is considered the primary source and
the solar system and battery bank are secondary. We mathematically model wind and
solar power generation systems and verify the power generation with existing literature.
Once the model was verified we applied the optimal control tracking problem theory
to satisfy a desired power demand, first for a linearized time variant model and then
for a nonlinear system with a linearized time invariant power output.
1. Introduction
Renewable energy systems are of increasing importance for sustainability and energy inde-
pendence. Because each renewable energy system has its own advantages and disadvantages we
combine multiple systems which will complement each other. Managing energy production and
interfaces are the major issues for multiple hybrid renewable energy generators connected to the
traditional power source, because their connection into the existing power can lead to instability
or even failure, if they are not properly controlled. Before control issues can be addressed we
must properly model and verify our system. Therefore, we begin by separately modeling a wind
and solar energy system. These separate systems will then be combined to form our hybrid
renewable energy system.
In Section 2 we introduce the model of the hybrid system. Section 2.1 considers the wind
turbine aerodynamics, Section 2.2 introduces the dynamic model of the wind subsystem, Section
2.3 considers the photovoltaic cells, Section 2.4 derives the model of the solar subsystem, and
Section 2.5 considers the combined hybrid model. In Section 3 and 4 we simulate each of the
systems separately and attempt to verify them against published results.
In Section 5 will linearize the wind system using Taylor’s Series Expansion. For this purpose
we will find the nonlinear operating points when the system is in equilibrium.
With the results found in Section 5 we will solve the Linear Time Variant Tracking Problem
in the first part of Section 6. For the second part we will solve the tracking problem keeping
the dynamic of the system nonlinear and converting to an equivalent Linear Time Invariant just
the power output.
2. 2. Model
We consider a hybrid wind/solar/battery bank power system. The wind system consists of
a fixed pitch wind turbine, a multipole permanent magnet synchronous generator (PMSG), a
rectifier, a DC/DC converter and an auxiliary battery bank, denoted as Battery Bank 1. The solar
subsystem involves a photovoltaic panel array, a DC/DC converter and a battery bank, denoted
as Battery Bank 2.
Figure 1: Wind Turbine / Solar Hybrid System
2.1. Wind Turbine Aerodynamics
The mechanical power captured by a wind turbine is proportional to the swept area A, the
air density ρ, the cube of the wind speed vw(t), and the power coefficient Cp. The coefficient
expresses the conversion efficiency of the turbine as a function of the tip-speed ratio, which is
given by [1]
λts(t) =
rωm(t)
vw(t)
(1)
where r is the blade length and ωm(t) is the angular shaft speed. Therefore, the mechanical
power generated by the turbine may be written as [1]
Pturbine(t) =
1
2
Cp(λts(t))
λts(t)
ρAvw(t)3
. (2)
From (2) we can write the driving torque as [1]
Tturbine(t) =
Pt
ωm
=
1
2
Ct(λts)ρArvw(t)2
(3)
where Ct(λts) = Ct(λts)
λts
is the torque coefficient. The power coefficient can be expressed as [2]
Cp(λ) = c1(c2
1
Γ
− c3θ − c4θx
− c5)e
−c6
Γ (4)
where 1
Γ
= 1
λ+0.08θ
+ 0.035
1+θ3 . Here λ is the tip speed ratio, θ is the pitch angle, and c1, ..., c6 and
x are constants chosen for various turbines.
Additionally, we can write the torque from the PMSG as [3]
TPMSG =
3Vsφm
2ωmL
1 − (
Vs
ωeφm
)2 (5)
3. where Vs = πvbux
3
√
3
.
Figure 2: Per-phase circuit and phasor diagram of PMSG
2.2. Dynamic Model of Wind Turbine
The wind system consists of a fixed pitch wind turbine, a multipolar PMSG, a rectifier, a
DC/DC converter, and an auxiliary battery bank, denoted as Battery Bank 1. The dynamics of
the wind energy generation subsystem can be represented by four state equations describing the
time derivatives of the quadrature current iq, the direct current id, in a rotor reference frame,
and the electrical angular speed ωe, as follows [3]:
˙iq(t) = −
Rsw
Lw
iq(t) − ωe(t)id(t) +
ωe(t)φm
Lw
−
πvb1 (t)iq(t)uw(t)
3
√
3Lw iq(t)2 + id(t)2
(6)
˙id(t) = −
Rsw
Lw
id(t) − ωe(t)iq(t) −
πvb1 (t)id(t)uw(t)
3
√
3Lw iq(t)2 + id(t)2
(7)
˙ωe(t) =
P
2J
(Tturbine(t) −
3
2
P
2
φmiq(t)), (8)
˙vCb1
(t) =
1
Cb
(
π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t)), (9)
where J is the inertia of the rotating system, P the number of poles, ωe = Pωn
2
the electrical
angular speed, φm the flux linked by the stator windings, and [3]
vb1 (t) = Eb1 + vCb1
(t) + (
π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t))Rb1 (10)
is the voltage across the DC bus with iL(t) the load current and vCb1
the voltage across the
capacitor in Battery Bank 1.
4. 2.3. Photovoltaic Cells
The instantaneous electric energy generated by a PV cell depends on several cell parameters
and on variable environment conditions such as insolation and temperature. Its electric behavior
may be modeled by a nonlinear current source connected in series with the intrinsic cell series
resistance Rs [4]
ipv(t) = iph(t) − irs(t)(e
q(vpv(t)+ipv(t)Rs)
ApvKT (t)
− 1) (11)
where iph(t) is the generated current under a given insolation, irs(t) is the cell reverse saturation
current, ipv(t) and vpv(t) are, respectively, the output current and voltage of the solar cell, q is the
charge of an electron, K is Boltzmann’s constant and T(t) is the time-varying cell temperature
in Kelvin. This is often expressed in terms of voltage
vpv(t) = −ipv(t)Rs +
ApvKT(t)
q
ln[
iph(t) − ipv(t) + irs(t)
irs(t)
]. (12)
The factor Apv considers the cell deviation from the ideal p−n junction characteristic, varying
between 1 and 5. The reverse saturation irs(t) and the photocurrent iph(t) depend on insolation
and temperature according to the following expressions [4]:
irs(t) = ior(
T(t)
Tr
)3
e
qEgo( 1
Tr
− 1
T (t)
)
ApvK
, (13)
iph(t) =
λ(t)(isc − Kl(T(t) − Tr))
100
. (14)
where ior is the reverse saturation current at the reference temperature Tr, Ego is the band-gap
energy of the semiconductor used in the cell, isc is the short-circuit cell current at reference
temperature and insolation, Kl is the short-circuit current temperature coefficient, and λ(t) is
the insolation in mW
cm2 .
In the case of PV cell arrays, the expression for the generated current is analogous to (11)
[4]:
ipv(t) = npiph(t) − npirs(t)(e
q(vpv(t)+ipv(t))Rs
nsApvKT (t)
− 1). (15)
where np represents the number of parallel modules, each on constituted by ns cells connected
in series. From (16) we obtain an expression for the power generation of the array [4]
ppv(t) = npiph(t)vpv(t) − npirs(t)vpv(t)(e
q(vpv(t)+ipv(t))Rs
ApvKT (t)
− 1). (16)
Figure 3: Photovoltaic Subsystem
5. 2.4. Photovoltaic-based Generation System
Photovoltaic-based generation systems are commonly linked to a load through a solid-state
converter. Additionally, PV arrays are usually combined with other generation subsystems and /or
some energy storage systems. The dynamic model of the hybrid system can be built around the
instantaneous switched model of the DC/DC buck converter, which is described by the following
equations [5]
˙vpv(t) =
ipv(t)
Cs
−
is(t)
Cs
upv(t), (17)
˙is(t) = −
vb2 (t)
Ls
+
vpv(t)
Ls
upv(t). (18)
where is(t) and vb2 (t) are the current and voltage output terminals of the DC/DC converter and
upv(t) is the switched control signal that can only take the discrete values 0 (switch open) or 1
(switch closed).
We consider a battery bank model [1] that is comprised of an ideal voltage source Eb2 , a
capacitor Cb2 , and a resistance Rb2 connected in series. Then the whole dynamic model may be
written as (17) and (18) with the addition of [5]
˙vc2 (t) =
1
Cb2
(is(t) + iw(t) − iL(t)) (19)
where vc2 (t) is the voltage on Cb2 , vb2 (t) = Eb1 + vc2 (t) + (is(t) + iw(t) − iL(t))Rb2 , and iL(t)
and iw(t) are measurable currents.
2.5. Hybrid System
The power generated by the wind subsystem can be expressed as [6]
Pw(t) = iw(t)vb1 (t) (20)
where
iw(t) =
π
2
√
3
iq(t)2 + id(t)2uw(t) (21)
denotes the output current of the wind subsystem, vb1 (t) is the voltage across the terminals of
Battery Bank 1 and uw(t) is the control signal (duty cycle of the DC/DC converter) [7]. The
solar subsystem involves a photovoltaic panel array, a DC/DC converter, and a battery bank,
denoted as Battery Bank 2. Two state variables, the voltage across the PV array terminals vpv(t)
and the output current ipv(t) are used to characterize the dynamics (16) and (17). The power
delivered by the solar subsystem can be computed as [6]
Ps(t) = is(t)vb2 (t) (22)
where
˙is(t) = −
vb2 (t)
Ls
+
vpv(t)
Ls
upv(t). (23)
and vb2 (t) is the solar subsystem output voltage.
6. 3. Wind Subsystem Simulations
3.1. Turbine Simulation
Here we verify the results in [3]. All simulation values can be found in the Appendix. First,
we verify the power coefficient. The power coefficient can be expressed as
Cp(λ) = c1(c2
1
Γ
− c3θ − c4θx
− c5)e
−c6
Γ
where 1
Γ
= 1
λ+0.08θ
+ 0.035
1+θ3 . Here λ is the tip speed ratio, θ is the pitch angle, and c1, ..., c6 and
x are constants chosen for various turbines. For our simulations we choose θ = 0, c1 = 78,
c2 = 9.4737, c5 = 1, c6 = 30. We also assume 1
λ
>> 0.035, which results in 1
Γ
= 1
λ
. Fig. 4
shows a typical power coefficient for a horizontal axis turbine, which gives a result similar to
[3].
0 1 2 3 4 5 6 7 8 9 10
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
Power Coefficient for Horizontal Axis Turbine
Tip Speed Ratio, lambda
PowerCoefficient,C
p
Figure 4: Power Coefficient vs Tip Speed Ratio
Next, we simulated the turbine and PMSG torque:
Tturbine =
Cp(λ)ρAv3
2ωm
TPMSG =
3Vsφm
2ωmL
1 − (
Vs
ωeφm
)2
The turbine torque is parameterised in terms of the wind speed with values from 2 to 16 m/s
with an interval of 2 m/s and with the respective values of Cp obtained for each value of wind
speed.
7. The PMSG torque is parameterised in terms of Vs, which is the line voltage on the PMSG
terminal, with values from 40 to 320 v with an interval of 40 v.
For this simulation we used the values from [3], which are listed in the Appendix 1. Fig.
5 and Fig. 6 show the simulations for the turbine torque and PMSG torque, respectively. The
figures found in [3] show similar results.
0 10 20 30 40 50 60 70 80 90 100
0
50
100
150
200
250
300
Angular Shaft Speed, omega
m
(rad/s)
Torque,Nm
Turbine Torque vs Angular Shaft Speed
4 m/s
6 m/s
8 m/s
10 m/s
12 m/s
14 m/s
16 m/s
Figure 5: Turbine Torque
8. 0 10 20 30 40 50 60 70 80 90 100
0
50
100
150
200
250
300
omega
m
, rad/s
torque,Nm
PMSG Torque Shaft Speed Curve
40
80
120
160
200
240
280
320
Figure 6: Wind Velocity
The wind turbine verification simulations approximately match those shown in [3]. While
equation (4) is given in [2], we use simulation values given to us from the authors of [3] to
approximately replicate the power coefficient curve in [3].
3.2. Dynamic Wind Subsystem Simulation
This simulation attempts to replicate the results found in [3]. The Fig. 7a through 7d show
the input signals to the dynamic wind system: wind velocity v, solar subsystem current is, load
current iL, and the control signal uw, respectively. The values for these input signals were taken
from [3] and they were replicated using a code written in Matlab.
9. Time
0 20 40 60 80 100 120 140 160
v,(m/s
8.5
9
9.5
10
10.5
11
11.5
12
12.5
13
Wind Velocity, v
(a) Wind Velcocity v, m/s
Time
0 20 40 60 80 100 120 140 160
is
,(A)
10
11
12
13
14
15
16
17
18
19
20
Solar Subsystem Current, is
(b) Solar Subsystem Current is, A
Time
0 20 40 60 80 100 120 140 160
iL
,(A)
20
30
40
50
Load Current, iL
(c) Load Current iL, A
Time
0 20 40 60 80 100 120 140 160
u
3.8
4
4.2
4.4
4.6
4.8
5
5.2
5.4
5.6
Control Law, u
(d) Control Signal uw
Figure 7: System Inputs
Fig. 8 to 11 show the output from each state. We use the initial values iq0 = 0, id0 = −0.001,
ωe0 = 530, vCb10
= −1 and the nonlinear state space model:
˙iq(t)
˙id(t)
˙ωe(t)
˙vCb1
(t)
=
−Rsw
Lw
iq(t) − ωe(t)id(t) + ωe(t)φm
Lw
−
πvb1
(t)iq(t)uw(t)
3
√
3Lw
√
iq(t)2+id(t)2
−Rsw
Lw
id(t) − ωe(t)iq(t) −
πvb1
(t)id(t)uw(t)
3
√
3Lw
√
iq(t)2+id(t)2
P
2J
(1
2
CtρArvw(t)2
− 3
2
P
2
φmiq(t))
1
Cb
( π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t))
(24)
p(t) = (Eb1 + vCb1
(t) + ( π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t))Rb1)( π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t))
(25)
where p(t) (maximum power available) is the output, Ct is the torque coefficient of the turbine,
ρ is the air density, A is the swept area, r is the blade length, P is the number of poles, J is
the inertia of the rotating system, vb1(t) is the DC bus voltage, and vw(t) is the wind velocity.
To replicate these results we ran simulations using Matlab (ode15s) and Matlab code (Runge-
Kutta). In the begining of the simulation there is a discrepancy between both methods. We chose
the results obtained from Matlab code because they are more accurate and match very well with
the results from [3].
10. Time
0 20 40 60 80 100 120 140 160
iq
,(A)
0
5
10
15
20
25
Quadrature Current, iq
Figure 8: State: iq
Time
0 20 40 60 80 100 120 140 160
id
,(A)
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
Direct Current in the Rotor Reference Frame, id
Figure 9: State: id
11. Time
0 20 40 60 80 100 120 140 160
ωe
,(rad/s)
300
350
400
450
500
550
Electrical Angular Velocity, ωe
Figure 10: State: ωe
Time
0 20 40 60 80 100 120 140 160
vcb1
,(F)
-1
-0.995
-0.99
-0.985
-0.98
-0.975
-0.97
-0.965
-0.96
Voltage in Capacitor, vcb1
Figure 11: State: vCb1
Finally, Fig. 12 shows the maximum power output available from the hybrid wind/solar system.
12. Time
0 20 40 60 80 100 120 140 160
Power,(w)
0
1000
2000
3000
4000
5000
6000
7000
Maximum Power Available
Figure 12: Generated Power
The dynamic wind subsystem simulations match the results in [3].
4. Solar Subsystem Simulations
4.1. Photovoltaic Cell Simulation
Here we verify the results in [5]. All simulation values can be found in the Appendix. We
simulate the following system:
ipv(t) = iph(t) − irs(t)(e
q(vpv(t)+ipv(t)Rs)
ApvKT (t)
− 1)
with
irs(t) = ior(
T(t)
Tr
)3
e
qEgo( 1
Tr
− 1
T (t)
)
ApvK
,
iph(t) =
λ(t)(isc − Kl(T(t) − Tr))
100
.
Using the model above we get the following I-V and Power-V results.
13. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
0
0.5
1
1.5
2
2.5
3
3.5
4
Terminal Voltage v
pv
CellCurrenti
pv
,A
Current − Voltage Curve of PV Cell
100 / 50
100 / 25
80 / 50
80 / 25
60 / 50
60 / 25
40 / 50
40 / 25
20 / 50
20 / 25
Figure 13: I-V Graph for Modified System
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Terminal Voltage v
pv
CellPowerp
pv
,W
Power − Voltage Curve of PV Cell
100 / 50
100 / 25
80 / 50
80 / 25
60 / 50
60 / 25
40 / 50
40 / 25
20 / 50
20 / 25
Figure 14: Power-V Graph of Modified System
Our simulation results for the photovoltaic cell matched those given in [5]. For this simulation
we used a slightly modified version of their equation for ipv. Using the modified equation, taken
from [4], and using the simulation values from [5], we were able to very closely replicate the
results given in [5]. This was done because we were not able to match the results using both
the model and simulation values given in [5].
14. 0 10 20 30 40 50 60 70 80 90 100
60
65
70
75
80
85
90
95
100
Time (s)
Insolation(mW/cm
2
)
Insolation vs Time
(a) Insolation
0 10 20 30 40 50 60 70 80 90 100
312
314
316
318
320
322
324
Time (s)
Temperature(K)
Temperature vs Time
(b) Temperature (K)
0 10 20 30 40 50 60 70 80 90 100
41
42
43
44
45
46
47
48
Time (s)
Current(A)
Load Current vs Time
(c) Load Current iL
0 10 20 30 40 50 60 70 80 90 100
48
50
52
54
56
58
60
Time (s)
Current(A)
Wind Subsystem Current vs Time
(d) Wind Current iW
Figure 15: System Inputs
4.2. Dynamic Solar Subsystem Verification Simulation
Here we verify the results in [5]. We simulate the following dynamic system
˙vpv(t) =
ipv(t)
Cs
−
is(t)
Cs
upv(t),
˙is(t) = −
vb2 (t)
Ls
+
vpv(t)
Ls
upv(t)
˙vc2 (t) =
is(t) + iw(t) − iL(t)
Cb2
with the initial conditions vpv0
= 47V , is0 = 11A, and Vc2 = 0V . The simulation uses the
following inputs: λ (insolation), T (temperature), iL (load current), iW (wind system current),
and us (solar subsystem control signal). For this simulation us = 1 for the entire duration. Below
are plots of the time varying input signals [5].
Below we show the results of our simulation.
15. 0 10 20 30 40 50 60 70 80 90 100
42
44
46
48
50
52
54
56
Time (s)
Voltage(A)
Photovoltaic Voltage vs Time
(a) Photovoltaic Voltage vpv
0 10 20 30 40 50 60 70 80 90 100
8
9
10
11
12
13
14
15
16
Time (s)
Current(A)
Solar Subsystem Current vs Time
(b) Solar Subsystem Current is
Figure 17: States
0 10 20 30 40 50 60 70 80 90 100
450
500
550
600
650
700
750
800
Time (s)
Power(W)
Photovoltaic Power vs Time
(a) Photovoltaic Power ppv
0 10 20 30 40 50 60 70 80 90 100
48.2
48.25
48.3
48.35
48.4
48.45
48.5
48.55
48.6
Time (s)
Voltage(V)
X Y Plot
(b) Battery Voltage vb
0 10 20 30 40 50 60 70 80 90 100
10
11
12
13
14
15
16
Time (s)
Current(A)
Photovoltaic Current vs Time
(c) Photovoltaic Current ipv
Figure 18: (a) Photovoltaic Power, (b) Battery Voltage, and (c) Photovoltaic Current
0 10 20 30 40 50 60 70 80 90 100
2500
3000
3500
4000
Time (s)
Power(W)
Power vs Time
Figure 16: Combined Wind and Solar Power
The simulation of the dynamic model for the photovoltaic-based generation system gives an
16. output power of approximately 3100 W whereas [5] shows an output of approximately 3500 W.
5. Wind System Linearization
The nonlinear model for a wind/solar system is shown below
˙iq(t) = −
Rsw
Lw
iq(t) − ωe(t)id(t) +
ωe(t)φm
Lw
−
πvb1 (t)iq(t)uw(t)
3
√
3Lw iq(t)2 + id(t)2
(26)
˙id(t) = −
Rsw
Lw
id(t) − ωe(t)iq(t) −
πvb1 (t)id(t)uw(t)
3
√
3Lw iq(t)2 + id(t)2
(27)
˙ωe(t) =
P
2J
(Tturbine(t) −
3
2
P
2
φmiq(t)), (28)
˙vCb1
(t) =
1
Cb
(
π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t)), (29)
p(t) = (Eb1 + vCb1
(t) + ( π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t))Rb1)( π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t))
(30)
where
vb1 (t) = Eb1 + vCb1
(t) + (
π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t))Rb1 (31)
is the voltage across the DC bus with iL(t) the load current and vCb1
(t) the voltage across the
capacitor in Battery Bank 1 and iq is the quadrature current, id the direct current in a rotor
reference frame, ωe the electrical angular speed, J the inertia of the rotating system, P the
number of poles, and φm the flux linked by the stator windings,p(t) (power generated) is the
output, Ct is the torque coefficient of the turbine, ρ is the air density, A is the swept area, r is
the blade length, vb1(t) is the DC bus voltage, and v(t) is the wind velocity. We used the initial
values iq0 = 0, id0 = −0.001, ωe0 = 530, vCb10
= −1 to solve the nonlinear system.
For linearization purposes we need to find first the operating points. These are the points
around which, the linear system behavior is similar than the original nonlinear system, this
means that in these points the system is in equilibrium. Mathematically expressed the system is
in equilibrium when
0 = −
Rsw
Lw
¯iq − ¯ωe
¯id +
¯ωeφm
Lw
−
πvb1 (t)¯iq ¯uw
3
√
3Lw
¯iq
2
+ ¯id
2
(32)
0 = −
Rsw
Lw
¯id − ¯ωe
¯iq −
πvb1 (t)¯id ¯uw
3
√
3Lw
¯iq
2
+ ¯id
2
(33)
0 =
P
2J
(Tturbine(t) −
3
2
P
2
φm
¯iq), (34)
0 =
1
Cb
(
π
2
√
3
¯iq
2
+ ¯id
2
¯uw + is(t) − iL(t)), (35)
17. where
Tturbinne(t) =
CtρArvw(t)2
2
(36)
Now we have to find the values of each state and control that satisfies this system of equations.
Since we have four equations and five unknowns, we have infinite number of solutions, in other
words infinite nonlinear operating points. If we let ¯id to be the free variable, solving for the rest
of states and control we find
¯iq =
2CtρArvw(t)2
3φmP
(37)
¯ωe = 0 (38)
¯vcb1 =
3Rs((2CtρArvw(t)2
3φmP
)2
+ ¯id
2
)
2(is(t) − iL(t))
− Eb (39)
¯uw = −
2
√
3(is(t) − iL(t))
π (2CtρArvw(t)2
3φmP
)2 + ¯id
2
(40)
Using Taylor’s series expansion around the operating points given by ¯x = [¯iq; ¯id; ¯ωe; ¯vcb1]T
we
obtain a model as follows
˙δ(t) = A(t)δx(t) + B(t)δuw (t) (41)
δp(t) = C(t)δx(t) + D(t)δuw (t) (42)
where δx(t) = x(t) − ¯x(t), δuw (t) = uw(t) − ¯uw(t) and δp = p(t) − p(¯x, ¯uw) are variations of
the variables in the neighborhood of the operating points and A(t), B(t), C(t), and D(t) are
the Jacobian matrices of the system defined as
A(t) =
∂ ˙iq
∂iq
∂ ˙iq
∂id
∂ ˙iq
∂ωe
∂ ˙iq
∂vcb1
∂ ˙id
∂iq
∂ ˙id
∂id
∂ ˙id
∂ωe
∂ ˙id
∂vcb1
∂ ˙ωe
∂iq
∂ ˙ωe
∂id
∂ ˙ωe
∂ωe
∂ ˙ωe
∂vcb1
∂ ˙vcb1
∂iq
∂ ˙vcb1
∂id
∂ ˙vcb1
∂ωe
∂vcb1
∂ ˙vcb1
(43)
B(t) =
∂ ˙iq
∂u
∂ ˙id
∂u
∂ ˙ωe
∂u
∂ ˙vcb1
∂u
(44)
C(t) =
∂p
∂iq
∂p
∂id
∂p
∂ωe
∂p
∂vcb1
(45)
and
D(t) = ∂p
∂uw
(46)
where all the elements of the Jacobian matrices are evaluated in the operating points.
19. Since we know how the wind velocity, the current from the photovoltaic panel, and the load
current change with time, in order to have our LTV system fully defined we only have to choose
a reasonable value of ¯id. In the next section we will choose this value.
6. Optimal Control Tracking Problem
In this section we will find an optimal control law that forces the plant to track a desired
power demand trajectory pd(t) during some time interval.
6.1. LTV Optimal Control Tracking Problem
In the last section we linearized our model. Now we can write it in the form
˙x(t) = A(t)x(t) + B(t)u(t) (57)
p(t) = C(t)x(t) + D(t)u(t) (58)
with initial conditions x(0) = x0 where x(t) = [iq; id; ωe; vcb1]T
, u(t) = uw(t), and x0 =
[0; 0; 0; 70]T
.
Because of space reasons sometimes we will not write the matrices that are part of the
following analysis as function of time but we have to remember that they are time dependent.
To keep the power output close to the desired trajectory lets define the cost function as
J =
1
2
< Cx(tf ) + Du(tf ) − pd(tf ), S(Cx(tf ) + Du(tf ) − pd(tf ) >
+
1
2
tf
t0
[< Cx + Du − pd, Q(Cx + Du − pd) > + < u, Ru >]dt (59)
where the operator < ·, · > represents the dot product of vectors. Q is a real symmetric
1 × 1 matrix that is positive semi-definite. The element of Q is selected to weight the relative
importance of the output and to normalize the numerical values of the deviations. R is a real
symmetric positive definite m × m, S is a real symmetric positive semi-definite n × n matrix,
tf is the final time, pd(t) is the desired trajectory, and the final state x(tf ) is free.
Defining the Hamiltonian we have
H(x, u, ψ, t) =
1
2
[< Cx + Du − pd, Q(Cx + Du − pd) > + < u, Ru >]+ < ψ, Ax + Bu > (60)
where ψ(t) are the costates which are deducted from the minimization problem solved using
the approach of Calculus of Variations. They represent the Lagrange multipliers used to solve
such problem.
Using the Pontryagin’s minimum principal we find the adjoint equation
˙ψ(t) = −C(t)T
Q(C(t)x(t) + D(t)u(t) − pd(t)) − A(t)T
ψ(t) (61)
with ”initial” conditions ψ(tf ) = C(t)T
S(C(t)x(tf ) + D(t)u(tf ) − pd(tf ))
and the algebraic relation that must be satisfied is given by
20. D(t)T
Q(C(t)x(t) + D(t)u(t) − pd(t)) + Ru(t) + B(t)T
ψ(t) = 0 (62)
Now the problem became a two point boundary problem.
Solving the last equation for u(t) we have
u(t) = (D(t)T
QD(t) + R)−1
[−D(t)QC(t)x(t) + D(t)T
Qpd(t) − B(t)T
ψ(t)] (63)
Lets assume that the solution of ψ(t) has the form ψ(t) = P(t)x(t) − η(t), where P(t) is a
symmetric matrix of dimensions n × n and η(t) has dimensions n × 1. Taking its derivative and
replacing both, ψ(t) and ˙ψ(t) in the two point boundary problem deducted above, after some
matrix algebra we have
˙P = −PA − AT
P + PB(DQC + R)−1
(DQC + BT
P) + CT
QD(DT
QD + R)−1
(DQC + BT
P) − CQC (64)
with ”initial” condition P(tf ) = C(t)T
S(C(t)x(tf ) + D(t)u(tf )) and
˙η = −(AT
− (PB + CT
QD)(DT
QD + R)−1
BT
)η + (−CT
Q + (PB + CT
QD)(DT
QD + R)−1
DT
Q)pd (65)
with ”initial” condition η(tf ) = C(t)T
Spd(tf ).
The above differential equations have to be solved backwards.
Replacing the assumed solution of the adjoint equation in the expression of u(t) found before
we have the final feedback control law u(t) as
u(t) = −(DT
QD+R)−1
(BT
P +DQC)x+(DT
QD+R)−1
BT
η+(DT
QD+R)−1
DT
Qpd (66)
and the states of the closed loop system will be found using the values of P(t) and η(t) calculated
previously to solve the differential equation
˙x(t) = [A − B(DT
QD + R)−1
(BT
P + DQC)]x + B(DT
QD + R)−1
(BT
η + DT
Qpd) (67)
In order to solve all the differential equations deducted above we will choose ¯id = −4 to be
used in the time variant matrices A, B, C, and D.
Since the Riccati equation is symmetric and P(t) has dimension n × n we need to find 10
solutions for it. η(t) has four solutions.
Using a code written in Matlab , we simulated and found the results for the desired trajectory.
In our case we chose the trajectory provided as power demand by [3].
To solve Riccati system of differential equations we used Runge-Kutta 4th
order with step
size h = 0.001. We used the same numerical method to solve the extra system of differential
equations that involve η(t) and the state space equations.
For simulations we used the following weight matrices:
S is a matrix of dimensions 4 by 4 with all its elements equals to zero. Choosing these values
for S our cost function becomes
J =
1
2
tf
t0
[< Cx + Du − pd, Q(Cx + Du − pd) > + < u, Ru >]dt (68)
notice that now the cost function has free terminal values and also the ”initial” conditions of
the Riccati equation and the differential equation that involve η are equals to zero.
R is a matrix of dimensions 1 by 1 with its only element equals to one.
Q is a matrix of dimensions 1 by 1 and its only element is equals to one.
21. The solutions of the State Space system of differential equations are shown from Fig.19 to
Fig.22.
Time
0 20 40 60 80 100 120 140 160
iq
,(A)
-80
-60
-40
-20
0
20
40
60
80
100
120
Tracking Problem iq
Figure 19: Quadrature Current
22. Time
0 20 40 60 80 100 120 140 160
id
,(A)
-200
-100
0
100
200
300
400
500
600
Tracking Problem id
Figure 20: Direct current in a rotor reference frame
Time
0 20 40 60 80 100 120 140 160
ωe
,(rad/s)
-150
-100
-50
0
50
100
Tracking Problem ωe
Figure 21: Electrical angular speed
23. Time
0 20 40 60 80 100 120 140 160
vcb1
,(v)
70
70.005
70.01
70.015
70.02
70.025
70.03
70.035
70.04
70.045
70.05
Tracking Problem vcb1
Figure 22: Voltage in the capacitor
The control law that forces the output to track the desired trajectory is shown in Fig.23.
Time
0 20 40 60 80 100 120 140 160
u
0
5
10
15
20
25
30
35
40
45
50
Control Law, u
Figure 23: Control Law, uw
24. The power generated to supply the power demand is shown in Fig.24.
Time
0 20 40 60 80 100 120 140 160
Power,(w)
1000
1500
2000
2500
3000
3500
Desired Output Trajectory and Tracking Problem
desired Power
controlled Power
Figure 24: Controlled Power tracking Desired Power Demand
6.2. LTI Optimal Control Tracking Problem
In the previous section we found a control law that forced the power output to track a desired
demand using as dynamic model a LTV form of the original nonlinear model. As we will describe
in the conclusions at the end of this paper, the controller designed for the above LTV system
is theoretically correct but it looks like is unlikely to implement due to the high values of the
direct current in the rotor reference frame among other reasons. So we have decided to design
a controller for an LTI system based in the above linearization. For this purpose we will choose
a value of ¯id = −2.10481 and we fixed the values of wind velocity, current from photovoltaic
panel, and load current as ¯vw = 11, ¯is = 19.2, and ¯iL = 18.
Evaluating the values chosen above in the Jacobian matrices we have
A =
−101.0165 16.0995 82.8654 20.801
16.0995 −2.5659 −13.2067 −3.3152
−10.7294 0 0 0
−6.1536e − 07 9.8074e − 08 0 0
(69)
B =
−1.1054e − 04
1.7617e − 03
0
6.7379e − 05
(70)
C = −7.3101 1.165 0 18 (71)
25. and
D = 800.4166 (72)
The optimal control tracking problem theory deducted for LTV systems can be applied for
LTI systems.
Using initial conditions x0 = [0; −0.001; 530; −1]T
and the values of ¯id, ¯is, and ¯iL fixed above,
we found an equivalent LTI system which gives us a similar maximum available power than the
nonlinear original system. The comparison between both outputs is shown in Fig.25.
Time
0 20 40 60 80 100 120 140 160
Power,(w)
0
1000
2000
3000
4000
5000
6000
7000
Maximum Power Available
Nonlinear Power
Linear Power
Figure 25: Comparison between Nonlinear and Linearized maximum power available
The values of matrices S, Q, and R are the same used for the LTV problem.
The solutions of the State Space system of differential equations are shown from Fig.26 to
Fig.29.
Time
0 20 40 60 80 100 120 140 160
iq
,(A)
-80
-60
-40
-20
0
20
40
60
80
100
120
Tracking Problem iq
Figure 26: Quadrature Current
26. Time
0 20 40 60 80 100 120 140 160
id
,(A)
-20
-15
-10
-5
0
5
10
15
Tracking Problem id
Figure 27: Direct current in a rotor reference frame
Time
0 20 40 60 80 100 120 140 160
ωe
,(rad/s)
150
200
250
300
350
400
450
500
550
Tracking Problem ωe
Figure 28: Electrical angular speed
27. Time
0 20 40 60 80 100 120 140 160
vcb1
,(v)
-1
-0.995
-0.99
-0.985
-0.98
-0.975
-0.97
-0.965
Tracking Problem vcb1
Figure 29: Voltage in the capacitor
The control law that forces the output to track the desired trajectory is shown in Fig.30.
Time
0 20 40 60 80 100 120 140 160
u
1
1.5
2
2.5
3
3.5
4
4.5
Control Law, u
Figure 30: Control Law, uw
28. The power generated to supply the power demand is shown in Fig.31.
Time
0 20 40 60 80 100 120 140 160
Power,(w)
1000
1500
2000
2500
3000
3500
Desired Output Trajectory and Tracking Problem
desired Power
controlled Power
Figure 31: Controlled Power tracking Desired Power Demand
6.3. Nonlinear Optimal Control Tracking Problem
In this section we will design a control law that forces a linearized wind system power output
to track a desired power demand trajectory keeping the state space equations nonlinear.
Our original nonlinear system has the form ˙x(t) = f(x, u, t) with an output p(t) = g(x, u, t).
Now we want to express this system with an equivalent one written in the form ˙x(t) =
f(x, u, t) with an output p(t) = Cx(t)+Du(t) where the matrices C and D are 1×n and 1×1
respectively.
In order to find the elements of the matrices C and D we will use the formulas obtained
in section 5. Replacing ¯id = −2 in those formulas we find ¯iq = 13.2067, ¯ωe = 0, and ¯vcb1 =
33.9822. These values were used to evaluate the Jacobian matrices for C and D and we found
C = [−7.3045; 1.1062; 0; 18] and D = 996.1588.
Then the equivalent system that we will use to design the control law which satisfies the
tracking problem will be
˙iq(t) = −
Rsw
Lw
iq(t) − ωe(t)id(t) +
ωe(t)φm
Lw
−
πvb1 (t)iq(t)uw(t)
3
√
3Lw iq(t)2 + id(t)2
(73)
˙id(t) = −
Rsw
Lw
id(t) − ωe(t)iq(t) −
πvb1 (t)id(t)uw(t)
3
√
3Lw iq(t)2 + id(t)2
(74)
˙ωe(t) =
P
2J
(Tturbine(t) −
3
2
P
2
φmiq(t)), (75)
29. ˙vCb1
(t) =
1
Cb
(
π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t)), (76)
p(t) = −7.3045 1.1062 0 18 x(t) + 996.1588u(t) (77)
where
vb1 (t) = Eb1 + vCb1
(t) + (
π
2
√
3
iq(t)2 + id(t)2uw(t) + is(t) − iL(t))Rb1 (78)
with initial conditions x0 = [0; −0.001; 0; −49]T
. A comparison between the nonlinear maximum
power available and the linearized maximum power available is shown in Fig.32
Time
0 20 40 60 80 100 120 140 160
Power,(w)
0
1000
2000
3000
4000
5000
6000
7000
Maximum Power Available
Nonlinear Power
Linear Power
Figure 32: Comparison between Nonlinear and Linearized maximum power available
To keep the linearized output close to a desired power demand we can specify the cost function
as
J =
1
2
< Cx(tf ) + Du(tf ) − pd(tf ), S(Cx(tf ) + Du(tf ) − pd(tf ) >
+
1
2
tf
t0
[< Cx + Du − pd, Q(Cx + Du − pd) > + < u, Ru >]dt (79)
where Q is a real symmetric 1 × 1 matrix that is positive semi-definite. The element of Q is
selected to weight the relative importance of the output and to normalize the numerical values
of the deviations. R is a real symmetric positive definite m × m, S is a real symmetric positive
semi-definite n × n matrix, tf is the final time, pd(t) is the desired trajectory, and the final state
x(tf ) is free.
Defining the Hamiltonian we have
H(x, u, ψ, t) =
1
2
[< Cx + Du − pd(t), Q(Cx + Du − pd(t)) > + < u, Ru >]+ < ψ(t), f(x, u, t) > (80)
30. where ψ(t) are the costates which are deducted from the minimization problem solved using
the approach of Calculus of Variations. They represent the Lagrange multipliers used to solve
such problem.
Using the Pontryagin’s minimum principal we find the adjoint equation
˙ψ(t) = −C(t)T
Q(C(t)x(t) + D(t)u(t) − pd(t)) − (
∂f(x, u, t)
∂x
)T
ψ(t) (81)
with ”initial” conditions ψ(tf ) = C(t)T
S(C(t)x(tf ) + D(t)u(tf ) − pd(tf ))
here we will choose S as a matrix of dimensions 4 by 4 with all its elements equals to zero.
Choosing these values for S our cost function becomes
J =
1
2
tf
t0
[< Cx + Du − pd, Q(Cx + Du − pd) > + < u, Ru >]dt (82)
notice that now the cost function has free terminal values and also the ”initial” conditions of
the costates differential equations are equals to zero.
The algebraic relation that must be satisfied is given by
D(t)T
Q(C(t)x(t) + D(t)u(t) − pd(t)) + Ru(t) + (
∂f(x, u, t)
∂u
)T
ψ(t) = 0 (83)
where
∂f(x, u, t)
∂x
=
∂ ˙iq
∂iq
∂ ˙iq
∂id
∂ ˙iq
∂ωe
∂ ˙iq
∂ccb1
∂ ˙id
∂iq
∂ ˙id
∂id
∂ ˙id
∂ωe
∂ ˙id
∂vcb1
∂ ˙ωe
∂iq
∂ ˙ωe
∂id
∂ ˙ωe
∂ωe
∂ ˙ωe
∂vcb1
∂ ˙vcb1
∂iq
∂ ˙vcb1
∂id
∂ ˙vcb1
∂ωe
∂vcb1
∂ ˙vcb1
(84)
∂f(x, u, t)
∂u
=
∂ ˙iq
∂u
∂ ˙id
∂u
∂ ˙ωe
∂u
∂ ˙vcb1
∂u
(85)
Now the problem became a two point boundary problem which can be solved using a numerical
method, in this case we used the gradient method to solve it with an accuracy between the
minimum values of the cost function, ∆J = 0.01, after 160 iterations.
The states to satisfy the nonlinear tracking problem are shown from Fig.33 to Fig.36
31. Time
0 20 40 60 80 100 120 140 160
Iq
,(A)
0
2
4
6
8
10
12
14
16
18
Stator current in q axis, iq
Figure 33: Quadrature Current
Time
0 20 40 60 80 100 120 140 160
Id
,(A)
-5
-4.5
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
Stator current in d axis, id
Figure 34: Direct current in a rotor reference frame
32. Time
0 20 40 60 80 100 120 140 160
ωe
,(rad/s)
0
2
4
6
8
10
12
14
16
18
Electric rotor speed, ωe
Figure 35: Electrical angular speed
Time
0 20 40 60 80 100 120 140 160
vc
(v)
-49.002
-49
-48.998
-48.996
-48.994
-48.992
-48.99
-48.988
-48.986
-48.984
-48.982
Voltage in capacitor, vc
Figure 36: Voltage in the capacitor
The feedback control law that forces the output to track the desired power demand is shown
33. in Fig.37.
Time
0 20 40 60 80 100 120 140 160
u
2
2.5
3
3.5
4
4.5
Control Law, u
Figure 37: Control Law, uw
The power generated to supply the power demand is shown in Fig.38.
Time
0 20 40 60 80 100 120 140 160
Power(w)
1000
1500
2000
2500
3000
3500
Desired Trajectory and Power
Desired Power
Controlled Power
Figure 38: Controlled Power tracking Desired Power Demand
34. 7. Conclusion
The results of the wind turbine simulations and dynamic wind subsystem match those of our
references and, thus, we can conclude that we have correctly verified our model.
The above results show that our simulations of the photovoltaic cells and solar subsystem match
those of our references. Therefore we can conclude that we have verified the solar subsystem in
its entirety.
The results found for the LTV Tracking Problem look theoretically satisfactory but because
of the high values of the control law and the stator current id these results could not be able to
be implemented.
The results obtained for the LTI tracking problem are theoretically correct and also they look
like able to be implemented. The only restriction with these results is the limitation of their
application around the operating points which range of stability was not calculated in this paper.
The results of the Nonlinear tracking problem look theoretical and practical satisfactory. The
values of the states and the control law are, based on the results from [3], seem acceptable to be
implemented. In this case the operating points are not a big limitation since they were chosen
just to write the power output as linear combination of the states and control but the dynamic
of the states remain nonlinear.
For future work we can solve the nonlinear tracking problem when the output is LTV and
when the output is nonlinear.
35. 8. Appendix 1
Parameter Value
P 28
Rs 0.3676 Ω
L 3.55 mH
φm 0.2867 Wb
J 7.856 Kgm2
r 1.84 m
Rb1 14 mΩ
Rb2 14 mΩ
Cb1 180000 F
Cb2 180000 F
Eb1 48 V
Eb2 48 V
np 5
ns 200
q 1.6×10−19
C
Apv 1.60
K 1.3805×10−23
Nm/K
Isc 3.27 A (@ 25 ◦
C and 100 mW/cm2
)
Kl 0.0017 A/◦
C
Ego 1.10 V
Cs 0.001 F
Ls 0.004 H
θ 0
c1 78
c2 9.4737
c5 1
c6 30
References
[1] B.S. Borowy and Z.M. Salameh, “Dynamic response of a stand-alone wind energy conversion system with
battery energy storage to a wind gust,” Energy Conversion, IEEE Transactions on, vol. 12, no. 1, pp. 73 –78,
mar 1997.
[2] Sung-Hun Lee, Young-Jun Joo, J. Back, and Jin Heon Seo, “Sliding mode controller for torque and pitch
control of wind power system based on pmsg,” in Control Automation and Systems (ICCAS), 2010 International
Conference on, oct. 2010, pp. 1079 –1084.
[3] F. Valenciaga, P.F. Puleston, P.E. Battaiotto, and R.J. Mantz, “Passivity/sliding mode control of a stand-alone
hybrid generation system,” Control Theory and Applications, IEE Proceedings -, vol. 147, no. 6, pp. 680 –686,
nov 2000.
[4] K.H. Hussein, I. Muta, T. Hoshino, and M. Osakada, “Maximum photovoltaic power tracking: an algorithm
for rapidly changing atmospheric conditions,” Generation, Transmission and Distribution, IEE Proceedings-,
vol. 142, no. 1, pp. 59 –64, jan 1995.
36. [5] F. Valenciaga, P.F. Puleston, and P.E. Battaiotto, “Power control of a photovoltaic array in a hybrid electric
generation system using sliding mode techniques,” Control Theory and Applications, IEE Proceedings -, vol.
148, no. 6, pp. 448 –455, nov 2001.
[6] F. Valenciaga and P.F. Puleston, “Supervisor control for a stand-alone hybrid generation system using wind
and photovoltaic energy,” Energy Conversion, IEEE Transactions on, vol. 20, no. 2, pp. 398 – 405, june 2005.
[7] W. Qi, J. Liu, and P. D. Christofides, “Distributed supervisory predictive control of distributed wind and solar
energy systems,” Control Systems Technology, IEEE Transactions on, vol. PP, no. 99, pp. 1 –9, 2012.