# Hyper-Spherical Search Algorithm for Maximum Power Point Tracking of Solar Photovoltaic Systems under Partial Shading Conditions

Authors: Kamran Eetivand; Ali Zangeneh; Seyed M. H. Nabavi
Journal: International Transactions on Electrical Energy Systems
 (2022)

---

## Abstract

Maximum Power Point Tracking (MPPT) for photovoltaic systems has widely been studied. However, studying the impact of partial shading (due to buildings, trees, clouds, adjacent arrays, and so on) on the MPPT and achieving the global maximum is still a challenging topic. This is because not only there is a global maximum power point (GMPP) but also there are several local maximums due to the non-linear nature of the power-voltage curve after partial shading. Therefore, the conventional MPPT methods fail to track the GMPP and are commonly trapped at one of the local maximum power points. This study utilizes the Hyper-Spherical Search (HSS) algorithm in MATLAB to achieve the GMPP while improving the efficiency, convergence speed, dynamic response, and reducing the losses. To track the GMPP using the HSS algorithm, the output power for the array (PPV) is defined as the objective function, and the duty cycle of the DC-DC converter is selected as the particles’ position (control variable). The performance of the proposed algorithm has been studied in three different partial shading patterns, and the simulation results confirm the capability of the algorithm in the rapid tracking of GMPP points. In addition, if the GMPP position changes over time, it will track the new GMPP with minimal oscillations. The proposed method along with PSO, P&O, ABC, and Dragon algorithms has been applied for various scenarios, and the obtained results using HSS have been compared with the four mentioned algorithms, which confirmed the effectiveness of the proposed method. Briefly, the advantages of the HSS algorithm in finding GMPP can be stated as simple implementation with few parameters, strong exploration, and exploitation during the tracking process, fast-tracking and low fluctuations during tracking, low oscillation at steady-state, high dynamic efficiency, and non-convergence to LMPP points.


---

## Body

## 1. Introduction

Due to the increase in energy demand, environmental pollution, and the cost of non-renewable energy sources, numerous studies have been conducted to replace these resources with renewable energies. Among the renewable energy resources, photovoltaic (PV) has attracted a great deal of attention due to availability, lack of environmental pollution, low maintenance, and repair . However, there are some disadvantages, such as low power efficiency (15–20%), high installation cost, power fluctuations, and non-linear I–V and P–V characteristics [2–4]. To compensate for the above-mentioned drawbacks, maximum power point tracking (MPPT) algorithms have been proposed [3, 4].The electrical characteristics of PV modules significantly depend on shadings and temperatures. The maximum power point can be tracked appropriately using the conventional MPPT algorithms such as Perturb and Observe (P&O) and Incremental Conductance (INC) if the impact of partial shading is being neglected [5, 6]. However, in these methods, the velocity and accuracy of the maximum power point tracking depend on the turbulence step, which results in disadvantages such as continuous fluctuations of the duty cycle in the power perturbation around the MPP, the poor performance of the MPPT in fast variations of the irradiance, low efficiency, low speed, and accuracy in tracking the MPP [7, 8]. While researchers have relatively solved most of the above problems using a comparative approach and variable step size in the duty cycle [9–11], they can also fail to find MPP in the rapid irradiance changes and resulting in increased power losses [12]. In [13], the P&O method was used based on a PID controller. However, using genetic and cuckoo search algorithms for tuning the parameters of the controller make the proposed algorithm more complex.Nonlinear I–V and P–V characteristics along with partial shading problems make several optimal points (including one global and some local optimal points) that is difficult for conventional MPPT algorithms to find exact MPP. Intelligence-based methods such as Genetic Algorithm (GA) [14], Artificial Neural Networks (ANN) [15], and Fuzzy Logic Controllers (FLC) [16, 17] can distinguish between the global and local MPPs due to their ability to solve non-linear and complex problems. However, the GA method needs a long tracking time to achieve convergence [2], on the other hand, ANN and FLC methods require extensive training data and memory, prior knowledge, and complex calculations [3, 18]. In recent years, particle swarm optimization (PSO) has attracted much attention due to its ability to converge to the global MPP (GMPP) in the partial shading conditions [19]. A direct control based on the PSO algorithm is used in [20] to directly determine the duty cycle instead of setting the PI controller in the MPPT algorithm. Liu et al. [21] applied the PSO algorithm with a new formulation and linear adjustment of parameters to track GMPP in the shaded conditions. The modified PSO is used in [3] with an emphasis on initial values for the sake of quick tracking. In [22], a deterministic PSO algorithm was used to omit the random factor in the speed equation and simplify the structure. These methods also require periodic adjustment and suitable values to find the optimal duty cycle. Likewise, an inappropriate setting of parameters also speeds up particle updates and reduces diversity [23]. To improve the performance of MPPT, some researchers have used two-stage methods as a combination of PSO and P&O algorithms. First, the PSO algorithm initially determines the GMPP location, and the tracking is then continued through the P&O method [24]. Krishna Mathi and Chinthamalla [25] proposed a two-stage method to increase the speed and prevent unnecessary searches. In the first stage, the region including global point (GP) is determined using adaptive butterfly PSO (ABF-PSO) and then in the second stage, the exact location of GP is tracked using P&O with variable steps. Despite the advantages of the proposed method in speed and convergence, it has too many adjustment parameters that make it complicated and require high memory. In [26, 27], the PSO algorithm is used with a fuzzy controller and differential evolution to find GMPP in the partial shading conditions. The computation and implementation of these methods are time-consuming and complicated. Authors of [28] formed four control levels using state-dependent Riccati equation and fuzzy sliding mode control to improve dynamic response and power fluctuation of the MPPT in the shaded and non-shaded conditions. There are other evolutionary algorithms for maximum power tracking such as ant colony optimization (ACO) [29], cuckoo search [30], grey wolf optimization [31], and artificial bee colony (ABC) [32]. While these methods are sufficiently adequate for optimization purposes, their performance depends on many factors, including the initial population, the number of repetitions, the setting of parameters, and the mechanism sharing information [33].These metaheuristic optimization algorithms use a constant and fixed number of searching components (particles, population, etc.) through all iterations which restrict the exploration (search at the beginning iterations) and exploitation (search at the end iterations) of the optimization algorithm. Eltamaly [34] proposed a novel optimization algorithm called the musical chairs algorithm with superior performance in tracking the global MPP compared to many metaheuristic optimization algorithms under partial shading conditions. The proposed optimization algorithm uses high numbers of searching components in the initial steps of optimization and decreases it gradually to the requires lower numbers of searching agents. Yang et al. [35] presented a novel dynamic leader-based collective intelligence with multiple sub-optimizers for maximum power point tracking of PV systems under partial shading conditions. The proposed algorithm can achieve a much wider exploration by using various searching mechanisms instead of a single searching mechanism. Furthermore, to have deeper exploitation, the sub-optimizer with the current best solution is chosen as the dynamic leader for efficient searching guidance to other sub-optimizers. It can offer an enhanced searching ability and a more stable convergence compared to that of conventional metaheuristic algorithms but in a higher computational complexity. Similarly, a modification to the original salp swarm optimization is presented in [36] with multiple salp chains named memetic salp swarm optimization. The proposed algorithm can implement a wider exploration as well as deeper exploitation under the memetic computing framework. Besides, a virtual population-based regroup operation is used for the global coordination between different salp chains to enhance convergence stability.One of the other drawbacks of the MPPT algorithms is the oscillation around the operating point, which can be minified by sliding mode control methods. In [37], a sliding surface is designed to set the operating point. The MPP can be tracked smoothly by changing the duty cycle of the converter under various conditions. The proposed method has low transient under sudden variation as well as faster convergence with respect to the P&O algorithm. Bianconi et al. [38] have presented a sliding mode control technique based on capacitor current sensing instead of PV voltage sensing. The proposed technique requires few components, tracks unusually fast irradiance variations, and rejects the low-frequency disturbances affecting the bulk voltage in grid-connected applications and back-propagating toward the PV generator. Sliding mode control avoids the need of having exact knowledge of the system parameters. Besides, it provides good performance against no modeled dynamics, insensitivity to parameter variations, and excellent external disturbance rejection. In [39], an MPPT algorithm based on hill climbing or perturbation–observation (P&O) and a new sliding mode controller are used to regulate the desired inverter voltage.Mostly global MPPT algorithms analyze partial shading for a standalone PV system and not for a grid-connected PV system. Lodhi et al. [40] suggested a dragonfly optimization-based MPPT algorithm to overcome these issues. A dual-level interfacing scheme including a boost converter and three-phase VSI has been applied to connect the PV system to the grid.A comprehensive review has been performed by Yang et al. [41] to systematically study an discuss various MPPT algorithms utilized in PV systems under partial shading conditions. Moreover, they are categorized into seven groups, e.g., conventional algorithms, metaheuristic algorithms, hybrid algorithms, mathematics-based algorithms, artificial intelligence (AI) algorithms, algorithms based on the exploitation of characteristic curves, and other algorithms. In [42], the main MPPT algorithms for PV systems are reviewed and divided into three groups according to their control theoretic and optimization techniques: (1) Traditional MPPT algorithms, (2) MPPT algorithms based on intelligent control, and (3) MPPT algorithms under partial shading conditions. The advantages and disadvantages of these algorithms are compared and analyzed. Besides, possible future research directions for MPPT are discussed. A brief comparison among conventional algorithms to find MPPT is presented in Table 1.Table 1
A comparison among conventional MPPT algorithms.
CriterionPSO [19]FLC [16]P&O [5]ABC [32]Cuckoo [30]ACO [29]Tracking speedModerateModerateLowFastFastFastSteady-state oscillationZeroModerateHighZeroZeroZeroExploration process✓✓—✓✓✓Convergence to local peakLowModerateHighLowLowLowDifficulty in parameter tuningModerateHighLowModerateModerateModeratePerformance under PSCModerateModerateLowModerateHighHighEfficiencyModerateModerateLowModerateHighHighConsidering the problems mentioned above, in this study, an evolutionary Hyper-Spherical Search (HSS) algorithm [43] is applied for tracking global maximum power point. The algorithm is inspired by the spherical space structure where the population consists of two groups: Particles and Centers of spheres. Each particle is assigned to one sphere space, moves toward the center of the sphere, and looks for the best center. This algorithm’s performance has been studied in extensive partial shading patterns, and the simulation results confirm the algorithm’s capability in the rapid tracking of GMPP points. Besides, tracking the new position of the GMPP will be with minimal oscillations. In summary, the features of this algorithm are as follows:(1)
Simple implementation and low configuration parameters(2)
Ability to exploration and exploitation during the tracking process(3)
Fast-tracking and low fluctuations during tracking(4)
Low oscillation at steady-state(5)
High efficiency and non-convergence to LMPP pointsTo examine the HSS algorithm’s effectiveness in the MPPT problem, three different shaded patterns with rapid irradiance changes are simulated, and the obtained results are compared with the results of P&O, PSO, ABC, and Dragon algorithm (DA). It should be noted to keep the same conditions for comparing the results; all four optimization algorithms have been coded using MATLAB. The main contributions of this study are highlighted as follows:Application of Hyper-Spherical Space (HSS) optimization algorithm in the MPPT problem considering partial shading conditions.Implementation of four benchmark algorithms (P&O, PSO, ABC, and Dragon Algorithms) to assess the performance of the HSS algorithm in finding MPP.Comparison of the performance of the HSS algorithm in various criteria: tracking time, tracking of global maximum power, and static and dynamic efficiency under various partial shading conditions.The rest of the study is organized as follows. In Section2, PV system modeling and its characteristics are described in the shaded conditions. Section 3 describes the HSS algorithm, and its implementation in the MPPT problem is described in Section 4. The numerical studies are analyzed for various case studies in Section 5, and finally, conclusions are presented in Section 6.


