1 Introduction

The increased worries of nature and growing demand for energy as well as the world attention to global warming have induced thinking to find clean resources for energy, renewable energy that varies as wind, geothermal, hydro, solar and bioenergy. PV energy is one of such energy resources, which its importance has increased due to its inexhaustible nature, cleanness, scalability in power and low maintenance required [1].

There is a diversity of reasons that impact the amount of power generated by the PV array like atmospheric temperature, solar irradiation, the dust accumulated at the surface of the panel and the configuration of the electrical connection of the panels in the array. Considerably, power extraction and the efficiency of the PV system are affected by changing weather and partial shading conditions (PSC) [1]. By applying various approaches, the effect of the factors above on maximum power generation can be reduced; MPPT techniques are one of these approaches, it has employed to extract the maximum power and enhance the efficiency of the PV system. MPPT techniques have been implemented in both of the uniform irradiations and PCS [2].

Varieties of MPPT algorithms have been used and tested; the most common are fractional short circuit current, P&O, fractional open circuit voltage [3], hill climbing (HC) algorithm [1] and incremental conductance (Inc.Cond.) [2]. Drawbacks of some algorithms such as the difficulty of implementation, overlook of the MPP during partial shading as well as low tracking speed have made the improvement of conventional techniques and rely on other methods that employ artificial intelligence (AI) is crucial for making the use of the PV system more effective.

P&O algorithm is a vastly used conventional technique to track MPP that is install in a commercial PV controller due to its simplicity. However, it has two drawbacks, these involve the oscillation at the vicinity of MPP, and that result in unending oscillation in output power. Consequently, reduced energy and lower efficiency will yield. The second drawback is the divergence from MPP when a sudden change in weather conditions occur and will fail to track MPP, which leads to a loss of energy [1]. Furthermore, to obtain an accurate MPPT algorithm, soft computing innovations like FL and ANFIS as an intelligent technique is chosen due to its capability to deal with the non-linear and non-exact mathematical model [2]. Some others MPPT method discussed previously are shown as in Table 1.

Table 1 Comparison of MPPT method

2 Photovoltaic modeling

The accuracy of the simulation is highly affected by PV module modeling. PV modeling includes estimation for the power–voltage (P–V) and current–voltage (I–V) characteristics curves for emulating the actual module at various weather conditions [3].

The PV module has been modeled by using the mathematical equations of single diode, D model shown in Fig. 1 [8].

Fig. 1
figure 1

Single diode modeling of solar cell [8]

2.1 Mathematical equations of solar cell

The net output current from the PV module is given by Eq. (1) [8]

$$I = I_{L} - I_{D} - \left( {V + R_{s} I} \right)/ R_{p} = I_{L} - I_{S} \left[ { e^{{q\left( {V + IR_{s} } \right)/nkT}} - 1} \right] - \left( {V + R_{s} I} \right)/ R_{p}$$
(1)

This is showing the relation between the current and the voltage of the module. The photogenerated current and diode saturation current is given by Eqs. (2), (3), and (4).

$$I_{L} = \left[ {I_{scn} + K_{i} \left( {T - T_{n} } \right)} \right]G/ G_{n}$$
(2)
$$I_{S} = I_{sn} *\left( {T/ T_{n} } \right)^{3} { \exp }\left[ {qEg/nk\left( {1/ T_{n} - 1/T} \right)} \right]$$
(3)
$$I_{sn} = I_{scn} /exp^{{(q V_{ocn} /nkT) - 1}}$$
(4)

where, I is output current, V is output voltage, IL is photo current, ID is diode current, IS is reverse saturation current, k is Boltzman constant, q is charge of an electron, T is actual temperature, n is diode ideality constant, RP is shunt resistance, RS is series resistance, ILn is photocurrent at the nominal condition, Tn is norminal temperature, G is actual irradiation, Gn is nominal irradiation, Iscn is norminal short circuit current, Vocn is nominal open circuit voltage, Eg is bandgap energy, and Isn is nominal saturation current. Series and shunt resistances values used in modeling the PV are 0.221 Ω and 415.405 Ω, respectively [9].

