Introduction

The output power of Solar PV (SPV) systems mainly depends on the weather conditions and in particular, the temperature of PV cells (Tcell) and the irradiation (Gcell). In SPV systems, Maximum Power Point Trackers are used for maximum power harvesting by controlling the DC–DC converter employed in it. Numerous MPPT methods have been proposed over the past two decades [1,2,3]. MPPT algorithms are categorized as model-free and model-based techniques [4]. Perturb and Observe (PnO) MPPT, Hill Climbing MPPT, Incremental Conductance (InC) technique, Open circuit voltage (Voc) and Short circuit current (Isc) are some of the other model free techniques [3,4,5,6,7,8,9,10]. PnO MPPT technique is the most commonly used model-free MPPT method [5]. Artificial Intelligence (AI) based techniques and MPPT algorithms using bio-inspired evolutionary computing technique are categorized as model-based methods [3,4,5, 8,9,10]. MPPT algorithms developed using Fuzzy Logic Control (FLC), Neural Network (ANN), Genetic Algorithm (GA), and optimization techniques such as Particle Swarm Optimization (PSO), Ant colony Optimization (ACO), Elephant Herding Optimization (EHO), Grey Wolf Optimization (GWO) can be found in literatures [11,12,13]. The model-free methods use the instantaneous values such as current (Ipv), voltage (Vpv) and/or power (Ppv) of the SPV module for MPP searching and to generate the duty cycles. But, the model-based methods use the physical parameters like Voc, Isc of the SPV module or sometimes solar irradiation (G) and temperature (T) of the cell to produce the control signals.

The conventional and most accepted MPPT method is the PnO MPPT method. PnO method adjusts the operating point based on the slope of the characteristics curve of PV. PnO MPPT technique is comparatively simple and its implementation is also easy. But, it has poor tracking efficiency, especially under varying weather conditions. The other model-free methods like Ripple Current Correlation (RCC) MPPT can trace the MPP effectively. However, they have complexity in hardware implementation. The issue asscoaited with Short Circuit current and Open Circuit Voltage MPPT techniques is that Isc and Voc can be measured only by isolating the source from the load. Hence, the system need to be disconnected from the source in a regular interval for the measurement both Isc and Voc. This leads to power loss and reduction of efficiency. The AI techniques offer several advantages when compared to conventional methods. The MPP searching methods based on AI techniques and bio inspired optimization methods are capable to provide faster response, tracking is comparatively more accurate and they are more efficient.

Fuzzy Logic Control (FLC) is capable of handling non-linear systems and works well even if the input(s) are not precise. But, expert knowledge about system dynamics is significant for the development of Fuzzy based controllers. In the case of Fuzzy MPPT algorithms, the input, output Membership Functions (MFs) and Rule base (RB) are optimized in trial and error basis based on the knowledge of the expert. This process is time-consuming. Moreover, the complexity increases as the number of membership functions and the rule base increases. AI techniques such as ANN and GA are often used to optimize the MPPT controllers to improve the efficiency and accuracy of tracking.

GA is a stochastic search algorithm. GA is used for optimizing FLC GA in several ways. GA optimizes either the MFs or RBs by keeping the other one fixed. GA is also capable of optimizing both the MFs and RBs simultaneously through the learning process [14,15,16]. The optimization of fuzzy using GA is mostly adopted for applications like data classification and feature extractions [17].

