Abstract

This paper proposes a perturb and observe (P&O) maximum power point tracking (MPPT) algorithm for photovoltaic (PV) systems. P&O is a simple technique that comes with serious problems, steady-state oscillation, and deviation from the maximum power point (MPP). This algorithm uses variable step size to decrease the convergence time, and it uses the average value of the last three duty cycle to find MPP fast and accurately. In addition, the probability of deviation has been reduced using the direction of the current when the irradiance changes. The irradiance change identifier, steady-state determiner, duty cycle selector, step size alternator, and boundary condition imposer are the extramodules attached to the structure of the original P&O algorithm to change the step size. This algorithm has been tested along with different types of P&O and INC algorithms in MATLAB software and practical experiments using a boost switching converter. The irradiance pattern used in the simulation includes step and slop, increasing and decreasing patterns, and the proposed algorithm obtained an overall efficiency of 98.54%.

1. Introduction

Based on the problems caused by the usage of fossil fuels as energy resources, it is imperative to exploit renewable resources such as the sun and wind. Solar energy is clean, harmless, and available for free across the globe in abundance. A solar cell generates electricity when exposed to photons or particles of light, and this conversion is called the photovoltaic effect. The conversion efficiency of the PV modules is low, and to harvest the maximum power from them, MPPTs are required. MPPTs ensure the PV system’s voltage and current are always on the MPP. By improving the algorithm, the PV system’s performance is enhanced. The solar cell’s nonlinear I-V and P-V characteristic curves depend on the level of solar irradiation and temperature, leading to MPP variation. Methods called MPPT are used to extract the maximum power from PV cells. MPPT techniques are broadly categorized into hill-climbing and soft-computing methods. The most renowned hill-climbing MPPT techniques are P&O [14], conventional hill-climbing [5, 6], and incremental conductance (INC) [79]. They are widely used in experimental and commercial products due to their simplicity and robustness. Soft-computing MPPT methods such as artificial neural network (ANN) [10, 11], fuzzy logic control (FLC) [12], genetic algorithm (GA) [13], particle swarm optimization (PSO) [14], gray wolf optimization (GWO) [15], are more complex and have more computational burden than hill-climbing MPPT techniques. However, they are more accurate and have better steady-state performance.

Among different MPPT techniques, P&O is a simple and efficient method popular for its easy implementation and straightforward algorithm, but it comes with some significant downsides. The first is the constant oscillation around MPP, and the second is the deviation from MPP when the irradiance increases rapidly. Both issues, resulting in efficiency reduction and power dissipation, are due to the essence of the algorithm, which is by exerting a perturbation and observing the effects. Several techniques have been introduced for the conventional P&O to increase the efficiency and lower power dissipation by reducing convergence time, oscillation, and deviation. There are some solutions in [1622] to solve the conventional P&O problems, and each algorithm exploits a different method. The proposed algorithm changes the step size according to the position of the power point (PP) relative to the MPP, and once the MPP is detected, a suitable duty cycle is selected by an average of three consecutive duty cycle values to improve the convergence time, then a boundary is imposed to suppress further oscillation around the MPP and to reduce the power dissipation as low as possible. Contrary to the conventional P&O which deviation causes power dissipation when the irradiance changes, in the proposed algorithm when the irradiance changes, the correct tracking direction is selected based on the sign of ΔI which mends the deviation issue.

Section 2 of this paper explains the conventional P&O problems and previous improvements. The proposed algorithm is illustrated in Section 3. Simulation and results are in Section 4, and the experimental setup is in Section 5. Finally, the conclusion is in Section 6.

2. Perturb and Observe

The basic principle of the perturb and observe algorithm is based on creating a perturbation, observing the results, and comparing the outcome with the previous ones. In this case, the algorithm changes the duty cycle step size and remeasures the PV panel’s current, voltage, and power, then compares them with the previous values.

2.1. Conventional P&O

In the hill-climbing MPPT category, P&O is a renowned tracker requiring only power and voltage values to determine the perturbation direction. This algorithm measures the PV panel’s voltage and power, and then it computes and to determine the perturbation sign, which can be positive or negative. Based on the signs of and , four cases can happen for the next perturbation sign that indicates the PP position relative to MPP on the P-V curve. A switching converter is used between the PV panel and the load to match the PV panel’s internal series impedance with the load’s impedance. The PV panel current is mainly changes by the irradiance level which changes the panel’s internal impedance.

