Abstract

This paper proposes a modified maximum power point tracking (MPPT) algorithm for photovoltaic systems under rapidly changing partial shading conditions (PSCs). The proposed algorithm integrates a genetic algorithm (GA) and the firefly algorithm (FA) and further improves its calculation process via a differential evolution (DE) algorithm. The conventional GA is not advisable for MPPT because of its complicated calculations and low accuracy under PSCs. In this study, we simplified the GA calculations with the integration of the DE mutation process and FA attractive process. Results from both the simulation and evaluation verify that the proposed algorithm provides rapid response time and high accuracy due to the simplified processing. For instance, evaluation results demonstrate that when compared to the conventional GA, the execution time and tracking accuracy of the proposed algorithm can be, respectively, improved around 69.4% and 4.16%. In addition, in comparison to FA, the tracking speed and tracking accuracy of the proposed algorithm can be improved around 42.9% and 1.85%, respectively. Consequently, the major improvement of the proposed method when evaluated against the conventional GA and FA is tracking speed. Moreover, this research provides a framework to integrate multiple nature-inspired algorithms for MPPT. Furthermore, the proposed method is adaptable to different types of solar panels and different system formats with specifically designed equations, the advantages of which are rapid tracking speed with high accuracy under PSCs.

1. Introduction

The output power of photovoltaic (PV) systems is generally nonlinear, particularly when influenced by rapidly changing environmental conditions. Additionally, the power-voltage characteristic (P-V curve) of a PV system exhibits a unique maximum power point (MPP), which is affected by solar irradiance and ambient temperature. To ensure the maximum power is harvested, various MPP tracking (MPPT) algorithms have been designed to operate a PV system at the MPP. However, when partial shading conditions (PSCs) occur, PV modules receive different amounts of solar irradiance due to shadows. Under PSCs, the P-V curve exhibits multiple local maximum power points (LMPPs), thereby causing difficulties for conventional MPPT methods in identifying the global maximum power point (GMPP) from the LMPPs [13].

Numerous nature-inspired algorithms have been designed for MPPT under PSCs [46]. Evolutionary algorithms such as particle swarm optimization (PSO) methods have effectively addressed the problem of reaching GMPP [7, 8]. In addition, the firefly algorithm (FA) [9, 10], cuckoo search (CS) [11], flower pollination algorithm (FPA) [12], and intelligent monkey king evolution (IMKE) [13] have good potential to handle the MPPT optimization problem. Among the various evolutionary techniques, the genetic algorithm (GA) can solve nonlinear stochastic problems and accurately extract the GMPP [14, 15]. However, the performance of the GA is determined mainly by the random coefficient [3]. In addition, the conventional GA is not suitable for MPPT due to its complicated calculation, which reduces the convergence speed and lowers the accuracy under PSCs [2, 16]. As a result, modified GA methods have been proposed to accelerate the processing speed based on (1)Reduced population size [14](2)Simplified mutation processes [17](3)Simplified calculation of crossover and attractive processes [15]

However, the accuracy of these methods tends to decline with decreasing processing time. In order to improve the accuracy of the MPPT algorithms, in this paper, we propose integrating a modified GA with the FA and further improve the calculation process by the differential evolution (DE) algorithm. More specifically, the proposed algorithm employs the FA attractive process and DE mutation process and simplifies the calculation of GA and FA to decrease iterations. To our knowledge, this is the first study that evaluates the fusion of the GA and FA for MPPT [5, 6]. In addition, the proposed algorithm can overcome the high execution time and low convergence speed issues of the conventional GA. The advantages of the proposed algorithm are rapid response time with high accuracy under PSCs.

2. Methodology

The processes of the GA, FA, and DE algorithms are demonstrated in Figure 1. The GA is an optimization method for extracting solutions based on “survival of the fittest” evolutionary law, the primary processes of which are crossover, mutation, and selection. In addition, fitness of individuals is calculated for the selection mechanism. The FA is based on the behavior and flashing of fireflies, where the attractiveness is proportional to the brightness of a firefly. With the FA, fireflies converge into an optimal solution by the attractiveness [4, 9, 10]. With respect to the DE algorithm, although its architecture is similar to the GA, they differ in their mutation processes [16].

As demonstrated in Figure 2, the process of the proposed algorithm is based on the conventional GA. The differences between the proposed method and the GA are the mutation and attractive processes. Firstly, the individuals are initialized by open circuit voltage (), after which the initial fitness of each individual is calculated. In this process, the individuals are positioned in four voltage points of the P-V curve, as shown below: where is the voltage of the initial individuals. The corresponding output power of the positions is taken as the fitness. The fitness of the individual that has the maximum power output is set to 1 for normalization, while fitness of the other individuals is calculated by where and are the fitness and output power of individual number i, respectively. In addition, is the maximum power output of the individuals.