2.2 Characteristic curves of PV module

In this project, the Polycrystalline PV module MSX-64 with 36 polycrystalline silicon solar cells has been used; the PV module parameters and values are shown in Table 2.

Table 2 MSX-64 parameters under standard test conditions (STC)

To emulate partial shading conditions to be studied in this project, the PV module has divided into three groups of 12 cells for each group. In such a way, each group receives a different level of irradiance, as shown in Fig. 2, and consequently, the performance of various MPPT techniques can be observed and compared during PSC. The levels of irradiance applied to the PV module are 1000, 600, and 300 W/m2 and a constant temperature value of 25 °C with each level of irradiance.

Fig. 2
figure 2

Modeling of PV module during partial shading conditions

Characteristic curves of PV module MSX-64 during PSC are illustrated in Fig. 3, the effect of partial shading can be noticed from this figure as the presence of three MPP of values 16.196 W and 21.415 W and the global MPP of 25.967 W.

Fig. 3
figure 3

PV characteristics curves during partial shading [T = 25 °C, G = (1000, 600, 300) W/m2], a I–V and b P–V curve

3 Maximum power point tracking (MPPT) algorithms

A specific type of PV modules has been chosen for PV modeling as well as three different MPPT techniques have used for maximum power extraction from the PV module, with overall development flow is shown in Fig. 4. The converter topology to transfer power from the source to the load is an essential part of this project that performs a significant function in the process of maximum power extraction together with the MPPT controller. By using MATLAB/SIMULINK, the parts mentioned above are simulated and explained, and the performance of the MPPT controller is highlighted.

Fig. 4
figure 4

The overall project development flowchart

3.1 Conventional perturb and observe (P&O) algorithm

Perturb and observe algorithm includes a perturbation in the voltage and observing the power yield. By this technique, voltage incrementing cause the power to increase if the operation is on the left side of the MPP, and decreasing the power when it is on the right side of the MPP. To sum up, the above-mentioned process is illustrated in Table 3 [10].

Table 3 P&O MPPT algorithm summary [10]

The drawbacks of using this conventional technique are its failure to track MPP when there is a big change in the insolation level as well as the continues oscillation around MPP. However, this method is featured by its simple structure, simple implementation, and its lower cost [11]. The P&O algorithm flowchart is demonstrated in Fig. 5 [12].

Fig. 5
figure 5

Flowchart of P&O MPPT technique [12]

Where, V(k) is the current value of PV output voltage, V(k) − 1 is the previous value of the PV output voltage, I(k) is the current value of the PV current, P(k) is the current value of the PV output power, P(k) − 1 is the previous value of the PV output power and \(V_{ref}\) is reference output voltage of the P&O controller.

3.2 Fuzzy logic controller (FLC)

FL has some advantages compared to other controllers, it does not require an exact mathematical model, and it can work with non-accurate input values and dealing with nonlinear systems. FL can compute the size of the perturbed voltage required to reach MPP [13].

The inputs of the proposed FLC are the change in power (ΔP) and change in the voltage (ΔV) and can be expressed in Eqs. (5) and (6), respectively.

$$\Delta P = P\left( k \right) - P\left( {k - 1} \right)$$
(5)
$$\Delta V = V\left( k \right) - V\left( {k - 1} \right)$$
(6)

The Mamdani method with Max–Min is used for the fuzzy combination, and the shape of the inputs and output membership functions in the proposed FLC is trapezoidal. For each input variable, there is five membership function, so the proposed FLC has contained 25 rules. The setting values of membership function have been selected by trial and error to obtain the best output values for the duty cycle. The linguistic variables are shown in Table 4, where P and N mean positive and negative, respectively, while ZE, S and B, is zero, small and big, respectively. The numbers in the Table 4 refer to the 25 rules set.

