Introduction

Photovoltaic solar energy is the transformation of part of the light from solar radiation into electrical energy using a set of elements constituting a photovoltaic system whose basic phenomenon implemented is the photovoltaic effect [1, 2]. This form of energy has the advantage of stabilizing global warming, preserving our fossil fuel reserves and ensuring the energy security of the planet [3]. However, the use of solar energy through photovoltaic systems still presents a large area of ​​competition compared to conventional energy resources due to its high installation cost and low energy consumption due to the PV cell conversion inefficiency. In addition, environmental conditions strongly influence the nonlinear PV and IV characteristics produced by photovoltaic panels during their operation. This is because the maximum power point varies with the change in light intensity or temperature. A matching stage is usually inserted between the PV panel and the load to optimize the output characteristics of the PV generator [4, 5]. This device consists of a converter to which is associated a control law to continuously regulate the voltage across the panel to its optimum value and extract the maximum output power: this is called “Maximum Power Point Tracking (MPPT)” [6, 7]. There are a large number of algorithms in the literature that are used to track the maximum power point (MPP) in a PV system. Although these algorithms have proved their worth, the fact remains that they still have limits in terms of stability, response time and significant presence of oscillations [5, 8], especially in sub-Saharan conditions where atmospherics conditions change rapidly.

Widely used in industry, the perturb and observe (P&O) command is not only easy to implement experimentally but also inexpensive in memory and in computation time [10, 17]. However, it is less precise because of the strong oscillations it generates around the maximum power point. It gets lost and follows the MPP in the wrong direction in case of a sudden change in atmospheric conditions. To remedy the divergence problem encountered by P&O in case of a rapid change in solar irradiance, the Incremental Conductance (InC) control has been introduced [18, 19]. The performance of this command is close to that of the P&O command, but it is slower because its algorithm is more complex. Other techniques based on the proportionality relations between the optimal parameters and the characteristic parameters of the PV module, which are the no-load voltage and the short-circuit current of the panel have been developed [20]. These controls are less expensive than P&O and InC but are not very efficient in terms of precision and speed [21]. With the lack of precision due to the oscillations around the maximum power point (MPP), new methods based on artificial intelligence have been introduced [15,16,23]. Artificial intelligence techniques can be used for modeling, analyzing, predicting performance, and controlling renewable energy systems. In MPPT controls systems context, these techniques provide more precision and eliminate oscillations around the maximum power point. They are quite complex and require efficient microcontrollers in terms of memory and computing time. The fuzzy logic controller (FLC) [6] has been used successfully to track the power point in a PV system. This controller converges quickly and exhibits minimal oscillations around the MPP. However, the complexity of implementing this technique remains. To solve this problem and guarantee greater robustness of the characteristics emitted by the photovoltaic panel, MPPT controllers based on the artificial neural network or combining fuzzy logic and neural networks have been developed in order to establish a compromise between complexity and precision in the physical materialization of the MPPT controller. In this work, artificial neural networks and ANFIS controllers are proposed to extract the maximum power at the output of the FL-M-160W PV module. To achieve this objective, a data acquisition device was modeled and produced then was associated with a pyranometer to record and extract the data during the experimental phase. These data served as a learning base for the configuration and development of neural and neurofuzzy controllers. These two controllers use irradiance and temperature as input parameters and voltage as output parameters. These algorithms are used to drive the boost converter connected between the PV panel and the load. To assess accuracy, recovery time and stability, the developed controllers are simulated and tested under MATLAB/Simulink under different atmospheric conditions and a comparison is made with conventional methods.

Photovoltaic system

The proposed model is a standalone PV system that includes a PV array use as a power generation source. This PV array is connected to the DC–DC boost converter that use a maximum power point tracking algorithm to ensure the adaptation between the panel output voltage and the load. Figure 1 illustrates the overall block diagram of the proposed system.

Fig. 1
figure 1

PV system

Electrical modeling of the solar panel

The solar cell allows direct conversion of sunlight into electrical energy. The power delivered at the output of a cell being generally very low, they will be associated under different configuration to constitute a PV panel in order to increase the electrical characteristics of output. The electrical model of a PV panel is shown in Fig. 2.

