#### Abstract

This study presents a novel search algorithm of maximum power point tracking for photovoltaic power generation systems. The *I-V* characteristics and the *P-V* power output under specific irradiation and temperature conditions are simulated. The performance of the algorithm under fully shaded and sudden partially shaded conditions as well as variable insulations levels is investigated. The developed algorithm performs a wide-range search in order to detect rapidly changing weather conditions, and keeps the simulated stand-alone or grid-connected systems continuously operating close to the maximum power point. The performance of the developed algorithm, under extremely changing environmental conditions, is found to be superior compared to that of other conventional algorithms. The results of this study show that, under uniform radiations conditions, the developed algorithm takes only half of the time required by the Perturbation and Observe algorithms to reach maximum power point MMP. Furthermore, when PV is subjected to sudden partial shading conditions, the algorithm rapidly detects these changes and reaches the new MMP in less than a second.

#### 1. Introduction

It is now widely accepted that the nonrenewable sources in the world are finite and it is only a matter of time before reserves will essentially be consumed [1, 2]. It has been proven that the use of nonrenewable energy sources has severe effect on the environment. Due to environmental awareness and technological advancement, high oil price, and government support, the renewable electricity generation capacity has reached an estimated 240 gigawatts (GW) worldwide in 2007 while it was 160 GW in 2004 [3]. The solar photovoltaic (PV) power system is attractive renewable energy source due to its availability and economic feasibility [4, 5]. Stand-alone PV systems are found suitable for powering remote areas [4].

The power produced by a PV module depends on the operating temperature, the amount of falling solar irradiance over the PV Cells array, and the load connected [5, 6]. The power output of PV cells depends on the nonlinear current voltage* (I-V)* characteristics relationship. Because of this nonlinear relationship between the current and the voltage of the PV cell, there is a unique maximum power point at particular weather conditions, and this maximum power point keeps changing with the irradiance levels and ambient temperature. Therefore, a maximum power point tracking (MPPT) algorithm is commonly used, to obtain the maximum possible power under varying weather conditions and loads. Because of the nonlinear* I-V* relation, the power versus voltage* P-V* relation has more complicated behavior especially when the weather conditions change. This complex behavior makes analytical solution very difficult and force researchers to develop numerous techniques for finding MPP. MPPT algorithms are implemented using digital signal processors (DSP) or microcontrollers. They control DC/DC converters to drive the PV panel to operate at their MPP.

The main methods used to achieve MPPT for PV cells are Estimation Methods, Heuristic Method, and Search Algorithms. System modeling method [7–9], curve-fitting method [10, 11], open circuit method [12, 13], and short circuit method [14, 15] are examples of Estimation Methods. They run PV cells to track an Estimated Maximum Power Point rather than the Actual Maximum Power Point. In general,* Estimation Methods* depend on an approximated mathematical model to calculate an estimated MPP. PV cell current-voltage data, irradiance, and temperature levels are the required inputs for these methods. The main advantages of Estimation Methods are their simple implementation and fast response. On the other hand, they are expensive and inaccurate, require the use of many sensors, demand large computational power, and fail under rapidly changing atmospheric conditions.

Heuristic methods are recently developed to overcome the problem associated with the inaccuracy of the PV cell mathematical model. The succesful development of these methods is attributed to the recent advances in nonlinear control method. Fuzzy Logic Control methods [16, 17], Neural Network methods [18–22] and Genetics Algorithm methods are examples of Heuristic Methods developed to achieve MPPT of PV cells. The Fuzzy Logic Control method effectively tracks the MPP under various weather conditions. However, the performance highly depends on the expertise of the rule-based system designer which might lead to the failure of the controller in tracking the MPP under partial shading condition. The outcomes of MPPT using Neural Network methods are highly related to the accuracy and efficiency of the designed algorithm, the size of the training database, and the network training quality. Furthermore, they require gathered data for various conditions and multiple locations to guarantee a better performance.

