1 Introduction

With the energy crisis and environmental pollution becoming more and more serious, there have been significant efforts in exploring new and green energy. As a kind of green energy solar energy is highly valued for its advantages of zero pollution, no regional restriction and convenient utilization [1]. Photovoltaic (PV) power generation is the most common form of solar energy utilization. Since the output power of a single solar cell is low, it is necessary to connect multiple solar cells in series and in parallel to establish a basic unit of PV module. In practice, multiple PV modules are connected in series and in parallel to form a PV array according to the requirements of voltage and power, and the PV array is then converted to appropriate voltage by the power electronic conversion device to supply loads [2]. In order to improve the efficiency of PV power generation, PV is expected to work at the maximum power point (MPP) all the time. The most widely used methods of maximum power point tracking (MPPT) at present are perturb and observe (P&O) [3, 4], hill climbing (HC) [5, 6] and incremental conductance (INC) [7]. Under uniform irradiation condition, the power-voltage (P-V) characteristic of a PV array has only one peak point, and the MPP of a PV array can be tracked accurately by using the above conventional methods. However, in practice, due to the changing environments such as the partial shading of clouds, trees, buildings and dust covering, the P-V curve of a PV array has a multimodal characteristic. Using the traditional MPPT methods, MPP tracking can easily fall into a local peak point and result in the reduction of solar energy utilization. Therefore, how to avoid falling into the local optimum and to find the global MPP efficiently is particularly important [8].

Reference [9] adopted a dual-algorithm MPPT control model combining global particle swarm optimization (PSO) and local HC mode to search the global MPP accurately. Reference [10] combined differential evolution and PSO algorithm to better adapt to static and dynamic environments for MPP tracking. Reference [11] proposed an improved dynamic multi-peak MPPT method. It combines the three-point method with the PSO algorithm, and adopts closed-loop power control to track the global MPP and optimize the dynamic characteristics effectively during continuous irradiance change. The convergence time and optimal value precision of the above three methods were improved through better PSO algorithms, but the convergence time is still relatively long, and setting the initial position of particles is difficult. Other methods such as fuzzy logic control (FLC) [12], artificial bee colony (ABC) [13], neural network (NN) [14] and ant-colony optimization (ACO) [15] were used for global optimization and have proved to be able to achieve good results.

In this paper, a novel MPPT method using flower pollination (FP) algorithm is proposed. An effective iterative termination strategy is developed to reduce the power oscillation of the system when the system has reached stable point. Simulation results show that the proposed MPPT method can track the global MPP rapidly and accurately under irradiance change and partially shaded conditions.

2 Modeling of PV module

The single diode equivalent circuit for the most common monocrystalline silicon PV cells is shown in Fig. 1.

Fig. 1
figure 1

The single-diode model of solar cells

The output current of Fig. 1 can be written as,

$$ {I}_{pv}={I}_{ph}-{I}_0\left[\exp \left(\frac{q\left({U}_{pv}+{R}_sI\right)}{AKT}\right)-1\right]-\frac{U_{pv}+{R}_sI}{R_p} $$

where Ipv is the PV cell output current, Iph is the photocurrent, and I0 is the reverse saturation current. q is the charge of an electron and Upv is the PV cell work voltage. A is the ideality factor, K is the Boltzmann’s constant, T is the cell temperature, Rs and Rp are the equalized series and parallel resistances, respectively [16].

The PV cell panel chosen in this paper is the EGing-50 W. Its parameters under standard test conditions are shown in Table 1, and the output characteristics of the PV array composed of this type of panels in series and parallel are shown in Fig. 2. It can be seen from Fig. 2 that the output curve of the PV array appears nonlinear and shows unimodal characteristics.

Table 1 Parameters of the EGing-50 W Model
Fig. 2
figure 2

Output characteristics of solar cells given in Table 1. a Under different irradiance. b Under different temperature

3 Flower pollination algorithm

Flower pollination algorithm was firstly proposed by Yang et al. in 2012 [17], and has been proved to be effective in searching for global optimal solutions within a short period. In recent years, it has been widely used to solve nonlinear optimization problems. FP algorithm can also be easily adjusted and has fewer parameters than other methods. The dynamic conversion between global search and local search can be implemented by using the conversion probability parameter, and therefore the balance between global search and local search is well solved. In addition, FP algorithm also adopts a Levy flight mechanism, which makes its global optimization ability much stronger. It is also better than PSO in convergence speed.