The equivalent load impedance seen from the PV panel side varies when the duty cycle changes, and then the PP moves toward the left or right side of the MPP on the P-V curve. The selection of an appropriate perturbation step size is the main challenge in the hill-climbing MPPT algorithms because the step size directly impacts the convergence time, deviation from MPP, and oscillations. If the step size is large, convergence time is low, oscillations are sizeable, and deviation from MPP does take long, but power dissipation is noticeable. In contrast, small step size causes minuscule oscillations; however, convergence time increases, and deviation can occur when irradiance changes with a slope. The step size must be large enough to produce more significant power fluctuations than the switching ripple to be noticeable by the sensors, so the algorithm can determine the correct perturbation direction and does not deviate further from the actual MPP direction.

As illustrated in Figure 1, due to the duty cycle alterations for achieving MPP, oscillations occur on the paths of (a), (b), (c), and (d), which cause power loss and efficiency reduction. When the irradiance level is at 400 W/m2 and the PP is on (a), if the irradiance level increases to 1000 W/m2, the PP goes to (e), and the power and voltage values both increase, then the algorithm mistakes that the PP is still on the left side of the MPP and decreases the duty cycle more. However, since the irradiance level has increased, the PP is now on the right side of the MPP because the previous value of the duty cycle provided a semi-big equivalent load impedance to be matched with the PV panel internal impedance caused by the 400 W/m2 irradiance level. When the duty cycle decreases, the algorithm sees a power drop, and the PP goes to (f). The smaller the step size, the more the algorithm deviates. Eventually, the algorithm finds the correct direction, goes through (g) and (h), and oscillates around MPP on the paths of (i), (j), (k), and (l).

2.2. Previous P&O Improvements

Different solutions have been suggested to mend the conventional P&O problems [18, 2327]. The VSS mechanism enhances the P&O algorithm’s performance using two various step sizes [28, 29]. In this algorithm, a small step size is used when the PP is around MPP, and the bigger one is exploited to reduce the convergence time when PP is far from MPP. In the ASS, the step size is adaptive and based on the slope of . So, when the PP reaches near MPP, the error value decreases and reduces the step size, leading to lower oscillation and lesser power dissipation around the MPP [3032]. In [33], a modified P&O has been proposed which uses the perturbation sign to identify the steady state and reduces the step size when MPP is reached. A two-mode P&O algorithm has been introduced in [34] to rectify the issues of the conventional P&O in both transient and steady state conditions.

Previous P&O improvements leave some issues unsolved. For instance, they oscillate even a little at steady state conditions due to using fixed step sizes, are not fast enough because of the gradual step size reduction, deviate from the correct direction at slope irradiance change, or become unstable due to using only the error value as step size. This paper introduces an algorithm to improve the convergence time, oscillation, and deviation from MPP by using an appropriate step size based on the position of PP relative to MPP.

3. The Proposed Algorithm

The proposed algorithm’s performance is depicted in Figure 2. This algorithm identifies the position of PP relative to the MPP and tracks the MPP with a large perturbation step size, and when the MPP is found, the algorithm reduces the step size. The exact MPP is detected by a smaller step size, and after the second swing around the MPP, the average of the last three duty cycle values is used as the final duty cycle value. A boundary condition is used to evade further oscillation around MPP (3, 4), and the duty cycle value remains the same until a specific condition is met.

When the irradiance changes, the position of the PP differs based on the next irradiance level. When the irradiance increases, the PP which was on the MPP of the previous irradiance level, goes to the right side of the new MPP (1), so the algorithm increases the duty cycle to move the PP toward the left to reach the MPP. When the irradiance decreases, the PP moves to the left side of the new MPP (2), and the algorithm decreases the duty cycle to move the PP toward the right in order to reach the MPP.

3.1. Algorithm’s Flowchart

