Implementing a Novel Hybrid Maximum Power Point Tracking Technique in Dsp via Simulink/matlab under Partially Shaded Conditions

This paper presents a hybrid maximum power point tracking (MPPT) method to detect the global maximum power point (GMPP) under partially shaded conditions (PSCs), which have more complex characteristics with multiple peak power points. The hybrid method can track the GMPP when a partial shadow occurs either before or after acquiring the MPP under uniform conditions. When PS occurs after obtaining the MPP during uniform conditions, the new operating point should be specified by the modified linear function, which reduces the searching zone of the GMPP and has a significant effect on reducing the reaching time of the GMPP. Simultaneously, the possible MPPs are scanned and stored when shifting the operating point to a new reference voltage. Finally, after determining the possible location of the GMPP, the GMPP is obtained using the modified P&O. Conversely, when PS occurs before obtaining the MPP, the referenced MPP should be specified. Thus, after recognizing the possible location of the GMPP, the modified P&O can be used to obtain the GMPP. The simulation and experimental implementations for the proposed algorithm are performed with different scenarios of shadowing under different irradiations, which clearly indicate that the proposed method is robust and has a fast tracking speed. Moreover, this work presents the load sizing method for PSCs to avoid controller failure when detecting the GMPP. Additionally, in this paper, the user-friendly method for programming the digital signal processing (DSP) via Simulink/MATLAB is presented in detail.


Introduction
Electricity is a serviceable form of energy that can be obtained from different energy resources that can be renewable or non-renewable.Fossil fuels are an example of non-renewable energies that have been used to power the world for many decades because they are cheap and readily available.However, fossil fuels include a high quantity of carbon and have been blamed as the main contributor to global warming [1].Moreover, this source of energy is unsustainable, and only a finite amount of fossil fuels is available.By considering the advantages and disadvantages of non-renewable energy sources, it is necessary to determine worthy renewable energy sources [2].Photovoltaic (PV) technology is used to convert solar energy into electricity.The energy obtained by virtue of a PV system is commercially viable because of its low emissions and high productivity.The non-linear relation between current and voltage for the PV system is a challengeable issue that results in a unique maximum power point (MPP) for its power-voltage (P-V) curve [3].By changing the irradiation and temperature, the value of MPP will be changed.Under uniform conditions or without shading, there is a unique MPP on the P-V curve.By changing the irradiation and temperature, the MPP value will be changed.The PV system suffers from the weakness of nonlinearity between current and voltage under partially shaded conditions (PSC).Under PSCs, there are multi-peak powers.Only one of these peak powers has the highest power, which is called global maximum power point (GMPP), and other peak powers are the local maximum power point (LMPP).According to statistic studies the power loss can vary from 10% to 70% due to PS [4][5][6][7].To achieve the MPP, the maximum power point tracker (MPPT) is implemented as a controller to adjust the duty cycle of the power electronic part, which is an interface between the PV system and load [8,9].Several MPPT methods [10][11][12][13][14], such as perturb and observe (P&O) [15][16][17], constant voltage (CV) [18,19], sliding mode [20,21], and incremental conductance (IC) [22], have been presented for uniform conditions that are grouped as conventional methods.Moreover, some artificial intelligence methods, such as fuzzy logic (FL) [9,23,24], artificial neural network (ANN) [25], ant colony [26], and particle swarm optimization (PSO) [27], have been presented and have some advantages that address some of the drawbacks of conventional methods.The mentioned methods are not successful for tracking the GMPP individually and should be combined with another algorithm to detect the GMPP.Many MPPT algorithms have been proposed recently to achieve the MPP and optimize the output power of PVs system under PSCs [28,29].The two-stage methods have been used in various algorithms to detect the GMPP.In [30], the two-stage method based on the online measurement of open-circuit voltage (V OC ) and short-circuit current (I SC ) is used.This method functions when the values of voltage and current at MPP are 80% and 90% of V OC and I SC , respectively.In this method, additional circuits are needed for measuring, which leads to more complicated circuitry.Another drawback of this method is the increase in energy losses because of repeated measurements.In another work, the Fibonacci search technique is proposed to reach the GMPP [31].The advantage of this method is that it is fast and is almost accurate, but the verification of this method is only provided under particular conditions.In [32], a dividing rectangle technique is used as a hybrid with P&O, which searches the Lipschitz function by describing the relation between voltage and power in an interval.The initial value of the operating point has a substantial effect on the performance of this method in finding the GMPP.In [33], the fractional-order incremental conductance technique is used to find the GMPP that is trying to reduce the tracking time.This method is only suitable for small-scale PV systems and fails to detect the GMPP for large-scale PV systems.The authors in [34] presents a linear function method, where the first MPPT obtained after transferring the operating point is considered as the GMPP.Nevertheless, by evaluating the different P-V curves for different scenarios of shadowing, this assumption is contradicted.The two-stage method is used in [35] to track the GMPP.After obtaining the first LMPP in the first stage, the next stage is started to search the possible MPPs at the left and right sides of LMPP.The drawback of this method is the low tracking speed of GMPP because it needs to search both sides of LMPP to find GMPP.The artificial intelligence methods have been used in recent years to detect the GMPP.Among these methods, the particle swarm optimization (PSO) [36], fuzzy logic, and neural network are the famous methods.These methods have their own major advantage, which includes no requirement to have knowledge about the internals of the system.On the other hand, they also have some drawbacks.For instance, the methods based on ANN are suitable for systems that can obtain adequate training data.The FL-based methods need to tune the two main parts, namely, fuzzification and defuzzification, which requires a large amount of computational memory.The methods based on PSO are suitable for non-uniform conditions, but the main drawback is that the efficiency of this method has a significant effect on the initial places of agents.In the case of different shadowing scenarios, the best initial values for agents should be defined, which are not logical in reality.To have better performance in terms of tracking time for the GMPP and also the oscillation in power, a novel hybrid technique is presented in this paper.Additionally, this technique is not restricted to particular situations of shadowing and can track the GMPP in all of the scenarios and also in different irradiations.In the proposed technique, if PS occurs after acquiring the MPP during uniform conditions, the modified linear function [37] needs to compute the new reference operating point.Then, the conceivable MPPs are sought at the right side of the new operating point, which reduces the searching time of GMPP.At the final step, after recognizing the location of GMPP, the modified P&O, which is based on the variation of step size in the duty cycle, is implemented to obtain the GMPP.Meanwhile, when PS happens before obtaining the MPP, the reference MPP should be specified.Subsequent to perceiving the location of the GMPP, the modified P&O is used to obtain the GMPP.This paper is organized as follows.In Section 2, the principle of the PV cell, module, and array are presented.Section 3 presents the principle for the whole PV system, which includes the boost converter and determining the suitable load value for the system.Section 4 introduces the proposed hybrid method.In Section 5, the principle of implementing the program in DSP via Simulink/MATLAB is presented.In Sections 6 and 7 the simulation and experimental results and the evaluation of these results for the convergent speed and the oscillation in power for different scenarios of shadowing and also in different irradiations are presented, respectively.Finally, Section 8 summarizes the findings obtained by the proposed method.

PV System
A PV cell is a specialized semiconductor diode that converts the light to direct current (DC) [38].The equivalent circuit for the PV cell is demonstrated in Figure 1 in which R SH and R S are shunt and series resistances.
Energies 2016, 9, 85 3 of 25 shadowing and can track the GMPP in all of the scenarios and also in different irradiations.In the proposed technique, if PS occurs after acquiring the MPP during uniform conditions, the modified linear function [37] needs to compute the new reference operating point.Then, the conceivable MPPs are sought at the right side of the new operating point, which reduces the searching time of GMPP.At the final step, after recognizing the location of GMPP, the modified P&O, which is based on the variation of step size in the duty cycle, is implemented to obtain the GMPP.Meanwhile, when PS happens before obtaining the MPP, the reference MPP should be specified.Subsequent to perceiving the location of the GMPP, the modified P&O is used to obtain the GMPP.This paper is organized as follows.In Section 2, the principle of the PV cell, module, and array are presented.Section 3 presents the principle for the whole PV system, which includes the boost converter and determining the suitable load value for the system.Section 4 introduces the proposed hybrid method.In Section 5, the principle of implementing the program in DSP via Simulink/MATLAB is presented.In Sections 6 and 7, the simulation and experimental results and the evaluation of these results for the convergent speed and the oscillation in power for different scenarios of shadowing and also in different irradiations are presented, respectively.Finally, Section 8 summarizes the findings obtained by the proposed method.