Fig. 2
figure 2

Equivalent circuit of a PV module

The output current of a solar cell is given by (1):

$$I = I_{{{\text{ph}}}} - I_{{\text{S}}} \left[ {\exp \left( {\frac{{\left( {V + IR_{{\text{S}}} } \right)}}{{nV_{{\text{T}}} }}} \right) - 1} \right] - \left[ {\frac{{V + IR_{{\text{S}}} }}{{R_{{\text{p}}} }}} \right]$$
(1)
$$V_{{\text{T}}} = \frac{kT}{q}$$
(2)

The output current of the considered PV module is given by:

$$I_{{{\text{PV}}}} = n_{{\text{P}}} I_{{{\text{ph}}}} - n_{{\text{P}}} I_{{\text{s}}} \left[ {\exp \left( {q \cdot \frac{{V + R_{{\text{S}}} I}}{{n_{{\text{s}}} kTn}}} \right) - 1} \right] - \left[ {\frac{{V + R_{{\text{S}}} I}}{{R_{{{\text{sh}}}} }}} \right]$$
(3)

where \(R_{{\text{s}}}\) is the serie resistance of the solar cell, V is the output voltage of the cell and \(n_{{\text{P}}}\) is the number of cells in parallel.

Table 1 illustrates the FL-M-160W PV module characteristics at standard test condition (AM = 1.5, G = 1 kW/m2 and Tc = 25 °C).

Table 1 Characteristics of the FL-M-160 W solar module

DC–DC boost converter

Figure 3 illustrates the electrical model of the boost converter use to follow the MPP. This converter operates in two phases depending on the state of the switch K (transistor):

  • 0 < t < αT, switch K is on and Eqs. 4 and 5 can be used to describe the converter model:

    $$V_{L} = L \cdot \frac{{{\text{d}}I_{L} }}{{{\text{d}}t}} = V_{e}$$
    (4)
    $$\frac{{{\text{d}}V_{s} }}{{{\text{d}}t}} = - \frac{{V_{s} }}{{C_{s} *R_{{{\text{Load}}}} }}$$
    (5)
  • αT < t < T, switch K is off and Eqs. 6 and 7 can be used to describe the converter model:

    $$L \cdot \frac{{{\text{d}}I_{L} }}{{{\text{d}}t}} = V_{e} - V_{s}$$
    (6)
    $$\frac{{{\text{d}}V_{s} }}{{{\text{d}}t}} = \frac{{I_{L} }}{dt} - \frac{{V_{s} }}{{C_{s} *R_{{{\text{Load}}}} }}$$
    (7)
Fig. 3
figure 3

Electrical model of the boost converter

The output voltage Vs is expressed in function of input voltage Ve:

$$V_{s} = \frac{{V_{e} }}{1 - \alpha }$$
(8)

With T the period of the boost converter and α the duty cycle such that \(0 < \alpha < 1\). The boost converter specifications are contained in Table 2.

Table 2 DC-DC boost converter parameters

Experimental test on PV panel

An experimental study was carried out to build a database to be used to train the developed ANN and ANFIS-MPPT controller models. During this test phase, the Benning Sun 2 pyranometer is used to measure solar irradiance, panel surface temperature and ambient temperature. It also determines the orientation and tilt of the panel based on the latitude of the site. An acquisition card has been designed to read and record voltage and current data. This acquisition card consists of a PIC 16F18856 microcontroller, a boost regulator, a TFT color graphics screen, a 4N35 phototransistor, an IR2110 driver and an optocoupler. The latter, in addition to the record playback function, also allows to drive the boost converter via various developed MPPT commands which can be implemented in the program memory of the PIC 16F18856. Figure 4 illustrates the operational and reliability test phase of the developed acquisition and control card.

Fig. 4
figure 4

Acquisition card test phase

The experimental analysis device illustrated by Fig. 5 consists of the data acquisition and control device, of a Felicity Solar photovoltaic panel connected to the boost converter.

Fig. 5
figure 5

Experimental protocol for data acquisition