The work presented in [17] uses GA to estimate the reference current value for the short circuit current method (Isc). Hadji et al. [18], propose a similar GA optimzed MPPT algorithm which uses short circuit curent (Isc) and open circuit voltage (Voc) for optimization of the operating points. The common issue asscoaited with the proposed techniques is that Isc and Voc can be measured only by isolating the source from the load. Hence, the system need to be disconnected from the source in a regular interval for the measurement both Isc and Voc. This leads to power loss and reduction of efficiency. Moreover, the comparision of the proposed techniques is carried out only with the basic conventionnal algoirhtms such as PnO and InC. The MPPT approach using GA proposed by the researchers [19] has embedded the PnO algorithm with GA. In [20] GA based MPPT algorithm is proposed for shaded conditions. However, the mutation process is not taken into account in this work. In the literature [21, 22], the optimization of fuzzy MPPT using is GA discussed. In both studies, optimization of controller gain is only performed. Optimization of either rule base or membership function is not considered. In the literature [23], a comparative study of GA optimized MPPT for grid connected solar PV system is discussed. PnO-PI MPPT and PI-Fuzzy MPPT algorithms are optimized using GA and the performance comparison between the optimized algorithms are carried out. However, membership functions of fuzzy or the rule base are not optimized using GA. An MPPT algorithm using modified GA and firefly optimization algorithm is presented and discussed by the researchers [24]. The algorithm proposed by the scientists [25] combines InC, PID controller and GA for improved performance. The PID controller is tuned by GA and the variable step size of InC MPPT is predicted by this way. As this algorithm combines three different methodologies for MPP tracking, the complexity of the propose method is very high. Optimization of MPPT controller of the Solar Power system used in water pumping application is presented and discussed by the previous researchers [26]. GA is used for updated the duty cycle function and not for optimization of MF and RB. Optimization of Fuzzy MPPT using GA is presented by the scientists [27]. However, the membership functions or the rule base of the Fuzzy MPPT or not optimized by GA. In this work, GA is used to optimize the tuning of PI controllers connected at various stages of the Fuzzy MPPT controller.

In most of the literatures where Fuzzy-GA based MPPT algorithms are discussed, fuzzy MPPT is combined with PI/PID controllers or the conventional MPPT techniques. Optimization of MPPT controller using Genetic Algorithm proposed in the literatures mostly dealt with tuning of controller gain or step size of the conventional algorithms such as PnO and InC MPPT. In the literature [28], optimization of FLC MPPT using GA is proposed. GA is used to optimized the membership function. But, rule base is not optimized. In this paper, optimization of Fuzzy MPPT using GA which simultaneously optimizes both the MFs and RB is proposed. To learn the optimized MFs and the RB of the fuzzy-based MPPT; the MATLAB coded GA is connected to the standalone solar PV system is operated under different environmental conditions. Solar irradiation and temperature are considered as input and the duty cycle is the output of FLC.GA performs online training for all the selected input cases until the set criteria are met.

Development of Optimal Fuzzy MPPT Using Genetic Algorithm

The block diagram representation of a stand-alone SPV power system is presented in Fig. 1. The power generated by the PV array is transferred to the load through the power conditioning unit. Based on the input(s), the MPPT controller fine-tunes the operating point of the power conditioning unit until the maximum power point is reached.

Fig. 1
figure 1

Stand-alone SPV system with MPPT

In the SPV system, the duty cycle of the DC–DC converter is the control parameter. The operating point varies when the duty cycle is changed. So, the duty cycle should be varied corresponding to the changes occurred at the PV source so as to operate the converter at the maximum power point for the present condition. Fuzzy MPPT uses either electrical parameters such as module current (Ipv), module voltage (Vpv) and module power (Ppv) or the physical parameters like cell temperature (Tcell), cell irradiation (Gcell) as the inputs. In this study, Tcell, Gcell are selected as inputs and duty cycle as the output. Figure 2 shows the flow chart of optimization using a genetic algorithm.

Fig. 2
figure 2

GA based optimization flowchart [14]

The process of convergence to the optimal solution starts with the generation of the population of individuals. This individual represents the candidate solution for the given problem. The fitness value is assigned to each individual in the population and the individuals of the population will go through fitness evaluation based on the given criterion i.e., the objective function. The best to fit individuals selected based on the selection operator will form a new population. Then the parents will be selected for reproduction and undergo crossover, mutation to find new solutions. The process will be repeated until the problem met with the selected criteria. The implementation details are presented in the below subsections.

Problem Representation

SPV system with a conventional PnO algorithm is simulated in MATLAB by applying random values of temperature (Tcell) and irradiation level (Gcell), the corresponding duty cycle (D) is obtained. With the obtained values, a data set consists of Tcell, Gcell and D is formed. The structure of each individual in the population is given in Fig. 3. Each individual has three chromosomes as shown. The chromosome belonging to the inputs is a 2-bit length binary string and the output has a bit length of 3. Every single bit in a chromosome is a gene.

Fig. 3
figure 3

Structure of an individual

Fitness Function

In the SPV system, the requirement is to transfer maximum power to the load. Hence, the objective is to minimize the error between the power generated by the PV module and the power extracted by the load for the given conditions.

$$\min \left( {error} \right) = P_{{\max \left( {pv} \right)}} - P_{{actual\left( {pv} \right)}}$$