According to Yang et al., natural flower pollination can be divided into two basic forms of biological cross pollination and non-biological self-pollination. The following four rules are proposed according to the constancy and pollination behavior of flowers:

  1. 1)

    Biological cross pollination is considered as the global search behavior of FP algorithm, and pollination is carried out by pollinator through Levy flight mechanism.

  2. 2)

    Non-biological self-pollination is regarded as the local search behavior of FP algorithm, or local pollination.

  3. 3)

    The constancy of flowers can be considered as the probability of reproduction, which is positively proportional to the similarity of two flowers involved in pollination.

  4. 4)

    The global pollination and local pollination of flowers are regulated by conversion probability p∈[0, 1]. Due to the influence of physical proximity, wind and other factors, the conversion probability p is a very important parameter in the whole pollination process. Normally, p = 0.8 is considered to be more conducive to algorithm optimization according to the experimental study in [17].

In practice, each flowering plant has many flowers, and each flower has thousands of flower gametes. For implementing the algorithm, it is normally assumed that each flowering plant has only one flower, and each flower contains only one gamete. Therefore, each gamete is considered as a candidate solution in the solution space as

$$ {x}_i^{t+1}={x}_i^t+L\left({x}^{best}-{x}_i^t\right) $$
$$ \left\{\begin{array}{l}{x}_i^{t+1}={x}_i^t+\xi \left({x}_j^t-{x}_k^t\right)\\ {}\xi \sim U\left(0,1\right)\end{array}\right. $$

In (3), \( {x}_i^{t+1} \) and \( {x}_i^t \) are candidate solutions for the t and t + 1 generations, respectively. \( {x}_j^t \) and \( {x}_k^t \) are different pollen gametes of the same plant species. xbest refers to the current best solution, ξ is the local pollination coefficient, and L is the flying step and is subject to uniform distribution as.

$$ L\sim \frac{\lambda \Gamma \left(\lambda \right)\sin \left(\pi \lambda /2\right)}{\pi}\kern0.5em \bullet \kern0.5em \frac{1}{s^{1+\lambda }}\kern2.5em s\gg {s}_0>0 $$

where Γ(λ) is the gamma constant, s0 is the minimum step size, and λ is chosen as 1.5. In this paper, Mantegna’s algorithm is used to generate Levy flight step size L.

4 MPPT using FP algorithm

4.1 MPPT Searching Path

In order to search the entire power-duty cycle curve (P-D curve), the initial pollens need to be distributed in the entire duty cycle range. The choice of pollen number m is important for the global search. Larger number m improves the probability of finding the global optimal solution but leads to longer convergence time. Large numbers of simulations have shown that FP algorithm can accurately find the global optimal solution when the population number is three. Therefore, three pollens are adopted in this paper.

Figure 3(a) shows the search path of FP algorithm under the uniform irradiance, where variables A, B and C represent three pollens, and the upper labels of variables represent the number of iterations. During the first iteration, B0 is the closest to the MPP, so pollen B is considered to be the optimal fitness value. The iterative step of pollen depends on the distance between the current pollen and the optimal pollen, and therefore, pollen A0 and C0 are forced to move to B0. Because of the Levy flight in FP algorithm, the pollen can search global optimum from both sides of the optimal solution, which makes the pollens easy to jump out of the local peaks and reach the global optimum effectively. The convergence rate is also improved. When a pollen gets closer to the MPP, the iterative step becomes smaller, as shown in (2). When all pollens converge to the MPP, the step size decreases to zero.

Fig. 3
figure 3

The MPP searching path by FP algorithm. a Uniform irradiance. b Partially shaded condition

The searching path of FP algorithm in partially shaded conditions is shown in Fig. 3(b). At the beginning, all pollens are distributed at various locations of the P-D curve. During the first iteration, pollen B0 is in the optimal position, and thus pollen A0 and C0 are forced to leave their initial positions and move to B0. In the second iteration, C2 becomes the optimal pollen and thus other two pollens move to C2. As seen from Fig. 3(b), the global peak is located on the right of C2. Since Levy flight allows pollens to pass through the optimal position, pollen A and B can cross C2 and reach the global MPP.

4.2 Implementation of FP Algorithm

FP is a new metaheuristic intelligent algorithm, and the steps of implementing FP algorithm in MPPT are described as follows.

  1. 1)

    Initialization of parameters. The maximum number of iterations (N), pollen population number (m), duty cycle limitation (Dmin and Dmax), and conversion probability (p) are set as 15, 3, 0.2, 0.8, and 0.8, respectively.

  2. 2)

    Calculation of the fitness value of each pollen, and the optimal duty cycle and optimal power at the time.

  3. 3)

    If the condition of transformation probability p > rand is true, the duty cycle is updated according to (2).

  4. 4)

    If the condition of transformation probability p < rand is true, the duty cycle is updated according to (3).

  5. 5)

    Calculation of the corresponding fitness value of the new duty cycle from step 3) or step 4). If the fitness of the new duty cycle is better, the current duty cycle and the current fitness value are replaced with the new duty cycle and the corresponding fitness value, respectively.

  6. 6)

    If the corresponding fitness of the new duty cycle is better than the global optimal value, the global optimal duty cycle and global optimal power are updated.

  7. 7)

    Judgment of the termination condition. If the condition is satisfied, the program exits and outputs the optimal power and optimal duty cycle, otherwise switches to step 3).