Table 4 Rule base of the FLC

To transform the output of the FLC into a crisp real value, the center of gravity has been chosen as a defuzzification method due to its being commonly used.

3.3 Adaptive neuro-fuzzy inference system controller (ANFIS)

After simulating the PV module MSX 64 according to the specifications data of the manufacturer, training data are obtained for partial shading pattern and real weather profile [14].

To obtain training data for a non-shaded weather conditions, the process can be implemented offline without using any MPPT controller by applying various values of duty cycle to the boost converter and observing the output power of the PV module until it reaches the maximum value and records the corresponding duty cycle at specific input values for irradiance and temperature. This requires accuracy by varying the duty cycle from 0 until 1 to get the maximum output power to ensure proper training data. To be useable for ANFIS training, these data should have an array arrangement with three columns, where temperature and irradiance columns represent the inputs and the recorded duty cycle is the output of the ANFIS. The system is trained for 50 epochs, and the obtained training error is 1 * 10(−3).

Same procedures to obtain the training data is requested for 25% shaded irradiance profile, where irradiance level have shaded, and the temperature kept unchanged as shown in Fig. 7. This weather profile applied to the PV module as well as the ANFIS network which is trained to become learning model to get the desired output duty cycle for better tracking, which the network is trained for 20 epochs and obtained training error of 1.756 * 10(−5). The third test used to examine the performance of ANFIS tracking method by applying 50% shaded weather to the system and same procedures as for non-shaded, and 25% shaded weather have followed to get the training data. The system is trained with 15 epochs and obtained training error of 6.9186 * 10(−8).

For simulation under PSC, the training data are obtained by simulate the PV module and measure the current, voltage and the corresponding output power during partial shading pattern. This data used as training data and part of this data used for checking purpose, which the input for the ANFIS are current and voltage, while power is the output of the controller. Subsequently, it become a reference power that compared with the output power of the PV module, which an error signal is produced and fed to the proportional and integral controller (PIC) in order to generate the suitable duty cycle. The system is trained for 10 epochs, and the obtained training error is 1.7 * 10(−7). Figure 6 shows the flowchart for the ANFIS based MPPT implementation [15].

Fig. 6
figure 6

Flowchart for the ANFIS MPPT algorithm [15]

4 Simulation and results

4.1 System performance during PSC

To compare the performance of the three MPPT controllers proposed in this study during PSC, the system is subjected to the partial shading pattern, and the three-controller response has compared accordingly. Simulation results of P&O, FL and ANFIS controller when it subjected to PSC shows the average power of 19.79 W, 25.86 W and 25.96 W, respectively.

4.2 System performance under real weather conditions

For validation purposes in real weather conditions, a real weather profile of irradiance and ambient temperature for 12 h have applied to the system at the non-shaded condition from 6 am to 6 pm as shown in Fig. 7, for the simulation of the MPPT system performance. This weather profile has used to test the MPPT controller’s response when it is shaded between 9 am to 3 pm by a percentage of 25% and 50% respectively as shown in Fig. 7 and the response and performance of the proposed controllers have examined and compared.

Fig. 7
figure 7

Weather profile of a irradiance and b temperature

The irradiance level has the significant effect on the PV output power, while ambient temperature has limited impact, as the surface temperature of the PV cell does not increase rapidly during PV system in daily operation, so it is kept unchanged during all testing cases.

4.3 System simulation with non-shaded irradiance level

To test the MPPT system under real climatic daily weather, the system was subjected to the weather profile shown in Fig. 7 by using the non-shaded irradiance level and the ambient temperature profiles, and the response of the three controllers has examined and compared.

4.3.1 P&O controller

Simulation results with P&O controller shows the MPPT ability to respond to the variation in irradiation level and temperature at low irradiance levels, but it failed to respond to those changes as the level of irradiance increasing. Consequently, maximum power is not traceable at the maximum level of insolation. The maximum power extracted is 17.7 W.

4.3.2 FL controller