## 2. Model and Characteristics of the Prototype PV

In this study, it is assumed that the prototype PV has two arrays with 7 series modules in each (Figure1). The electrical equivalent circuit of one of the PV arrays is presented in Figure 2. In order to prevent the negative impacts of partial shading on the PV array, bypass diodes are used, in inverse parallel with each module. While due to the lack of uniform irradiance in the partial shading caused by clouds, trees, buildings, or adjacent arrays, the bypass diodes in the internal structure of the PV module create several local MPPs with a single global MPP in the P–V curve. (1) presents the current for each module consisting of Ns series cells, as follows:Where the IphG photovoltaic current without loss and this current depends on irradiance and the temperature of the solar cell, Is represents reverse saturation current, q means the electron charge, K is the Boltzmann constant, Tk is the temperature of the p-n junction, and Rs, series resistance.Figure 1
The prototype PV with two parallel arrays and seven modules in each array.(1)IPVm=IphG−IsexpqVPVm+IPVmRsNsNsAKTk−1,−VPVm+IPVmRsNsNs.Figure 2
Equivalent circuit of one of the parallel PV arrays with seven series modules.In the following section, the current and voltage equations of the array for each of the irradiance patterns are presented.


## 3. Hyper-Spherical Search Algorithm

The HSS algorithm was first proposed by Karami et al. [43]. Similar to the other evolutionary algorithms, this algorithm begins with an initial population, which consists of two groups: Particles and Centers of the spheres. In this algorithm, the search process is carried out within the space of each sphere using its center and associated particles inside the sphere, where eventually, all the particles converge to a sphere center with the best position. The HSS algorithm has been applied in four steps, as shown in below sections:


### 3.1. Initialization and Particles Distribution

The algorithm begins with generatingNPOP random solutions (particles) in the feasible region. Then, based on the domination criterion presented in (2) and (3), NSC particles are selected as sphere centers, and the remaining particles are distributed among the spheres [37]:(2)DSC=OFDSC∑i=1NSCOFDi,(3)OFDSC=fSC−SCsmaxf,where OFD is the difference between the objective function of each candidate sphere center and the maximum objective function at each interval, and DSC is the normalized dominance of each sphere center. Then, the number of particles belonging to each center of the spheres is being determined as follows:(4)NB=roundDSC×NPOP−NSC,where NB represents particles belong to each center spheres, NPOP is the number of initial population, and NSC is the number of hyper-sphere centers.


### 3.2. Search Process

A particle looks for a better solution by searching in its sphere space, formed by its center (SC) and radius (r) as the distance between the particle and the SC. Each particle is presented with its parameters, i.e., radius (r) and angles (N-1 angles in an N-dimensional space), and the search process will be performed by changing these parameters. Each angle is changed by α radians with the probability of Prangle. Parameter α is selected randomly in each repetition with a uniform distribution between (0, 2π). After changing the particle angels, the distance (r) between the particle and the corresponding sphere center (SC) is randomly chosen in the interval rmin,rmax using (5) in an N-dimensional sphere. The possible positions of the particle are shown as the hatched space for a three-dimensional case in Figure 3.(5)r2=∑i=1NPi,center−Pi,partile2,where Pi,center represents position the center in the dimension i represents the particles belong to each center spheres, NPOP represents the number of initial population, and NSC represents the number of hyper-sphere centers.Figure 3
Possible positions of the particle after searching in the sphere space [43].The particle may achieve a position that has a better objective function value than SC after searching in its own space. In this case, the labels of this particle and SC will be replaced.


