1 Introduction

The extraction of the maximum energy from PV array remains a big challenge for researchers who work in the photovoltaic field. For that reason, conventional algorithms (CAs) have been proposed to track the maximum power point (MPP) under uniform conditions of irradiation and temperature such as perturb and observe (P&O), hill climbing (HC), fractional open circuit voltage (FOCV), incremental conductance (IC) [1,2,3], etc. However, these methods are unable to find the global MPP under partial shading conditions (PSC) due to multi-peaks exhibited in the P–V curve [4], as shown in Fig. 1. This leads to the loss of a significant percentage of power that can be up to 70%, as reported in [5].

Fig. 1
figure 1

The P–V characteristics of the PV system under uniform and non-uniform irradiance conditions

In order to solve this problem, various global maximum power point tracking (GMPPT) algorithms have been proposed in the literature to reach the global peak (GP) under PSC, such as Partial Swarm Optimization (PSO), Cuckoo Search (CS), Ant Colony Optimization (ACO), Artificial Bee Colony Optimization (ABC), Artificial Neural Network (ANN) [6], etc. The PSO, CS, ACO, and ABC are metaheuristic search methods based on multi-objective optimization. Sarvi et al. [7] proposed the PSO-based MPPT for PV systems under PSC to find the GP. Nevertheless, this solution presented oscillations around the Steady State. Hence, some researchers have attempted to improve on the PSO in order to reduce oscillations [8]. However, this improved method cannot follow the dynamic GP under various shading patterns (SP). Furthermore, Jiang and Maskell [9] proposed an ACO algorithm and showed that this method has faster convergence speed compared to the Basic PSO. In fact, these metaheuristic search methods present a major disadvantage in terms of convergence linked to the initial placement of the agents into research space. In addition, their hardware implementation is complex. Moreover, Farh et al. [10] proposed a hybrid method PSO combined with FLC, first to find the dynamic GP and second to reduce oscillations of steady-state. In addition, an artificial intelligence method ANN has been suggested by Rizzo and Scelba [11] to find the GP under PSC. However, for the implementation, the ANN method is too difficult, and the hybrid methods add more complexity. They require large memory and powerful microcontrollers [12]. Therefore, all these factors result in an automatic increase in the cost of the PV system. Besides, other scanning based methods have been proposed in order to find the GP under PSC. For instance, Başoğlu [13] proposed an improved MPPT approach based on the scan of the duty ratio interval for distributed MPPT (DMPPT) applications, where each DC–DC converter is controlled by its self MPPT. However, this solution can increase the cost of the PV system due to the high number of used sensors. In another work [14], the GMPPT technique is categorized as a hybrid method based on the improved variable step-size P&O to track the local optimum and a global scanning algorithm to obtain the global optimum. In this paper, a simple method to find the GP under various SP of the PV system is presented. This method scans the P–V curve by varying the duty cycle. Next, recording all peaks and their corresponding duty cycle. Finally, the DC/DC converter is controlled by the duty cycle that gives the GP.

2 Methodology

2.1 PV system

The employed PV array composed of six PV panels connected in series. Moreover, In order to protect the PV array from the Hot-spot problem, the bypass diodes are connected in parallel with each PV panel as shown in Fig. 2. The panel used in our work is TDC-M20-36.

Fig. 2
figure 2

Diagram of the PV system with MPPT control based of scanning method

2.2 Design of DC–DC converter

The DC–DC converters are used in order to provide impedance matching between the PV array and load. These converters are generally employed as a power-processing unit with MPPT algorithms by adjusting the duty cycle. This duty cycle is calculated by the MPPT algorithm and varies between 0 and 1. There are several topologies of DC–DC converters such as DC–DC converter Boost, Buck, Buck–Boost, and Sepic. To make an MPPT analysis, we must know the optimal resistance (Rmpp) seen from the PV array, which is defined as the ratio of voltage and current at MPP. Next, the choice of load resistance value depends on the selection of a DC–DC converter. For example, if a Buck converter is used, the impedance of load must lower than Rmpp. Contrary to using a Boost converter where a bigger load impedance than Rmpp must be used. In this paper, a Boost type DC–DC converter is used and Fig. 3 presents its circuit.