PV System
A PV cell is a specialized semiconductor diode that converts the light to direct current (DC) [38].The equivalent circuit for the PV cell is demonstrated in Figure 1 in which RSH and RS are shunt and series resistances.According to Figure 1, the output voltage and current of the PV cell can be characterized by Equation (1) [39][40][41]: where I and V are the output current and voltage of the PV cell, respectively; IS and IPH are saturation current and photocurrent, respectively; A is the ideal factor of the diode; q and KB are an elementary charge and Boltzmann's constant with values of 1.6 × 10 −19 C and 1.38 × 10 −23 J/K, respectively.In Figure 2, the PV array in series-parallel (SP) configuration with NPM strings connected in parallel is shown.In each string, NSM modules are in a series connection.Subscript with M and A are used for denoting a "Module" and "Array", respectively.The output current and voltage of the PV array during uniform conditions can be defined as follows: where RSA is the total resistance of the PV array.According to Figure 1, the output voltage and current of the PV cell can be characterized by Equation (1) [39][40][41]: where I and V are the output current and voltage of the PV cell, respectively; I S and I PH are saturation current and photocurrent, respectively; A is the ideal factor of the diode; q and K B are an elementary charge and Boltzmann's constant with values of 1.6 ˆ10 ´19 C and 1.38 ˆ10 ´23 J/K, respectively.In Figure 2, the PV array in series-parallel (SP) configuration with N PM strings connected in parallel is shown.In each string, N SM modules are in a series connection.Subscript with M and A are used for denoting a "Module" and "Array", respectively.The output current and voltage of the PV array during uniform conditions can be defined as follows: exp ppq ˆVOCM q{pN S ˆKB ˆTqq rexp pq ˆpV A `pR SA ˆIA qq {pA ˆKB ˆT ˆNS ˆNSM qq ´1s (2 where R SA is the total resistance of the PV array.The mathematical equations to derive the output current of the PV array under PSC are presented as follows: where X is the string number; NDX is the number of shaded modules in the

System Configuration
The considered system is a standalone system, which includes a PV array, dc-dc boost converter, and load.The principle for the boost converter and load is explained in detail as follows.The mathematical equations to derive the output current of the PV array under PSC are presented as follows: V AX " pN SM ´NDX q V M (5) R SAX " pN SM ´NDX q R SM (7) where X is the string number; N DX is the number of shaded modules in the X th string; I A and I SCA are the output current and short-circuit current of the PV array; V AX and V OCAX denote the output voltage and open-circuit voltage in the X th string; and R SAX presents the resistance in the X th string.The considered PV module in this work is based on KC40T PV modules connected in the SP configuration with four strings.In each string, five modules are connected in series.The key specifications of the module are presented in Table 1 based on the manufacturer's data sheet.

System Configuration
The considered system is a standalone system, which includes a PV array, dc-dc boost converter, and load.The principle for the boost converter and load is explained in detail as follows.

DC-DC Boost Converter
In Equation (8), the relation between the input and output voltages of the dc-dc boost converter is expressed, where V g and V O are the input and output voltages of the dc-dc boost converter, respectively, and D is the duty cycle:

Load Value in a Standalone System
The operating point in the PV system is defined as the intersection point between the load line and the I-V curve of the PV system.As shown in Figure 3, the angle of the load line (1/R) in the I-V curve is equal to current divided by voltage, where R is the load value.The load value is important for MPPT.By having an inappropriate value of load, the MPPT fails to detect the MPP at low irradiation in both uniform and shaded conditions.Figure 3 shows two load lines that are specified with a red-dashed line (R 1 ) and a blue-dashed line (R 2 ).These intersection points are for the loads when they are connected to PV without implementing the MPPT.In these cases, as shown in Figure 3, the value of duty cycle (D) at the intersection point is equal to zero.By increasing the value of D, the operating point moves to the left side of the I-V curve.In the case of R 1 , the intersection point before implementing the MPPT is at the left side of MPP for the PV system, and the value of D at this point is equal to zero.On the other hand, according to the boost converter's equation as defined in Equation ( 8), for shifting the operating point from the intersection point to the MPP (increasing voltage), the value of D should be decreased; however, it cannot be less than zero.In the case of R 2 , the intersection point before implementing the MPPT is at the right side of MPP.At this point, D is equal to zero.So, for this load value (R 2 ), the MPPT can detect MPP by increasing and decreasing the duty cycle.According to these notes, the load value should be determined by considering the voltage and current values for the worst case, which should be at low irradiation.In Figure 4, the load lines for different values of loads and also the I-V curves for different irradiations are shown.As obviously seen in this figure, when the intersection point (without MPPT) is at the left side of MPP for any irradiation, according to above notes, the MPPT cannot shift the MPP to the right side.So, the load value should be considered, where the intersection point without a controller is located at the right side of MPP for all irradiations.

DC-DC Boost Converter
In Equation (8), the relation between the input and output voltages of the dc-dc boost converter is expressed, where Vg and VO are the input and output voltages of the dc-dc boost converter, respectively, and D is the duty cycle:

Load Value in a Standalone System
The operating point in the PV system is defined as the intersection point between the load line and the I-V curve of the PV system.As shown in Figure 3, the angle of the load line (1/R) in the I-V curve is equal to current divided by voltage, where R is the load value.The load value is important for MPPT.By having an inappropriate value of load, the MPPT fails to detect the MPP at low irradiation in both uniform and shaded conditions.Figure 3 shows two load lines that are specified with a red-dashed line (R1) and a blue-dashed line (R2).These intersection points are for the loads when they are connected to PV without implementing the MPPT.In these cases, as shown in Figure 3, the value of duty cycle (D) at the intersection point is equal to zero.By increasing the value of D, the operating point moves to the left side of the I-V curve.In the case of R1, the intersection point before implementing the MPPT is at the left side of MPP for the PV system, and the value of D at this point is equal to zero.On the other hand, according to the boost converter's equation as defined in Equation ( 8), for shifting the operating point from the intersection point to the MPP (increasing voltage), the value of D should be decreased; however, it cannot be less than zero.In the case of R2, the intersection point before implementing the MPPT is at the right side of MPP.At this point, D is equal to zero.So, for this load value (R2), the MPPT can detect MPP by increasing and decreasing the duty cycle.According to these notes, the load value should be determined by considering the voltage and current values for the worst case, which should be at low irradiation.In Figure 4, the load lines for different values of loads and also the I-V curves for different irradiations are shown.As obviously seen in this figure, when the intersection point (without MPPT) is at the left side of MPP for any irradiation, according to above notes, the MPPT cannot shift the MPP to the right side.So, the load value should be considered, where the intersection point without a controller is located at the right side of MPP for all irradiations.According to the notes above, the load value should be determined by considering the worst scenario of shadowing for lower irradiations.The nearest possible MPP to the open-circuit voltage of the PV array which is the first MPP after the partial shadow should be determined to design the load value.When the PS occurs, the MPP drops and its voltage remains at approximately 0.8 × VOCA.The value of the current at this point is calculated as follows: where NPM is the number of strings in the PV array, ISC is the short-circuit current of the PV array, and nPS is the number of strings that have shaded modules.As mentioned above, the intersection point of the load line and I-V curve should be at the right side of the first MPP, which has approximately 80% of the value for the open-circuit voltage of the PV array.The angle of the load line is equal to the value of current at MPP (IMPP) divided by the value of voltage at MPP (VMPP), so in mathematical equations, this means that the value of 1/R should be less than IMPP/VMPP, which are defined as follows: 1 0.92 For uniform conditions, the worst case is when the irradiation is equal to 200 W/m 2 .By substituting the values of ISCA and VOCA at an irradiation of 200 W/m 2 in Equation ( 10), the minimum value of load for the considered PV array is obtained as 42 ohms.Under PSC, the VMPP and IMPP are calculated by Equations ( 9) and ( 12), respectively.The worst scenario for shadow is when nPS is equal to three for the considered PV array and the I-V curve is a green color, as shown in Figure 5.By substituting Equations ( 9) and ( 12) into Equation (10), the minimum value of load for the considered PV array is 80 ohms.According to the notes above, the load value should be determined by considering the worst scenario of shadowing for lower irradiations.The nearest possible MPP to the open-circuit voltage of the PV array which is the first MPP after the partial shadow should be determined to design the load value.When the PS occurs, the MPP drops and its voltage remains at approximately 0.8 ˆVOCA .The value of the current at this point is calculated as follows: where N PM is the number of strings in the PV array, I SC is the short-circuit current of the PV array, and n PS is the number of strings that have shaded modules.
As mentioned above, the intersection point of the load line and I-V curve should be at the right side of the first MPP, which has approximately 80% of the value for the open-circuit voltage of the PV array.The angle of the load line is equal to the value of current at MPP (I MPP ) divided by the value of voltage at MPP (V MPP ), so in mathematical equations, this means that the value of 1/R should be less than I MPP /V MPP , which are defined as follows: V MPP " 0.8V OCA (12) For uniform conditions, the worst case is when the irradiation is equal to 200 W/m 2 .By substituting the values of I SCA and V OCA at an irradiation of 200 W/m 2 in Equation ( 10), the minimum value of load for the considered PV array is obtained as 42 ohms.Under PSC, the V MPP and I MPP are calculated by Equations ( 9) and ( 12), respectively.The worst scenario for shadow is when n PS is equal to three for the considered PV array and the I-V curve is a green color, as shown in Figure 5.By substituting Equations ( 9) and ( 12) into Equation (10), the minimum value of load for the considered PV array is 80 ohms.

Proposed Hybrid MPPT Method
In partially shaded conditions with multi-peak powers, the MPPT may fail to detect the GMPP.In Figure 6, the failure of MPPT under PSCs for two different scenarios of shadow is shown.In the first scenario shown by a red line, the PS happens after reaching the MPP under uniform conditions.In this case, the local MPP (LMPP) is obtained as shown by A1 and MPPT fails to detect GMPP.In the second scenario shown by a blue dashed line, the shadow happens before reaching the MPP under uniform conditions, and thus, MPPT obtains B1 which is also LMPP.The current work presents a novel hybrid MPPT technique to detect the GMPP.In the proposed method, the proved idea [37] that the GMPP cannot be located at the right side of the new reference voltage is used.In [37], a modified linear function was presented which calculates the new reference voltage when PS happens to reduce the search zone from the left side of the P-V curve and, simultaneously, the controller starts to scan the possible MPPs at the right side of the P-V curve.In this case, the both side of the GMPP are considered at the same time by limiting the search zone and simultaneously scanning from right to left.During scanning, the possible MPPs are identified; finally, after detecting the exact location of the GMPP, the modified P&O method is implemented to obtain the GMPP.In this paper, the operation of the proposed method for different irradiations is also investigated.Moreover, in the proposed method, the direct duty cycle is implemented for the modified P&O.The advantage of using the direct duty cycle is that the proportional-integral (PI) controller can be avoided to control the overshoot and steady-state error.The P&O method makes decisions based on four situations.In the case of increasing the measured power, if the voltage also increases, the duty cycle should be decreased.However, if voltage decreases, the duty cycle should be increased.In the case of decreasing the measured power, if the voltage decreases, the duty cycle should be decreased.However, if voltage increases, the controller should increase the duty cycle.The flowchart of the proposed method is shown in Figure 7.
In the proposed method, the modified P&O with the variable step size (d) instead of the fixed step size is used and should be deducted or added to the duty cycle (D = D ± d).The larger value of step size is considered when the PS has not occurred and the controller needs to achieve the MPP quicker.Moreover, the operating point needs to move faster near to the new reference voltage to reduce the searching time, so the larger value for step size should be considered.On the other hand, when the MPP or the GMPP is obtained, the smaller value of d should be considered for reducing the oscillation.Furthermore, when the operating point is near possible MPPs, the smaller value is considered for d to prevent the controller from missing the MPPs.In this method, as explained in [37] in detail, some important notes are considered.The first note is that under PSCs with multi peak powers in the P-V curve, the values of other MPPs are decreased on both sides of the GMPP when the GMPP is achieved.The second note is that the minimum length between two sequential MPPs is 0.8 × VOCM.

Proposed Hybrid MPPT Method
In partially shaded conditions with multi-peak powers, the MPPT may fail to detect the GMPP.In Figure 6, the failure of MPPT under PSCs for two different scenarios of shadow is shown.In the first scenario shown by a red line, the PS happens after reaching the MPP under uniform conditions.In this case, the local MPP (LMPP) is obtained as shown by A 1 and MPPT fails to detect GMPP.In the second scenario shown by a blue dashed line, the shadow happens before reaching the MPP under uniform conditions, and thus, MPPT obtains B 1 which is also LMPP.The current work presents a novel hybrid MPPT technique to detect the GMPP.In the proposed method, the proved idea [37] that the GMPP cannot be located at the right side of the new reference voltage is used.In [37], a modified linear function was presented which calculates the new reference voltage when PS happens to reduce the search zone from the left side of the P-V curve and, simultaneously, the controller starts to scan the possible MPPs at the right side of the P-V curve.In this case, the both side of the GMPP are considered at the same time by limiting the search zone and simultaneously scanning from right to left.During scanning, the possible MPPs are identified; finally, after detecting the exact location of the GMPP, the modified P&O method is implemented to obtain the GMPP.In this paper, the operation of the proposed method for different irradiations is also investigated.Moreover, in the proposed method, the direct duty cycle is implemented for the modified P&O.The advantage of using the direct duty cycle is that the proportional-integral (PI) controller can be avoided to control the overshoot and steady-state error.The P&O method makes decisions based on four situations.In the case of increasing the measured power, if the voltage also increases, the duty cycle should be decreased.However, if voltage decreases, the duty cycle should be increased.In the case of decreasing the measured power, if the voltage decreases, the duty cycle should be decreased.However, if voltage increases, the controller should increase the duty cycle.The flowchart of the proposed method is shown in Figure 7.
In the proposed method, the modified P&O with the variable step size (d) instead of the fixed step size is used and should be deducted or added to the duty cycle (D = D ˘d).The larger value of step size is considered when the PS has not occurred and the controller needs to achieve the MPP quicker.Moreover, the operating point needs to move faster near to the new reference voltage to reduce the searching time, so the larger value for step size should be considered.On the other hand, when the MPP or the GMPP is obtained, the smaller value of d should be considered for reducing the oscillation.Furthermore, when the operating point is near possible MPPs, the smaller value is considered for d to prevent the controller from missing the MPPs.In this method, as explained in [37] in detail, some important notes are considered.The first note is that under PSCs with multi peak powers in the P-V curve, the values of other MPPs are decreased on both sides of the GMPP when the GMPP is achieved.The second note is that the minimum length between two sequential MPPs is 0.8 ˆVOCM .Energies 2016, 9, 85 8 of 25   As mentioned previously, in this work, PS can happen after or before obtaining the MPP under uniform conditions.The first part, as shown in Figure 7 as A, operates if the MPP is not achieved under uniform conditions when the PS occurs.Otherwise, the second part, as shown in Figure 7 as B, operates when PS occurs after obtaining the MPP during uniform conditions.In case A, when PS happens before obtaining the MPP under uniform conditions, the first MPP should be determined.Then, two possible MPPs at the right and left side of the first obtained MPP should be achieved.Then, the search direction should be specified in the P-V curve, by comparing the magnitude of these two MPPs with the first obtained MPP.Finally, after recognizing the final location of the GMPP, the modified P&O should be implemented to obtain the GMPP.On the other hand, in case B which is more possible to happen, the new reference voltage should be calculated by presented modified linear function and then, the possible MPPs should be specified at the right side of new calculated reference voltage which leads to reduce the search region.After recognizing the final location of the GMPP, the modified P&O should be implemented to obtain the GMPP.The details of the operation for the proposed method are described as follows.
As shown in block 1, the current and voltage are measured, and then the PV power is calculated by multiplying the current with voltage.The difference between power in instants k and k ´1 is calculated (∆P) (block 2).In the case of B, if ∆P is greater than a critical value (∆P crit ) (block 5b), the new reference voltage should be calculated by Equation ( 13) and the values of power and voltage should be stored (block 6b); otherwise, the P&O should operate for uniform conditions (block 3): In Equation ( 13), the new reference voltage is specified as V re f _mod ; the open-circuit voltage and short-circuit current of the PV array are defined as V OCA and I SCA , respectively; I PV is the PV array current when PS occurs; α is the constant value; and N SM is the number of modules in a string that are connected in series.The value of α should not be more than 0.8 because the minimum length between two sequential peaks is 0.8 ˆVOCM .
The open-circuit voltage and short-circuit current of the PV array have a significant effect on the accuracy of this method because by changing the irradiation, these values will change, so incorrect values of V OCA and I SCA can lead to an incorrect calculation of the new reference voltage.The values of V OCA and I SCA are updated by Equations ( 14) and (15), respectively [42,43]: V OC " V OC0 r1 `β pG T0 q pT C ´T0 qs where λ and β are the corrective coefficients of temperature for current and voltage, respectively, G T and T C are the new irradiation and new temperature, respectively, and δ is a corrective coefficient for solar irradiation.In Equations ( 14) and ( 15), the subscript zero indicates the standard reporting condition (SRC).The temperature can be assumed to be constant, which simplifies Equations ( 14) and (15).The operating point should be shifted to the left side by increasing (block 8b) the duty cycle until the neighbor for the new calculated reference voltage (block 7b) is reached.When shifting the operating point to the left side, all of the possible MPPs are scanned and stored (block 9b-block 12b).The blocks 9b and 10b are used to recognize the possible MPPs because when the operating point is shifted to the left side, the sign of dp/dv at the right side of possible MPPs is negative.When this sign becomes positive, this means that the point is MPP and should be stored.When considering the number of possible MPPs when scanning the P-V curve, parameter j is used.By storing each MPP, one unit is added to the previous value of j (block 11b).The initial value of j is equal to zero.The reference voltage (V re f ) and power (P re f ) should be tracked (block 14b) by implementing the adjusted P&O (block 13b) when the operating point is near the calculated reference voltage (block 7b).In some scenarios of shadowing, the first MPP after shading (P a ) is the same as P re f .So, to determine it, the difference between P re f and P a is considered.If the difference between P re f and P a is less than a predetermined value (ε) (block 15b), P re f is the same as P a and P re f is GMPP (block 16b).Otherwise, P re f should be compared with the last stored power of MPP (P(j)).The value of ε is considered one.If P re f is greater than P(j), P re f is GMPP (block 18b); otherwise, the duty cycle should be reduced to shift the operating point (block 19b) to the right side of P j ; then, the stored powers for j and j ´1 (block 25b) should be compared (block 23b).The value of j should be checked continuously.If it is equal to one, the last stored MPP can be the same as P a (block 26b).If the difference between the voltages of the last stored MPP (V j ) with V a is less than ε, P a is GMPP (block 28b).Otherwise, P(j) needs to should be compared with P a when j is equal to one.If P a is less than P(j) (block 29b), P(j) is GMPP; otherwise, P a is GMPP (block 30b, block 31b).
In case A where PS occurs before the MPP is obtained during uniform conditions, the first MPP should be found by implementing the P&O (block 6a), which is considered a reference power point (P re f ) (block 8a).As mentioned previously, the minimum length between two sequential MPPs is 0.8 ˆVOCM , so the next possible MPP (block 9a) should be searched by decreasing (block 10a) the duty cycle.The parameter δ1 is a constant coefficient with a value (0.8) that is determined by considering the minimum distance between two sequential MPPs.When the operating point is near the new calculated (block 11a) operating point, the P&O is needed to achieve the MPP and this point is stored as P(i) (block 15a).If P re f is larger than P(i) (block 16a), the value of V re f should be measured.If it is less than 0.8 ˆVOCM (block 20a), this shows that this is the first MPP at the left side of the P-V curve (block 21a), which is GMPP.Otherwise, the operating point needs to shift to the left side (block 23a, block 24a) of the last updated reference point (P re f ).The parameter m is a constant value, which is two when the operating point needs to shift to the left side for the first time; otherwise, it is equal to one.The P&O should be implemented (block 26a) for achieving and storing the MPP as P(i), when it is near (block 25a) the new reference voltage.If P re f is larger than P(i), P re f is GMPP; otherwise, P(i) should be updated as P re f (block 34a).The value of v(i) should be considered.If it is less than 0.8 ˆVOCM , P(i) is GMPP (block 33a); otherwise, the operating point needs to shift by updating the reference point (block 34a).In block 16a, if P(i) is larger than P re f , the reference MPP should be updated.The difference between the new reference voltage and the location of the last possible MPP that can be located at 0.8 ˆVOCA should be measured.If it is less than ε (block 18a), P(i) is GMPP; otherwise, the new reference voltage should be specified (block 9a).

Implementing DSP via Simulink/MATLAB
There are two methods for programming the DSP; the first method is through the C/C++ language used in the Code Composer Studio (CCS).This method needs a good understanding of the C language [44], which has its own difficulties.The second method uses the MATLAB/Simulink toolboxes, which are more user friendly.In this method, three toolboxes are needed: Embedded Code, MATLAB Coder, and Simulink Coder.This method needs minimum knowledge of the C language for programming.By using CCS, a real-time C project can be created and loaded into the DSP.Moreover, CCS performs and debugs projects.It includes a compiler, an editor, and a debugger.The editor is used for composing the program; the C language-based code is converted into assembly language by the compiler and the generated assembly code is loaded into the DSP.The state of the parameters in the program can be monitored by the debugger during the operation period.
By using the second method to program the DSP, three main blocks are needed as shown in Figure 8: the Analog-to-Digital Converter (ADC), the main controller program, which is the same block as the simulation part (blue block), and the ePWM block.An important note is that Simulink can process both continue-time and discrete-time signals.When using the latter with DSP, only the discrete block should be used; otherwise, the DSP receives many errors during programming.

Analog-to-Digital Converter (ADC)
As mentioned in the datasheet for TMS320F28335, the ADC is an on-chip 12-bit analog-to-digital (A/D) converter with 16 input channels [45], so the digital resolution of the converted signal is 12 bits.The TMS320F28335 supports +3.3 V input/output levels, which are not +5 V tolerant.Connecting the eZdsp to a system with +5 V input/output levels will damage the TMS320F28335.The output of ADC is a vector of unit 16 values in which the output values are in the range from 0 to 4095 because the ADC is a 12-bit converter.Therefore, by assuming an input voltage range between 0 and 3 V, we obtain a voltage resolution of 3.0 V/4095.This value should be multiplied with the digital value as an output of the ADC.The controller needs the actual value of the measurement signals.So, the output values of ADC should be multiplied with constant correction values (CV) as gains to obtain the actual values that are shown in Figure 8 by CV1 and CV2.

ePWM Block
The ePWM block generates the enhanced pulse width modulator (ePWM).The PWM is a technique used to generate a signal for the driving circuit.In this technique, the reference signal is compared with the carrier waveform.The DSPs have multiple ePWM modules, where each module has two outputs: ePWMA and ePWMB.Each ePWM block can be used to configure up to six ePWM modules.In the general pane of the ePWM block, there are some important parts that should be specified as follows.

Module
The module specifies the target of the ePWM module that should be used.

Timer Period
The period for the PWM waveform when considering the switching frequency is set in this part as the timer period.The timer period is calculated by Equations ( 16) and ( 17 UP or Down

DSP frequency Timer period
Switching frequency  (17) According to the TMS320F28335 datasheet, the DSP frequency is equal to 150 MHz.For example, for a switching frequency of 25 kHz, the timer period for up-down is equal to 3000.For up or down, the timer period is equal to 6000.

Analog-to-Digital Converter (ADC)
As mentioned in the datasheet for TMS320F28335, the ADC is an on-chip 12-bit analog-to-digital (A/D) converter with 16 input channels [45], so the digital resolution of the converted signal is 12 bits.The TMS320F28335 supports +3.3 V input/output levels, which are not +5 V tolerant.Connecting the eZdsp to a system with +5 V input/output levels will damage the TMS320F28335.The output of ADC is a vector of unit 16 values in which the output values are in the range from 0 to 4095 because the ADC is a 12-bit converter.Therefore, by assuming an input voltage range between 0 and 3 V, we obtain a voltage resolution of 3.0 V/4095.This value should be multiplied with the digital value as an output of the ADC.The controller needs the actual value of the measurement signals.So, the output values of ADC should be multiplied with constant correction values (CV) as gains to obtain the actual values that are shown in Figure 8 by CV 1 and CV 2 .

ePWM Block
The ePWM block generates the enhanced pulse width modulator (ePWM).The PWM is a technique used to generate a signal for the driving circuit.In this technique, the reference signal is compared with the carrier waveform.The DSPs have multiple ePWM modules, where each module has two outputs: ePWMA and ePWMB.Each ePWM block can be used to configure up to six ePWM modules.In the general pane of the ePWM block, there are some important parts that should be specified as follows.

Module
The module specifies the target of the ePWM module that should be used.

Timer Period
The period for the PWM waveform when considering the switching frequency is set in this part as the timer period.The timer period is calculated by Equations ( 16) and ( 17 According to the TMS320F28335 datasheet, the DSP frequency is equal to 150 MHz.For example, for a switching frequency of 25 kHz, the timer period for up-down is equal to 3000.For up or down, the timer period is equal to 6000.

Counting Mode
In this pane, the counting mode should be specified.The counting mode has three distinct modes: up-down, up, and down.In Figure 9, the waveforms for these three modes are shown.

Counting Mode
In this pane, the counting mode should be specified.The counting mode has three distinct modes: up-down, up, and down.In Figure 9, the waveforms for these three modes are shown.The output of the controller (blue block), which is shown in Figure 8, becomes a reference signal for producing the ePWM and its value is between zero and one.This signal should be compared with a carrier signal in which the maximum value of the carrier signal is defined in the timer period pane of the ePWM block.So, the reference signal value should be multiplied with a constant value, which is same as the timer period value.In the ePWMA pane of the ePWM block, the important event managers are in action when counter = ZERO, when counter = PRD, when counter = CMPA on CAU, and when counter = CMPA on CAD, which should be defined.The first two event managers are defined as "do nothing".The operation of the ePWM depends on the third and fourth event managers.If an action occurs when counter = CMPA on CAU and when counter = CMPA is defined as "clear" and "set", respectively, the duty cycle is defined as follows: If an action occurs when counter = CMPA on CAU and when counter = CMPA is defined as "set" and "clear", respectively, the duty cycle is defined as follows: The obtained duty cycle values by DSP for both explained cases with a switching frequency of 25 kHz are shown in Figures 10 and 11.In Figure 10, the DSP is programmed when the reference signal value is equal to 0.2.In Figure 10a, the third and fourth event managers are defined as "clear" and "set", but in Figure 10b, the third and fourth event managers are defined as "set" and "clear".In Figure 11, the DSP is programmed when the reference signal value is equal to 0.6.In Figure 11a, the third and fourth event managers are defined as "clear" and "set", but in Figure 11b, the third and fourth event managers are defined as "set" and "clear".The output of the controller (blue block), which is shown in Figure 8, becomes a reference signal for producing the ePWM and its value is between zero and one.This signal should be compared with a carrier signal in which the maximum value of the carrier signal is defined in the timer period pane of the ePWM block.So, the reference signal value should be multiplied with a constant value, which is same as the timer period value.In the ePWMA pane of the ePWM block, the important event managers are in action when counter = ZERO, when counter = PRD, when counter = CMPA on CAU, and when counter = CMPA on CAD, which should be defined.The first two event managers are defined as "do nothing".The operation of the ePWM depends on the third and fourth event managers.If an action occurs when counter = CMPA on CAU and when counter = CMPA is defined as "clear" and "set", respectively, the duty cycle is defined as follows: If an action occurs when counter = CMPA on CAU and when counter = CMPA is defined as "set" and "clear", respectively, the duty cycle is defined as follows: The obtained duty cycle values by DSP for both explained cases with a switching frequency of 25 kHz are shown in Figures 10 and 11.In Figure 10, the DSP is programmed when the reference signal value is equal to 0.2.In Figure 10a, the third and fourth event managers are defined as "clear" and "set", but in Figure 10b, the third and fourth event managers are defined as "set" and "clear".In Figure 11, the DSP is programmed when the reference signal value is equal to 0.6.In Figure 11a, the third and fourth event managers are defined as "clear" and "set", but in Figure 11b, the third and fourth event managers are defined as "set" and "clear".

Simulation Results
To investigate the proposed MPPT algorithm, the simulations have been performed in MATLAB/Simulink.The considered system includes a PV array in the SP configuration, which has four strings.In each string, five modules are connected in series.The input capacitor is 1500 μF.In the boost converter, the inductor value is 200 μH, the output capacitor is 500 μF, and the load value is 80 Ω.The switching frequency of the system is 22 kHz.For evaluating the performance of the proposed algorithm, the simulations for different scenarios of shadowing have been performed in MATLAB/Simulink, which involves three separate systems.The proposed algorithm is considered as the first system (S1), the linear function method, which is presented in [34], is considered as the second system (S2), and the two-stage method [35] is considered as the third system (S3).These three methods are implemented for the different scenarios of shadowing as shown in Figure 12.
In Figure 13, the simulation result for the scenario of Figure 12a is shown, where PS is presumed to occur after achieving the MPP during uniform conditions.By implementing S1, the searching time of GMPP is reduced significantly and the GMPP is obtained in less time.The GMPP reaching time (TGMPP) for S1 and S3 are 0.07 s and 0.074 s, respectively.As obviously shown in Figure 13, S2 fails to obtain the GMPP in this scenario of shadowing and detects the LMPP (280 W) because this method presents the first detected MPPT after transferring the operating point as GMPP.By comparing the oscillation in power, by using the modified P&O, its value reduces significantly, where S1 and S3 are equal to 1 W and 4 W, respectively.Moreover, S1 does not have any overshoot.

Simulation Results
To investigate the proposed MPPT algorithm, the simulations have been performed in MATLAB/Simulink.The considered system includes a PV array in the SP configuration, which has four strings.In each string, five modules are connected in series.The input capacitor is 1500 μF.In the boost converter, the inductor value is 200 μH, the output capacitor is 500 μF, and the load value is 80 Ω.The switching frequency of the system is 22 kHz.For evaluating the performance of the proposed algorithm, the simulations for different scenarios of shadowing have been performed in MATLAB/Simulink, which involves three separate systems.The proposed algorithm is considered as the first system (S1), the linear function method, which is presented in [34], is considered as the second system (S2), and the two-stage method [35] is considered as the third system (S3).These three methods are implemented for the different scenarios of shadowing as shown in Figure 12.
In Figure 13, the simulation result for the scenario of Figure 12a is shown, where PS is presumed to occur after achieving the MPP during uniform conditions.By implementing S1, the searching time of GMPP is reduced significantly and the GMPP is obtained in less time.The GMPP reaching time (TGMPP) for S1 and S3 are 0.07 s and 0.074 s, respectively.As obviously shown in Figure 13, S2 fails to obtain the GMPP in this scenario of shadowing and detects the LMPP (280 W) because this method presents the first detected MPPT after transferring the operating point as GMPP.By comparing the oscillation in power, by using the modified P&O, its value reduces significantly, where S1 and S3 are equal to 1 W and 4 W, respectively.Moreover, S1 does not have any overshoot.

Simulation Results
To investigate the proposed MPPT algorithm, the simulations have been performed in MATLAB/Simulink.The considered system includes a PV array in the SP configuration, which has four strings.In each string, five modules are connected in series.The input capacitor is 1500 µF.In the boost converter, the inductor value is 200 µH, the output capacitor is 500 µF, and the load value is 80 Ω.The switching frequency of the system is 22 kHz.For evaluating the performance of the proposed algorithm, the simulations for different scenarios of shadowing have been performed in MATLAB/Simulink, which involves three separate systems.The proposed algorithm is considered as the first system (S1), the linear function method, which is presented in [34], is considered as the second system (S2), and the two-stage method [35] is considered as the third system (S3).These three methods are implemented for the different scenarios of shadowing as shown in Figure 12.
In Figure 13, the simulation result for the scenario of Figure 12a is shown, where PS is presumed to occur after achieving the MPP during uniform conditions.By implementing S1, the searching time of GMPP is reduced significantly and the GMPP is obtained in less time.The GMPP reaching time (T GMPP ) for S1 and S3 are 0.07 s and 0.074 s, respectively.As obviously shown in Figure 13, S2 fails to obtain the GMPP in this scenario of shadowing and detects the LMPP (280 W) because this method presents the first detected MPPT after transferring the operating point as GMPP.By comparing the oscillation in power, by using the modified P&O, its value reduces significantly, where S1 and S3 are equal to 1 W and 4 W, respectively.Moreover, S1 does not have any overshoot.The simulation results for the scenario of Figure 12b are shown in Figure 14, and S2 again fails to track the GMPP and detects the LMPP (380 W).By implementing S1 and S3, the controller is successful in detecting the GMPP, but S1 obtains the GMPP is less time.The T GMPP for S1 and S3 are 0.0545 s and 0.0565 s, respectively.By implementing the modified P&O for S1, the oscillation in power (P ripp_PSC ) when the GMPP is obtained is reduced significantly, where S1 and S3 are equal to 0.1 W and 1.5 W, respectively.
The simulation results for the scenario of Figure 12b are shown in Figure 14, and S2 again fails to track the GMPP and detects the LMPP (380 W).By implementing S1 and S3, the controller is successful in detecting the GMPP, but S1 obtains the GMPP is less time.The TGMPP for S1 and S3 are 0.0545 s and 0.0565 s, respectively.By implementing the modified P&O for S1, the oscillation in power (Pripp_PSC) when the GMPP is obtained is reduced significantly, where S1 and S3 are equal to 0.1 W and 1.5 W, respectively.In Figure 15, another scenario of shadowing when presuming that PS occurs before achieving the MPP during uniform conditions is shown which investigates the operation of case A. As obviously seen in Figure 16, by implementing the proposed method, the GMPP with a value of 430 W is obtained; however, by implementing only the P&O method, the LMPP with a value of 278 W is obtained.It is obvious again that by using the modified P&O, the Pripp_PSC is reduced and is equal to 1 W.In Figure 15, another scenario of shadowing when presuming that PS occurs before achieving the MPP during uniform conditions is shown which investigates the operation of case A. As obviously seen in Figure 16, by implementing the proposed method, the GMPP with a value of 430 W is obtained; however, by implementing only the P&O method, the LMPP with a value of 278 W is obtained.It is obvious again that by using the modified P&O, the P ripp_PSC is reduced and is equal to 1 W.
The simulation results for the scenario of Figure 12b are shown in Figure 14, and S2 again fails to track the GMPP and detects the LMPP (380 W).By implementing S1 and S3, the controller is successful in detecting the GMPP, but S1 obtains the GMPP is less time.The TGMPP for S1 and S3 are 0.0545 s and 0.0565 s, respectively.By implementing the modified P&O for S1, the oscillation in power (Pripp_PSC) when the GMPP is obtained is reduced significantly, where S1 and S3 are equal to 0.1 W and 1.5 W, respectively.In Figure 15, another scenario of shadowing when presuming that PS occurs before achieving the MPP during uniform conditions is shown which investigates the operation of case A. As obviously seen in Figure 16, by implementing the proposed method, the GMPP with a value of 430 W is obtained; however, by implementing only the P&O method, the LMPP with a value of 278 W is obtained.It is obvious again that by using the modified P&O, the Pripp_PSC is reduced and is equal to 1 W.

Experimental Results
The experimental verification for the proposed method is set up with the configuration as shown in Figure 17.The experimental setup consists of a programmable solar array simulator power supply 62100H-600S (CHROMA ATE INC, Kuei-Shan Hsiang, Taiwan), the digital signal processing (DSP) TMS320F28335, a boost converter with a 22-kHz switching frequency, and a load.The different I-V and P-V curves are programmed into the PV simulator to investigate the operation of the proposed method.The experimental results for the scenario depicted in Figure 18 are shown in Figure 19.Obviously, all of the systems (S1, S2, and S3) are successful in finding the GMPP where the TGMPP for S1, S2, and S3 are 8.18 s, 11.56 s, and 17.62 s, respectively.This shows that by using proposed method, the reaching time for GMPP is reduced significantly.Moreover, by implementing the proposed method, which is based on the modified P&O, the oscillation in power reduces significantly when the GMPP is obtained (Pripp_PSC), and its values for S1, S2, and S3 are 4.6 W, 10.4 W, and 8.6 W, respectively.

Experimental Results
The experimental verification for the proposed method is set up with the configuration as shown in Figure 17.The experimental setup consists of a programmable solar array simulator power supply 62100H-600S (CHROMA ATE INC, Kuei-Shan Hsiang, Taiwan), the digital signal processing (DSP) TMS320F28335, a boost converter with a 22-kHz switching frequency, and a load.

Experimental Results
The experimental verification for the proposed method is set up with the configuration as shown in Figure 17.The experimental setup consists of a programmable solar array simulator power supply 62100H-600S (CHROMA ATE INC, Kuei-Shan Hsiang, Taiwan), the digital signal processing (DSP) TMS320F28335, a boost converter with a 22-kHz switching frequency, and a load.The different I-V and P-V curves are programmed into the PV simulator to investigate the operation of the proposed method.The experimental results for the scenario depicted in Figure 18 are shown in Figure 19.Obviously, all of the systems (S1, S2, and S3) are successful in finding the GMPP where the TGMPP for S1, S2, and S3 are 8.18 s, 11.56 s, and 17.62 s, respectively.This shows that by using proposed method, the reaching time for GMPP is reduced significantly.Moreover, by implementing the proposed method, which is based on the modified P&O, the oscillation in power reduces significantly when the GMPP is obtained (Pripp_PSC), and its values for S1, S2, and S3 are 4.6 W, 10.4 W, and 8.6 W, respectively.The different I-V and P-V curves are programmed into the PV simulator to investigate the operation of the proposed method.The experimental results for the scenario depicted in Figure 18 are shown in Figure 19.Obviously, all of the systems (S1, S2, and S3) are successful in finding the GMPP where the T GMPP for S1, S2, and S3 are 8.18 s, 11.56 s, and 17.62 s, respectively.This shows that by using proposed method, the reaching time for GMPP is reduced significantly.Moreover, by implementing the proposed method, which is based on the modified P&O, the oscillation in power reduces significantly when the GMPP is obtained (P ripp_PSC ), and its values for S1, S2, and S3 are 4.6 W, 10.4 W, and 8.6 W, respectively.According to simulation and experimental results for different shadowing scenarios, the proposed method can find a GMPP that is faster than other methods with less oscillation.To investigate the operation of the proposed algorithm during a change in irradiation conditions, more scenarios of shadowing are considered to verify the effectiveness of the proposed algorithm.
The scenario of shadowing which is depicted in Figure 22 is considered for evaluating the performance of the proposed algorithm under different irradiations which the results are shown in Figure 23.As obviously seen the result for the scenario of Figure 22a which is shown in Figure 23a, the GMPP is detected with a value of 429.9 W and the TGMPP and Pripp_PSC values are equal to 5.46 s and 2.8 W, respectively, for an irradiation of 1000 W/m 2 .By changing the irradiation under PSCs, the short-circuit current and open-circuit voltage values used in Equation ( 13) are updated with Equations ( 14) and ( 15), respectively.So, the new reference voltage should be calculated with updated Equation (18).In Figure 23b, the experimental result for the scenario of shadowing depicted in Figure 2b for an irradiation of 800 W/m 2 is shown.Thus, the proposed method is successful in finding the GMPP with a value of 349.4 W, and the TGMPP and Pripp_PSC values are equal to 4.34 s and 3.2 W, respectively.The proposed method is also verified by changing the irradiation to 600 W/m 2 , as shown in Figures 22c and 23c, and it is successful in detecting the GMPP with a value of 265.8 W with an updated open-circuit voltage and short-circuit current by Equations ( 14) and (15).The TGMPP and Pripp_PSC values are equal to 6 s and 4.2 W, respectively.According to simulation and experimental results for different shadowing scenarios, the proposed method can find a GMPP that is faster than other methods with less oscillation.To investigate the operation of the proposed algorithm during a change in irradiation conditions, more scenarios of shadowing are considered to verify the effectiveness of the proposed algorithm.
The scenario of shadowing which is depicted in Figure 22 is considered for evaluating the performance of the proposed algorithm under different irradiations which the results are shown in Figure 23.As obviously seen the result for the scenario of Figure 22a which is shown in Figure 23a, the GMPP is detected with a value of 429.9 W and the TGMPP and Pripp_PSC values are equal to 5.46 s and 2.8 W, respectively, for an irradiation of 1000 W/m 2 .By changing the irradiation under PSCs, the short-circuit current and open-circuit voltage values used in Equation ( 13) are updated with Equations ( 14) and (15), respectively.So, the new reference voltage should be calculated with updated Equation (18).In Figure 23b, the experimental result for the scenario of shadowing depicted in Figure 2b for an irradiation of 800 W/m 2 is shown.Thus, the proposed method is successful in finding the GMPP with a value of 349.4 W, and the TGMPP and Pripp_PSC values are equal to 4.34 s and 3.2 W, respectively.The proposed method is also verified by changing the irradiation to 600 W/m 2 , as shown in Figures 22c and 23c, and it is successful in detecting the GMPP with a value of 265.8 W with an updated open-circuit voltage and short-circuit current by Equations ( 14) and (15).The TGMPP and Pripp_PSC values are equal to 6 s and 4.2 W, respectively.According to simulation and experimental results for different shadowing scenarios, the proposed method can find a GMPP that is faster than other methods with less oscillation.To investigate the operation of the proposed algorithm during a change in irradiation conditions, more scenarios of shadowing are considered to verify the effectiveness of the proposed algorithm.
The scenario of shadowing which is depicted in Figure 22 is considered for evaluating the performance of the proposed algorithm under different irradiations which the results are shown in Figure 23.As obviously seen the result for the scenario of Figure 22a which is shown in Figure 23a, the GMPP is detected with a value of 429.9 W and the T GMPP and P ripp_PSC values are equal to 5.46 s and 2.8 W, respectively, for an irradiation of 1000 W/m 2 .By changing the irradiation under PSCs, the short-circuit current and open-circuit voltage values used in Equation ( 13) are updated with Equations ( 14) and (15), respectively.So, the new reference voltage should be calculated with updated Equation (18).In Figure 23b, the experimental result for the scenario of shadowing depicted in Figure 2b for an irradiation of 800 W/m 2 is shown.Thus, the proposed method is successful in finding the GMPP with a value of 349.4 W, and the T GMPP and P ripp_PSC values are equal to 4.34 s and 3.2 W, respectively.The proposed method is also verified by changing the irradiation to 600 W/m 2 , as shown in Figures 22c and 23c, and it is successful in detecting the GMPP with a value of 265.8 W with an updated open-circuit voltage and short-circuit current by Equations ( 14) and ( 15).The T GMPP and P ripp_PSC values are equal to 6 s and 4.2 W, respectively.The scenario depicted in Figure 24 is considered for further investigation of the effectiveness of the proposed hybrid method for different irradiations.Figure 25a shows the experimental result for the considered scenario under an irradiation of 1000 W/m 2 , and the proposed method can find the GMPP with a value of 554.2 W. The TGMPP and Pripp_PSC values are equal to 8.14 s and 2.6 W, respectively.The irradiation is changed to 800 W/m 2 and 600 W/m 2 for investigating the proposed method.As shown in Figure 25b,c the proposed method can also find the GMPP for the scenarios shown in Figure 24b,c   The scenario depicted in Figure 24 is considered for further investigation of the effectiveness of the proposed hybrid method for different irradiations.Figure 25a shows the experimental result for the considered scenario under an irradiation of 1000 W/m 2 , and the proposed method can find the GMPP with a value of 554.2 W. The T GMPP and P ripp_PSC values are equal to 8.14 s and 2.6 W, respectively.The irradiation is changed to 800 W/m 2 and 600 W/m 2 for investigating the proposed method.As shown in Figure 25b,c the proposed method can also find the GMPP for the scenarios shown in Figure 24b,c, which represent irradiations of 800 W/m 2 and 600 W/m 2 , respectively.The T GMPP and P ripp_PSC values for 800 W/m 2 are equal to 8.18 s and 2.8 W, respectively, and these values for 600 W/m 2 are equal to 9.88 s and 3.2 W. The scenario depicted in Figure 24 is considered for further investigation of the effectiveness of the proposed hybrid method for different irradiations.Figure 25a shows the experimental result for the considered scenario under an irradiation of 1000 W/m 2 , and the proposed method can find the GMPP with a value of 554.2 W. The TGMPP and Pripp_PSC values are equal to 8.14 s and 2.6 W, respectively.The irradiation is changed to 800 W/m 2 and 600 W/m 2 for investigating the proposed method.As shown in Figure 25b,c the proposed method can also find the GMPP for the scenarios shown in Figure 24b,c     The proposed method is implemented for the scenarios depicted in Figure 26 for different irradiations.In Figure 27a, the experimental results shows that the proposed method can find the GMPP for an irradiation of 1000 W/m 2 , and the TGMPP and Pripp_PSC values are equal to 15.68 s and 3.6 W, respectively.Figure 27b also shows that the proposed method can detect the GMPP with a value of 338.2 W for 800 W/m 2 , and the TGMPP and Pripp_PSC values are equal to 16.68 s and 2.8 W, respectively.In Table 2, the experimental results for different scenarios of shadowing under different irradiations are summarized, where Pave_PSC is the average maximum power point value under PSC and SOP shows the status of operation.(c)  The proposed method is implemented for the scenarios depicted in Figure 26 for different irradiations.In Figure 27a, the experimental results shows that the proposed method can find the GMPP for an irradiation of 1000 W/m 2 , and the TGMPP and Pripp_PSC values are equal to 15.68 s and 3.6 W, respectively.Figure 27b also shows that the proposed method can detect the GMPP with a value of 338.2 W for 800 W/m 2 , and the TGMPP and Pripp_PSC values are equal to 16.68 s and 2.8 W, respectively.In Table 2, the experimental results for different scenarios of shadowing under different irradiations are summarized, where Pave_PSC is the average maximum power point value under PSC and SOP shows the status of operation.The proposed method is implemented for the scenarios depicted in Figure 26 for different irradiations.In Figure 27a, the experimental results shows that the proposed method can find the GMPP for an irradiation of 1000 W/m 2 , and the T GMPP and P ripp_PSC values are equal to 15.68 s and 3.6 W, respectively.Figure 27b also shows that the proposed method can detect the GMPP with a value of 338.2 W for 800 W/m 2 , and the T GMPP and P ripp_PSC values are equal to 16.68 s and 2.8 W, respectively.In Table 2, the experimental results for different scenarios of shadowing under different irradiations are summarized, where P ave _ PSC is the average maximum power point value under PSC and SOP shows the status of operation.

Figure 1 .
Figure 1.Equivalent circuit of PV cell.

Figure 1 .
Figure 1.Equivalent circuit of PV cell.

Figure 3 .
Figure 3.The variation of MPP by changing the duty cycle in the I-V curve.Figure 3. The variation of MPP by changing the duty cycle in the I-V curve.

Figure 3 .
Figure 3.The variation of MPP by changing the duty cycle in the I-V curve.Figure 3. The variation of MPP by changing the duty cycle in the I-V curve.

Figure 4 .
Figure 4.The operating points for different irradiations under uniform conditions.

Figure 4 .
Figure 4.The operating points for different irradiations under uniform conditions.

Figure 5 .
Figure 5.The operating points for different irradiations under partially shaded conditions.

Figure 5 .
Figure 5.The operating points for different irradiations under partially shaded conditions.

Figure 6 .
Figure 6.The failed MPPT in PS condition.

Figure 7 .Figure 7 .
Figure 7.The flowchart of the proposed method.

Figure 8 .
Figure 8.The general blocks in MATLAB/Simulink for programming the DSP.

Figure 8 .
Figure 8.The general blocks in MATLAB/Simulink for programming the DSP.

Figure 9 .
Figure 9.The different counting mode waveforms.(a) up; (b) down and (c) up-down

Figure 9 .
Figure 9.The different counting mode waveforms.(a) up; (b) down and (c) up-down

Figure 10 .Figure 11 .
Figure 10.The duty cycle for a reference signal value of 0.2 by defining the third and fourth event managers as (a) "clear" and "set" and (b) "set" and "clear".

Figure 10 .Figure 10 .Figure 11 .
Figure 10.The duty cycle for a reference signal value of 0.2 by defining the third and fourth event managers as (a) "clear" and "set" and (b) "set" and "clear".

Figure 11 .
Figure 11.The duty cycle for a reference signal value of 0.6 by defining the third and fourth event managers as (a) "clear" and "set" and (b) "set" and "clear".

Figure 12 .
Figure 12.P-V curves for different scenarios of shadowing.(a) first and (b) second scenarios.

Figure 13 .
Figure 13.PV output powers for the scenario of Figure 12a.

Figure 12 .Figure 12 .
Figure 12.P-V curves for different scenarios of shadowing.(a) first and (b) second scenarios.

Figure 13 .
Figure 13.PV output powers for the scenario of Figure 12a.

Figure 13 .
Figure 13.PV output powers for the scenario of Figure 12a.

Figure 14 .
Figure 14.The PV output power for the scenario depicted in Figure 12b.

Figure 14 .
Figure 14.The PV output power for the scenario depicted in Figure 12b.

Figure 14 .
Figure 14.The PV output power for the scenario depicted in Figure 12b.

Figure 16 .
Figure 16.The PV output power for the scenario depicted in Figure 15.

Figure 16 .
Figure 16.The PV output power for the scenario depicted in Figure 15.

Figure 16 .
Figure 16.The PV output power for the scenario depicted in Figure 15.

Figure 18 .
Figure 18.P-V and I-V curves under partial shading conditions.

Figure 19 .Figure 18 . 25 Figure 18 .
Figure 19.PV output power for the scenario in Figure 18.The experimental results for the scenario depicted in Figure 20 are shown in Figure 21.As shown in Figure 20b, S2 is not successful in obtaining the GMPP and detecting the LMPP with a value of 278.7 W. As shown in Figures20a and 21, S1 and S3 are successful in finding the GMPP with a value of 360 W, and the TGMPP for S1 and S3 are 22.64 s and 24.68 s, respectively, which show that S1 is faster than S3 when detecting the GMPP.By comparing S1 and S3, S1 has a smaller oscillation in power when the GMPP is obtained, where its values for S1 and S3 are 4.5 W and 11.6 W, respectively.

Figure 19 .Figure 19 . 25 Figure 18 .
Figure 19.PV output power for the scenario in Figure 18.The experimental results for the scenario depicted in Figure20are shown in Figure21.As shown in Figure20b, S2 is not successful in obtaining the GMPP and detecting the LMPP with a value of 278.7 W. As shown in Figures20a and 21, S1 and S3 are successful in finding the GMPP with a value of 360 W, and the TGMPP for S1 and S3 are 22.64 s and 24.68 s, respectively, which show that S1 is faster than S3 when detecting the GMPP.By comparing S1 and S3, S1 has a smaller oscillation in power when the GMPP is obtained, where its values for S1 and S3 are 4.5 W and 11.6 W, respectively.

Figure 19 .Figure 20 .
Figure 19.PV output power for the scenario in Figure 18.The experimental results for the scenario depicted in Figure 20 are shown in Figure 21.As shown in Figure 20b, S2 is not successful in obtaining the GMPP and detecting the LMPP with a value of 278.7 W. As shown in Figures 20a and 21, S1 and S3 are successful in finding the GMPP with a value of 360 W, and the TGMPP for S1 and S3 are 22.64 s and 24.68 s, respectively, which show that S1 is faster than S3 when detecting the GMPP.By comparing S1 and S3, S1 has a smaller oscillation in power when the GMPP is obtained, where its values for S1 and S3 are 4.5 W and 11.6 W, respectively.

Figure 21 .
Figure 21.PV output power for the scenario of Figure 20.

Figure 20 .Figure 20 .
Figure 20.P-V and I-V curves under PSC; (a) the detected GMPP by S1 and S3 and (b) the failed detection of GMPP by S2.(b) Figure 20.P-V and I-V curves under PSC; (a) the detected GMPP by S1 and S3 and (b) the failed detection of GMPP by S2.

Figure 21 .
Figure 21.PV output power for the scenario of Figure 20.

Figure 21 .
Figure 21.PV output power for the scenario of Figure 20.
, which represent irradiations of 800 W/m 2 and 600 W/m 2 , respectively.The TGMPP and Pripp_PSC values for 800 W/m 2 are equal to 8.18 s and 2.8 W, respectively, and these values for 600 W/m 2 are equal to 9.88 s and 3.2 W.
, which represent irradiations of 800 W/m 2 and 600 W/m 2 , respectively.The TGMPP and Pripp_PSC values for 800 W/m 2 are equal to 8.18 s and 2.8 W, respectively, and these values for 600 W/m 2 are equal to 9.88 s and 3.2 W.

Figure 25 .
Figure 25.PV output power for the scenario in Figure 24 for irradiations of (a) 1000 W/m 2 ; (b) 800 W/m 2 and (c) 600 W/m 2

Figure 25 .
Figure 25.PV output power for the scenario in Figure 24 for irradiations of (a) 1000 W/m 2 ; (b) 800 W/m 2 and (c) 600 W/m 2

Figure 25 .
Figure 25.PV output power for the scenario in Figure 24 for irradiations of (a) 1000 W/m 2 ; (b) 800 W/m 2 and (c) 600 W/m 2

Figure 26 .
Figure 26.P-V and I-V curves under PSC for irradiations of (a) 1000 W/m 2 and (b) 800 W/m 2 .

Figure 27 .
Figure 27.PV output power for the scenario in Figure 26 for irradiations of (a) 1000 W/m 2 and (b) 800 W/m 2 .

Figure 27 .
Figure 27.PV output power for the scenario in Figure 26 for irradiations of (a) 1000 W/m 2 and (b) 800 W/m 2 .

Table 1 .
Specifications of Solar KC40T at 1000 W/m 2 and 25 ˝C.
˝CNumber of cells per module