Unlike estimation methods, Search Algorithms track the actual MPP rather than an estimated MPP. However, they continuously search for the MPP by increasing or decreasing the PV cell output voltage. Many methods are developed implementing the search algorithms concept. Some of those methods are the differentiation method [23, 24], the Perturbation and Observe methods, or the modified Perturbation and Observe methods [25–30], the Incremental Conductance method [31], the Parasitic Capacitance method [32], the Fibonacci Search method [33, 34], the Slide Control method [35], and the Particle Swamp Optimization method [36, 37]. The main advantage of these methods can be summarized as follows. No previous knowledge about the PV cell characteristics is required, no or minimal use of sensors is required to show acceptable response to rapidly changing conditions. On the other hand, search algorithms waste energy as they continuously oscillate around the MPP. Unfortunately, solving the oscillation problem requires complex computational power. Furthermore, the performance of these methods degrades significantly under partial shading conditions and fails under sudden partial shading conditions. Unfortunately, none of the developed search algorithms can successfully deal with all extreme weather conditions, namely, rapidly changing, partial shading, and sudden partial shading conditions.

All the developed methods found in the literature still suffer from weak performance under extreme weather conditions. It is the objective of this study to develop an efficient novel search algorithm that deals with rapidly changing, partial shading and sudden partial shading conditions to track the MPP of PV cells. Minimal user interface for wider adaptation to different solar panels and different environmental conditions is considered in developing the proposed search algorithm.

#### 2. PV Cells Model

The modern solar cells are fabricated from a p-n junction and prepared in a small thickness semiconductor layer. These cells create electric current when subjected to sunlight. The PV cells act as a form of diode in which the parameters of this diode define the circuit model. Walker [38] proposed a simple approximate circuit for the PV cells as shown in Figure 1. He modeled the PV cells as a constant current source connected in parallel with a diode. The model includes the necessary series resistance but neglects the shunt resistance. The characteristics equation of the current produced by the PV cell is proportional to the intensity of the radiation fallen on the PV cells [38] as follows: where is the current (A) generated by the photovoltaic cell due the incident light, (J/K) is the Boltzmann’s constant, is the temperature in Kelvins (K) at the p-n junction, (C) is the electron charge, is the diode saturation or leakage current (A), is the PV cell output voltage (Volt), and is the diode ideality factor.

Villalva et al. suggested adding several parameters in order to capture the behavior of actual panels which consist of a number of connected photovoltaic cells [39]. Figure 2 demonstrates the equivalent circuit of a photovoltaic cell with the additional parameters for the improved model. The improved* I-V* characteristic of a PV array is given as [39]
where is the thermal voltage of the array with cells connected in series and and are the equivalent series and shunt resistances (Ω) of the array, respectively. The series resistance is the sum of several internal and structural resistances within the device. The parallel resistance models the current leakage through the p-n junction.

Figure 3 shows a MATLAB/Simulink model for the improved PV panel mathematical model. Figure 4 shows a MATLAB/Simulink model of the PV circuit built to obtain the* I-V* characteristics according to (2). The photogenerated current is function of solar radiation and temperature of the p-n junction is given by [39] as follows:
where is the photogenerated current at the nominal conditions (25°C, 1000 W/m^{2}), , is the nominal temperature in kelvin, is the radiation fallen on the device, and is the nominal radiation. Figure 5 shows the Simulink model for calculating . The saturation current equation derived by [39] is given as
where is the short circuit current at nominal conditions and and are the current and voltage coefficients, respectively. is the open circuit current at nominal conditions. Figure 6 shows the Simulink model used to calculate saturation current . The values of , , , and are supplied by the PV panel manufacturer. Villalva et al. suggested a method to adjust the values of and based on the fact that there is only pair , which makes the simulated maximum power point , equal to the experimental maximum power point [39]. The method yields the following equations:

From the above equations, it is obvious that output power of a PV module depends on the solar irradiance values and ambient temperature.

#### 3. Partial Shading Problem

The temperature, the irradiation levels, and the shading of the system affect the performance of photovoltaic cells. Partial shading problems arise due to the existence of clouds or building shadows. This problem makes the photovoltaic power characteristics more complicated with multiple peaks in power. This reduces the efficiency of most MPPT techniques. The effect of partial shading problem appears significantly for large arrangement of panels. Under partially shaded condition, it has been found that the* I-V *curves have multiple stairs while the* P*-*V *curves have multiple peaks [40].

#### 4. Boost Converter Design

In this paper, we utilized a boost convertor to change the PV panel operating point to its MPP. The operation of the DC-DC converters is controlled by the MPPT algorithm making the power output of the panel operate at its the maximum level. The MPPT algorithms are usually implemented using either digital signal processors (DSP) or a microcontroller.