Maximum power point tracking (MPPT) review

In a PV system, the MPPT command can be defined as an algorithm which associated with an adaptation stage allows the system to operate in its optimal operating point and this whatever the atmospheric conditions (temperature and global sunshine) and of load value [18,19,27]. A multitude of laws adapted to the permanent research of the MPP is presented in the literature. Although the primary function of these laws is to track the MPP accurately, the difference is usually seen in implementation complexity, cost, efficiency range, speed of convergence, correct tracking of the maximum power point, the required sensors, the required material for physical implementation and above all the behavior in the event of sudden changes in irradiation and/or temperature [28].

Perturb and observe (P&O) MPPT command

The principle of the P&O command consists in performing a disturbance of the operating point of the PV generator by varying the voltage Vpv by a constant value ΔV, called increment value or disturbance value, and to observe its effect on the resulting power Ppv. If the power increases (ΔP > 0), we are therefore in the right direction, we continue the disturbance in the same direction otherwise (ΔP < 0), so we move away from the MPP, we reverse the disturbance. Figure 6 gives the flowchart of this algorithm [7, 17].

Fig. 6
figure 6

Perturb and observe (P&O) algorithm

This algorithm is widely used for its simplicity and ease of implementation, its precision, and its speed of reaction. However, in case of rapidly variations of environmental condition, the P&O algorithm presents a poor convergence [7, 23]. This algorithm also presents some problems related to the oscillations around the MPP that it generates in steady state because the MPP search procedure must be repeated periodically, forcing the system to constantly oscillate around the MPP, once the latter is reached.

Incremental conductance (InC) MPPT command

The Incremental Conductance (InC) method is used to address the problem of divergence encountered by the P&O method in the case of sunlight change. A schematic description of this algorithm is shown in Fig. 7 [29, 30].

Fig. 7
figure 7

Incremental conductance (InC) algorithm

Two main handicaps are reconciled with this method. Firstly, oscillation of the operating point around the MPP and secondly this algorithm can easily lose track of the MPP if the solar radiation changes rapidly.

Artificial neural network

An artificial neural network (ANN) is an information processing system made up of a number of simple, highly interconnected processors called neurons, similar to biological brain cells [9, 26]. Recent ANN applications have shown that they have enormous potential to overcome the difficult tasks of processing and interpreting data. The use of neural networks in finding the maximum power point in a PV system has proven to be a very effective solution in terms of precision and increasing the stability of the output characteristics compared to conventional techniques (P&O, InC).

In this work, a multilayer perceptron neural network is used to extract the output characteristics of a FL-M-160W PV module (Fig. 8). This neural network model consists of an input layer with two neurons which correspond to the two input variables, namely the illumination G, the temperature Tpv, A hidden layer of 10 neurons and an output layer with a single neuron representing the target to approach the desired output which is the optimum voltage [11]. This neural network controller model is developed using the experimental database collected on the Felicity Solar PV module FL-M-160W. The data recorded are used to learn, test and check the developed model. This network uses sigmoid and linear type activation functions, respectively, for the hidden layer and the output layer and the backpropagation algorithm as a supervised learning method to adjust weights and biases to satisfy an optimization criterion.

Fig. 8
figure 8

Neural networks model for MPP identification

MPPT command based on adaptive neuro-fuzzy inference system (ANFIS)

ANFIS is a particular architecture of neuro-fuzzy networks developed by Jang and Sun for parametric identification using a hybrid learning rule that combines the gradient backpropagation algorithm and the least squares method [12, 13]. This model gives very good results in tracking, nonlinear approximation, dynamic control, and signal processing. The ANFIS architecture is illustrated in Fig. 9.

Fig. 9
figure 9

Two-entry ANFIS architecture for two rules [15, 16]

Rules:

If \(x\) is \(A_{1}\) and \(y\) is \(B_{1}\), then

$$f_{1} \left( {{ }x{ },{ }y{ }} \right) = P_{1} { }x + q_{1} { }y + { }r_{1}$$
(9)

If \(x\) is \(A_{2}\) and \(y\) is \(B_{2}\), then