### 3.3. New Search Space Allocation

Considering the fact that in the search space, there will be dummy particles (worst set), it is required to improve the effectiveness of the search algorithm. The following steps present the required actions:(a)
Find the worst set by sorting the particles based on their objective function (SOF) value. Since the value of particles’ objective function is less important than the objective function of the sphere center, the parameterγ (equal to 0.1) is applied in the definition of SOF as follows:(6)SOFi=fSC+γmeanfparticlesofSC.(b)
Determination of the difference between the set of objective functions (DSOF) using(7)DSOFi=SOFi−maxgroupsSOF of groups.(c)
Assigning the particles to one of the SCs based on the calculated DSOF and the probability function for each SC, as follows [43]:(8)APi=DSOFi∑i=1NSCDSOFi,where vector AP=AP1,AP2,…,APNSC is formed to distribute the particles among the SCs. It should be noted that the particles with inappropriate search space will lose their worst set.(d)
The particles will search in the new SCs based onAP values (Figure 4). At the end of assigning, if an SC does not have any particle, it will be changed to a particle.(e)
Hence, new particles are generated.Figure 4
Search space change [43].To make the space more flexible for a better search,Nnewpar, the worst particles will be replaced with the same number of new particles. If the Nnewpar is more than 5% of the number of initial population, it will be capped at 5% of the number of the initial population. These particles are assigned to the SCs using equation (2).


## 3.1. Initialization and Particles Distribution

The algorithm begins with generatingNPOP random solutions (particles) in the feasible region. Then, based on the domination criterion presented in (2) and (3), NSC particles are selected as sphere centers, and the remaining particles are distributed among the spheres [37]:(2)DSC=OFDSC∑i=1NSCOFDi,(3)OFDSC=fSC−SCsmaxf,where OFD is the difference between the objective function of each candidate sphere center and the maximum objective function at each interval, and DSC is the normalized dominance of each sphere center. Then, the number of particles belonging to each center of the spheres is being determined as follows:(4)NB=roundDSC×NPOP−NSC,where NB represents particles belong to each center spheres, NPOP is the number of initial population, and NSC is the number of hyper-sphere centers.


## 3.2. Search Process

A particle looks for a better solution by searching in its sphere space, formed by its center (SC) and radius (r) as the distance between the particle and the SC. Each particle is presented with its parameters, i.e., radius (r) and angles (N-1 angles in an N-dimensional space), and the search process will be performed by changing these parameters. Each angle is changed by α radians with the probability of Prangle. Parameter α is selected randomly in each repetition with a uniform distribution between (0, 2π). After changing the particle angels, the distance (r) between the particle and the corresponding sphere center (SC) is randomly chosen in the interval rmin,rmax using (5) in an N-dimensional sphere. The possible positions of the particle are shown as the hatched space for a three-dimensional case in Figure 3.(5)r2=∑i=1NPi,center−Pi,partile2,where Pi,center represents position the center in the dimension i represents the particles belong to each center spheres, NPOP represents the number of initial population, and NSC represents the number of hyper-sphere centers.Figure 3
Possible positions of the particle after searching in the sphere space [43].The particle may achieve a position that has a better objective function value than SC after searching in its own space. In this case, the labels of this particle and SC will be replaced.


## 3.3. New Search Space Allocation

Considering the fact that in the search space, there will be dummy particles (worst set), it is required to improve the effectiveness of the search algorithm. The following steps present the required actions:(a)
Find the worst set by sorting the particles based on their objective function (SOF) value. Since the value of particles’ objective function is less important than the objective function of the sphere center, the parameterγ (equal to 0.1) is applied in the definition of SOF as follows:(6)SOFi=fSC+γmeanfparticlesofSC.(b)
Determination of the difference between the set of objective functions (DSOF) using(7)DSOFi=SOFi−maxgroupsSOF of groups.(c)
Assigning the particles to one of the SCs based on the calculated DSOF and the probability function for each SC, as follows [43]:(8)APi=DSOFi∑i=1NSCDSOFi,where vector AP=AP1,AP2,…,APNSC is formed to distribute the particles among the SCs. It should be noted that the particles with inappropriate search space will lose their worst set.(d)
The particles will search in the new SCs based onAP values (Figure 4). At the end of assigning, if an SC does not have any particle, it will be changed to a particle.(e)
Hence, new particles are generated.Figure 4
Search space change [43].To make the space more flexible for a better search,Nnewpar, the worst particles will be replaced with the same number of new particles. If the Nnewpar is more than 5% of the number of initial population, it will be capped at 5% of the number of the initial population. These particles are assigned to the SCs using equation (2).


## 4. Implementing HSS for MPPT

In this study, to track the GMPP using the HSS algorithm, the output power for the array (PPV) is defined as the objective function, and the duty cycle of the DC-DC converter is selected as the particles’ position (control variable). Figure 5 illustrates the flowchart of the proposed algorithm. The details for implementing the proposed HSS method are presented in 4.1 to 4.7.Figure 5
Flowchart for the HSS implemented for MPPT.


### 4.1. Step 1: Initialization

A solution set (NPOP = module) of the duty cycles is generated randomly in the feasible region (Di), and the initial variables have been selected as follows:(9)NPOP=Nmodule,NSC=2,rmin=0,rmax=1,Nnew=1Iter=1,Di=Dmin,Dmax,i=1,2,…NPOP.


### 4.2. Step 2: Objective Function Evaluation

A constant duty cycle is applied to the power converter to calculate the photovoltaic system’s output current, voltage, and output power (objective function). Then,NSC of particles (with the highest objective functions) are selected as the sphere centers. The rest of the particles are distributed among the sphere centers, using equation (2).


### 4.3. Step 3: Particles Updates

In this step, it is assumed that the particles can move toward their assigned sphere centers. The distance between the particle and the sphere center is chosen from the interval [rmin, rmax], rmax is calculated using the equation. (19), and rmin is considered equal to zero.(10)rmax=Di,center−Di,particle,where Di,center is the center duty cycle, Di,particle is the particle duty cycle.


### 4.4. Step 4: Search Space Update

As mentioned in Section3.3, the sphere will lose dummy duty cycles with inappropriate search space, and the search sphere will be updated if some of the duty cycles have low output power (objective function).


### 4.5. Step 5: Generation of New Duty Cycles

To enhance the performance of the search,Nnewpar (=1 in this study) number of the worst duty cycles in each repetition is being deleted, and the same number of new duty cycles will be generated and replaced.


### 4.6. Step 6: Convergence Criteria

After successive repetitions, all SCs, except the best one with maximum output power, will be eliminated, and the other duty cycles (the particles) will be assigned to the best SC. In this case, there is not much difference between the SC and the other duty cycles with the same amount of power and position. The convergence criterion is defined based on the position of duty cycles as (11), where the value of ε is the maximum tolerance between the duty cycles.(11)Dik−Djk≤ε,i,j=1,2,…NPOPi≠j.


### 4.7. Step 7: Initialization