The proposed algorithm is depicted in Figure 3. This algorithm is based on the conventional P&O, including the irradiance change identifier, steady-state determiner, duty cycle selector, step size alternator, and boundary condition imposer. These are the five modules used to improve the performance of the algorithm in steady state and transient conditions. This algorithm uses the conventional P&O as the tracking core, and then the other five blocks added to the original structure of the P&O improve the algorithm’s performance during transient and steady state conditions by changing the step size based on the position of PP relative to the MPP. The appropriate perturbation step size reduces the convergence time and oscillations around MPP which significantly enhances the efficiency by reducing power dissipation.

3.1.1. Irradiance Change Identifier

The step size decreases to reduce oscillation and power loss when the MPP is found. Once the irradiance changes, the small step size is inappropriate for tracking MPP, and deviation can occur. In block (5), the flag variable becomes 0 when the MPP is reached, and equals 5% of the PPV at the MPP. In block (1), when the flag is 0 and , the algorithm deduces that the irradiance has been altered and the small step size is no longer suitable to track MPP. Thus, it changes the step size and unlocks the boundary condition. Positive ΔI means the irradiance has increased, so the duty cycle direction sign () becomes positive to track MPP in the correct direction and vice versa. sign changes the only when the irradiance change is detected after the steady-state condition to avoid the system’s instability during MPP tracking since the sign alters continuously due to the P&O tracking nature.

3.1.2. Steady-State Determiner

When the irradiance level is constant, the sign changes based on the position of PP relative to MPP, and it changes the β. When the algorithm is tracking MPP, the β signs are in the same direction (positive or negative), but when the MPP is found, the β signs fluctuate. Therefore, if each three β have the same sign, the algorithm concludes that the PP is yet to achieve the MPP; otherwise, the algorithm infers that the MPP has been found. The cntr is counter which counts to three, and with each count, the value of the previous duty cycle () would be placed in an array of three (), and also is the summation of three β signs.

3.1.3. Duty Cycle Selector

Once the cntr reaches maximum value, provided that the flag is 1, the average of which is the summation of the last three duty cycles is put in and then the algorithm resets the cntr variable. When the algorithm finds MPP, the PP starts to swing around it: therefore, the average of the is almost equal to the exact MPP duty cycle. This method does not require gradual duty cycle reduction, and the exact MPP can be found fast and with acceptable precision.

3.1.4. Step Size Alternator

When is three, it means that all of the β signs are the same and the PP has not reached MPP yet, so in order to track MPP faster, the algorithm increases the probation step size; however, if is not three there is a high probability that the PP has reached MPP. Each time that the is not three, the algorithm reduces the step size and increase the Osc variable by one unit. Once the Osc reaches maximum value which in this case is two, the algorithm ensures that the PP has reached MPP.

3.1.5. Boundary Condition Imposer

The algorithm minimizes the perturbation step size to reduce the steady-state oscillations and power loss. Although when MPP is found the step size reduces significantly, minute oscillations exist in the steady-state condition. BH and BL are the high and low boundaries to cease the algorithm from further oscillation around MPP. Also, the flag variable turns to 0 to provide a condition in block (1) to change the step size when the irradiance changes. The value of the is used as to retain the algorithm on MPP, and the boundary condition does not allow the duty cycle to alter unless the condition in block (1) is met.

3.2. Operation Principle

The proposed algorithm process starts with the conventional P&O, and the is determined based on the signs of and . The initial value of the flag is 1, so the algorithm goes to block (2) and sets the sign based on the , then increases the cntr variable and fills up the array locations with . The algorithm sums the signs and puts them in the variable. Once the cntr variable reaches maximum value, provided that the flag is 1, block (3) starts. In block (3), is selected based on the average of , and then cntr variable sets to 0. However, if the flag or cntr does not have the required condition, the algorithm skips blocks (4) and (5).

In block (4), if is three, it means that the PP is tracking MPP, and to speed up this process and to reduce convergence time, the algorithm uses a bigger step size. Otherwise, the algorithm infers that the PP has reached MPP; therefore, it changes the step size to a smaller value and increases the Osc variable by one unit. The Osc variable increases after each oscillation around MPP, and when it reaches its defined value the algorithm deduces that the PP is reached MPP. In block (5), the algorithm alters the flag variable to 1, reduces the perturbation step size to the minimum value, and uses the as to preserve the PP on the MPP. BH and BL are also would be set to ensure that the algorithm stays on the MPP during the steady-state condition. Also, th which is equal to the 5% of the is used to unlock the boundaries when the irradiance changes.