The main steps in an iteration include (1) mutation process, (2) attractive process. (3) crossover and reproduction of new individuals, (4) fitness calculation, (5) next-generation selection, and (6) convergence judgment. Iterations are repeated until convergence conditions are satisfied; that is, the GMPP is found.

In the mutation process in this study, the random procedure of the conventional GA algorithm is modified to avoid fitness decay or individuals with higher fitness from being discarded after the mutation process. The operating voltage of each individual is adjusted to move to a higher power point using the following equation: where is the voltage adjustment, is the slope of the individual on the P-V curve, is the fitness, and and are variables used for fine-tuning. The optimized values of and are set as and , respectively, as determined from trial and error experiments. For the sake of simplicity, the slope of individual is derived from where and are the operating voltage and current of individual , , and is the current when operated at voltage . The relationship between slope , fitness , and voltage adjustment is shown in Figure 3, where individuals with a low slope and low fitness lead to a greater voltage adjustment; in this manner, the convergence speed can be improved.

In the attractive process, each individual is attracted by others and move their position (operating voltage) according to attractiveness. The attractiveness between two individuals is calculated by where is the position/voltage movement, is a random coefficient, is the attractiveness at zero distance (D = 0), is a variable for fine-tuning, and is the distance between two individuals. To improve the convergence speed, the randomization parameter is modified to vary within , while the parameter is set as in this study. To refine the other parameters, the voltage movement , distance between two individuals , and parameter in the attractive process are further analyzed. Figure 4 demonstrates that the position movement is inversely proportional to and . However, the distance between two individuals might be affected by other processes. As a result, the optimized value of is set as , as determined by trial and error experiments for better convergence speed.

During the crossover process, new individuals are generated, the parents of which are selected randomly. The voltage of the offspring is calculated by where represents the offspring individual, and and are the operating voltages of the parents.

The total population number should be kept the same before and after the crossover and selection processes. For example, if the population number is set as four, two individuals will be generated after the crossover process. As a result, in the selection process, four out of six individuals must be selected for the following procedure. The fitness of each individual is calculated for selection using (2).

In the convergence judgment process, successful convergence is judged by the following equations: where is the fitness of individual number i calculated by (2), represents the population number, and denotes the fitness of the individual which has the maximum power output. In addition, and represent the maximum and minimum voltages of the individuals, respectively. If the fitness summation of the individuals is larger than 98.75% of the maximum fitness multiplied by , and the distribution range of the individuals’ voltages is less than 5% , convergence is judged as satisfied. Then, the individual with the highest fitness is considered as the MPP. These two criteria were determined by experimental experience in this research. In this study, the major convergence judgement is based on (7), which uses fitness summation as the criterion. On the other hand, (8) is used as an auxiliary filter to ensure the distribution range of the individuals’ voltage remains within one interval. The experimental PV array was composed of four series-connected modules; consequently, the maximum interval number of the array’s P-V curve under PSC was 4, which corresponds to 25% for each interval. Based on the simulations, setting 1/5 of each interval () as the filter’s criterion could obtain acceptable results.

3. Simulation

The proposed algorithm was first simulated by MATLAB R2016a software, the system blocks for which are shown in Figure 5. The input irradiance patterns and the PV array for evaluation were carried out using the Simulink toolbox. The PV array was composed of four series-connected modules (module numbers 1–4). Parameters of the experimental modules are shown in Table 1. As illustrated in Figure 6, the irradiance for which could be individually programmed for each module to generate partial shading condition (PSC) patterns. The setup of the 10 different PSC patterns (numbers 1–10) is shown in Table 2. The P-V curves of the 10 PSC patterns and their corresponding GMPPs (numbers 1–10) are depicted in Figure 7. The purpose of the 10 irradiance setups is to simulate patterns that have 1–4 LMPPs with their respective GMPP located at different intervals.

The MPPT algorithms implementation was carried out using MATLAB M-file programming. The process flow of the GA, FA, and proposed algorithm, illustrated in Figures 1 and 2, could be implemented by MATLAB code. Pseudocode 1 demonstrates the MATLAB pseudocode of the proposed algorithm and denotes the explanations of the program after the double slashes. The PSC patterns are fed to the MPPT programs. Figure 8 demonstrates the iteration process of the proposed algorithm, for which pattern number 9 was used for evaluation. It was observed that the MPP was found by the proposed algorithm after 4 iterations.