Since the GMPP is dynamic and depends on the environmental conditions, the optimization process must be restarted by initializing the new population to obtain a new duty cycle corresponding to the new GMPP position. Therefore, by changing the irradiance and shading patterns, the process of initializing the parameters and search for the new GMPP position (Steps 1–6) should be performed again.When the photovoltaic array is subjected to a non-uniform shade, its current-voltage curve is step-shaped, and thus its power-voltage curve has multiple peak points. In order to distinguish between the irradiance variation and partial shading conditions, continuous sampling of the voltage and current in different repetitions can be performed using the following equations [44]:(12)Ik−Ik−1Ik≥0.1,(13)Vk−Vk−1Vk≥0.2.If (12) and (13) are fulfilled, partial shading conditions or changes in the shading pattern have occurred. In these equations, k is the repetition number, and values 0.1 and 0.2 are determined using the trial and error method.


## 4.1. Step 1: Initialization

A solution set (NPOP = module) of the duty cycles is generated randomly in the feasible region (Di), and the initial variables have been selected as follows:(9)NPOP=Nmodule,NSC=2,rmin=0,rmax=1,Nnew=1Iter=1,Di=Dmin,Dmax,i=1,2,…NPOP.


## 4.2. Step 2: Objective Function Evaluation

A constant duty cycle is applied to the power converter to calculate the photovoltaic system’s output current, voltage, and output power (objective function). Then,NSC of particles (with the highest objective functions) are selected as the sphere centers. The rest of the particles are distributed among the sphere centers, using equation (2).


## 4.3. Step 3: Particles Updates

In this step, it is assumed that the particles can move toward their assigned sphere centers. The distance between the particle and the sphere center is chosen from the interval [rmin, rmax], rmax is calculated using the equation. (19), and rmin is considered equal to zero.(10)rmax=Di,center−Di,particle,where Di,center is the center duty cycle, Di,particle is the particle duty cycle.


## 4.4. Step 4: Search Space Update

As mentioned in Section3.3, the sphere will lose dummy duty cycles with inappropriate search space, and the search sphere will be updated if some of the duty cycles have low output power (objective function).


## 4.5. Step 5: Generation of New Duty Cycles

To enhance the performance of the search,Nnewpar (=1 in this study) number of the worst duty cycles in each repetition is being deleted, and the same number of new duty cycles will be generated and replaced.


## 4.6. Step 6: Convergence Criteria

After successive repetitions, all SCs, except the best one with maximum output power, will be eliminated, and the other duty cycles (the particles) will be assigned to the best SC. In this case, there is not much difference between the SC and the other duty cycles with the same amount of power and position. The convergence criterion is defined based on the position of duty cycles as (11), where the value of ε is the maximum tolerance between the duty cycles.(11)Dik−Djk≤ε,i,j=1,2,…NPOPi≠j.


## 4.7. Step 7: Initialization

Since the GMPP is dynamic and depends on the environmental conditions, the optimization process must be restarted by initializing the new population to obtain a new duty cycle corresponding to the new GMPP position. Therefore, by changing the irradiance and shading patterns, the process of initializing the parameters and search for the new GMPP position (Steps 1–6) should be performed again.When the photovoltaic array is subjected to a non-uniform shade, its current-voltage curve is step-shaped, and thus its power-voltage curve has multiple peak points. In order to distinguish between the irradiance variation and partial shading conditions, continuous sampling of the voltage and current in different repetitions can be performed using the following equations [44]:(12)Ik−Ik−1Ik≥0.1,(13)Vk−Vk−1Vk≥0.2.If (12) and (13) are fulfilled, partial shading conditions or changes in the shading pattern have occurred. In these equations, k is the repetition number, and values 0.1 and 0.2 are determined using the trial and error method.


## 5. Simulation Results

An MPPT controller includes the power-electronic interface (DC-DC boost converter), load, and photovoltaic array for a standalone application shown in Figure6 [36]. The parameters of the DC-DC boost converter are designed for a continuous conduction mode (Table 2) [45].Figure 6
PV array is connected to a DC-DC converter and load with an MPPT controller.Table 2
Parameters designed for the DC-DC boost converter.
ParametersValueCapacitorC125μFCapacitorC26μFInductance L2 mHLoad resistanceRL100ΩSwitching frequency25 kHzIn this study, a prototype PV with two parallel array and seven series modules in each array (7 × 60 W) is considered to confirm the effectiveness of the proposed algorithm under various environmental conditions. A bypass diode (MS × 60) is installed in parallel with each module (Figure1). The specifications of the diode are presented in Table 3.Table 3
Specification of the MSX60 module.
VariableValueMaximum power point (PMPP)60WVoltage atPMPP (VMPP)17.1VCurrent atPMPP (IMPP)3.5AOpen-circuit voltage (VOC)21.1VShort-circuit current (ISC)3.8AThe simulation results obtained by the proposed HSS algorithm are compared with the P&O, PSO, ABC, and Dragon methods in terms of quantitative criteria such as tracking time, static efficiency, dynamic efficiency, and output power.Two different types of performances (Static and dynamic) have been considered in this paper. The static efficiency (14)represents the steady-state performance, while the dynamic efficiency (15)represents both the transient and steady-state performance [46].(14)ηstatic=PMPPTPmax×100,(15)ηdynamic=∫0TPPVdt∫0TPmaxdt×100,where ηstatic is the static efficiency, ηdynamic is the dynamic efficiency, PMPPT is the MPP obtained in the steady-state, and Pmax is the maximum available power of the array. To maintain uniformity and make a comparison, the sampling time is considered to be 20 milliseconds. The selected of various applied algorithms for the comparison are presented in Table 4.All the algorithms were coded and executed in the matlab platform on a system having 8 GB RAM supported with INTEL i7 processorTable 4
Parameters of P&O, PSO, Dragon, and HSS algorithms.
P&OABCPSODAHSSD=0.005NB = 6C1=1.2Alignment weight:S=0.5×rand×MNSC=2D=0.85SN = 3C1min=1Alignment weight:A=0.5×rand×MNnew=1—MCM = 30C2=1.6Cohesion weigh:C=1.5×rand×Mrmin=0—C2max=1Food factor:F=1.5×rand×Mrmax=1—Wmin=0.4Enemy factor:E=0.5×M———Wmax=1M=0.1−0.2×iterMax iter————Inertia weight:W=0.5−0.5×iterMax iter—


### 5.1. Partial Shading Patterns

The PV array is tested under three steady-state shading conditions as follows.


#### 5.1.1. First Pattern (G1>G2>G3>G4>G5>G6>G7)

In this pattern, the received radiation of each module is according to Table5, which causes the creation of 7 maximum points in the power-voltage curve shown in Figure 2. The voltage and current equations of the PV arrays are as (16)–(18):Table 5
Radiation in pattern 1.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)1100080060040030020010021000800600400300200100(16)IphG1>IphG2>…>IphG7,(17)Ipva=2×Ipvm1,Ipva<IphG1,Ipvm2,Ipva<IphG2,Ipvm3,Ipva<IphG3,Ipvm4,Ipva<IphG4,Ipvm5,Ipva<IphG5,Ipvm6,Ipva<IphG6,Ipvm7,Ipva<IphG7.(18)Vpva=VPVm1,Ipva<IphG1,VPVm1+VPVm2,Ipva<IphG2,VPVm1+VPVm2+VPVm3,Ipva<IphG3,VPVm1+VPVm2+VPVm3+VPVm4,Ipva<IphG4,VPVm1+VPVm2+⋯+VPVm5,Ipva<IphG5,VPVm1+VPVm2+⋯+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG7.


