Efficient Maximum Power Point Tracking Algorithm F
Efficient Maximum Power Point Tracking Algorithm F
Research Article
Efficient Maximum Power Point Tracking Algorithm for
PV Application under Rapid Changing Weather Condition
Copyright © 2014 K. M. Bataineh and A. Hamzeh. This is an open access article distributed under the Creative Commons
Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is
properly cited.
This study presents a novel search algorithm of maximum power point tracking for photovoltaic power generation systems. The I-V
characteristics and the P-V power output under specific irradiation and temperature conditions are simulated. The performance
of the algorithm under fully shaded and sudden partially shaded conditions as well as variable insulations levels is investigated.
The developed algorithm performs a wide-range search in order to detect rapidly changing weather conditions, and keeps the
simulated stand-alone or grid-connected systems continuously operating close to the maximum power point. The performance of
the developed algorithm, under extremely changing environmental conditions, is found to be superior compared to that of other
conventional algorithms. The results of this study show that, under uniform radiations conditions, the developed algorithm takes
only half of the time required by the Perturbation and Observe algorithms to reach maximum power point MMP. Furthermore,
when PV is subjected to sudden partial shading conditions, the algorithm rapidly detects these changes and reaches the new MMP
in less than a second.
where 𝑉𝑡 = (𝑁𝑠 𝑘𝑇/𝑞) is the thermal voltage of the array with 3. Partial Shading Problem
𝑁𝑠 cells connected in series and 𝑅𝑠 and 𝑅𝑝 are the equivalent
series and shunt resistances (Ω) of the array, respectively. The The temperature, the irradiation levels, and the shading
series resistance is the sum of several internal and structural of the system affect the performance of photovoltaic cells.
resistances within the device. The parallel resistance models Partial shading problems arise due to the existence of clouds
the current leakage through the p-n junction. or building shadows. This problem makes the photovoltaic
Figure 3 shows a MATLAB/Simulink model for the power characteristics more complicated with multiple peaks
improved PV panel mathematical model. Figure 4 shows a in power. This reduces the efficiency of most MPPT tech-
MATLAB/Simulink model of the PV circuit built to obtain niques. The effect of partial shading problem appears signifi-
the I-V characteristics according to (2). The photogenerated cantly for large arrangement of panels. Under partially shaded
current is function of solar radiation and temperature of the condition, it has been found that the I-V curves have multiple
p-n junction is given by [39] as follows: stairs while the P-V curves have multiple peaks [40].
1 +
+ ×
V eu
Add
2 Product 1 Math function
×
I
Product 5 +
0.15 + 2
1 − Ipv −
Rs Subtract Subtract 1 Im
Constant
1.25 ×
÷ ×
q/(a ∗ K ∗ Ns ) 4
Divide
3 I0 Product 2
T 1
Vt a
+
0.065
× +
ki Add
Product 3
3.56
1 + Ipv,n
T −
× 2
Subtract 1 2 ×
298 1 Product 1 Ipv
G ÷
Tn dT
Divide
1000
Gn
(i) The boost converter specifications listed in Table 1 where 𝑅 is the load resistance, 𝐿 is the inductance,
are selected to satisfy continuous operation under all 𝑀 is the maximum voltage gain which is equal
conditions. to (𝑉out /𝑉in ), and 𝑡𝑠 is the switching period. We chose
the closest available conductor value of 68 𝜇H.
(ii) A 200 kHz switching frequency is chosen to reduce
the size of the boost converter components and (iv) The maximum duty cycle is calculated according to
decrease the power loss. (6) and is found to be 0.846.
ISRN Renewable Energy 5
42.1 + 0.065 × +
+ ki +
Voc,n
Add Product 2
Add 1
×
0.5 3.87 ×
÷ 1
Product 1
kv Isc,n
Divide I0
× eu +
2
1 Vt a −
Product 3 Math function
dT Subtract 1
1
kv1
IL
+ i To workspace 1
−
Ipv
+ −i
2 𝜇H Diode 1 IL
1 G
2
G R1
Connection Switch
2 T port 1 g 1
+ C
T −v
Connection Vpv
port
PV
Pulse generator
f(x)
f(x)
a x1 b a x1 x2 b
(a) (b)
f(x)
a x1 x2 x3 b
(c)
Figure 10: Iterations of the Shubert algorithm in dividing the intervals of minimum 𝑓1 [41].
f(c)
a c1 b
fmax + 𝜀|fmax |
a1 c2 b1 = a2 c1 b2 = a3 c3 b3 fmax
P
I
POP
OP DOP
POP
V VMMP V
(a) (b)
Figure 13: Change in power under partially shaded condition identification in (a) I-V and (b) P-V.
middle interval. The algorithm then evaluates the three (2) Calculate the angles in radians that each of the points
samples to decide the next sampling interval. It is clear that makes with 𝑃0 ; then sort them in increasing order, and
only two new samples in each dividing iterations are required push them onto a stack.
for evaluation. Further subdivision for the potential interval (3) If 𝑃0 forms a left turn with the last two points in the
containing optima is carried out until the optimal point is stack, we push 𝑃0 onto the stack; else, we discard and
found. Theoretical details are found in reference [41]. The fact make the next point in the stack 𝑃0 and repeat.
that in convex hull functions local optima are global optima
is used to select potentially optimal interval. Suppose that we (4) Repeat step number (3) until you encounter 𝑃0 again.
have partitioned the interval [𝑙, 𝑢] into intervals [𝑎𝑖 , 𝑏𝑖 ] with A simplified approach is to calculate the direction cross
midpoints 𝑐𝑖 % for 𝑖 = 1, . . . , 𝑚. Let 𝜀 > 0 be a positive constant product of the two vectors formed from three points 𝑃0 -𝑃1
and let 𝑓max be the current best function value. Interval 𝑗 and 𝑃1 -𝑃2 . If the value is positive, it is a left turn and thus
is said to be potentially optimal if there exists some rate-of- we keep the point and the interval. If it is negative, then we
change constant 𝐾 ̃ > 0 such that [41] discard the interval all together.
̃ (𝑏𝑗 − 𝑎𝑗 )
𝐾 ̃ (𝑏𝑖 − 𝑎𝑖 )
𝐾 5.2. Golden Section Search (for Rapidly Changing Conditions).
𝑓 (𝑐𝑗 ) + ≥ 𝑓 (𝑐𝑗 ) + , ∀𝑖 = 1, 𝑚, The golden section algorithm is used to detect the envi-
2 2 ronmental change by continuously oscillating around the
(18)
maximum power point. The Golden Section Search method
̃ (𝑏𝑗 − 𝑎𝑗 )
𝐾 is used to find the maximum or the minimum of a unimodal
𝑓 (𝑐𝑗 ) + ≥ 𝑓min + 𝜀 𝑓min . (19) function by calculating the function at three different points.
2 In this study, Golden Section Search (GSS) MPPT algorithm
uses the voltage as the search variable. The main advantage
The inequality (18) selects intervals that would improve of GSS algorithm is its fast convergence compared to many
the current function value. For intervals with the same other MPPT algorithms. The MPPT algorithm is developed
length, the interval with the highest function value at its with the limiting parameters for fast convergence. The main
center point is chosen to be the potentially optimal interval steps in GSS algorithm are as follows.
(POI). The inequality (19) ensures that the POIs exceed the
current best solution by a nontrivial amount 𝜀|𝑓max |. Figure 12 Initialization
demonstrates how convex hull sets help choose POIs that
satisfy both (18) and (19) [41]. If we construct convex hull
(1) Determine 𝑥𝑙 and 𝑥𝑢 which is known to contain the
from the function values at the center points, the intervals
maximum of the function 𝑓(𝑥).
that make up convex hull are considered POIs. Graham’s Scan
is efficient algorithm used to create a convex hull out of the set (2) Determine two intermediate points 𝑥1 and 𝑥2 such
of center points [43]. Graham’s scan is a phase algorithm that that
can be summarized as follows, given a set of points 𝑆𝑝 . √5 − 1
𝑥1 = 𝑥𝑙 + (𝑥𝑢 − 𝑥𝑙 ) ,
2
(1) Find the point in 𝑆𝑝 with the maximum value. If two (20)
or more have the same value, use one with the lowest √5 − 1
𝑥2 = 𝑥2 − (𝑥𝑢 − 𝑥𝑙 ) .
𝑥 coordinate. Call it 𝑃0 . 2
ISRN Renewable Energy 9
Set m = 1
[a1 , b1 ] = [a, b]
c1 = (a1 + b1 )/2
Evaluate f(c1 )
Set fmax = f(c1 )
Set iteration counter p = 1
𝜎 = (bj − aj )/3
cm+1 = cj − 𝜎 xu = mpp , mpp = xL , Ct = Ct + 1
cm+2 = cj + 𝜎
xL = mpp + (xu − mpp )/0.62
Evaluate f(cm+1 ) and evaluate f(cm+2 )
Update fmax
Yes xu = mpp , mpp = xl
No
In the partition, add the left and right subintervals Ct = Ct + 1
P( mpp ) > P(xl )
xL = mpp + (xu − mpp )/0.62
[am+1 , bm+1 ] = [aj , aj + 𝜎], center point cm+1
[am+2 , bm+2 ] = [aj + 2𝜎, bj ], center point cm+2
Yes Yes Ct < 4 No
No Yes
Is MPP found?
(3) If 𝑓(𝑥1 ) > 𝑓(𝑥2 ), then new points 𝑥𝑙 , 𝑥1 , 𝑥2 , and 𝑥𝑢 (5) If 𝑥𝑢 − 𝑥𝐿 < 𝜀 (a predefined condition), then the
are updated as maximum occurs at (𝑥𝑢 + 𝑥𝐿 )/2 stop iteration; else,
go to step 2.
𝑥𝑙 = 𝑥2 , 𝑥2 = 𝑥1 , 𝑥𝑢 = 𝑥𝑢 ,
The intermediate points 𝑥1 and 𝑥2 are chosen such that
√5 − 1 (21)
the ratio of the distance from these points to the boundaries of
𝑥1 = 𝑥𝑙 + (𝑥𝑢 − 𝑥𝑙 ) .
2 the search region is equal to the golden ratio. The golden ratio
which is equal to 1.61803398 makes the algorithm converge at
(4) If 𝑓(𝑥1 ) < 𝑓(𝑥2 ), then the new points 𝑥𝑙 , 𝑥1 , 𝑥2 , and a constant speed.
𝑥𝑢 are updated as
𝑥𝑙 = 𝑥𝑙 , 𝑥𝑢 = 𝑥1 , 𝑥1 = 𝑥2 , 5.3. Implementation for PV System. Theoretically, 𝑉MMP falls
(22) between 0 V and 𝑉oc max . In the present study, a DC/DC
√5 − 1 converter is used to vary the optimal point OP of the PV
𝑥2 = 𝑥𝑢 + (𝑥𝑢 − 𝑥𝑙 ) .
2 system. Hence, the duty cycle would be in the range of (0, 1).
10 ISRN Renewable Energy
− 6
2
Current (A)
1 4
G G
2 +
Connection
T T port 1 1 2
Connection
port
0
Subsystem 0 5 10 15 20 25 30 35
Figure 15: Masked Simulink model of PV cells. Voltage (V)
Power (W)
80
partially shaded condition as shown in Figure 15. To explain
60
the main idea of the new algorithm, assume that DIRECT has 40
successfully found the maximum power point as shown in 20
Figure 13(a). When weather condition changes happen, the 0
OP will move to a different point due to the change of the I-V 0 5 10 15 20 25 30
curve. Since the duty cycle is not changed, the power of the PV Voltage (V)
is decreased from 𝑃OP to 𝑃OP as explained in Figure 13(b). To 1000 W/m2 , 25∘ C
detect environment changes on the PV arrays, GSS algorithm 2000 W/m2 , 25∘ C
continuously oscillates around the current 𝑉MMP . The GSS
is chosen due to its rapid local searching for optimal point. Figure 17: P-V curves plotted for different weather conditions.
When executing the GSS algorithm within small interval
around the current 𝑉MMP , the GSS has the ability within
four iterations to decide whether environment changes have different solar irradiation to allow producing different values
occurred or not. If OP is not found when GSS iterated of photovoltaic current 𝐼pv .
four times, DIRECT algorithm is called to search for global In order to clarify the complexity associated with partial
OP. This will increase the response time of the proposed shading, sample simulations are carried out and their results
algorithm. Figure 14 shows the simplified flowchart of the are shown in Figures 20 and 21.It can be seen in Figures 20
DIRECT search algorithm incorporated with GSS. and 21 that there are two local maxima in the power-voltage
curves. As mentioned previously, many MPPT algorithms
6. Results are incapable of dealing with the effects of partial shading
and might mistakenly drive the system to its local maximum
The simulation results are carried out using MATLAB/ instead of the desired global maximum.
Simulink to validate the performance of the proposed MPPT
algorithm. 6.2. Performance under Uniform Weather Condition. The
Performance and operation of the proposed search algorithm
6.1. Photovoltaic Model Simulation Results. The developed have been evaluated using MATLAB/Simulink. The sampling
photovoltaic cell Simulink model built and shown in Figure 15 time is chosen to be 0.05 s. For the implemented proposed
is used to simulate the performance of PV cells under MPPT algorithms, the simulation results have been obtained
different temperatures and irradiance levels. Figure 16 shows during starting up of the system. The results have been
the I-V characteristic curve of a practical photovoltaic device obtained for a solar irradiance value of the proposed system
under different weather conditions. It can be seen that the I-V that is tested under two uniform radiation levels: 1000 W/m2
characteristics are dependent on the levels of irradiance and and 2000 W/m2 . As shown in Figures 22 and 23, the proposed
the temperature of PV cell. Figure 17 shows the power-voltage MPPT algorithm found the global maximum in a relatively
variations under different weather condition. It is clear that short time, that is, in less than 0.8 seconds, with small oscil-
the P-V curve has single peak that could be easily found by lation in steady state. IT is also observed that the power loss
conventional searching method. from oscillation is insignificant. To evaluate the effectiveness
To investigate partial shading conditions, first, a masked of the proposed algorithm, its performance is compared with
model of a single PV cell is built as shown in Figure 18. Then, that of the Perturbation and Observe algorithm [25–31]. The
a model for a panel consisting of three PV cells connected in result in Figure 24 shows that Perturbation and Observe
parallel is built as shown in Figure 19. Each cell is subjected to needed 1.9 seconds to reach the MPP.
ISRN Renewable Energy 11
T
1
T Out 1
G 1
2 Ipv
G Subsystem
1 T
T Out 1 +
2 G Ipv1 +
G Add
Subsystem
+ 1
T +
Out 1 Add 1 Ipv
3 G Ipv2
G1 Subsystem 1
T
Out 1
4 G Ipv3
G2 Subsystem 2
3.5 60
3 50
2.5
Power (W)
40
Power (W)
2
30
1.5
20
1
10
0.5
0 0
0 5 10 15 20 25 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Voltage (V) Time (s)
Figure 20: The variation of the I-V under varying irradiance (600, Figure 22: The simulated power curves for the 1000 W/m2 , 25∘ C
200, and 100 W/m2 ). fully shaded designed algorithm.
60 120
50 100
Power (W)
80
40
Power (W)
60
30 40
20
20 0
0 0.2 0.4 0.6 0.8 1 1.2
10
Time (s)
0
0 5 10 15 20 25 Figure 23: The simulated power curves for the 2000 W/m2 , 25∘ C.
Voltage (V)
Figure 21: The variation of the P-V under partially shaded condition
(600, 200, and 100 W/m2 ).
the PV panels are subjected to uniform insolation condition.
This condition is maintained for 0.4 s before it is changed
to partially shaded condition. The cells temperatures are
6.3. Proposed MPPT Algorithm under Partially Shaded. The kept constant at 25∘ C. Figure 25 shows that the MMPT
proposed scheme for MPPT algorithm is tested under algorithm maintains the MPP until the radiation level varies
partially shaded conditions. The simulations were con- at 0.4 s. It can be seen from Figure 25 that the proposed
ducted with two consecutive scenarios. In the first scenario, algorithm immediately detects the weather changes and starts
12 ISRN Renewable Energy
100
References
Power (W)
[18] T. Hiyama, S. Kouzuma, and T. Imakubo, “Identification of opti- [32] A. Brambilla, M. Gambarara, A. Garutti, and F. Ronchi, “New
mal operating point of PV modules using neural network for approach to photovoltaic arrays maximum power point track-
real time maximum power tracking control,” IEEE Transactions ing,” in Proceedings of the 30th Annual IEEE Power Electronics
on Energy Conversion, vol. 10, no. 2, pp. 360–367, 1995. Specialists Conference (PESC ’99), pp. 632–637, July 1999.
[19] K. Ro and S. Rahman, “Two-loop controller for maximizing [33] M. Miyatake, T. Kouno, and M. Nakano, “Maximum power
performance of a grid-connected photovoltaic-fuel cell hybrid point tracking control employing fibonacci search algorithm
power plant,” IEEE Transactions on Energy Conversion, vol. 13, for photovoltaic power generation system,” in Proceedings of
no. 3, pp. 276–281, 1998. the International Conference of Power Electronics (ICPE ’01), pp.
622–625, Seoul, Republic of Korea, October 2001.
[20] A. Hussein, K. Hirasawa, J. Hu, and J. Murata, “The dynamic
performance of photovoltaic supplied DC motor fed from DC- [34] N. A. Ahmed and M. Miyatake, “A novel maximum power point
DC converter and controlled by neural networks,” in Proceed- tracking for photovoltaic applications under partially shaded
ings of the International Joint Conference on Neural Networks insolation conditions,” Electric Power Systems Research, vol. 78,
(IJCNN ’02), pp. 607–612, May 2002. no. 5, pp. 777–784, 2008.
[35] M. Zhang, J. Wu, and H. Zhao, “The application of slide
[21] X. Sun, W. Wu, X. Li, and Q. Zhao, “A research on photovoltaic technology in PV maximum power point tracking system,” in
energy controlling system with maximum power point track- Proceedings of the 5th World Congress on Intelligent Control and
ing,” in Proceedings of the Power Conversion Conference, pp. Automation (WCICA ’04), pp. 5591–5594, June 2004.
822–826, 2002.
[36] M. Miyatake, F. Toriumi, T. Endo, and N. Fujii, “A novel
[22] L. Zhang, Y. Bai, and A. Al-Amoudi, “GA-RBF neural network maximum power point tracker controlling several converters
based maximum power point tracking for grid-connected pho- connected to photovoltaic arrays with particle swarm optimiza-
tovoltaic systems,” in Proceedings of the International Conference tion technique,” in Proceedings of the European Conference on
on Power Electronics, Machines and Drives, pp. 18–23, April Power Electronics and Applications (EPE ’07), September 2007.
2002. [37] S. R. Chowdhury and H. Saha, “Maximum power point tracking
[23] L. T. W. Bavaro, “Power regulation utilizing only battery current of partially shaded solar photovoltaic arrays,” Renewable Energy,
monitoring,” Patent US 4,794,272, 1988. vol. 34, no. 10, pp. 2093–2100, 2009.
[24] C. Hua and J. R. Lin, “DSP-based controller application in bat- [38] G. Walker, “Evaluating MPPT converter topologies using a mat-
tery storage of photovoltaic system,” in Proceedings of the IEEE lab PV model,” Journal of Electrical and Electronics Engineering,
22nd International Conference on Industrial Electronics, Control, Australia, vol. 21, no. 1, pp. 49–55, 2001.
and Instrumentation (IECON ’96), pp. 1705–1710, August 1996. [39] M. G. Villalva, J. R. Gazoli, and E. Ruppert Filho, “Modeling and
[25] J. H. R. Enslin, M. S. Wolf, D. B. Snyman, and W. Swiegers, “Inte- circuit-based simulation of photovoltaic arrays,” in Proceedings
grated photovoltaic maximum power point tracking converter,” of the Brazilian Power Electronics Conference (COBEP ’09), pp.
IEEE Transactions on Industrial Electronics, vol. 44, no. 6, pp. 1244–1254, Mato Grosso do Sul, Brazil, October 2009.
769–773, 1997. [40] H. Patel and V. Agarwal, “MATLAB-based modeling to study
the effects of partial shading on PV array characteristics,” IEEE
[26] A. Al-Amoudi and L. Zhang, “Optimal control of a grid- Transactions on Energy Conversion, vol. 23, no. 1, pp. 302–310,
connected PV system for maximum power point tracking and 2008.
unity power factor,” in Proceedings of the 7th International
Conference on Power Electronics and Variable Speed Drives, pp. [41] B. O. Shubert, “A sequential method seeking the global maxi-
80–84, September 1998. mum of a function,” SIAM Journal on Numerical Analysis, vol.
9, no. 3, pp. 379–388, 1972.
[27] N. Kasa, T. Iida, and H. Iwamoto, “Maximum power point [42] D. R. Jones, C. D. Perttunen, and B. E. Stuckman, “Lipschitzian
tracking with capacitor identificator for photovoltaic power optimization without the Lipschitz constant,” Journal of Opti-
system,” in Proceedings of the 8th International Conference mization Theory and Applications, vol. 79, no. 1, pp. 157–181, 1993.
on Power Electronics and Variable Speed Drives, pp. 130–135,
September 2000. [43] E. A. Galperin, “The cubic algorithm,” Journal of Mathematical
Analysis and Applications, vol. 112, no. 2, pp. 635–640, 1985.
[28] L. Zhang, A. Al-Amoudi, and Y. Bai, “Real-time maximum
power point tracking for grid-connected photovoltaic systems,”
in Proceedings of the 8th International Conference on Power
Electronics and Variable Speed Drives, pp. 124–129, September
2000.
[29] W. Xiao, W. G. Dunford, P. R. Palmer, and A. Capel, “Application
of centered differentiation and steepest descent to maximum
power point tracking,” IEEE Transactions on Industrial Electron-
ics, vol. 54, no. 5, pp. 2539–2549, 2007.
[30] J. M. Enrique, J. M. Andújar, and M. A. Bohórquez, “A
reliable, fast and low cost maximum power point tracker for
photovoltaic applications,” Solar Energy, vol. 84, no. 1, pp. 79–
89, 2010.
[31] K. H. Hussein, I. Muta, T. Hoshino, and M. Osakada, “Max-
imum photovoltaic power tracking: an algorithm for rapidly
changing atmospheric conditions,” IEE Proceedings, vol. 142, no.
1, pp. 59–64, 1995.