The tracking response of the FLC shows the measured power waveform of the effectiveness of this controller to response to a slow weather change when a real weather profile with a slow variation of insolation and temperature levels is applied to the PV module. The power extracted is 63.57 W at the maximum level of irradiance.

4.3.3 ANFIS controller

ANFIS controller response under real weather condition with power waveform reveals the ability of this controller to respond to the slow variations of insolation level and ambient temperature after fine training for the network. The maximum power extracted by this controller is 63.72 W.

In a nutshell, when contrasted to conventional, soft computing based MPPT techniques have shown superiority in performance under real weather conditions with a non-shaded PV system, where soft computing techniques are more stable and able to track the new MPP for the new irradiance levels. The efficiency of the MPPTs can be calculated by using Eq. (7).

$$\eta_{MPPT} = P_{MPP} /P_{MPP*} *100$$
(7)

where \(P_{MPP}\) and \(P_{MPP *}\) are the maximum power extracted by using MPPT and PV module maximum output power, respectively. The performance benchmarking of MPPTs controllers can be summed up in Table 5.

Table 5 Performance benchmarking for proposed MPPTs controllers under real weather conditions

4.4 System performance under 25% and 50% shaded irradiance profile

4.4.1 P&O controller

P&O controller response with 25% shaded weather condition, shows that this controller is unable to respond to weather changes as irradiance and temperature levels increased while average power is kept almost unchanged, as well as the limited maximum power extracted of 17.05 W. While, response of 50% shaded weather conditions shows a limited capability to keep tracking the change in weather variations and a low maximum power extraction, and consequently, a lower efficiency.

4.4.2 FL controller

The tracking response of FLC with 25% shaded weather condition shows the maximum power extracted is 52.56 W at the maximum level of irradiance reached. Meanwhile, response to 50% shaded irradiance profile shows the maximum power obtained is 48.65 W. FLC has demonstrated a response to the changes in weather conditions by tracking the shaded irradiance and the temperature variations that may occur during the daily operation of the PV system.

4.4.3 Adaptive neuro-fuzzy inference system controller

The ANFIS controller response with 25% shaded weather condition is shows the power waveform reveals the ability of this controller to respond to the variations of shaded insolation and ambient temperature changes. The maximum power extracted by this controller is 52.64 W. The performance benchmarking for the proposed MPPTs controllers under 25% and 50% shaded irradiance profile is shown in Table 6.

Table 6 Performance benchmarking for proposed MPPTs controllers

The extracted power waveform illustrates the response of the ANFIS controller to the weather changes and the shading effect on the PV system as well as the oscillation occurred during the tracking process for the applied shaded signal.

5 Conclusion

In this paper, three methods of MPPT techniques were proposed, P&O as conventional and FL as well as ANFIS as a soft computing technique, which these methods have designed and simulated, and its performance has compared. The polycrystalline MSX-64 PV module has selected in this study, and the impact of partial shading on the PV output power has demonstrated, where multiple peaks can appear in P–V curve with a global one that has to be tracked by the optimal MPPT technique.

Simulation results of the ANFIS and FLC techniques proposed in this work had shown the ability of these controllers to track the global MPP during PSC and the response to weather changes when non-shaded, 25% and 50% shaded real weather profile applied to the system. ANFIS controller has shown a dynamic response to weather changes. However, the performance of a conventional P&O based MPPT has failed to track the global MPP during partial shading and lack response to real weather changes. Consequently, less power extraction has noticed by using this conventional tracking algorithm. These results have shown the performance superiority of the soft computing techniques compared to that of the conventional one, and the drawbacks of conventional P&O method have confirmed.

Generally, the tradeoff among the terms used to compare the proposed MPPTs as well as the complexity of implementation and the cost is crucial in real application. The next work is to test this system experimentally with the optimization algorithms such as, genetic algorithms (GA), differential evolution, and PSO, as well as the practicality of this system applied to hybrids PV modules [16, 17].