#### 5.1.2. Second Pattern (G1>G2>G3>G4>G5>G6>G7)

In this pattern, according to Table6, different radiation conditions have been applied and each module works at a lower and different radiation level than pattern 1. In this pattern, there are also 7 maximum points in the power-voltage curve. The voltage and current equations are represented by (19)–(21).Table 6
Radiation in pattern 2.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)165055045035025015050265055045035025015050(19)IphG1>IphG2>…>IphG7,(20)Ipva=2×Ipvm1,Ipva<IphG1,Ipvm2,Ipva<IphG2,Ipvm3,Ipva<IphG3,Ipvm4,Ipva<IphG4,Ipvm5,Ipva<IphG5,Ipvm6,Ipva<IphG6,Ipvm7,Ipva<IphG7.(21)Vpva=VPVm1,Ipva<IphG1,VPVm1+VPVm2,Ipva<IphG2,VPVm1+VPVm2+VPVm3,Ipva<IphG3,VPVm1+VPVm2+VPVm3+VPVm4,Ipva<IphG4,VPVm1+VPVm2+⋯+VPVm5,Ipva<IphG5,VPVm1+VPVm2+⋯+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG7,


#### 5.1.3. Third Pattern (G3>G2>G7>G5>G1>G6>G4)

Despite the previous patterns with regular decreasing radiation, a random pattern is considered for further investigation in Table7. In this pattern, there will be 7 maximum points with different positions in the power-voltage curve, where the voltage and current equations are shown with (22)–(24).Table 7
Radiation in pattern 3.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)15008009002006004007002500800900200600400700(22)IphG3>IphG2>IphG7>IphG5>IphG1>IphG6>IphG4.(23)Ipva=2×Ipvm3,Ipva<IphG3,Ipvm2,Ipva<IphG2,Ipvm7,Ipva<IphG7,Ipvm5,Ipva<IphG5,Ipvm1,Ipva<IphG1,Ipvm6,Ipva<IphG6,Ipvm4,Ipva<IphG4,(24)Vpva=VPVm3,Ipva<IphG3,VPVm2+VPVm3,Ipva<IphG2,VPVm2+VPVm3+VPVm7,Ipva<IphG7,VPVm2+VPVm3+VPVm7+VPVm5,Ipva<IphG5,VPVm2+VPVm3+VPVm7+VPVm5+VPVm1,Ipva<IphG1,VPVm2+VPVm3+VPVm7+VPVm5+VPVm1+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG4.


### 5.2. Case Studies

#### 5.2.1. Case 1

In this pattern, the partial shadow of the module radiation is randomly selected (Figure7). This pattern leads to 7 peaks in the P–V curve (Figure 8). The powers at the local peaks are 86.63 W, 178.83 W, 221.10 W, 254.52 W, 238.37 W, and 87.53 W, respectively, and the peak power is 261.03 W.Figure 7
The received radiation for each module.Figure 8
P–V curve of the partial shadow pattern in Case 1.Figure9 shows the power, voltage, and duty cycle curves corresponding to the PSO, ABC, and P&O algorithms. According to the results using PSO, the proposed PSO algorithm has tracked the global maximum point (261.04 W) after 2.52 seconds. In addition, the ABC algorithm tracks the same global point in 1.20 seconds, while the P&O algorithm is trapped in the second local peak (187.87 W).Figure 9
Simulation results for Case 1 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure10 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. In Figure 10(a) it can be seen that the HSS algorithm has tracked the global peak after 0.90 seconds while the DA algorithm has tracked the global peak point after 1.18 seconds (Figure 10(b)). The results in both Figures 9 and 10 show that the HSS algorithm performs better in terms of global peak point tracking time and accuracy. For a quantitative comparison of this algorithm with other simulated algorithms, a summary of these results in terms of parameters such as dynamic efficiency, static efficiency and extraction time is presented in Table 8.Figure 10
Shadow pattern simulation results for Case 1: (a) HSS and (b) DA.
(a)(b)Table 8
Radiation pattern for modules for Case 1.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(1)HSS261.05261.0470.430.9099.9998.59DA261.0420.431.1899.9996.71ABC261.0460.431.2099.9998.30PSO261.0400.432.5299.9995.16P&O178.8730.760.3568.5266.48


#### 5.2.2. Case 2

Similar to Case 1, in this case, the radiation pattern on the modules is assumed to be random, as depicted in Figure11. This pattern also produces 7 peaks in the P–V curve as shown in Figure 12. The powers at the local peaks are 54.99 W, 119.13 W, 159.83 W, 158.62 W, 113.58 W, 35.55 W, respectively, and the power at the global peak is 173.81 W.Figure 11
Radiation of each module in Case 2.Figure 12
P–V curve of the partial shadow pattern in Case 2.Figure13 shows the power, voltage, and duty cycle curves for PSO, ABC, and P&O algorithms. The PSO algorithm detects the power global peak point (173.693 W) in 1.80 seconds (Figure 13(a)) while the ABC algorithm detects the global peak point in 1.02 seconds (Figure 13(b)). It can be seen that for this shadow pattern, the P&O algorithm has been trapped in the first local peak due to the lack of recognition between the global peak and the local peak, and tracks 54.61 W (Figure 13(c)).Figure 13
Simulation results for Case 2 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure14 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. The HSS algorithm tracks the global peak power of 173.694 W in 0.80 seconds, while the DA algorithm tracks the same point after 1.08 seconds (Figure 14(b)). The tracking time for the PSO, ABC and DA algorithms decreased by 55.55%, 21.56% and 25.92%, respectively. Table 9 provides a quantitative comparison of the proposed algorithm with other simulated algorithms. The comparison is based on dynamic efficiency, static efficiency, and tracking time.Figure 14
Shadow pattern simulation results for Case 2: (a) HSS, (b) DA.
(a)(b)Table 9
Radiation pattern for modules for Case 2.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(2)HSS173.810173.6940.460.8099.9397.61DA173.6940.461.0699.9396.75ABC173.6940.461.0299.9397.53PSO173.6930.461.8099.9295.16P&O54.6170.830.0631.4231.87


#### 5.2.3. Case 3: Random Non-uniform Irradiance Based on Pattern 3

In this part, a complicated shadow pattern is selected. The radiation of the modules is shown in Figure15. According to the P–V curve in Figure 16, the local peaks for the power are 77.65 W, 175.25 W, 251.30 W, 301.97 W, 319.02 W, and 187.77 W, respectively, where the global peak power is 325.25 W.Figure 15
Radiation of each module for Case 3.Figure 16
P–V curve of the partial shadow pattern in Case 3.Figure17 shows the power, voltage, and duty cycle curves corresponding to the PSO, ABC, and P&O algorithms. The PSO algorithm detects the global peak power point (325.18 W) in 1.46 seconds (Figure 17(a)), while the ABC algorithm detects the global peak power point in 1.04 seconds 323.844 W (Figure 17(b)). It should be noted that global peak power using the ABC is slightly smaller than the actual global peak power. In addition, in this shadow pattern, the P&O algorithm is trapped in the second local peak due to the lack of recognition between the global peak and the local peak, and detects 175.26 W (Figure 17(c)).Figure 17
Simulation results for Case 3 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure18 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. The HSS algorithm detects the global peak at 325.19 W in 0.96 seconds, while the DA algorithm tracks the same point at 0.98 seconds. Comparing the results illustrate that the tracking time of the proposed algorithm has been improved by 34.24%, 7.6%, and 2.04% compared to PSO, ABC, and DA algorithms, respectively. Table 10 provides a quantitative comparison of the proposed algorithm with other simulated algorithms. This comparison is based on parameters dynamic efficiency, static efficiency, and tracking time. It should be noted that in all simulated models, the power fluctuations in the MPP point tracking process for the proposed algorithm (HSS) are less than in other algorithms.Figure 18
Shadow pattern simulation results for Case 3: (a) HSS and (b) DA.
(a)(b)Table 10
MPPT results of different algorithms in Case 3.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(3)HSS325.25325.1900.490.9699.9898.06DA325.1900.490.9899.9897.11ABC323.8440.491.0499.5697.57PSO325.1890.491.4699.9897.41P&O175.2640.770.3453.8852.52


