Keywords

1 Introduction

The widespread usage of solar energy for diverse range of applications like water pumping, communications, satellites and space vehicles and large-scale power plants can be noticed in the recent past [1]. Even though solar power is employed in many areas, the main shortcomings vested with it includes low energy conversion efficiency, huge initial expense incurred and reduction in power output during varying atmospheric conditions. In order to operate the system effectively and to harvest maximum power output from solar PV, maximum power point tracking (MPPT) algorithms are essential [2].

A lot of MPPT algorithms can be noticed on performing a thorough literature survey, which includes the well-accepted ones such as fractional open circuit voltage [3], fractional short-circuit current [4], perturb and observe (P&O) [5], incremental conductance (Inc. Cond.) [6] and hill climbing (HC) algorithm [7]. As already mentioned above, identification of maximum power point (MPP) is not possible by aforementioned methods owing to increased power loss due to steady-state oscillations, which in turn paves way for lowered efficiency. To mitigate these ill effects, artificial intelligence (AI) methods including neural network (NN) [8] and fuzzy logic control (FLC) [9] have been put forward for MPPT. Even though their performance is better than conventional methods, they are complex as they need periodic training, ability to handle large volume of data for training, computational burden as well as high memory capacity.

As an alternate approach, bio-inspired methods were utilized for MPP tracking [10, 11]. Amongst different methods, PSO is widely used for solar MPPT since it yields better results. However, system performance is tampered in consequence to its random nature. Even though many modifications were incorporated to conventional PSO method, the improvement in performance was not significant. Moreover, it requires definite parameter tuning which is cumbersome along with prolonged settling time.

Hence, with an aim to accurately track the global peak power even under partial shading conditions without much complexities and modifications, a recently developed meta-heuristics algorithm namely fireworks algorithm is used for global MPP tracking. This stochastic optimization technique is capable of solving nonlinear and complex numerical computation problems effectively and is successfully applied in various fields of practical optimization problems. This algorithm simulates the process of fireworks explosion in night sky to search the optimal solution of the given problem. This method assures faster convergence, reduced steady-state oscillations and minimal power fluctuations. The ability of this algorithm to perform exploration along with exploitation makes it distinct from the existing optimization techniques. This method is well efficient to carry out global as well as local search simultaneously, which is essential for global MPP tracking and henceforth it is chosen in this work.

2 Modelling of PV Module

2.1 Single Diode Model

The conventional way employed to depict the nonlinear characteristics of solar cell is to portray it with the photovoltaic power modelled as current source in parallel with a single diode along with a series and shunt resistance as it can be seen in Fig. 1. This topology is termed single-diode model which is simple and moderately accurate [12]. The resistances \( R_{\text{s}} \) and \( R_{\text{p}} \) represent the voltage drop due to metal grid, contacts and leakage losses, respectively.

Fig. 1
figure 1

Single-diode model for PV modeling

The output current of solar PV module obtained according to this model can be formulated using KCL and is given below:

$$ I = I_{\text{pv}} - I_{D} - \frac{{V + IR_{\text{s}} }}{{R_{\text{p}} }} $$
(1)

where

\( I_{\text{D}} \) is the diode current, and

assuming the diode to be ideal, its current equation is given by

$$ I_{\text{D}} = I_{\text{o}} (e^{{{{V_{\text{D}} } \mathord{\left/ {\vphantom {{V_{\text{D}} } {aV_{t} }}} \right. \kern-0pt} {aV_{t} }}}} - 1) $$
(2)

where \( a \) is the ideality constant of diode, and \( V_{t} \) is the thermal voltage defined by the following equation for any value of temperature T:

$$ V_{t} = {{N_{\text{s}} kT} \mathord{\left/ {\vphantom {{N_{\text{s}} kT} q}} \right. \kern-0pt} q} $$
(3)

where \( k \) is the Boltzmann constant = \( 1.3805 \times 10^{ - 23} \,{\text{J/K}}, \) \( T \) is the cell temperature in Kelvin, \( q \) is the electron charge which is equal to \( 1.6\, \times 10^{ - 19} \,C \), \( N_{\text{s}} \) is the number of cells in series constituting the PV module.

3 Overview of Fireworks Algorithm