$$f_{2} \left( {{ }x{ },{ }y{ }} \right) = P_{2} { }x + q_{2} { }y + { }r_{2}$$
(10)

where \(x\) and \(y\) are the inputs, and \(A_{1}\), \(A_{2}\), \(B_{1}\) and \(B_{2}\) are the fuzzy sets that represent linguistic values such as small, medium, large. These fuzzy sets would be determined during the learning process. \(P_{1}\), \(q_{1}\), \(r_{1}\), \(P_{2}\), \(q_{2}\), \(r_{2}\) are design parameters also determined during the learning process.

In this 5-layer hybrid structure combining the advantages of neural networks and fuzzy logic,

Layer 1 calculates the membership degrees of each input variable located between 0 and 1.

$$\left\{ {\begin{array}{*{20}l} {o_{i}^{1} = \mu_{Ai} \left( x \right),} \hfill & {\quad i = 1,2} \hfill \\ {o_{i}^{1} = \mu_{Bi} \left( y \right),} \hfill & {\quad i = 1,2} \hfill \\ \end{array} } \right.$$
(11)

Layer 2 calculates the premises of each rule as being the product π of the learning degrees of the variables involved in the premises of each rule;

$$o_{i}^{2} = w_{i} = \mu_{Ai} \left( x \right) \cdot \mu_{Bi} \left( y \right),\quad i = 1,2$$
(12)

Layer 3 made up of an N-rated normalization operator, normalizes the results of the layer;

$$o_{i}^{3} = \overline{{w_{i} }} = \frac{{w_{i} }}{{w_{1} + w_{2} }}$$
(13)

Layer 4 evaluates the conclusion of each rule;

$$o_{i}^{4} = \overline{{w_{i} }} f_{i} = \overline{{w_{i} }} \left( {P_{i} { }x + q_{i} { }y + { }r_{i} } \right),\quad i = 1,2$$
(14)

Layer 5 provides the final result;

$$o_{i}^{5} = f = \mathop \sum \limits_{1} \overline{{w_{i} }} f_{i} = \frac{{\mathop \sum \nolimits_{i} w_{i} f_{i} }}{{\mathop \sum \nolimits_{i} w_{i} }}$$
(15)

Subsequently, a hybrid learning algorithm that combines the backpropagation learning algorithm and the least squares method makes is used to define the optimal values of the parameters of these membership functions and the consequent parameters. These consequent parameters are used to determine the ANFIS network output.

In this work, the ANFIS structure uses to drive the boost converter is shown in Fig. 10. It has two inputs (irradiance and temperature), one output and seven membership functions for each input. Fourty nine fuzzy rules are derived from fourteen input membership functions.

Fig. 10
figure 10

ANFIS structure

The optimum voltage produced by ANFIS will be compared to the reference voltage of the PV generator and the error is given to generate operating signals. The operating signal is then given to the PWM generator. The generated PWM signals manage the DC–DC converter duty cycle to adjust the operating point of the PV module.

Results and discussion

The nonlinearity relationships of the output characteristics of the FL-M-160W solar module are shown in Fig. 11.

Fig. 11
figure 11

Irradiation variation on I (V) and P (V) characteristics (T = 25 °C)

Simulations are carried out under MATLAB/Simulink environment. Figure 12 illustrates the ANN and ANFIS controllers proposed PV model for simulation. The Simulink model consists of the FL-M-160W PV module connected to DC-DC drived using the ANN or ANFIS-MPPT controller. There is load connected to the boost converter output.

Fig. 12
figure 12

PV system with MPPT controller: (a) neural controller (b) with ANFIS controller

Simulations were carried out under varying and constant evolution of irradiation. First, we use the fixed environmental conditions (G = 1000 w/m2, T = 25 °C), and then, we vary the irradiation from 1000 to 700 W/m2, then from 700 to 1200 W/m2 for 1 s with a constant temperature (T = 25 °C). These simulations allow to compare the different MPPT algorithms developed based on a few criteria such as the precision of MPPT tracking, the response time; robustness and ripple.

MPPT controllers tracking accuracy

ANN and ANFIS controllers effectively monitor the maximum power point. The powers obtained at the output are 156 W for ANN and 157.5 W for ANFIS. As shown in Fig. 13, these powers observed in steady state are more stable and closer to the MPP unlike conventional techniques (InC, P&O) where large oscillations are observed around the maximum power point resulting in power losses. The power values ​​of these four controllers are very close to the theoretical value corresponding to a given constant level of irradiation.

Fig. 13
figure 13

Output power of PV system with the four MPPT methods

MPPT controllers response time

ANN and ANFIS-MPPT controllers are very fast compared to P&O and InC which are very slow and generate large oscillations under transient and stable conditions. It can be observed that the response time of the ANN-MPPT controller is 0.004 s. The ANFIS MPPT controller requires 2.5 times the response time performed by ANN-MPPT to reach the MPP (Fig. 14).

Fig. 14
figure 14

MPPT controllers response time

Robustness of ANFIS and ANN-MPPT controllers

To evaluate the robustness of these controllers, simulations are realized with a constant temperature of 25 °C for a solar irradiation which suddenly deviates from 1000 to 700 W/m2 then from 700 to 1200 W/m2 and this for 1 s. As shown in Fig. 15, the output characteristic provided by the PV generator varies proportionally with irradiation. When irradiation is 1000 W/m2, the maximum power supplied by the PV generator stabilizes around 156 W for these four maximum power point tracking techniques. When the sun goes from 1000 to 700 W/m2, this maximum power is 110 W for ANFIS, 108 W for ANN, 99 W for P&O and 88 W for InC. For a variation of 700–1200 W/m2 in irradiance, Pmax becomes equal to 190 W for ANFIS, 188 W for ANN and 170 W for P&O and InC. There are significant oscillations of conventional techniques compared to ANN first in transient and steady state as well. The sudden variation in sunlight greatly disturbs conventional controllers.

Fig. 15
figure 15

Output power for variable irradiation

Figure 16, respectively, illustrates the case of negative and positive variation in sunshine. In the event of a sudden change in atmospheric conditions, the output power is greater and more stable with ANN and ANFIS-MPPT controllers, unlike conventional methods which have a very long recovery time and exhibit significant oscillations in transient and permanent conditions.

Fig. 16
figure 16

MPPT controllers tracking accuracy

When the irradiance decreases, the neural MPPT controller takes 1.5 ms to respond to the negative variation in irradiation, while the ANFIS controller takes 3.5 ms. Moreover, the response time for conventional controllers is almost identical and are worth 24 ms. However, when the irradiation increases, the response time for these four controllers is identical and is equal to 3 ms. Based on these results, it can be seen that ANN and ANFIS-MPPT controllers are very fast.

MPPT controllers ripple

ANN and ANFIS-MPPT controllers have identical ripples and half as high compared to the ripples observed for the P&O and InC controllers. As shown in Fig. 17, ΔWP&O,Inc = 2.4 W for P&O and InC and equal to 1.2 W for ANN and ANFIS.

Fig. 17
figure 17

Output power ripple

These results show that MPPT controls allow adaptation of PV generator and load to MPP with optimal transfer of PV power. There are significant oscillations of conventional techniques P&O and InC compared to ANN and ANFIS first in transient and steady state as well. The sudden variation in sunlight greatly disturbs conventional controllers.

Conclusion

In this paper, two MPPT controllers (ANFIS and ANN) are used to extract the output characteristics of the FL-M-160W PV panel. These controllers were developed offline using a set of data collected during the experimental phase. After testing these two models, the functionality of these controllers was verified after insertion into the PV system. Simulations results show that the developed ANN and ANFIS-MPPT controllers can track MPP quickly and accurately under stable and changing atmospheric conditions. Compared to conventional techniques (P&O and InC), these controllers are very efficient in terms of tracking precision, response time, overshoot and ripple. Although the ANFIS controller has a higher output power, ANN appears to be the MPPT controller with better overall output characteristics. These results can guide us in the choice of the neural controller and its hardware implementation in photovoltaic applications as a replacement for the classic MPPT controllers which oscillate all the time around the MPP.