## 5.1. Partial Shading Patterns

The PV array is tested under three steady-state shading conditions as follows.


### 5.1.1. First Pattern (G1>G2>G3>G4>G5>G6>G7)

In this pattern, the received radiation of each module is according to Table5, which causes the creation of 7 maximum points in the power-voltage curve shown in Figure 2. The voltage and current equations of the PV arrays are as (16)–(18):Table 5
Radiation in pattern 1.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)1100080060040030020010021000800600400300200100(16)IphG1>IphG2>…>IphG7,(17)Ipva=2×Ipvm1,Ipva<IphG1,Ipvm2,Ipva<IphG2,Ipvm3,Ipva<IphG3,Ipvm4,Ipva<IphG4,Ipvm5,Ipva<IphG5,Ipvm6,Ipva<IphG6,Ipvm7,Ipva<IphG7.(18)Vpva=VPVm1,Ipva<IphG1,VPVm1+VPVm2,Ipva<IphG2,VPVm1+VPVm2+VPVm3,Ipva<IphG3,VPVm1+VPVm2+VPVm3+VPVm4,Ipva<IphG4,VPVm1+VPVm2+⋯+VPVm5,Ipva<IphG5,VPVm1+VPVm2+⋯+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG7.


### 5.1.2. Second Pattern (G1>G2>G3>G4>G5>G6>G7)

In this pattern, according to Table6, different radiation conditions have been applied and each module works at a lower and different radiation level than pattern 1. In this pattern, there are also 7 maximum points in the power-voltage curve. The voltage and current equations are represented by (19)–(21).Table 6
Radiation in pattern 2.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)165055045035025015050265055045035025015050(19)IphG1>IphG2>…>IphG7,(20)Ipva=2×Ipvm1,Ipva<IphG1,Ipvm2,Ipva<IphG2,Ipvm3,Ipva<IphG3,Ipvm4,Ipva<IphG4,Ipvm5,Ipva<IphG5,Ipvm6,Ipva<IphG6,Ipvm7,Ipva<IphG7.(21)Vpva=VPVm1,Ipva<IphG1,VPVm1+VPVm2,Ipva<IphG2,VPVm1+VPVm2+VPVm3,Ipva<IphG3,VPVm1+VPVm2+VPVm3+VPVm4,Ipva<IphG4,VPVm1+VPVm2+⋯+VPVm5,Ipva<IphG5,VPVm1+VPVm2+⋯+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG7,


### 5.1.3. Third Pattern (G3>G2>G7>G5>G1>G6>G4)

Despite the previous patterns with regular decreasing radiation, a random pattern is considered for further investigation in Table7. In this pattern, there will be 7 maximum points with different positions in the power-voltage curve, where the voltage and current equations are shown with (22)–(24).Table 7
Radiation in pattern 3.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)15008009002006004007002500800900200600400700(22)IphG3>IphG2>IphG7>IphG5>IphG1>IphG6>IphG4.(23)Ipva=2×Ipvm3,Ipva<IphG3,Ipvm2,Ipva<IphG2,Ipvm7,Ipva<IphG7,Ipvm5,Ipva<IphG5,Ipvm1,Ipva<IphG1,Ipvm6,Ipva<IphG6,Ipvm4,Ipva<IphG4,(24)Vpva=VPVm3,Ipva<IphG3,VPVm2+VPVm3,Ipva<IphG2,VPVm2+VPVm3+VPVm7,Ipva<IphG7,VPVm2+VPVm3+VPVm7+VPVm5,Ipva<IphG5,VPVm2+VPVm3+VPVm7+VPVm5+VPVm1,Ipva<IphG1,VPVm2+VPVm3+VPVm7+VPVm5+VPVm1+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG4.


## 5.1.1. First Pattern (G1>G2>G3>G4>G5>G6>G7)

In this pattern, the received radiation of each module is according to Table5, which causes the creation of 7 maximum points in the power-voltage curve shown in Figure 2. The voltage and current equations of the PV arrays are as (16)–(18):Table 5
Radiation in pattern 1.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)1100080060040030020010021000800600400300200100(16)IphG1>IphG2>…>IphG7,(17)Ipva=2×Ipvm1,Ipva<IphG1,Ipvm2,Ipva<IphG2,Ipvm3,Ipva<IphG3,Ipvm4,Ipva<IphG4,Ipvm5,Ipva<IphG5,Ipvm6,Ipva<IphG6,Ipvm7,Ipva<IphG7.(18)Vpva=VPVm1,Ipva<IphG1,VPVm1+VPVm2,Ipva<IphG2,VPVm1+VPVm2+VPVm3,Ipva<IphG3,VPVm1+VPVm2+VPVm3+VPVm4,Ipva<IphG4,VPVm1+VPVm2+⋯+VPVm5,Ipva<IphG5,VPVm1+VPVm2+⋯+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG7.


## 5.1.2. Second Pattern (G1>G2>G3>G4>G5>G6>G7)

In this pattern, according to Table6, different radiation conditions have been applied and each module works at a lower and different radiation level than pattern 1. In this pattern, there are also 7 maximum points in the power-voltage curve. The voltage and current equations are represented by (19)–(21).Table 6
Radiation in pattern 2.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)165055045035025015050265055045035025015050(19)IphG1>IphG2>…>IphG7,(20)Ipva=2×Ipvm1,Ipva<IphG1,Ipvm2,Ipva<IphG2,Ipvm3,Ipva<IphG3,Ipvm4,Ipva<IphG4,Ipvm5,Ipva<IphG5,Ipvm6,Ipva<IphG6,Ipvm7,Ipva<IphG7.(21)Vpva=VPVm1,Ipva<IphG1,VPVm1+VPVm2,Ipva<IphG2,VPVm1+VPVm2+VPVm3,Ipva<IphG3,VPVm1+VPVm2+VPVm3+VPVm4,Ipva<IphG4,VPVm1+VPVm2+⋯+VPVm5,Ipva<IphG5,VPVm1+VPVm2+⋯+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG7,


## 5.1.3. Third Pattern (G3>G2>G7>G5>G1>G6>G4)