4. Simulation and Results

A boost switching converter has been used to implement the proposed algorithm in MATLAB Simulink software, as depicted in Figure 4.

Figure 5 illustrates the irradiance pattern used to estimate the algorithm’s performance. The irradiance pattern changes from 600 W/m2 to 1000 W/m2 with the step and the slope changes. The length is 3.5S, split into seven intervals from a to g in 0.5S periods. Figures 612 show the power and duty cycle in steady-state and transient conditions for the proposed P&O, optimized P&O [33], conventional P&O [3], conventional INC [7], VSS P&O [28], ASS INC [29], and modified P&O [32], respectively.

In the propose algorithm, the step size alternator block alters the perturbation step size to track MPP fast and reduce the convergence time. The steady-state determiner block identifies the MPP with high accuracy then the duty cycle selector block, sets the average of the last three duty cycles as the MPP duty cycle. Boundary condition imposer block limits the duty cycle value within the boundaries to reduce power dissipation and oscillation around MPP. Once an irradiance change is detected, the irradiance change identifier block changes the step size and its direction to track the MPP accordingly.

The proposed algorithm uses different step sizes to the decrease tracking time and lower the oscillation. After three consecutive increases in the cntr variable, the algorithm checks the β´ value to discern the PP position relative to MPP. Once the second swing around MPP occurs, the algorithm changes the duty cycle to the average of the δ, which instantly and accurately finds MPP. If the irradiance change is identified, a suitable step size is adopted to track MPP and also to evade deviation. When the irradiance changes the correct duty cycle direction based on the ΔI sign is selected to reduce the probability of deviation. Table 1 shows the numerical values of tracking time, oscillation, and tracked power for the irradiance step change and deviation for the irradiance slope change. Also, each algorithm’s total efficiency is evaluated by the MATLAB software.

Due to the unchangeable perturbation step size of the conventional P&O and conventional INC algorithms, their efficiency is around 95.05% and 95.08%, respectively. Both algorithms have a high convergence time as well as a high probability of deviation from MPP, causing power dissipation in both transient and steady-state conditions.

Using VSS and ASS in P&O and INC algorithms improves efficiency and performance. The efficiency of the ASS INC and VSS P&O algorithms are 97.56% and 97.88%, respectively. Using ΔP/ΔV as the perturbation step size in the ASS INC makes the algorithm rather unstable when the irradiance changes suddenly, but it reduces the tracking time immensely. The convergence time and oscillation around MPP are reduced in VSS P&O due to the usage of various step sizes. The optimized P&O uses a two-mode technique to reduce the convergence time and to lower the oscillation around MPP, and it reaches the efficiency of 97.90%. However, this algorithm does not amend deviation. The modified P&O efficiency is 98.23%, but due to the gradual step size reduction, the convergence time is not fast enough to cease the PP from oscillation around MPP when MPP is found. The proposed P&O algorithm’s efficiency is 98.54%, with a notably low convergence time and deviation. This algorithm finds MPP fast and precisely with zero oscillation around MPP.

5. Experimental Results

In real conditions, algorithms have been tested, and in order to identify each algorithm’s performance, the results have been compared in a table.

5.1. Experimental Setup

The hardware setup used to implement the algorithms is shown in Figure 13. Table 2 demonstrates the boost switching converter components based on the Fundamentals of Power Electronics book formulas [35]. Also, the characteristics of the used PV panel are depicted in Table 3.

5.2. Results and Discussion

Figures 1421 depict the experimental results of the proposed P&O algorithm along with conventional P&O, conventional INC, VSS P&O, ASS INC, and modified P&O in real experiments. Figures 1419 show the step irradiance change, and Figures 20 and 21 show the slope irradiance change. The performance of the conventional P&O and conventional INC algorithms is illustrated in Figures 14 and 15, respectively. In both algorithms, the convergence time is more significant than others, deviation from MPP at rapid irradiance change is relatively high due to one fixed step size, and steady-state oscillations are immense, which leads to higher power loss.

The ASS INC algorithm’s performance is depicted in Figure 16. The adaptive step size decreases convergence time and steady-state oscillation. In the steady-state condition, the power loss is fairly low due to a small value. However, when the irradiance changes quickly, the large step size values increase the power dissipation.

