A Differential Evolution Based MPPT Method for Photovoltaic Modules under Partial Shading Conditions

Partially shaded photovoltaic (PV) modules have multiple peaks in the power-voltage (P-V) characteristic curve and conventional maximumpower point tracking (MPPT) algorithm, such as perturbation andobservation (P&O),which is unable to track the global maximum power point (GMPP) accurately due to its localized search space. Therefore, this paper proposes a differential evolution (DE) based optimization algorithm to provide the globalized search space to track the GMPP.The direction of mutation in the DE algorithm is modified to ensure that the mutation always converges to the best solution among all the particles in the generation. This helps to provide the rapid convergence of the algorithm. Simulation of the proposed PV system is carried out in PSIM and the results are compared to P&Oalgorithm. In the hardware implementation, a high step-upDC-DC converter is employed to verify the proposed algorithm experimentally on partial shading conditions, load variation, and solar intensity variation. The experimental results show that the proposed algorithm is able to converge to the GMPP within 1.2 seconds with higher efficiency than P&O.


Introduction
The demand on photovoltaic (PV) system has increased due to the abundance of raw materials as well as its noiseless and environment friendly power-generating process [1][2][3]. The power generated by PV module highly relies on solar intensity. Therefore, a maximum power point tracking (MPPT) controller is required to ensure that the highest possible power is harvested from the PV modules. In recent years, there are numbers of researches on the MPPT algorithm such as fractional open circuit voltage [4,5], fractional short circuit voltage [4], incremental conductance (Inc Cond) algorithm [5][6][7][8][9], fuzzy logic [10], perturbation and observation (P&O) [11][12][13], and neural network [14].
However, these algorithms are only proven in tracking the maximum power point (MPP) under uniform insolation where there is only single MPP that exists in the power against voltage ( -) curve. Normally, a PV array consists of numbers of PV modules and if some of the PV modules are partially shaded, the -curve consists of more than one peak [15]. Under this circumstance, the conventional algorithm aforementioned may fail to track the global MPP (GMPP) and the efficiency of the PV system decreases [16].
In order to ensure that the MPPT algorithm is able to function accurately even under partial shading conditions, [17] has modified the conventional incremental conductance (Inc Cond) algorithm by introducing a simple linear equation to track the GMPP, but there are additional measurement circuits at the output of the converter.
Meanwhile, [18] proposed a modified P&O algorithm where the duty cycle of DC-DC converter is tuned from the highest to the lowest to identify all the possible MPPs. Even though all the peaks can be tracked successfully, the time consumption increases. Dividing rectangles (DIRECT) algorithm is introduced in [19], in which the dividing process begins in a selected exploration range. Through successive divisions, the exploration range becomes smaller and converges to the section where there is a high potential of finding the GMPP. This method may oversight the GMPP if the section is chosen inaccurately.

2
International Journal of Photoenergy The advance of microcontroller is applied in [20], the hill climbing algorithm is used to periodically store the MPPs values into the microcontroller and then a fuzzy logic is implemented to track the GMPP. This algorithm has long processing time and difficulties in fuzzification and defuzzification.
Lately, there are plenty of optimization algorithms implemented in MPPT controller. Among those, particle swarm optimization (PSO) is introduced in [21][22][23]. A velocity equation is used to converge the particles in the algorithm to the best solution. In order to ensure that the MPPT controller is able to converge rapidly to GMPP, three parameters in the PSO algorithm which are the inertia weight and two acceleration coefficients are required to be selected appropriately. Other than that, there are two random values used in the algorithm.
Among all the algorithms aforementioned, the optimization algorithms are the most practical algorithm during partial shading due to its global search space and converging speed. Hence, this paper introduces another optimization algorithm, differential evolution (DE). Compared to PSO, DE has only two parameters to be set. Besides, the global search space of the DE algorithm also ensures that it has higher efficiency than the P&O algorithm which only has localized search space. However, the conventional DE has no direction during the converging process. Hence, in the proposed DE, the mutation direction of the particles is modified so that they always converge towards the best particle. Other than that, a high step up DC-DC converter is used in the experimental setup. The proposed PV system is as shown in Figure 1.
This paper is organized as follow. Section 2 introduces the PV system under partial shading condition. Then, Section 3 DE and the application of DE in MPPT controller are introduced. Sections 4 and 5 are the discussion on simulation and experimental results. Finally, conclusion is made in Section 6.