Generate initial population
Initial fitness of initial individuals is determined by Eq. (2).
while (limit the execution times (max generations))
 while (convergence judgement conditions unsatisfied)
  //mutation process
  for i=1:4 //individual number
   calculate slope S of individual i by Eq. (4).
   calculate voltage adjustment VM of individual i by Eq. (3).
  end for i
  //attractive process
  for i=1:4 //individual number
     for j=1:4 //individual number
   if (i≠j)
    calculate distance D between i and j.
    calculate voltage movement VA of individual i by Eq. (5).
   end if
     end for j
  end for i
  //crossover process
     select parents for new individuals randomly.
     calculate the voltage of offspring VO from their parents‘operating
     voltages VRA & VRB using Eq. (6).
  //selection process
  for i=1:6 //4 parents and 2 offspring
     calculate fitness of each individual using Eq. (2).
  end for i
     sort the fitness of the individuals
     define the individual with the highest fitness as MPP.
     discard 2 individuals with the lowest fitness.
  //convergence process
  for i=1:4 /the rest of the individuals
     execute convergence judgement using Eq. (7) and Eq. (8).
  end for i
 end while (max generations)
iteration number = iteration number + 1 //record iteration number
end while (conditions are satisfied)
output the operating voltage of the MPP and the iteration number.

It is important to determine the number of data points (population) for the searching processes because the data amount impacts the response time and accuracy of a searching algorithm. Although using less data points reduces the response time, the accuracy decreases. Conversely, using more data points improves the searching accuracy, but the measurement and calculation time increases. As a result, in order to decide the optimal population number for locating the MPPT using the proposed method, we first simulated the tracking performance of the conventional GA, FA, and the proposed algorithm under uniform irradiance (pattern number 1) with different population numbers. Evaluations were conducted under the same conditions for the three algorithms, and all experiments were performed with uniformly distributed initial positions of the individuals. In addition, the convergence judgement criteria, according to (7) and (8), were the same for all algorithms. The simulation was executed 100 times. The difference between the power of the estimated MPP and the power of the actual MPP is considered an error, which can be calculated by where is the error, while and are the estimated MPP power and the actual MPP power, respectively. In addition, the number of iterations and execution time required for each algorithm to reach convergence were counted for tracking speed comparison. All simulations were conducted using a computer with a standard Intel i7-4790K CPU and Windows 7 operating system.

Tables 35 list the simulation results of the tracking performance under uniform irradiance using GA, FA, and the proposed algorithm, respectively. The population number was evaluated from 3 to 6 for these three algorithms. From Table 3, it can be observed that the GA takes the shortest execution time using 4 data points. On the other hand, Table 4 shows that the most data points (6 fireflies) used by FA lead to the shortest execution time. However, as shown in Table 5, with the proposed method, more data points increase the iterations, and so more time is needed for searching. In addition, the accuracy generally improved by increasing the population number for all three algorithms. In order to further investigate the tracking performance of the proposed method with different population numbers under PSCs, irradiance pattern number 9 was used for evaluation. Table 6 lists the averaged iterations, execution time, and corresponding tracking error with different population numbers. It can be found that with 4 data points, the proposed algorithm has the best execution time and tracking accuracy.

Consequently, considering the shorter execution time and reasonable tracking accuracy, the population number of 4 was chosen for further evaluation experiments. All 10 irradiance patterns were used for further experiments under different PSCs with the proposed algorithm. In addition, the conventional GA and FA were employed for comparison. The parameter settings for each method are presented in Table 7. All experiments were conducted under the same conditions for the three algorithms, with uniformly distributed initial positions and the same convergence judgement criteria. The simulations were executed 100 times for iterations, execution time, and error calculation.

The simulation results of the tracking speed and accuracy using the GA, FA, and proposed algorithm are shown in Table 8. From the results, the maximum tracking errors of the GA and FA occurred with pattern numbers 4 and 7 and were caused by being trapped at the LMPPs. The trapping at LMPPs phenomenon of the GA might be the result of its random mutation process, while the trapping phenomenon of the FA might be due to its random attractive process. In the proposed algorithm, these two random processes are modified; therefore, the tracking accuracy is improved.

Table 9 summarizes and compares the averaged iterations, execution time, and errors of the 10 simulation patterns. The differences between the averaged iterations required for the 10 simulation patterns using the proposed algorithm and GA/FA were around 6.85 and 5.36, respectively. Furthermore, the averaged reduction of the execution time using the proposed algorithm was around 0.078 (s) compared with the GA and 0.075 (s) compared with the FA. In other words, the averaged time reduction using the proposed method was around 68.4% of the GA and 67.6% of the FA. Moreover, the averaged tracking error of the proposed algorithm was reduced around 6.98% compared with GA and 6.31% compared with FA.

4. Evaluation Results

To further verify the MPP tracking speed and tracking accuracy of the proposed method, a hardware evaluation system was installed, as illustrated in Figure 9. An I-V curve simulator (Chroma, 62020H) was utilized to program different PSC patterns as the PV source. A DC-DC buck converter controlled by a pulse width modulation (PWM) signal was used as the interface to feed the output power of the PV source to a programmable electronic load (Keysight, N3300A). The specifications of the buck converter are listed in Table 10. The MPPT algorithms for evaluation were coded and executed using a programmable system-on-chip controller (Cypress, PSoC4), which has an ARM Cortex-M0 core running at 48 MHz. The input/output voltage and current (, , , and ) of the buck converter were measured by the PSoC’s onboard programmable analog-to-digital (A/D) converters. All evaluation experiments were conducted and controlled by a PC software programmed in LabVIEW (National Instruments). Figure 10 presents a photograph of the evaluation system.