DC-DC boost converter shown in Figure 7 transforms an unstable voltage source into a higher-level stable output voltage . Over the past years, these converters have shifted from the conventional analog control to pulse width modulated PWM digital control. These converters use solid-state components including MOSFETS, transistors, and diodes to operate a digital switch (on-off switching) to control the resultant output of these DC-DC converters. These converters employ capacitive and inductance elements to store and transfer energy and eliminate the noise (lowpass filter). Unlike analog control methods, the digital control methods of DC-DC converters are quite resilient and flexible in changing the software. Also, they offer the advantage of implementing more complex control algorithms.

Boost converters have two modes of operation. The closed-switch mode starts the diode reverse bias mode. It causes the input power source to store energy in the inductor as well as the capacitor to discharge into the storage battery, while the open-switch mode starts the diode forward bias mode causing higher output energy supply from both the power source and the inductor to the capacitor and the load. The equation defining the ratio between the input voltage and the output voltage is given as where is the duty cycle of the input PWM signal. The microcontroller sends the proper PWM signal to the boost converter switch to reach the MPP advised by the MPPT algorithm.

In order to design an appropriate boost converter, the following steps are carried out.(i)The boost converter specifications listed in Table 1 are selected to satisfy continuous operation under all conditions.(ii)A 200 kHz switching frequency is chosen to reduce the size of the boost converter components and decrease the power loss.(iii)The boost inductor value plays a key role in determining the operational mode of the system. In order to have continuous operation mode, the inductance should satisfy the following equation:
where is the load resistance, is the inductance, is the maximum voltage gain which is equal to , and is the switching period. We chose the closest available conductor value of 68 *μ*H.(iv)The maximum duty cycle is calculated according to (6) and is found to be 0.846.(v)The capacitance value is given by
where is given by
The allowed ripple in the output voltage is required to be 50 mV. Hence, the desired capacitance value obtained from (8) is as
The equivalent series resistance needed to limit the output ripple to 5 mV is calculated by

To sooth the signal, almost twice of the calculated capacitor value is used, that is, 330 *μ*F. Using all the design calculated and chosen specifications, the Simulink model of the PV panel system with the boost converter is shown in Figure 8.

#### 5. Theory of the Proposed MPPT Algorithm

There are several factors to consider when developing and choosing the techniques for performing MPPT, such as the ability of an algorithm to detect multiple maxima, costs, and convergence speed. MPPT is naturally a maxima-finding process. The proposed Maximum Power Point tracking algorithm implements the search algorithms concept. The reasons behind this choice as mentioned previously are no previous knowledge about the PV cell characteristics is required, simple implementation, and guaranteed convergence. The main disadvantage of search algorithms are that; they waste energy as they continuously oscillate around the MPP and they show inadequate response under partial shading conditions and fail under sudden partial shading conditions.

Most search algorithms model the data as a 1-D function and go about a Brute-Force method of finding the maxima of the function. These kinds of algorithms require a large amount of processing time. Other algorithms like the Shubert algorithm [40–42] rely on Lipschitz continuity. They use weighing parameters that emphasize on the local search versus the global search for the optima. However, these constants may not exist or could not be easily computed especially for optimizing nonlinear control system which is the case in this study. Also, these constants are required to be large enough to exceed the rate of change of* I-V* curve. This might lead to a large number of iterations as the rate of convergence towards the optimal point slows down. Regardless of these draw backs, the Lipschitz method remains highly attractive due to the ability to bound the rate of change of the function; thus, searching algorithms can be easily implemented and one parameter is required to be specified, that is, Lipschitz constant [41].

Eliminating the need to specify the constant and making the algorithm consider both local and global search are the criteria for developing the new algorithm. In this study, we followed Jones et al. methodology [41] by utilizing the advantages of Shubert algorithm, mainly the bounding of the rate of change. Jones et al. presented an algorithm called DIRECT algorithm, that is, a modification of the standard Lipschitzian to overcome the problems of normal Shubert’s algorithm [40] (Figure 11). In order to clarify the logical development and the features of the proposed algorithm, we begin by reviewing Shubert’s method and discussing its main drawbacks; then we will present Jones’s algorithm that eliminates the need to specify a Lipschitz constant. Finally, we present the newly developed algorithm.

##### 5.1. Lipschitzian Optimization

The goal is to find the maximum functional value of . The normal Shubert method can be summarized as follows.

Lipschitz continuity states that a function defined on the closed interval is called Lipschitz continuous on if there exists a positive constant, the Lipschitz constant, such that

Let us take a hypothetical function defined on . If we substitute and for into the definition of Lipschitz-continuity, we get the following two inequalities for , where ,