Pmax(pv) is the maximum power under of SPV module for Standard Test Conditions (STC). This data is generally available in the datasheet information provided by the manufacturer. The fitness function is defined as

$$F = \frac{k}{error}$$

where, k is the amplifying factor of fitness value. K value is generally kept as small as possible to achieve a wide range of fitness value for chromosomes. Once the fitness function is identified, the algorithm will then move on to find the best fit solutions for reproduction. Selection of best fit solutions is explained below.

Selection

Every new generation (genetic process) is produced from the set of selected individual. Selection of such individuals plays an important role in GA. During the selection, a new population is formed, usually with the same population size. The chromosomes are selected from the members of the current population based on a particular scheme. The best fit chromosomes will be selected for the next generation. Tournament selection method is adopted for individual selection in this work.

Crossover Operator

The crossover operator is a recombination operator, which is mainly responsible for the global search property of the GA. In crossover operator, two parent individuals are selected from the mating pool, and the offspring are produced by exchanging some portions of the parent chromosomes with the specified probability. The probability of the crossover operator is typically in the range of 0.6–0.9.

In two point crossover operator, two cross over points are selected from the parents as shown in Fig. 4a. The binary string selected from the parents is highlighted. The new features (child) produced from the parents after two point crossover operation are shown in Fig. 4b.

Fig. 4
figure 4

a Parent chromosomes, b two point crossover new features

Mutation Operator

Mutation operator introduces new material into the population and thereby allows faster and more accurate convergence and prevents convergence to a local optimal value. For rule set, bit-wise mutation is used which switches a few randomly chosen bits from 1 to 0 or from 0 to 1 with a small mutation probability between 0.0001 and 0.1

Results and Discussion

Simulation standalone SPV system with GA optimized fuzzy MPPT is carried out for different input conditions and the results taken. The performance of the optimized fuzzy MPPT is validated by comparing its results with ANFIS MPPT and Fuzzy MPPT based SPV systems. A 60 W PV system is considered in this work. The electrical specifications of the MSX60 SPV module, which is used as a source in this work is given in Table 1. DC–DC Boost converter is used as a power-conditioning unit. The converter is designed based on the voltage at maximum power point (Vmpp) and Maximum power (Pmax) output of the PV Module. The output voltage and switching frequency of the selected converter are chosen as Vo = 24 V and fs = 10 kHz. Other parameters of the DC-DC converter is given in Table 2.

Table 1 Specifications of MSX 60 SPV module
Table 2 DC–DC converter specification

Optimization of FLC Using GA

To optimize the MF and RB of fuzzy MPPT, GA-FLC based MPPT is interconnected to the SPV system model consists of a PV module, DC–DC boost converter with the resistive load as shown in Fig. 5. The training parameters of GA are as given.

Fig. 5
figure 5

Interconnection of PV system and GA-FLC

The number of generations is selected as 25. Population size, cross over rate and mutation rate are 50, 0.6 and 0.01 respectively.

Each individual in the GA-FLC population produces the duty cycle. The duty cycle each individual in the population is given to the SPV system, the corresponding output power of the SPV module (Pactual(pv)) is taken back to GA. The fitness value is determined using Pactual(pv). From the fitness value, the best-fit value is selected for the next population. The same process is repeated for the specified number of generations. Once, the algorithm has converged, the optimal value is given as output by the GA-FLC. The complete process of GA-FLC optimization is presented as algorithm in Table 3.

Table 3 GA-FLC optimization

GA generates optimized values for the input and output MFs. GA gives the optimum rules set upon convergence. The membership function of Tcell, Gcell, and D based on the GA optimization are given in Fig. 6a–c respectively.

Fig. 6
figure 6

a Membership functions of Tcell, b membership functions of Gcell, c membership functions of D

The membership functions are classified as Very Low (VL), Low (L), Medium (M), High (H) and Very High (VH) for all the inputs and output. The optimized rule base produced by GA is given in Table 4.

Table 4 Fuzzy rules

Simulation of PV System with Optimized FLC MPPT

Solar PV system is simulated with different MPPT algorithms under many input conditions, the obtained results presented and discussed in this section. For performance analysis, the proposed GA optimized Fuzzy MPPT is compared with ANFIS MPPT and Fuzzy MPPT developed based on user knowledge about the system. A detailed simulation study is carried out under (i) Standard Test Conditions (25 °C, 1000 W/m2) (ii) Changing Irradiation conditions (iii) Abruptly Varying Input conditions and (iv) Real Time weather conditions.