Despite the previous patterns with regular decreasing radiation, a random pattern is considered for further investigation in Table7. In this pattern, there will be 7 maximum points with different positions in the power-voltage curve, where the voltage and current equations are shown with (22)–(24).Table 7
Radiation in pattern 3.
ArrayModuleM1 (m2/W)M2 (m2/W)M3 (m2/W)M4 (m2/W)M5 (m2/W)M6 (m2/W)M7 (m2/W)15008009002006004007002500800900200600400700(22)IphG3>IphG2>IphG7>IphG5>IphG1>IphG6>IphG4.(23)Ipva=2×Ipvm3,Ipva<IphG3,Ipvm2,Ipva<IphG2,Ipvm7,Ipva<IphG7,Ipvm5,Ipva<IphG5,Ipvm1,Ipva<IphG1,Ipvm6,Ipva<IphG6,Ipvm4,Ipva<IphG4,(24)Vpva=VPVm3,Ipva<IphG3,VPVm2+VPVm3,Ipva<IphG2,VPVm2+VPVm3+VPVm7,Ipva<IphG7,VPVm2+VPVm3+VPVm7+VPVm5,Ipva<IphG5,VPVm2+VPVm3+VPVm7+VPVm5+VPVm1,Ipva<IphG1,VPVm2+VPVm3+VPVm7+VPVm5+VPVm1+VPVm6,Ipva<IphG6,VPVm1+VPVm2+⋯+VPVm7,Ipva<IphG4.


## 5.2. Case Studies

### 5.2.1. Case 1

In this pattern, the partial shadow of the module radiation is randomly selected (Figure7). This pattern leads to 7 peaks in the P–V curve (Figure 8). The powers at the local peaks are 86.63 W, 178.83 W, 221.10 W, 254.52 W, 238.37 W, and 87.53 W, respectively, and the peak power is 261.03 W.Figure 7
The received radiation for each module.Figure 8
P–V curve of the partial shadow pattern in Case 1.Figure9 shows the power, voltage, and duty cycle curves corresponding to the PSO, ABC, and P&O algorithms. According to the results using PSO, the proposed PSO algorithm has tracked the global maximum point (261.04 W) after 2.52 seconds. In addition, the ABC algorithm tracks the same global point in 1.20 seconds, while the P&O algorithm is trapped in the second local peak (187.87 W).Figure 9
Simulation results for Case 1 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure10 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. In Figure 10(a) it can be seen that the HSS algorithm has tracked the global peak after 0.90 seconds while the DA algorithm has tracked the global peak point after 1.18 seconds (Figure 10(b)). The results in both Figures 9 and 10 show that the HSS algorithm performs better in terms of global peak point tracking time and accuracy. For a quantitative comparison of this algorithm with other simulated algorithms, a summary of these results in terms of parameters such as dynamic efficiency, static efficiency and extraction time is presented in Table 8.Figure 10
Shadow pattern simulation results for Case 1: (a) HSS and (b) DA.
(a)(b)Table 8
Radiation pattern for modules for Case 1.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(1)HSS261.05261.0470.430.9099.9998.59DA261.0420.431.1899.9996.71ABC261.0460.431.2099.9998.30PSO261.0400.432.5299.9995.16P&O178.8730.760.3568.5266.48


### 5.2.2. Case 2

Similar to Case 1, in this case, the radiation pattern on the modules is assumed to be random, as depicted in Figure11. This pattern also produces 7 peaks in the P–V curve as shown in Figure 12. The powers at the local peaks are 54.99 W, 119.13 W, 159.83 W, 158.62 W, 113.58 W, 35.55 W, respectively, and the power at the global peak is 173.81 W.Figure 11
Radiation of each module in Case 2.Figure 12
P–V curve of the partial shadow pattern in Case 2.Figure13 shows the power, voltage, and duty cycle curves for PSO, ABC, and P&O algorithms. The PSO algorithm detects the power global peak point (173.693 W) in 1.80 seconds (Figure 13(a)) while the ABC algorithm detects the global peak point in 1.02 seconds (Figure 13(b)). It can be seen that for this shadow pattern, the P&O algorithm has been trapped in the first local peak due to the lack of recognition between the global peak and the local peak, and tracks 54.61 W (Figure 13(c)).Figure 13
Simulation results for Case 2 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure14 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. The HSS algorithm tracks the global peak power of 173.694 W in 0.80 seconds, while the DA algorithm tracks the same point after 1.08 seconds (Figure 14(b)). The tracking time for the PSO, ABC and DA algorithms decreased by 55.55%, 21.56% and 25.92%, respectively. Table 9 provides a quantitative comparison of the proposed algorithm with other simulated algorithms. The comparison is based on dynamic efficiency, static efficiency, and tracking time.Figure 14
Shadow pattern simulation results for Case 2: (a) HSS, (b) DA.
(a)(b)Table 9
Radiation pattern for modules for Case 2.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(2)HSS173.810173.6940.460.8099.9397.61DA173.6940.461.0699.9396.75ABC173.6940.461.0299.9397.53PSO173.6930.461.8099.9295.16P&O54.6170.830.0631.4231.87


### 5.2.3. Case 3: Random Non-uniform Irradiance Based on Pattern 3

In this part, a complicated shadow pattern is selected. The radiation of the modules is shown in Figure15. According to the P–V curve in Figure 16, the local peaks for the power are 77.65 W, 175.25 W, 251.30 W, 301.97 W, 319.02 W, and 187.77 W, respectively, where the global peak power is 325.25 W.Figure 15
Radiation of each module for Case 3.Figure 16
P–V curve of the partial shadow pattern in Case 3.Figure17 shows the power, voltage, and duty cycle curves corresponding to the PSO, ABC, and P&O algorithms. The PSO algorithm detects the global peak power point (325.18 W) in 1.46 seconds (Figure 17(a)), while the ABC algorithm detects the global peak power point in 1.04 seconds 323.844 W (Figure 17(b)). It should be noted that global peak power using the ABC is slightly smaller than the actual global peak power. In addition, in this shadow pattern, the P&O algorithm is trapped in the second local peak due to the lack of recognition between the global peak and the local peak, and detects 175.26 W (Figure 17(c)).Figure 17
Simulation results for Case 3 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure18 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. The HSS algorithm detects the global peak at 325.19 W in 0.96 seconds, while the DA algorithm tracks the same point at 0.98 seconds. Comparing the results illustrate that the tracking time of the proposed algorithm has been improved by 34.24%, 7.6%, and 2.04% compared to PSO, ABC, and DA algorithms, respectively. Table 10 provides a quantitative comparison of the proposed algorithm with other simulated algorithms. This comparison is based on parameters dynamic efficiency, static efficiency, and tracking time. It should be noted that in all simulated models, the power fluctuations in the MPP point tracking process for the proposed algorithm (HSS) are less than in other algorithms.Figure 18
Shadow pattern simulation results for Case 3: (a) HSS and (b) DA.
(a)(b)Table 10
MPPT results of different algorithms in Case 3.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(3)HSS325.25325.1900.490.9699.9898.06DA325.1900.490.9899.9897.11ABC323.8440.491.0499.5697.57PSO325.1890.491.4699.9897.41P&O175.2640.770.3453.8852.52


## 5.2.1. Case 1