The inequalities (13) form V-shaped formed from the two lines with slopes and with the intersection occur below as shown in Figure 9.

The point of intersection for the two lines is easy to calculate and is given as

The initial lower bound of is denoted by and given by

The Shubert algorithm uses this straightforward idea in finding the minimum or the maximum of . Shubert’s algorithm is an iterative algorithm that continues to perform the same operation on the regions and , eliminating the higher value intervals to finally reach the global minimum value as demonstrated by Figure 10.

**(a)**

**(b)**

**(c)**

Evaluating the function at the center of any interval rather than the bounds of the interval is the main idea of DIRECT algorithm developed by Jones et al. [41]. Mathematically, this can be expressed as where . Thus, the lower bound equation has to take into account the function value at the center of the interval:

Figure 13 shows the interval-dividing strategy of the DIRECT algorithm when a sampling interval has been specified. Assume that the algorithm has already taken the sample at the center of in the previous step. This interval is then divided into three intervals , , and resulting in two new center points to be evaluated , . The sample simply becomes the center of the new middle interval. The algorithm then evaluates the three samples to decide the next sampling interval. It is clear that only two new samples in each dividing iterations are required for evaluation. Further subdivision for the potential interval containing optima is carried out until the optimal point is found. Theoretical details are found in reference [41]. The fact that in convex hull functions local optima are global optima is used to select potentially optimal interval. Suppose that we have partitioned the interval into intervals with midpoints % for . Let be a positive constant and let be the current best function value. Interval is said to be potentially optimal if there exists some rate-of-change constant such that [41]

The inequality (18) selects intervals that would improve the current function value. For intervals with the same length, the interval with the highest function value at its center point is chosen to be the potentially optimal interval (POI). The inequality (19) ensures that the POIs exceed the current best solution by a nontrivial amount . Figure 12 demonstrates how convex hull sets help choose POIs that satisfy both (18) and (19) [41]. If we construct convex hull from the function values at the center points, the intervals that make up convex hull are considered POIs. Graham’s Scan is efficient algorithm used to create a convex hull out of the set of center points [43]. Graham’s scan is a phase algorithm that can be summarized as follows, given a set of points .(1)Find the point in with the maximum value. If two or more have the same value, use one with the lowest coordinate. Call it .(2)Calculate the angles in radians that each of the points makes with ; then sort them in increasing order, and push them onto a stack.(3)If forms a left turn with the last two points in the stack, we push onto the stack; else, we discard and make the next point in the stack and repeat.(4)Repeat step number (3) until you encounter again.

**(a)**

**(b)**

A simplified approach is to calculate the direction cross product of the two vectors formed from three points - and -. If the value is positive, it is a left turn and thus we keep the point and the interval. If it is negative, then we discard the interval all together.

##### 5.2. Golden Section Search (for Rapidly Changing Conditions)

The golden section algorithm is used to detect the environmental change by continuously oscillating around the maximum power point. The Golden Section Search method is used to find the maximum or the minimum of a unimodal function by calculating the function at three different points. In this study, Golden Section Search (GSS) MPPT algorithm uses the voltage as the search variable. The main advantage of GSS algorithm is its fast convergence compared to many other MPPT algorithms. The MPPT algorithm is developed with the limiting parameters for fast convergence. The main steps in GSS algorithm are as follows.

*Initialization*

(1)Determine and which is known to contain the maximum of the function .(2)Determine two intermediate points and such that (3)If , then new points , , , and are updated as (4)If , then the new points , , , and are updated as (5)If (a predefined condition), then the maximum occurs at stop iteration; else, go to step 2.

The intermediate points and are chosen such that the ratio of the distance from these points to the boundaries of the search region is equal to the golden ratio. The golden ratio which is equal to 1.61803398 makes the algorithm converge at a constant speed.

##### 5.3. Implementation for PV System

Theoretically, falls between 0 V and . In the present study, a DC/DC converter is used to vary the optimal point OP of the PV system. Hence, the duty cycle would be in the range of . However, this range can be controlled to be much smaller in practice. The smaller range will increase the convergence speed. The maximum duty cycle is calculated according to (6) and found to be 0.846.