Case 1: Standard Test Conditions

The duty cycle output of Fuzzy, GA optimized fuzzy and the ANFIS MPPT based system are shown in Fig. 7a and the power output with the MPPTs is given in Fig. 7b.

Fig. 7
figure 7

a Duty cycle output of fuzzy based MPPTs at STC, b PV power output

Based on the converter design, the actual duty cycle for maximum power output under the standard test conditions is D = 0.32. The duty cycle generated by the GA optimized Fuzzy MPPTs coincides very well to the desired value and the output power is also very close to the expected value (60 W). Under standard test condition, 99.88% efficiency is obtained from the solar PV system with GA optimized fuzzy MPPT technique.

Case2: Changing Irradiation Conditions

The changing irradiation is applied to the solar PV system with constant temperature (25 °C) as shown in Fig. 8a.

Fig. 8
figure 8

a Change of irradiation, b duty cycle tracking under change of irradiation, c output power under change of irradiation

Duty cycle output of different MPPT controllers is shown in Fig. 8b and the power output of the system for given input conditions is shown in Fig. 8c. It can be realised form the power output of the system, that the duty cycles produced by the GA optimized fuzzy is more accurate in all conditions.

Case 3: Real Time Weather Conditions

A study on abruptly varying input conditions are carried out using the real time data collected from the weather station. The weather station acquire data in the sampling rate of 30 s, i.e., the weather information such as temperature, irradiation and windspeed acquired by the sensors are stored in the data base in 30 s interval. The data is available for user in the cloud in a datewise format. Temperature and solar irradiation on a particular day with frequent variations is depicted in Fig. 9a and b respectively. The plots are drawn using the data collected from weather station.

Fig. 9
figure 9

a Real time temperature, b real time irradiation, c samples of temperature, d samples of irradiaition

16 data samples of temperature and irradiation are collected in a regular interval between The variation in irradiation is very frequent in the morning and particularly from 9:40 AM to 12.10 PM since, the weather is abruptly changing during this period. The collected data is given as step input to the solar PV system as shown in Fig. 9c and d respectively.

The duty cycle and the power output of the SPV system for the given input conditions with the selected MPPT techniques are shown in Temperature and solar irradiation on a day with frequent variations is depicted in Fig. 10a and b respectively. The optimized fuzzy MPPT outperform in all conditions than the fuzzy MPPT developed based on the expert knowledge.

Fig. 10
figure 10

a Tracking performance of selected MPPTs for abruptly varying weather, b output power with selected MPPTs for abruptly varying weather

A detailed comparison of the PV generated power, power output of converter with different MPPT controllers for various input conditions are presented in Table 5. From the table in can be realized that the proposed MPPT controller has better tracing performance under all given input conditions and the overall efficiency of the solar PV system is comparatively higher than the other MPPT based systems. Efficiency of solar PV system with Fuzzy, ANFIS and Ga optimized fuzzy system under various conditions is depicted in Fig. 11.

Table 5 Performance comparison of SPV system with different MPPT controllers
Fig. 11
figure 11

Efficiency of SPV system with different MPPT algorithms

From these results, it can be concluded that the proposed GA optimized fuzzy MPPT is capable tracking accurately under all input conditions and the power extracted from the PV source is comparatively higher with the proposed MPPT algorithm than that of the fuzzy and ANFIS MPPT based system.

Conclusion

A fuzzy MPPT controller optimized using GA for the SPV system is proposed and discussed in this paper. The MFs and RB of the fuzzy MPPT are simultaneously optimized using GA. A comprehensive simulation is carried out for standard test condition, fast-changing and abruptly changing irradiation levels at a constant temperature. Particularly, the abruptly varying weather conditions are analyzed using the real time data. Comparative analysis of the SPV system with proposed MPPT, ANFIS MPPT and fuzzy MPP tracking technique for the same input conditions are also presented and discussed. From the results, it is inferred that the tracking response of GA-FLC corresponding to the environmental changes is faster and accurate. Moreover, the duty cycle generated by the GA-FLC based MPPT is more accurate under abruptly changing environmental conditions due to the optimization of MFs and RB of FLC. The tracking efficiency of proposed GA optimized Fuzzy MPPT based SPV system is comparatively higher than Fuzzy, ANFIS MPPT based system under all tested conditions and the overall efficiency of the proposed GA optimized Fuzzy MPPT is 96.72%.