In this pattern, the partial shadow of the module radiation is randomly selected (Figure7). This pattern leads to 7 peaks in the P–V curve (Figure 8). The powers at the local peaks are 86.63 W, 178.83 W, 221.10 W, 254.52 W, 238.37 W, and 87.53 W, respectively, and the peak power is 261.03 W.Figure 7
The received radiation for each module.Figure 8
P–V curve of the partial shadow pattern in Case 1.Figure9 shows the power, voltage, and duty cycle curves corresponding to the PSO, ABC, and P&O algorithms. According to the results using PSO, the proposed PSO algorithm has tracked the global maximum point (261.04 W) after 2.52 seconds. In addition, the ABC algorithm tracks the same global point in 1.20 seconds, while the P&O algorithm is trapped in the second local peak (187.87 W).Figure 9
Simulation results for Case 1 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure10 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. In Figure 10(a) it can be seen that the HSS algorithm has tracked the global peak after 0.90 seconds while the DA algorithm has tracked the global peak point after 1.18 seconds (Figure 10(b)). The results in both Figures 9 and 10 show that the HSS algorithm performs better in terms of global peak point tracking time and accuracy. For a quantitative comparison of this algorithm with other simulated algorithms, a summary of these results in terms of parameters such as dynamic efficiency, static efficiency and extraction time is presented in Table 8.Figure 10
Shadow pattern simulation results for Case 1: (a) HSS and (b) DA.
(a)(b)Table 8
Radiation pattern for modules for Case 1.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(1)HSS261.05261.0470.430.9099.9998.59DA261.0420.431.1899.9996.71ABC261.0460.431.2099.9998.30PSO261.0400.432.5299.9995.16P&O178.8730.760.3568.5266.48


## 5.2.2. Case 2

Similar to Case 1, in this case, the radiation pattern on the modules is assumed to be random, as depicted in Figure11. This pattern also produces 7 peaks in the P–V curve as shown in Figure 12. The powers at the local peaks are 54.99 W, 119.13 W, 159.83 W, 158.62 W, 113.58 W, 35.55 W, respectively, and the power at the global peak is 173.81 W.Figure 11
Radiation of each module in Case 2.Figure 12
P–V curve of the partial shadow pattern in Case 2.Figure13 shows the power, voltage, and duty cycle curves for PSO, ABC, and P&O algorithms. The PSO algorithm detects the power global peak point (173.693 W) in 1.80 seconds (Figure 13(a)) while the ABC algorithm detects the global peak point in 1.02 seconds (Figure 13(b)). It can be seen that for this shadow pattern, the P&O algorithm has been trapped in the first local peak due to the lack of recognition between the global peak and the local peak, and tracks 54.61 W (Figure 13(c)).Figure 13
Simulation results for Case 2 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure14 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. The HSS algorithm tracks the global peak power of 173.694 W in 0.80 seconds, while the DA algorithm tracks the same point after 1.08 seconds (Figure 14(b)). The tracking time for the PSO, ABC and DA algorithms decreased by 55.55%, 21.56% and 25.92%, respectively. Table 9 provides a quantitative comparison of the proposed algorithm with other simulated algorithms. The comparison is based on dynamic efficiency, static efficiency, and tracking time.Figure 14
Shadow pattern simulation results for Case 2: (a) HSS, (b) DA.
(a)(b)Table 9
Radiation pattern for modules for Case 2.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(2)HSS173.810173.6940.460.8099.9397.61DA173.6940.461.0699.9396.75ABC173.6940.461.0299.9397.53PSO173.6930.461.8099.9295.16P&O54.6170.830.0631.4231.87


## 5.2.3. Case 3: Random Non-uniform Irradiance Based on Pattern 3

In this part, a complicated shadow pattern is selected. The radiation of the modules is shown in Figure15. According to the P–V curve in Figure 16, the local peaks for the power are 77.65 W, 175.25 W, 251.30 W, 301.97 W, 319.02 W, and 187.77 W, respectively, where the global peak power is 325.25 W.Figure 15
Radiation of each module for Case 3.Figure 16
P–V curve of the partial shadow pattern in Case 3.Figure17 shows the power, voltage, and duty cycle curves corresponding to the PSO, ABC, and P&O algorithms. The PSO algorithm detects the global peak power point (325.18 W) in 1.46 seconds (Figure 17(a)), while the ABC algorithm detects the global peak power point in 1.04 seconds 323.844 W (Figure 17(b)). It should be noted that global peak power using the ABC is slightly smaller than the actual global peak power. In addition, in this shadow pattern, the P&O algorithm is trapped in the second local peak due to the lack of recognition between the global peak and the local peak, and detects 175.26 W (Figure 17(c)).Figure 17
Simulation results for Case 3 using (a) PSO, (b) ABC, and (c) P&O.
(a)(b)(c)Figure18 shows the power, voltage, and duty cycle curves corresponding to the HSS and DA algorithms. The HSS algorithm detects the global peak at 325.19 W in 0.96 seconds, while the DA algorithm tracks the same point at 0.98 seconds. Comparing the results illustrate that the tracking time of the proposed algorithm has been improved by 34.24%, 7.6%, and 2.04% compared to PSO, ABC, and DA algorithms, respectively. Table 10 provides a quantitative comparison of the proposed algorithm with other simulated algorithms. This comparison is based on parameters dynamic efficiency, static efficiency, and tracking time. It should be noted that in all simulated models, the power fluctuations in the MPP point tracking process for the proposed algorithm (HSS) are less than in other algorithms.Figure 18
Shadow pattern simulation results for Case 3: (a) HSS and (b) DA.
(a)(b)Table 10
MPPT results of different algorithms in Case 3.
PatternMethodPower from MPP curve (W)Power at MPP (W)Duty cycle at MPPTracking time (s)Static efficiency (%)Dynamic efficiency (%)(3)HSS325.25325.1900.490.9699.9898.06DA325.1900.490.9899.9897.11ABC323.8440.491.0499.5697.57PSO325.1890.491.4699.9897.41P&O175.2640.770.3453.8852.52


## 6. Conclusion

This study presents the application of a robust optimization algorithm, Hyper-spherical search (HSS), for tracking MPP under shading conditions. The simulation results indicate that the HSS algorithm fulfills a high tracking accuracy and speed and has good dynamic performance in the irradiance change conditions. Besides, HSS is compared with four methods: P&O, PSO, ABC, and Dragon algorithms. The P&O is not effective in partial shading conditions and, in most cases, converges to the LMPP. Although the PSO and ABC algorithm has powerful performance, it faces a few problems in tracking the GMPP point as the shading conditions get complicated. The simulation results show that all the search-based algorithms (HSS, DA, ABC, and PSO) have significantly better performance to find GMPP than the P&O conventional method. Although the difference between these approaches is less in some criteria such as tracking of MPP, duty cycle, and static efficiency, the proposed HSS algorithm has the lowest tracking time (0.9, 0.8, and 0.96 in case studies 1, 2, and 3 respectively) and highest dynamic efficiency (98.59%, 97.61% and 98.06% in case study 1, 2 and 3 respectively) with respect to the others. Since the HSS method easily tracks the GMPP points in all critical shade conditions. It confirms that it can be an effective alternative to standard and evolutionary MPPT methods.The advantages of the proposed HSS algorithm can be summarized follows:The HSS algorithm tracks the MPP point faster than the other algorithms and imposes fewer losses on the system.Under dynamic conditions such as rapid radiation changes, the HSS algorithm tracks new MPP points with fewer fluctuations.The static and dynamic efficiencies of the proposed HSS algorithm is better than other algorithms.Detects GMPP for various radiation patterns and shadow conditions with higher reliability.For future work, a combination of the HSS algorithm and the conventional incremental conductance algorithm would increase the performance of the optimization. In details, initially, the HSS algorithm is being executed to pass through the local peaks, then the algorithm is switched to the “Incremental Conductance” method to track the global peak. The optimization change method avoids additional searches until reaching the exact value of the global peak and increases the efficiency and speed of optimization.



---

*Source: 1101692-2022-08-31.xml*