The slew rate of the adopted converter was approximately 0.112 V/ms. In addition, the maximum voltage adjustment needed for the three experimental algorithms to move the operating points was around 11.6 V (across one interval). As a result, the maximum transition time needed to reach steady state was approximately 96 ms. Consequently, a 200 ms delay time was set to ensure a stable output for each voltage adjustment. Figure 11 illustrates the execution procedure of one iteration for the experimental algorithms. At the beginning of an iteration, the algorithms calculate the operating voltages of the individuals. Then, the duty cycle of the PWM signal is adjusted sequentially for each individual so that the PV array operates at the designated voltage. Since different conversion rates and time constants of the converter will significantly influence the total MPPT time, we summarized the net calculation times of the algorithms as the execution times for comparison.

Settings of the PV array and the irradiance patterns for evaluation were the same as the simulation. The simulation results of pattern numbers 6, 7, 8, and 10 were similar to the other 6 patterns. For simplification, these 4 patterns were eliminated and the other 6 representative patterns, shown in Table 11, were conducted for evaluation experiments.

Table 12 shows and compares the three evaluation results (iterations required, execution time, and tracking error) of the three methods (GA, FA, and the proposed method). From the results, the maximum tracking errors of the GA and FA occurred with pattern number 4 and were found to become trapped at the LMPPs, which also occurred in the simulations. In the proposed algorithm, the random processes are modified; therefore, the tracking accuracy is improved. Table 13 summarizes and compares the averaged iterations, execution time, and tracking errors from the 6 evaluation patterns. The differences between the averaged iterations required for the 6 simulation patterns using the proposed algorithm and GA/FA were around 10.16 and 6.99, respectively. Furthermore, the averaged reduction of the execution time using the proposed algorithm was around 0.202 (s) compared with the GA and 0.067 (s) compared with the FA. In other words, the averaged time reduction using the proposed method was around 69.4% of the GA and 42.9% of the FA. In addition, the average tracking error of the proposed algorithm was reduced around 4.16% compared with the GA and 1.85% compared with the FA.

5. Discussion and Conclusion

Although the conventional GA can accurately extract the GMPP under PSCs, implementation is challenging due to its complicated calculation. Though the calculation could be simplified, accuracy tends to decline with decreasing processing time. In addition, simplified calculation processes might cause search results to become trapped at LMPPs. In order to solve this issue, this work proposes a fusion algorithm that integrates three nature-inspired algorithms for MPPT. The proposed algorithm simplifies the calculation of the GA with the integration of the mutation process of DE and modifies the attractive process of FA. The simulation and evaluation results demonstrate that the proposed algorithm offers rapid tracking speed and high accuracy despite PSCs due to the simplified processing. In addition, the long execution time and low convergence speed issues of the conventional GA can be improved using the proposed processes. Table 14 presents a qualitative comparison of the proposed method with the GA, FA, and other algorithms. The performance evaluation of the MPPT techniques are qualitatively weighed using (1) tracking speed, (2) tracking accuracy, (3) trapping at LMPPs, (4) steady-state oscillation, (5) complexity, and (6) execution time. In addition, the parameters are gauged qualitatively as “high,” “moderate,” and “low.” As can be seen, the tracking speed and tracking accuracy of the proposed method are found to be superior to the conventional GA and FA. Furthermore, the proposed method reduces the complexity and accelerates the execution time. Consequently, the proposed method could be considered one of the most promising substitutes for existing methods. Moreover, this research provides a framework to integrate multiple nature-inspired algorithms for MPPT.

However, the proposed approach has not been optimized and future studies could investigate the feasibility of process optimization and fusing other algorithms using this framework. In addition, in order to enable the proposed method to accommodate different types of solar panels, the calculation equations and parameter settings were specifically designed to be related to . Furthermore, in this work, the experimental PV array was composed of four series-connected modules; consequently, the maximum interval number of the array’s P-V curve under PSC was 4, and so the optimal population number was also 4. Accordingly, this model could be used and expanded to different 4-group PV arrays. However, for different system formats, for example, if 8 or more PV groups are connected as an array, the population number, parameters , , , , and , as well as the convergence criteria of (7) and (8), should be refined for better performance. Future studies could explore the optimal number of parameters for different system formats.

Conflicts of Interest

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

The authors would like to thank the Ministry of Science and Technology, R.O.C., for financially supporting this research under Contract no. MOST 106-2221-E-507-005.