The repeated iteration leads to power fluctuation for a considerable time. Thus, a termination strategy is proposed in this paper to quickly stabilize the power at the MPP and to reduce power fluctuation at system stable point. Because the initial pollen positions are dispersed, when pollen positions become concentrated, the MPP can be considered as being reached. So in the proposed strategy, when the difference of maximum duty cycle is less than 0.5%, the iteration stops.

When the partial shading or irradiance conditions change, the output power of the PV array will change accordingly. Therefore, it is necessary to restart the FP algorithm to ensure the system works stably in the new MPP. The power change rate Δp is expressed as:

$$ \Delta p=\frac{\mid {P}_a-{P}_m\mid }{P_m} $$

where Pa is the actual output power of the PV array operating at point Dm. In this paper, two restart conditions are set, i.e., natural restart and mutation restart. It is found that irradiance does not change more than 10 W/m2/s under stable natural conditions, and the corresponding output power conversion rate of the array Δp is 0.02. Thus, the natural restart condition is set to 2 min. Simulation results also show that the power change rate Δp is greater than 0.15 during sharp change of the partially shaded condition. Therefore, the mutation restart condition is set as Δp > 0.15.

5 Simulation result

In this paper, system simulations are carried out using MATLAB 2017a. The data of the EGing-50 W PV cell module is used for modeling, and the simulation model of the PV system with the proposed MPPT method is shown in Fig. 4. The main parameters for the boost converter circuit are: C1 = 470 μF, C2 = 470 μF, L = 0.3 mH, f = 50 k Hz, and R = 187 Ω. Table 2 shows the basic parameters of P&O, PSO and FP algorithms. The sampling interval for the MPPT controller is chosen as 0.03 s.

Fig. 4
figure 4

PV system structure with MPPT control in MATLAB

Table 2 Parameters of P&O, PSO and FP algorithm

FP algorithm is compared with two conventional P&O and PSO algorithms to evaluate the performance. The following three tests are conducted: (1) start-up test; (2) irradiance step change test; and (3) ability test to deal with partial shading.

5.1 Start-up Test

This test is designed to evaluate the performance of FP algorithm at start-up. Due to low power generation of the PV system at night, the PV system needs to be started every morning. The start-up test condition is set as the irradiance step changes from 0 W/m2 to 1000 W/m2, and the simulation waveforms of the three methods are shown in Fig. 5. It can be observed that the MPP searching time is 0.24 s for FP algorithm, compared to 0.36 s and 0.45 s for P&O and PSO algorithms, respectively. In addition, P&O algorithm has about 4 W power fluctuation at the MPP, which reduces the average efficiency of the PV system.

Fig. 5
figure 5

Simulation results of the three methods for start-up test. a P&O. b PSO and (c) proposed algorithm

5.2 Irradiance step change test