PV Array under Partial Shading Condition
Normally, numbers of PV modules are connected in series or parallel to form a PV array and the power of the PV array is the combination of the power derived from each PV module. In Figure 2(a), there are two series connected PV modules and one of the PV modules is partially shaded. The shaded module will become power consumer and dissipates heat. This phenomenon can be explained by the current against voltage ( -) curve of each PV module as shown in Figure 2 If the operating current of the PV array that consists of these two series connected PV modules is at , then the shaded PV module is forced to operate at the reverse biased region. Therefore, it acts as a load instead of a power source [24]. In long term conditions, the shaded PV module will be damaged due to the localized power dissipation. Hence, the bypass diodes as shown in Figure 2(a) are added to protect the PV modules from self-heating during partial shading [25,26].
Under uniform insolation, the bypass diodes are reverse biased and have no impact. When the PV module is shaded, the bypass diode across the PV module is forward biased and the current passes through the diode instead of the PV module. However, there is a disadvantage of using the bypass International Journal of Photoenergy 3 diodes where there will be multiple peaks that appear in the -curve during partial shading conditions [27].
Conventional MPPT algorithms such as P&O algorithm search the peak of the -curve based on a localized initial point. After the first peak is tracked, P&O stops the searching as it is unable to differentiate between the global MPP (GMPP) and local MPP (LMPP). Thus, the proposed DE algorithm which is able to track the GMPP is introduced in the following section and the comparison is made between the conventional P&O and the proposed algorithm.

Differential Evolution (DE)
. Differential evolution is an evolutionary algorithm proposed by Storn and Price in 1996 for global optimization [28]. DE can be used to obtain the solution for practical problems which have nondifferentiable, noncontinuous, nonlinear, noisy, flat, multidimensional or have many local minima, constraints, or stochasticity. DE is easy to be implemented as it only requires a few parameters in the algorithm. Basically, a population of particles is required in DE and a few iterations are needed in order to generate the final solution. The differences in the particles are used to mutate each other in every iteration. Initially, DE utilizes two-dimensional target vectors, with as the population for each iteration or generation and as described in (1). The total number of particles remains the same in each iteration.
The first generation of target vectors has to be chosen appropriately and must cover the entire search space. After the results of first generation are obtained, 3 target vectors are randomly selected. Then, a mutation factor is used to weight the difference between two of the selected target vector and then the weighted difference is added into the third target vector to generate a mutated particle or so called donor vector V and the formula is as (2). This process can be explained as the competition advantage between the individuals in reallife. Each individual in a community is learning from the difference between each other and generates the better individual in order to ensure the promotion of the community. Consider the following: where is in the range of 0 to 1. From the mutation, donor vectors which consist of NP particles are generated. Then, the donor vectors are mixed with the target vectors through a process called crossover and generates the trial vectors, . The condition used in the crossover is as shown in (3), where a random number rand in the range of [0, 1] is compared to the crossover rate CR in the range of [0, 1]. Consider the following: After the crossover, a selection is made between trial vectors and target vectors . The best solutions from the selection are used as the target vectors in next generation, +1 . The process is shown as follows: Then, the process is repeated from the mutation until a termination condition is met. The flow chart for DE is as shown in Figure 3.