Fig. 3
figure 3

DC–DC Boost converter

The equations of this converter are shown below:

$${\mathrm{V}}_{\mathrm{o}}= \frac{\mathrm{V}}{1-{\upalpha }}$$
(1)
$${\mathrm{I}}_{\mathrm{o}}= \mathrm{I}\left(1-{\upalpha }\right)$$
(2)

where α is the duty cycle, \(\mathrm{V}\) is the converter input voltage, \(\mathrm{I}\) is the input current of the Boost converter, \({\mathrm{V}}_{\mathrm{o}}\) is the output voltage and \({\mathrm{I}}_{\mathrm{o}}\) is the output current of the Boost converter.

The parameters of the elements used in the boost converter are given in Table 1.

Table 1 Parameters of the boost DC/DC converter

2.3 Proposed MPPT algorithm

Figure 4 shows the flow chart of the proposed scanning method. The principle of this method is divided into three steps. The first step is to initialize the vectors V(i), I(i), P(i), D(i) and set the value of the duty cycle at 1. In order to scan the interval of the voltage for PV system from 0 to Voc and save the value of the vectors for each iteration by decreasing the duty cycle. The second step helps to find the GP by using Eq. (3):

$${\text{GMPP}} = {\text{ Max}}\left( {{\text{P}}\left( {\text{i}} \right)} \right).$$
(3)
Fig. 4
figure 4

Flowchart of the proposed scanning algorithm

Next, the DC/DC converter is controlled by the duty cycle corresponding to the GMPP. Finally, in the third step, the change of the SP is detected using the condition (|Pold–Pact| < ε) around the Steady State. Thus, if the condition is verified, the algorithm keeps the value of the duty cycle. If not, the algorithm repeats another scan.

Figure 5 presents the output power of the PV array under SP2 condition, where the irradiation of each PV is presented in Table 1 and the temperature is 25 °C. Based on this Figure, it is observed that our method starts with a scan of the P–V curve between 0 and 0.9 s and then to track the Global Peak of the PV system.

Fig. 5
figure 5

The output power of scanning method under PSC

3 Simulation results

Figure 6 shows the Simulation schematic of photovoltaic system with the proposed method under different SP. So, to test the effectiveness of the proposed method, the system is simulated with different cases of SP (SP1, SP2, SP3 and SP4). Each SP is implemented over a period of 2 s as shown in Table 2. The simulation results are illustrated in Fig. 7. The proposed method is able to follow the dynamic GP with a little steady-state oscillation. Table 2 also shows the obtained values of the power output (LPs and GP) for each SP.

Fig. 6
figure 6

Simulation schematic of photovoltaic system with the proposed method under different SP

Table 2 Shading patterns taken for the simulation test
Fig. 7
figure 7

The output power of the proposed scanning method under different SP

Table 3 presents a comparison between the proposed method and some methods that have been presented in the literature based on tracking speed, tracking GMPP under PSC, steady-state error and complexity. The proposed method is able to track the GMPP under PSC with a high tracking speed as compared with that of the PSO method. In addition, the presents scanning method can be simply implemented because of its low complexity.

Table 3 Comparison between the proposed method and other methods

4 Conclusion

In this paper, a simple GMPPT method for PV system based on the scanning of the P–V curve was presented. It was shown that this method is able to find and follow the dynamic GP, regardless of the variation in SP, with fewer oscillations around the steady state. Furthermore, the proposed scanning algorithm is based on simple instructions that do not require extensive calculations. Hence, we can implement on low‐cost microcontrollers, unlike the metaheuristic search and artificial intelligence methods. Therefore, this method can be used in the industrial photovoltaic system instead of the conventional P&O method in order to increase energy production under PSC. Finally, this algorithm is able to find the GMPP under partial shading conditions with simple instructions. But, in some case when a fast variation of the insolation presented in the scanning range, this method cannot follow the true GMPP of the PV system.