When clouds or birds pass through the PV array at a high speed, the irradiance will undergo a step change. In order to evaluate the performance of the proposed algorithm under this condition, a set of irradiance step changes are applied to the PV array, as shown in Table 3. Because the influence of temperature on the output power of the PV array is small, ambient temperature is kept constant at 25 °C during the whole testing process.

Table 3 Simulated conditions for step varies in irradiance

The power waveforms of P&O and FP algorithms are shown in Fig. 6. It can be seen that the steady state power loss is about 3 W for P&O algorithm when iteration converged to the MPP, while the steady state power loss is around 0 W for FP algorithm. The duty cycle of FP algorithm is always stable around PMPP.

Fig. 6
figure 6

Response of P&O and the proposed algorithm under step change

The power waveforms of PSO and PF algorithms are shown in Fig. 7. Since Levy flight in FP algorithm, it can be seen that during each irradiance step change, PF takes around 60 ms less time to converge to the MPP than that of PSO. In steady state, both algorithms can track the MPP perfectly.

Fig. 7
figure 7

Response of PSO and the proposed algorithm under step change

5.3 Ability test to deal with partial shading

When multiple batteries in the PV array are blocked in different degrees, there will inevitably have multiple knee points on the V-I characteristic curve of the whole PV array. This means that there will be multiple peak points on the corresponding P-D characteristic curve including a global peak and multiple local peaks. The conventional MPPT algorithms such as P&O and HC algorithms may not be able to distinguish these points, and in most cases, traditional algorithms may fall into a local point, causing a large amount of power loss.

Since FP is a global search algorithm, it is easy to deal with partial shading. Initially, the entire array is exposed to an unshaded condition with an irradiance of 800 W/m2, as shown in curve 1 of Fig. 8(a). The entire array has only one global peak. After 1 s, the PV array is under partial shading with the irradiance of 1000 W/m2, 800 W/m2 and 400 W/m2 respectively, as shown in curve 2 of Fig. 8 (a). The P-D curve of the PV array then has three peak points including a global peak and two local peaks. When the PV array is under the partially shaded condition, all operating points switched from curve 1 to curve 2. If the conventional P&O method is used at this point, the operating point is moved to the nearest peak point as indicated by the arrow in Fig. 8(a). Obviously, this point is the local peak, which leads to a large amount of power loss and reduced system efficiency. When PF algorithm searches the global MPP, the new pollen is dispersed to the entire duty cycle interval. Since the new duty cycle is located at various positions of the P-D curve, FP algorithm will not fall into any local peaks. After multiple iterations, PF algorithm reaches for the global MPP, as shown in Fig. 8(b).

Fig. 8
figure 8

P-D characteristics for MPP tracking under partially shaded conditions. a P&O and (b) the proposed algorithm

In the case of partial shading, the simulation waveforms of P&O and FP algorithms are shown in Fig. 9. It can be seen that when partial shading occurs, the local peak with power of 66.4 W is searched in a relatively short time by P&O algorithm. This result is consistent with the P-D curve in Fig. 8 (a). On the other hand, FP algorithm converges to the global MPP of 81.5 W after 0.21 s. In the searching process of FP algorithm, it can be observed that the output power has a large fluctuation before converged to the global point, which is caused by the randomness of FP algorithm and Levy flight trajectory. However, such transient behavior has little impact on the PV power generation system in practice, because the transient duration is almost negligible compared with the steady state duration.

Fig. 9
figure 9

Tracking performance by P&O and proposed algorithm under partially shaded conditions.

6 Conclusion

A MPPT method based on FP search algorithm has been proposed in this paper. The proposed FP algorithm was compared with two well established MPPT methods, i.e. P&O and PSO algorithms. The following conclusions can be obtained:

  1. 1)

    Compared with traditional P&O algorithm, FP algorithm can effectively shorten the start-up time of PV systems, reduce the steady-state output power oscillation after irradiance step change, and improve the output efficiency. It also improves the system response speed and the tracking efficiency during irradiance step change.

  2. 2)

    Compared with the traditional MPPT methods, FP algorithm requires less parameters to be adjusted, which simplifies the complexity of the method.

  3. 3)

    The proposed algorithm can easily deal with partial shading of PV arrays, reduce the power loss caused by misrecognizing the local point, and improve the efficiency of PV power generation.