Application of DE in MPPT.
Under partial shading, the -curve consists of multiple peaks and the conventional algorithm like P&O is unable to always track the GMPP. Therefore, DE can be used to track the GMPP during partial shading since it has global search space and it is easy to be implemented with only two parameters required. Generally, a DC-DC converter is connected in between the PV array and the load. Then, the duty cycle of DC-DC converter is modulated to ensure that the PV system operates at the GMPP. Therefore, the duty cycle is used as the target vector, . Firstly, initialization on the duty cycle as shown in the flow chart in Figure 3 and only three particles are used in order to reduce the time consumption. Equation (1) becomes (5) in the proposed MPPT algorithm as follows: After the initialization, the powers of the PV array are obtained for the three duty cycles (0.3, 0.6, and 0.9). Then, the highest power in is selected as best and the corresponding is saved as best . If the difference among the three power values Δ is greater than 1.5%, the algorithm continues to create the donor vector DV through (6), where the mutation factor is 0.6. In the proposed algorithm, the mutation direction is ensured to be always converging towards the best solution, best by comparing 1, to best and with the condition as shown in (6) as follows: Then, donor vectors crossover with target vectors to generate the trial vector DU as shown in (7), where the CR in the proposed algorithm is 0.67. Consider the following: After obtained the trial vectors, the result for the trial vectors (DU ) or in this case are the powers of the PV array, PU have to be measured. However, the value of DU may remain as after the crossover and thus PU is also equal to . Therefore, only the power PU which does not have the same duty cycle as is measured again from the input of DC-DC converter. This process helps to reduce the searching Target vector, x i,G ; i = 1, 2, . . . NP Randomly selected 3 target vectors x r1,G , x r2,G , x r3,G Mutation to obtain donor vector i,G using equation (2) Crossover to obtain trial vector u i,G using equation (3) Selection to obtain next generation of target vector x i+1,G Obtain trial vector DU i through crossover using equation (7) Obtain the power, PU i for DU i  time. When all values of the PU are obtained, it is compared to .
From the comparison, the duty cycle which corresponds to the higher value of power is used as the next target vector according to the following: Then, the algorithm repeats from block 2 in the flow chart until Δ is less than 1.5%. Subsequently, best is used as the duty cycle of the converter and Δ is observed. If Δ is greater than 1.5%, the algorithm begins again from block 1; else, it keeps on observing Δ . Figure 4 shows the PSIM model blocks for the PV system consisting of PV array, high step-up DC-DC converter, MPPT controller, and load. The PV module used in the simulation is Kyocera KD100-36 and the specification of the PV module is as shown in Table 1. In the simulation, the sampling time of the MPPT controller is set to 0.05 s and the switching time for the MOSFET in the DC-DC converter is 50 kHz. In the simulation, two PV modules are connected in series to generate the partial shading condition. As described in Table 1, each PV module consists of two bypass diodes. Therefore, two series connected PV modules have maximum 4 peaks (4 bypass diodes) when the PV array is under 4 different levels of solar intensity. Therefore, there are four PV modules as shown in Figure 4, where one PV module represents 18 series PV cells and there are only two PV modules with the parameters as stated in Table 1. For the first case, the solar intensities are 1.0 kW/m 2 , 0.8 kW/m 2 , 0.7 kW/m 2 , and 0.6 kW/m 2 and the -curve is as shown in Figure 5(a). The proposed algorithm is used to track the GMPP and the result is as shown in Figure 6(a). As shown in the simulation result, the proposed algorithm begins the initialization by setting the duty cycle of the DC-DC converter to 0.3, 0.6 and 0.9 in order to ensure that the search space covers the whole -curve.

Simulation Results
After that, the values of duty cycle are mutated and crossed over; this process keeps on going until the difference in the power is less than 1.5%. At = 1.2 s, the algorithm stops the searching and remains at the GMPP where the power of that point is 186 W. Throughout the searching process, the duty cycle is converging to 0.3. This fulfilled the criteria of the proposed algorithm where all the particles converged to the best solution.
As a comparison, P&O is used to track the GMPP under the same partial shading condition and the result is as shown in Figure 6(b). The P&O starts the perturbation by setting the duty cycle of the converter to 0.5. At = 0.25 s; the algorithm started to oscillate around the LMPP instead of GMPP due to its disability to differentiate between the two. Therefore, P&O tracked the LMPP which has the lower power (117 W).
Another partial shading condition is simulated to ensure that the proposed algorithm is able to function well. The solar intensities are 1.0 kW/m 2 , 0.8 kW/m 2 , 0.2 kW/m 2 , and  Figure 7). The -curve is as shown in Figure 5(b) and the GMPP is at 138 W. The proposed algorithm tracked the GMPP in 1.0 s and remains to operate at the GMPP, but the P&O still failed to track the GMPP in this partial shading condition when it also tracked the LMPP (118 W).