As mentioned previously, the* I-V *curves have multiple stairs while the* P*-*V *curves have multiple peaks under partially shaded condition as shown in Figure 15. To explain the main idea of the new algorithm, assume that DIRECT has successfully found the maximum power point as shown in Figure 13(a). When weather condition changes happen, the OP will move to a different point due to the change of the* I-V *curve. Since the duty cycle is not changed, the power of the PV is decreased from to as explained in Figure 13(b). To detect environment changes on the PV arrays, GSS algorithm continuously oscillates around the current . The GSS is chosen due to its rapid local searching for optimal point. When executing the GSS algorithm within small interval around the current , the GSS has the ability within four iterations to decide whether environment changes have occurred or not. If OP is not found when GSS iterated four times, DIRECT algorithm is called to search for global OP. This will increase the response time of the proposed algorithm. Figure 14 shows the simplified flowchart of the DIRECT search algorithm incorporated with GSS.

#### 6. Results

The simulation results are carried out using MATLAB/Simulink to validate the performance of the proposed MPPT algorithm.

##### 6.1. Photovoltaic Model Simulation Results

The developed photovoltaic cell Simulink model built and shown in Figure 15 is used to simulate the performance of PV cells under different temperatures and irradiance levels. Figure 16 shows the* I-V* characteristic curve of a practical photovoltaic device under different weather conditions. It can be seen that the* I-V* characteristics are dependent on the levels of irradiance and the temperature of PV cell. Figure 17 shows the power-voltage variations under different weather condition. It is clear that the* P-V* curve has single peak that could be easily found by conventional searching method.

To investigate partial shading conditions, first, a masked model of a single PV cell is built as shown in Figure 18. Then, a model for a panel consisting of three PV cells connected in parallel is built as shown in Figure 19. Each cell is subjected to different solar irradiation to allow producing different values of photovoltaic current .

In order to clarify the complexity associated with partial shading, sample simulations are carried out and their results are shown in Figures 20 and 21.It can be seen in Figures 20 and 21 that there are two local maxima in the power-voltage curves. As mentioned previously, many MPPT algorithms are incapable of dealing with the effects of partial shading and might mistakenly drive the system to its local maximum instead of the desired global maximum.

##### 6.2. Performance under Uniform Weather Condition

The Performance and operation of the proposed search algorithm have been evaluated using MATLAB/Simulink. The sampling time is chosen to be 0.05 s. For the implemented proposed MPPT algorithms, the simulation results have been obtained during starting up of the system. The results have been obtained for a solar irradiance value of the proposed system that is tested under two uniform radiation levels: 1000 W/m^{2} and 2000 W/m^{2}. As shown in Figures 22 and 23, the proposed MPPT algorithm found the global maximum in a relatively short time, that is, in less than 0.8 seconds, with small oscillation in steady state. IT is also observed that the power loss from oscillation is insignificant. To evaluate the effectiveness of the proposed algorithm, its performance is compared with that of the Perturbation and Observe algorithm [25–31]. The result in Figure 24 shows that Perturbation and Observe needed 1.9 seconds to reach the MPP.

##### 6.3. Proposed MPPT Algorithm under Partially Shaded

The proposed scheme for MPPT algorithm is tested under partially shaded conditions. The simulations were conducted with two consecutive scenarios. In the first scenario, the PV panels are subjected to uniform insolation condition. This condition is maintained for 0.4 s before it is changed to partially shaded condition. The cells temperatures are kept constant at 25°C. Figure 25 shows that the MMPT algorithm maintains the MPP until the radiation level varies at 0.4 s. It can be seen from Figure 25 that the proposed algorithm immediately detects the weather changes and starts immediately searching for the new MPP. As it can be seen, in Figure 25, the proposed MPPT found the new MPP after 0.7 s.

#### 7. Conclusion

A novel algorithm of maximum power point tracking for photovoltaic power generation system is presented. A mathematical model of the PV panel is presented based on the theory of photovoltaic. The* V-I* characteristics and the* P-V* power output under several irradiation levels and temperature conditions are simulated. The proposed algorithm is implemented in a PV panel connected to DC-DC boost converter with resistive loading. A full Simulink MATLAB model is built to simulate the performance of the proposed algorithm. The proposed MPPT algorithm is evaluated under extreme weather conditions. The results show that various advantages are gained with the proposed scheme compared to perturbation and observe algorithms. The response time is smaller and the oscillations around the MPP were reduced to obtain steady state maximum power output. It is found that the proposed algorithm quickly identifies the MPP of the solar panels under extreme weather conditions. Furthermore, the MMPT algorithm sustains its performance when subjected to sudden changes in the insulation levels. In addition, it is capable of finding the global maximum points under both fully and partially shaded conditions.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.