Modified Incremental Conductance Algorithm For
Modified Incremental Conductance Algorithm For
Abstract—Under partial shading conditions, multiple peaks are only one maximum power point (MPP) exists in the power-
observed in the power–voltage (P –V ) characteristic curve of a against-voltage (P –V ) curve. However, in partially shaded
photovoltaic (PV) array, and the conventional maximum power condition where there are multiple MPPs in the P –V curve,
point tracking (MPPT) algorithms may fail to track the global
maximum power point (GMPP). Therefore, this paper proposes the conventional algorithms are unsuccessful in identifying the
a modified incremental conductance (Inc Cond) algorithm that global MPP (GMPP) among the local MPPs (LMPPs), there-
is able to track the GMPP under partial shading conditions and fore reducing the overall efficiency of the PV system [12]–[14].
load variation. A novel algorithm is introduced to modulate the Concerning the multiple-peak issue during partial shading,
duty cycle of the dc–dc converter in order to ensure fast MPPT several solutions have been proposed by modifying the conven-
process. Simulation and hardware implementation are carried
out to evaluate the effectiveness of the proposed algorithm under tional algorithms. As reported in [15], Inc Cond algorithm is
partial shading and load variation. The results show that the altered to realize a simple linear equation to track the GMPP.
proposed algorithm is able to track the GMPP accurately under Yet, additional measurement circuits are required at the out-
different types of partial shading conditions, and the response put of the converter, adding hardware complexity. Moreover,
during variation of load and solar irradiation are faster than tracking of the GMPP for the P –V curve, which has more
the conventional Inc Cond algorithm. Hence, the effectiveness of
the proposed algorithm under partial shading condition and load than two peaks, is not ensured. Using the P&O algorithm,
variation is validated in this paper. the authors in [16] proposed tuning the duty cycle of dc–dc
converter between the highest and lowest to identify all the
Index Terms—DC–DC converter, incremental conductance (Inc
Cond), maximum power point tracking (MPPT), partial shading, possible MPPs. In this method, all peaks can be successfully
photovoltaic (PV) system. identified but the time consumption increases. Dividing Rect-
angles (DIRECT) algorithm is introduced in [17], which begins
I. I NTRODUCTION by selecting an exploration range for the dividing process. The
exploration range is then reduced through successive divisions,
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.
TEY AND MEKHILEF: ALGORITHM FOR PV SYSTEM UNDER PARTIAL SHADING CONDITIONS AND LOAD VARIATION 5385
Fig. 3. P –V curves of the PV array under partial shading condition. (a) GMPP located at the middle of P –V curve. (b) GMPP located at the left end of P –V
curve. (c) GMPP located at the right end of P –V curve.
from each other, and thus, the reference voltage is increased Duty1 as the duty cycle of the converter (block 13) and then
by adding 0.8∗ Voc to Vmpp1 (block 6). Then, an MPP tracking goes to block 21. Then, (1) is used to ensure that the operating
subroutine (block 7) is used to ensure that the operating point point of the PV system remains at the GMPP
of the PV array is converged near point B in Fig. 3(a) before the
conventional Inc Cond algorithm (block 8) is used to track the dI I
+ < 0.06. (1)
MPP at point B. Then, the duty cycle of the converter and d V V
the power of the MPP at point B are stored as Duty2 and Pmpp2
(block 9). If Pmpp2 , point B is greater than Pmpp1 , point A Conventionally, the right side of (1) is defined as zero.
(block 10), as shown in Fig. 3(a), the algorithm goes to block 11 Yet, practically, it is difficult to obtain the zero value due to
and Pmpp1 and Duty1 (point A) are stored into Pmpp3 and truncation error [35]. Therefore, a permitted error of 0.06 is
Duty3 . Then, Pmpp2 and Duty2 (point B) are stored into Pmpp1 used to stop the oscillation during steady state and thus increase
and Duty1 . In brief, Pmpp1 always contains the data of the MPP, the efficiency of a PV system. This value is chosen based on
which has the highest magnitude. Then, the algorithm returns the duty cycle step size of the converter (0.005), and with this
to block 5. If the maximum voltage has not been attained yet, permitted error, the toleration on the MPPs of PV array is about
the algorithm will continue to find Pmpp2 at the right of Pmpp1 0.7%. Then, the algorithm keeps looping in blocks 21 and 22
(blocks 6–9). When the algorithm found that Pmpp2 at point C until there is a variation on solar irradiation or load [i.e., (1) no
is less than Pmpp1 (point B), the algorithm goes to block 12. longer satisfied]. Subsequently, the algorithm goes into block 23
Since Pmpp3 contained the data of point A, the algorithm uses to determine the direction of variation in the voltage and current
TEY AND MEKHILEF: ALGORITHM FOR PV SYSTEM UNDER PARTIAL SHADING CONDITIONS AND LOAD VARIATION 5387
TABLE I (blocks 6–9) at the right of Pmpp1 (point H) since Vmax has
VARIATION OF VOLTAGE AND C URRENT OF THE PV M ODULE D URING
THE VARIATION OF S OLAR I RRADIATION AND L OAD R ESISTANCE
not been reached yet (block 5). Then, the algorithm goes to
block 11 again because the MPP at point I Pmpp2 is greater than
point H Pmpp1 . Therefore, the data of point H are stored into
Pmpp3 , and the data of point I are stored into Pmpp1 . After
this, the algorithm observes that Vmax has reached (block 5)
and Pmpp3 (point H) already has a value (block 12). Hence,
Duty1 (block 13) is used as the duty cycle of the converter to
ensure that the PV array operates at the GMPP, point I. Finally,
of the PV array. The changes in the voltage and current of the algorithm keeps looping at blocks 21 and 22 and observes
the PV array during variation of load or solar irradiation are for any changes in load or solar irradiation.
shown in Table I. When the directions of variation in voltage
and current are different, there must be a variation in the load
resistance. Therefore, the algorithm calls the load variation IV. D UTY C YCLE C OMPUTATION FOR
subroutine to ensure that the PV array returns to the GMPP DC–DC C ONVERTER
rapidly. If there is a variation in solar irradiation, the directions In the proposed algorithm, the MPPs (Pmpp1 , Pmpp2 , Pmpp3 )
of variation in voltage and current are the same. Then, the are tracked according to the desired voltage or reference volt-
algorithm starts the program from block 3 again to track for age (Vmpp1 , Vmpp2 , Vmpp3 ). The voltages are approximately to
the new GMPP. be in the multiple of 0.8∗ Voc . Hence, the duty cycle of the
Case 2—GMPP Located at the Left Side of All the MPPs: converter is modulated in both directions to obtain the desired
Similar to case 1, all the parameters are set initially (blocks 1 voltage from the PV array. Conventionally, the duty cycle of the
and 2). Then, the conventional Inc Cond algorithm (block 3) converter is modulated step by step to reach the desired voltage,
is used to track the first MPP at point D in Fig. 3(b), and the and it is time consuming or slow for large PV array. Therefore,
duty cycle of the converter and the power of the PV array are a faster algorithm to obtain the desired voltage is introduced in
stored into Duty1 and Pmpp1 (block 4). If the maximum voltage the following section.
Vmax has not been attained yet (block 5), the algorithm will In the proposed PV system, a dc–dc converter is connected
go to the right side of Pmpp1 to track the Pmpp2 at point E in between the PV array and the load. Equations (2) and (3)
(blocks 6–9). Then, the algorithm compares Pmpp2 (point E) show the relationships between the input and output voltages
to Pmpp1 (point D) in block 10. Since Pmpp2 is less than Pmpp1 , (currents) of the dc–dc converter (SEPIC)
the algorithm goes to block 12. If Pmpp3 does not obtain any
value yet (block 13) and the minimum voltage value Vmin , 1−D
Vin = Vout (2)
which is equal to zero, has not been attained yet (block 14), D
the algorithm will continue to find Pmpp3 (point F) at the left of D
Iin = Iout . (3)
Pmpp1 . The reference voltage is reduced by 0.8∗ Voc (block 15), 1−D
and MPP tracking subroutine (block 16) is called to converge
the operating point of the PV array close to the MPP at point F Divide (2) by (3) to obtain (4)
before the conventional Inc Cond algorithm (block 17) is used (1 − D)2
to track the MPP at point F. The data of point F are stored into Zin = Zout (4)
D2
Pmpp3 and Duty3 (block 18). Since Pmpp3 (point F) is greater
than Pmpp1 (point D), the data of point D are now stored into where D is the duty cycle of the dc–dc converter; Vin is the
Pmpp2 and Duty2 and the data of point F are now stored into input voltage of the converter or the voltage of the PV array
Pmpp1 and Duty1 (block 20). Then, the algorithm goes back to Vpv ; Iin is the input current of the converter or the current of
block 14, and Duty1 is used as the duty cycle of the converter the PV array Ipv ; Zin is the input impedance of the converter
because Vmin is attained. In this case, the PV system operates or the impedance seen by the PV array; and Zout is the output
at the leftmost side of the P –V curve (point F), which is the impedance of the converter or is the load impedance Zload .
GMPP. Finally, the algorithm is looping between blocks 21 and In the PV system, (4) can be rewritten to obtain (5) and (6)
22, observing any variation in solar irradiation and load.
Vpv (1 − D)2
Case 3—GMPP Located at the Right Side of All the MPPs: = Zload (5)
Ipv D2
Initially, all the parameters are set (blocks 1 and 2). Then, the
conventional Inc Cond algorithm (block 3) is used to track the D2 Vpv
Zload = . (6)
first MPP at point G in Fig. 3(c). After the data of point G are (1 − D) Ipv
2
stored into Pmpp1 and Duty1 (block 4), the algorithm goes to
the right side of Pmpp1 to track Pmpp2 (blocks 6–9) at point H Under any operating point (Vpv , Ipv ) of the PV array and the
since the maximum voltage Vmax (block 5) has not been at- duty cycle D is known, the load impedance Zload at the output
tained yet. Since Pmpp2 is greater than Pmpp1 , the algorithm of the converter can be calculated by using (6). After obtained
goes to block 11 and the data of point G (Pmpp1 ) are stored into the load impedance, (6) can be rewritten into (7). With the
Pmpp3 . Meanwhile, the data of point H Pmpp2 are stored into desired voltage and current of the PV array, the duty cycle can
Pmpp1 . Then, the algorithm continues to find the MPP, point I be calculated by using (8). When this duty cycle is applied on
5388 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 61, NO. 10, OCTOBER 2014
Fig. 6. Tuning of the voltage of the PV array with the conventional algorithm
and the proposed algorithm.
TABLE II
PARAMETERS OF KC85T PV M ODULES
AT S TANDARD T EST C ONDITIONS (STC) T EMPERATURE = 25 ◦ C AND
Fig. 5. I–V curve of PV array under partial shading conditions. I NSOLATION = 1000 W/m2
the converter, the PV system can be modulated to operate at the
desired voltage and current
D2 Ipv
= Zload (7)
(1 − D)2 Vpv
√
a
D= √ (8)
1+ a
where a = (Ipv /Vpv )Zload .
In the proposed algorithm, the load of the PV system is needs 1.6 s. With the fast tuning in the voltage of the PV array,
calculated by using (6). Then, the desired value of voltage and the MPPs can be reached rapidly.
current are substituted into (8) to obtain the duty cycle. Hence,
the duty cycle can be obtained and modulated rapidly.
V. S IMULATION R ESULTS
As shown in Fig. 5, when MPP1 is tracked by using conven-
tional Inc Cond algorithm, the proposed algorithm goes to the The model of PV array, the SEPIC converter, and MPPT con-
right of MPP1 to search for other MPPs. As aforementioned, troller are generated in a MATLAB Simulink model. The speci-
the voltages of MPPs are approximately 0.8∗ Voc away from fication of the PV module in the PV array is shown in Table II.
each other. Therefore, the voltage of MPP2 Vmpp2 is obtained The values of the components in the SEPIC converter are as fol-
by adding 0.8∗ Voc to Vmpp1 . Then, the current of MPP2 is also lows: Cin and Cout = 3900 uF, L1 and L2 = 125 uH, Cs =
required in order to obtain the duty cycle by using (8), but the 1000 uF, and the load is a 10-Ω resistance. The switching fre-
current at MPP2 is unknown. Therefore, the current at MPP1 quency for the insulated-gate bipolar transistor is set to 20 kHz.
and Vmpp2 are substituted into (8), and the operating point of the In the simulation, the sampling time of the MPPT controller
PV array is converged to point A rapidly. After this, the current is set to 0.05 s, and the duty cycle step size of the converter
at point A and Vmpp2 are substituted into (8) again to obtain is set to 0.005. The simulations are carried out for PV array
the next duty cycle. This process continues until at a point under partial shading conditions. As shown in Table II, there
where the difference in current d I is smaller than a minimum is one bypass diode across 18 series-connected PV cells in the
value d Imin . Then, the conventional Inc Cond algorithm is module, which means two bypass diodes in one PV module.
used to track the MPP2. This is because the conventional Inc Therefore, there are maximum of two MPPs able to be produced
Cond algorithm can only be used when the operating point by one PV module during partial shading condition. Therefore,
is near MPP2 or else the same MPP (MPP1) will be tracked. the open-circuit voltage Voc used in the simulation is 10.8 V,
Therefore, d Imin is set to be 0.03 in this proposed system based which is only half of the open-circuit voltage of the PV module.
on try and error observation from the simulation. Finally, the In the simulation, the model of the PV module is adopted from
same method is used in the searching of MPP3 at the left of [36]. Then, the bypass diodes are connected in parallel with
MPP1. Current at MPP1 and Vmpp3 (obtained by deducting the model of the PV module to create the PV array. Hence,
0.8∗ Voc from Vmpp1 ) are substituted into (8) to obtain the duty two series-connected PV modules have maximum of four peaks
cycle. Then, the operating point of the PV array is converged during partial shading conditions.
to point B rapidly. This process continues until d I is smaller Fig. 7 shows the simulation results for two different partial
than d Imin and then the conventional Inc Cond algorithm is shading conditions where four different solar irradiation levels
used to track MPP3. Fig. 6 shows the simulation results of the are applied on each of the 18 series-connected PV cells in
MPPs searching by the conventional and the proposed modified the two series-connected PV modules. Fig. 7(a) shows the
Inc Cond algorithms. The proposed algorithm is able to reach P –V curve and simulation results for the PV array under solar
the desired voltage at t = 0.6 s, but the conventional algorithm irradiation values 1.0 kW/m2 , 0.6 kW/m2 , 0.4 kW/m2 , and
TEY AND MEKHILEF: ALGORITHM FOR PV SYSTEM UNDER PARTIAL SHADING CONDITIONS AND LOAD VARIATION 5389
Fig. 7. Simulation results for the PV system under partial shading conditions where the solar irradiation values for each of the 18 series-connected PV cells are
(a) 1.0 kW/m2 , 0.6 kW/m2 , 0.4 kW/m2 , and 0.3 kW/m2 ; (b) 1.0 kW/m2 , 0.5 kW/m2 , 0.4 kW/m2 , and 0.2 kW/m2 .
0.3 kW/m2 . Initially, the conventional Inc Cond algorithm is Therefore, Duty1 is used as the duty cycle. Hence, P2 is the
used to track the first MPP, P1 (stored into Pmpp1 ), and then the GMPP where it is located in the middle among the other MPPs.
algorithm goes to the right of P1 (uses MPP tracking subroutine
algorithms in block 7 for fast computation of duty cycle) to
VI. E XPERIMENTAL R ESULTS
find the next MPP (P2). Since P2 (51.55 W) is greater than P1
(43.73 W), the power at P1 is now stored into Pmpp3 and the The experimental setup is shown in Fig. 8. The DSP con-
power at P2 is stored into Pmpp1 . Then, the algorithm goes troller from Texas instrument (TMS320F28335) is used as the
to the right of P2 again and tracks the next MPP at P3. After MPPT controller to implement the proposed algorithm. Mean-
that, the power at P2 is stored into Pmpp3 , and the power at while, the solar array simulator from Agilent (E4360A) is used
P3 is stored into Pmpp1 because P3 (55.57 W) is greater P2 to generate the output characteristics of a PV array. The Agilent
(51.55 W). Then, the algorithm stops the searching process Solar Array Simulator (SAS) is a dc power source with 600-W
because Vmax (43.2 V) is reached and Duty1 is used as the duty output, and it is primarily a current source with very low output
cycle of the converter since P3 has the largest power among the capacitance and is capable of simulating the I–V curve of
others, and it is at the rightmost side of the P –V curve. Finally, different arrays under various conditions such as partial shading
the power of PV array is observed in block 21. conditions. The desired I–V curve is programmable over the
In Fig. 7(b), the PV array is under solar irradiation of IEEE-488.2 bus and is conveniently generated within the SAS.
1.0 kW/m2 , 0.5 kW/m2 , 0.4 kW/m2 , and 0.2 kW/m2 . The same The experiments conducted under the same conditions are
process happened in searching for P1 (37.69 W stored into described in the simulation, and all the results matched with
Pmpp3 ) and P2 (49.71 W stored into Pmpp1 ). After that, the the simulation. Fig. 9 shows the scale of the experimental
algorithm continues to find for the next MPP (P3) at the right of results, and all the figures of experimental results have the same
P2 but P3 (Pmpp2 , 37.1 W) is less than P2 (Pmpp1 , 49.71 W). scale. The experimental results for partial shading condition
5390 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 61, NO. 10, OCTOBER 2014
Fig. 10. Experimental results for the PV array under partial shading condi-
Fig. 9. Experimental results for the PV array under partial shading conditions tions (i.e., 1.0 kW/m2 , 0.5 kW/m2 , 0.4 kW/m2 , and 0.2 kW/m2 ) and load
where the solar irradiation values for each of the 18 series-connected PV cells variation: (a) proposed algorithm and (b) conventional Inc Cond algorithm.
are 1.0 kW/m2 , 0.6 kW/m2 , 0.4 kW/m2 , and 0.3 kW/m2 .
to 10 Ω at point D, and the voltage of the PV array increased
are shown in Fig. 9, i.e., same as the simulation result in and the current decreased. The same process happened as in the
Fig. 7(a). Therefore, the accuracy of the proposed algorithm in decreased in load resistance. Finally, the PV array operates at
tracking the GMPP is validated. In addition, the experimental GMPP again at point E.
result for sudden load variation under partial shading condition For comparison, the conventional Inc Cond algorithm is used
is also obtained, and it is shown in Fig. 10(a). Initially, the to track the MPP for the PV array under the same partial
PV array is under partial shading conditions (i.e., 1.0 kW/m2 , shading condition and load variation. As shown in Fig. 10(b),
0.5 kW/m2 , 0.4 kW/m2 , and 0.2 kW/m2 ), the GMPP (point A, the conventional Inc Cond algorithm failed to track the GMPP
55.57 W) is tracked, and the algorithm keeps looping at block 21 for partial shading condition. The algorithm stopped searching
(flowchart). Then, at point B, the resistance of the load is varied after tracking the LMPP (see point F; the power fluctuates from
from 10 to 5 Ω. The voltage of the PV array decreased, and 37.43 to 38.55 W); thus, the efficiency of the system is lower.
the current increased, as mentioned in Table I. Equation (1) When the load resistance is decreased from 10 to 5 Ω, the
no longer satisfied and the algorithm detected the variation in conventional algorithm needed longer time to return back to
the load (block 23). After that, the algorithm called the load LMPP, as compared to the proposed algorithm.
variation subroutine (block 24), and (6) is used to calculate Furthermore, the algorithm tracked the different MPPs af-
the load resistance. Since there is only variation in the load ter the resistance of the load is increased back to 10 Ω, as
resistance, the solar intensity remains unchanged. Therefore, shown in Fig. 10(b). Hence, the proposed algorithm is validated
the voltage Vmpp1 and current Impp1 of the GMPP at point A under variation of solar irradiation and load during partial
are substituted into (8) to obtain the new duty cycle. With the shading condition. Table III shows the comparison between
proposed algorithm, the operating point of the PV array is mod- the proposed algorithm and conventional Inc Cond algorithm.
ulated toward the GMPP rapidly, as shown in Fig. 10(a), before Referring to Fig. 10, the proposed algorithm is able to track
a few more steps of conventional Inc Cond algorithm are used the GMPP (55.57 W, point A) and there is no steady-state os-
to track the GMPP again at point C. Then, the algorithm went cillation due to the use of (1), but the conventional algorithm is
back to block 21 again. After that, the load is increased back only able to track the LMPP (37.43–38.55 W, point F) and there
TEY AND MEKHILEF: ALGORITHM FOR PV SYSTEM UNDER PARTIAL SHADING CONDITIONS AND LOAD VARIATION 5391
converter,” IEEE Trans. Ind. Electron., vol. 58, no. 4, pp. 1154–1161, Saad Mekhilef (M’01–SM’12) received the B.Eng.
Apr. 2011. degree in electrical engineering from the University
[33] T. K. Soon, S. Mekhilef, and A. Safari, “Simple and low cost incremental of Setif, Setif, Algeria, in 1995, and the Master’s
conductance maximum power point tracking using buck-boost converter,” degree in engineering science and the Ph.D. de-
J. Renew. Sustain. Energy, vol. 5, pp. 023106-1–023106-12, Mar. 2013. gree in electrical engineering from the University of
[34] G. Petrone, G. Spagnuolo, and M. Vitelli, “An analog technique for Malaya, Kuala Lumpur, Malaysia, in 1998 and 2003,
distributed MPPT PV applications,” IEEE Trans. Ind. Electron., vol. 59, respectively.
no. 12, pp. 4713–4722, Dec. 2012. He is currently a Professor with the Power Elec-
[35] X. Weidong, W. G. Dunford, P. R. Palmer, and A. Capel, “Application tronics and Renewable Energy Research Laboratory
of centered differentiation and steepest descent to maximum power point (PEARL), Department of Electrical Engineering,
tracking,” IEEE Trans. Ind. Electron., vol. 54, no. 5, pp. 2539–2549, University of Malaya. He is the author or coauthor
Oct. 2007. of more than 200 publications in international journals and proceedings. He
[36] F. M. Gonzalez-Longatt, “Model of Photovoltaic Module in Matlab,” in is actively involved in industrial consultancy for major corporations on power
Proc. IJCTEE, 2005, vol. 2, pp. 1–5. electronics projects. His research interest includes power conversion tech-
niques, control of power converters, renewable energy, and energy efficiency.