Fireworks algorithm FWA which falls under the category of meta-heuristic algorithms was developed by Tan Y. and Zhu Y. in 2010. It is a powerful global optimization technique and is based on intelligent behaviour of swarms. This algorithm simulates the process of fireworks explosion in night sky to search the optimal solution of the given problem [13]. In FWA, numbers of fireworks (particles) are generated in the search space and a stochastic explosion process is initiated for each firework. On completion of the explosion process, a shower of sparks that are generated as a result of firework explosion fills the local space surrounding the exploded firework. Both the fireworks as well as the newly generated sparks represent the potential solutions in the desired search space. For effectively searching the global optimum in the problem space, the algorithm makes use of explosion sparks generated by explosion operator and Gaussian mutation sparks by Gaussian mutation operator. The key feature of this algorithm is its ability to properly balance between exploration as well as exploitation. Exploration refers to the ability of the method to explore various regions of the search space in order to locate promisingly good solutions, whereas exploitation is the feature to conduct a thorough search within smaller area to obtain the best solution. Further, it is characterized by global search capability at beginning followed by effective local search at the end. Gaussian mutation sparks are generated to enhance the local search capability as well as to ensure the diversity of the swarm.

The equations involved in the calculation of sparks and amplitude are listed below:

$$ S_{i} = m * \frac{{f_{\hbox{max} } - f(x_{i} ) + \varepsilon }}{{\sum\nolimits_{j = 1}^{p} {\left( {f_{\hbox{max} } - f(x_{j} )} \right) + \varepsilon } }} $$
(4)
$$ A_{i} = A*\frac{{f(x_{i} ) - f_{\hbox{min} } + \varepsilon }}{{\sum\nolimits_{j\, = \,1}^{p} {\left( {f(x_{j} ) - f_{\hbox{min} } } \right) + \varepsilon } }} $$
(5)
$$ S_{i} = \left\{ {\begin{array}{*{20}l} {S_{\hbox{min} } } \hfill & {} \hfill & {S_{i} < S_{\hbox{min} } } \hfill \\ {S_{\hbox{max} } } \hfill & {{\text{else}}\,{\text{if}}} \hfill & {S_{i} > S_{\hbox{max} } } \hfill \\ {S_{i} } \hfill & {\text{else}} \hfill & {} \hfill \\ \end{array} } \right. $$
(6)

where \( m \) is a parameter for controlling the total number of sparks generated by the fireworks, \( A \) is the amplitude of maximum explosion which is used in order to balance the global and local search, \( p \) is the size of the swarm, \( f_{\hbox{max} } \) and \( f_{\hbox{min} } \) are the maximum and minimum objective values among the \( p \) fireworks, \( \varepsilon \) is a constant to avoid zero-division error. The lower and upper bounds are defined for \( S_{i} \) to avoid overwhelming effects of splendid fireworks.

3.1 Problem Formulation

The ultimate objective of every MPPT technique is to maximize the amount of power drawn from a solar PV array by adjusting the duty cycle of the power converter. In this work, FWA is implemented with a focus on global peak power tracking. Hence, the objective function to be maximized given in [10] is followed for implementing MPPT using FWA which is given as:

$$ P(d_{i}^{t} ) > P(d_{i}^{t - 1} ) $$
(7)

where, \( P(d_{i}^{t} )\, \) present power of ith particle at tth iteration. \( P(d_{i}^{t - 1} ) \) old power of ith particle at (t − 1)th iteration.

Subject to the constraints \( V_{i}^{\hbox{min} } \, \le \, V_{\varepsilon }^{t + 1} \,V_{i}^{\hbox{max} } \), \( 0.05 \, < \, d_{i}^{t + 1} \, < \, 0.95 \)

The process involved in identifying the optimal duty cycle with the aid of FW is thoroughly explained below.

To begin the search process, three randomly generated duty cycles (\( d_{1} ,\,d_{2} ,\,d_{3} \)) are sent to the power converter and the corresponding power values are noted. The respective duty cycles are marked as a, b and c in the curve shown in Fig. 2. The duty cycle with highest power value will be regarded the best duty cycle which is retained, whereas other duty cycles are suitably adjusted according to the calculated values of amplitude and sparks of explosion given in Eq. (5). To ensure the diversity among sparks and to enhance local search capability, two new duty cycles are generated with the help of Gaussian mutation operator applied to the best values. The updated duty cycles (particle position) at this stage are again sent to the power converter and corresponding power values are recorded. Further, duty cycles are sorted according to their powers and the two worst values are deleted so as to maintain the population size constant after the first iteration. In the second iteration, the same steps are repeated after computing the new values of amplitude and sparks. This process is continued until all the particles converge to the MPP. Similar procedure is followed for partial shading condition as well.

Fig. 2
figure 2

Identification of partial shading condition under different duty cycles

4 Simulation Results

The system configuration is depicted in Fig. 3. It comprises of a DC–DC boost converter, digital controller, voltage and current sensors connected at the input end of the boost converter. Digital controller is used to code the proposed as well as conventional MPPT algorithms. For simulation, a dedicated MATLAB/SIMULINK model is developed for FW method along with the other two conventional algorithms. DC–DC boost converter is operated at a switching frequency of 10 kHz with L and C values of 1 mH and 100 μF, respectively. The boost converter is operated in continuous conduction mode and the algorithms are tested for two different conditions: (1) uniform irradiation (2) partial shading. The chosen FW parameter values are p = 3, A = 0.3 and \( \varepsilon \) = 0.001. In this work, the sampling time is chosen as 0.06 s for simulation. The panel selected for study is Kotak KM80 whose rated maximum power is 80 W and a string comprising of four such modules (4S configuration) is chosen.

Fig. 3
figure 3

System configuration

4.1 Uniform Irradiation Condition

Simulation results showing voltage, current, duty cycle and tracked power waveforms under uniform irradiation (1000 W/m2) using HC method, Inc. Cond, and FWA are presented in Fig. 4. For HC and Inc. cond. Method, a fixed step size of 0.02 is applied at an interval of 0.06 s. From Fig. 4a, b, it is clearly evident that steady-state oscillations persist around MPP for HC and Inc. Cond. method. Whereas in case of FW algorithm, three randomly generated initial duty cycles are sent to the boost converter. These duty cycle values are updated applying FW algorithm until global peak is reached. Further, it indicates after two iterations, FW algorithm settles at MPP with zero steady-state oscillations.

Fig. 4
figure 4

a Simulated results of voltage, current and power using HC algorithm for constant irradiation. b Simulated results of voltage, current and power for Inc. Cond. constant irradiation condition. c Simulated results of voltage, current and power tracked for FW algorithm constant irradiation

4.2 Partial Shading Condition

Simulation results are taken for HC, Inc. Cond and FW considering partial shading conditions of 1000–800–600–400 irradiation. The simulation result of all the three methods for the chosen shading pattern is shown in Fig. 5. From the obtained simulation results shown above, the following conclusions can be made. HC method utterly fails to track the global peak power value and converges to one of the local peak values around 60 W. This as clearly noticed in Fig. 5a is purely inadmissible since it results in significant power loss. In addition, there exists a steady-state oscillation which adds to the existing power loss. Moreover, it takes longer time to settle even at the local peak. While analyzing the performance of InC method under partial shading condition, it is seen that the method yields higher power value of 120 W which is still not the global peak. This is due to the reason that the initial duty cycle value chosen is closer to the corresponding local peak. This is expected since there is no information about the optimal duty cycle value that yields maximum power for the shaded pattern. From FWA simulation results shown in Fig. 5c, it is apparently evident that the method converges to the global peak power of 150 W. This provides proof for the statement that FWA possess excellent global search capacity along with well-defined local search. Further, the power fluctuations are nullified once the method has converged to the optimal value. In addition, the method takes fewer steps to converge to the best possible solution yielding good dynamic performance as well. The obtained results ensure the effectiveness of the chosen FWA for accurate global MPP tracking.

Fig. 5
figure 5

a Variation in irradiation level, voltage, current, duty cycle, power using HC algorithm for the shading pattern. b Variation in irradiation level, voltage, current, duty cycle, power using Inc. Cond. for the shading pattern. c Variation in irradiation level, voltage, current, duty cycle, power using FW algorithm for the shading pattern

5 Conclusion

In this paper, a recent optimization technique, fireworks algorithm, was utilized for global MPP tracking was presented. The Proposed method along with HC and incremental conductance were tested using simulation for uniform as well as partial shading conditions. Based on simulation results, the following conclusions were obtained. Fireworks method was found to have good tracking ability even under varying environmental conditions, with almost zero steady-state oscillations, providing good tracking speed along with ease in implementation.