The VSS P&O algorithm’s performance is shown in Figure 17. The step size is variable and changes based on the compared to a threshold. Convergence time and steady-state oscillations have been improved, and power dissipation is reduced when the irradiance changes.

The modified P&O algorithm’s performance is illustrated in Figure 18. The step size gradually reduces when MPP is found, so the tracking time is not quite fast, and steady-state oscillations are zero. When irradiance changes rapidly, a more significant step size reduces the tracking time and lowers the power dissipation.

The proposed P&O algorithm’s performance is delineated in Figure 19. The bigger step size is used when PP has not reach MPP, and when MPP is found, the step size changes to a smaller value. Once the PP swings around MPP for the second time, the average of the last three duty cycle values is used as the MPP duty cycle, and the boundaries are set to restrict PP movements around MPP. When the irradiance changes, the step size changes to a greater value to track MPP fast and evade deviation from MPP.

Figures 20 and 21 depict the conventional P&O and the proposed P&O algorithm’s performance, respectively, under a slope irradiance change.

The proposed algorithm reduces the oscillations and imposes boundaries that cease the PP from oscillation around the MPP. Therefore, oscillation and power dissipation in both transient and steady-state conditions are reduce, which improves the efficiency significantly. However, the conventional P&O tracks MPP with a fixed step size which causes noticeable oscillation and power dissipation in both conditions.

The convergence time, deviation, oscillation, and tracked power for the conventional P&O, conventional INC, VSS P&O, ASS INC, modified P&O, and proposed P&O algorithms under a step irradiance change are shown in Table 4.

Conventional P&O and conventional INC almost perform in the same way. The tracking time is high, and power dissipation and deviation are notable. In VSS P&O, the variable step size improves the convergence time and reduces the deviation and oscillation by using two different step sizes. The adaptive mechanism for the step size in ASS INC reduces tracking time and oscillation around the MPP, but the deviation increases immensely. The modified P&O finds MPP at a reasonably fast pace, with low and acceptable oscillation and deviation. The proposed algorithm’s tracking time is notably low due to the accurate detection of the steady-state condition. Moreover, this algorithm’s deviation and oscillation are minuscule as a result of using an appropriate step size and the duty cycle average. The selected duty cycle remains the same within the boundaries until an irradiance change is identified.

6. Conclusion

An improved P&O MPPT algorithm has been introduced in this paper to improve the conventional P&O algorithm’s convergence time, steady-state oscillation, and deviation. The proposed algorithm changes the step size based on the position of the PP relative to MPP. This algorithm finds MPP fast and identifies the precise MPP location with the average of the last three-duty cycle which enhances the algorithm’s performance. Since there is no gradual reduction in the duty cycle when MPP is found, the power stables fast which causes less power dissipation and improves the overall efficiency. Also, the sign has been used to reduce the deviation probability when irradiance changes, since in the conventioanl P&O when the irradiance changes there is a probability of deviation, and based on the perturbation step size, the deviation lasts long. The smaller the step size is, the more it takes for the algorithm to recognize the effect of the deviation, and the more deviation takes longer the more power dissipates. This usually happens when the irradiance has changed, but the algorithm is still tracking MPP with the small perturbation step size, and tracking MPP under a slope irradiance change with a small perturbation step size can cause deviation since the effect of the made by the irradiance change is more significant than the caused by the perturbation step size; therefore, the proposed algorithm alters the step size to reduce convergence time, oscillation, and deviation. Simulation and real experiments have been done under a step and slope irradiance change to compare the proposed algorithm with the conventional P&O, conventional INC, VSS P&O, ASS INC, and modified P&O.

The proposed algorithm’s overall efficiency in simulation is 98.54% which is greater than the conventional P&O by 3.5%. In the real experiments, convergence time is around 260 mS for both step irradiance changes, and deviation is 0.8 W for step irradiance decrease and 6.8 W for step irradiance increase. The average of the duty cycle value within the boundary condition has reduced the oscillation to 0.2 W, which is notable. The proposed algorithm is quick, with the low probability of deviation and negligible oscillation, and it can be used on low-cost MCUs for MPPT and PV inverters.

Data Availability

All data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors have no conflicts of interest to declare.