Experimental Results
The experimental setup is as shown in Figure 8. The dsPIC from Microchip (dsPIC30F6010A) is used as the MPPT controller to implement the proposed algorithm. Meanwhile, the solar array simulator (SAS) from Agilent (E4360A) is used to generate the output characteristics of a PV array. The Agilent Solar Array Simulator (SAS) is a DC power source with 1000 Watt output and it is primarily a current source with very low output capacitance and is capable of simulating the -curve of different arrays under various conditions such as partial shading conditions. The desired -curve is programmable over the IEEE-488.2 bus and is conveniently generated within the SAS. Through the user friendly interface, the -curve and the operating point of the PV array can be observed as shown in Figure 9(a).
The experiments were conducted under the same conditions as described in the simulation. The result for partial shading of 1.0 kW/m 2 , 0.8 kW/m 2 , 0.2 kW/m 2 , and 0.6 kW/m 2 is shown in Figure 9. The proposed algorithm is able to track the GMPP and ensure that the PV system operates at 98.7% of the maximum power as shown in Figure 9(a). The waveform shows that the algorithm tracked the GMPP and stops the searching within 0.8 s. Then, the result for P&O algorithm is as shown in Figure 10. P&O tracked the LMPP in 0.2 second and it started to oscillate around the LMPP. The PV system operates at only 84.54% of the maximum power. Hence, the proposed algorithm has an efficiency of 14% higher than the P&O.
Other than that, the load of the PV system is also varied in order to indicate the response of both algorithms. The solar intensities are remaining constant at 1.0 kW/m 2 , 0.8 kW/m 2 , 0.7 kW/m 2 , and 0.6 kW/m 2 ( -curve as in Figure 5(a)). Initially, the load of the PV system is at 350 Ω, the proposed algorithm operates at the GMPP (185 W) as shown in Figure 11(a). Meanwhile, the P&O tracked the LMPP (point A) as shown in Figure 11(b) and operates at 117 W. After that, the load is increased to 700 Ω. The proposed algorithm began the initialization again and tracked the GMPP, but P&O still failed to track the GMPP and it tracked another LMPP which is point B (158 W). Then, the load is varied back to 350 Ω. The proposed algorithm is still able to track the GMPP and operates at the GMPP (185 W). The P&O algorithm returns back to point A and oscillates around that point. When there is variation of load, the proposed algorithm is able to respond accurately and remain to operate at the GMPP, but P&O failed to do so due to its localized starting point and disability to differentiate the LMPP and GMPP.
Finally, the partial shading condition is varied from 1.0 kW/m 2 , 0.8kW/m 2 , 0.2kW/m 2 , and 0.6kW/m 2 to 1.0 kW/m 2 , 0.8 kW/m 2 , 0.7 kW/m 2 , and 0.6 kW/m 2 . As shown in Figure 12, the GMPP is tracked by the proposed algorithm where the power of the GMPP is at 137 W. After that, the system operates at the GMPP until there is a solar intensity variation where the 0.2 kW/m 2 is increased to 0.7 kW/m 2 . As a result, the proposed algorithm began the initialization again and tracks the new GMPP which has the power of 185 W. Table 2 shows the advantages of the proposed algorithm and its comparison to conventional P&O algorithm [18,20]. First of all, the power efficiency of the proposed algorithm [18,20] is higher due to its ability to track the GMPP accurately. Then, the globalized search space of the proposed algorithm, [18,20] also ensures that the GMPP will not be overlooked. Even though, the search space covers the whole -curve, the mutation factor and the mutation direction help to ensure that the proposed algorithm converged faster towards the GMPP where only 1.0 second is needed for the algorithm to track the GMPP. The tracking speed of [18] is slow because the algorithm sweeps the -curve by varying the duty cycle from one end to the other and this is time consuming. Meanwhile, [20] used the Fuzzy Logic to track the GMPP which requires fuzzification and defuzzification. This not only increases the processing time, but also increases the computational load.

Conclusions
This paper has presented a DE based algorithm and applied it in the MPPT controller for the PV modules under partial shading conditions. The mutation direction of the DE algorithm is always towards the best particle in the generation and the search space of the algorithm is globalized across the whole -curve. The simulation and experimental results show that the proposed algorithm is able to track the GMPP under partial shading condition. Besides, it also operates well under load and solar intensity variations. The proposed algorithm has higher efficiency than the conventional P&O. With its ease of implementation, the feasibility and effectiveness of the proposed algorithm in practical applications have been verified in this paper.
International Journal of Photoenergy