Advanced MPPT Algorithm for Distributed Photovoltaic Systems

: The basic and adaptive maximum power point tracking algorithms have been studied for distributed photovoltaic systems to maximize the energy production of a photovoltaic (PV) module. However, the basic maximum power point tracking algorithms using a ﬁxed step size, such as perturb and observe and incremental conductance, su ﬀ er from a trade-o ﬀ between tracking accuracy and tracking speed. Although the adaptive maximum power point tracking algorithms using a variable step size improve the maximum power point tracking e ﬃ ciency and dynamic response of the basic algorithms, these algorithms still have the oscillations at the maximum power point, because the variable step size is sensitive to external factors. Therefore, this paper proposes an enhanced maximum power point tracking algorithm that can have fast dynamic response, low oscillations, and high maximum power point tracking e ﬃ ciency. To achieve these advantages, the proposed maximum power point tracking algorithm uses two methods that can apply the optimal step size to each operating range. In the operating range near the maximum power point, a small ﬁxed step size is used to minimize the oscillations at the maximum power point. In contrast, in the operating range far from the maximum power point, a variable step size proportional to the slope of the power-voltage curve of PV module is used to achieve fast tracking speed under dynamic weather conditions. As a result, the proposed algorithm can achieve higher maximum power point tracking e ﬃ ciency, faster dynamic response, and lower oscillations than the basic and adaptive algorithms. The theoretical analysis and performance of the proposed algorithm were veriﬁed by experimental results. In addition, the comparative experimental results of the proposed algorithm with the other maximum power point tracking algorithms show the superiority of the proposed algorithm.


Introduction
The renewable energy resources including wind power, biomass, solar heating, solar photovoltaic (PV), hydroelectric energy, and fuel cells have been widely used to reduce global warming effects caused by greenhouse gas emission [1][2][3][4]. Among these energy resources, solar PV has attracted attention as a promising renewable energy source due to the following reasons: 1.
Low maintenance costs: Only PV module, inverter, and cable are required for maintenance and the maintenance period is long [8][9][10].

3.
Technology development: Various methods were constantly introduced to improve the technology in the solar power industry [8][9][10].
PV systems consist of PV modules for converting sunlight into direct current (DC) electricity, as well as PV inverters for converting DC into alternating current (AC). Based on the connection PV systems consist of PV modules for converting sunlight into direct current (DC) electricity, as well as PV inverters for converting DC into alternating current (AC). Based on the connection method between the PV module and the PV inverter, the PV inverter can be categorized as a central inverter or as a module-level power electronic (MLPE). In the past, central inverters ( Figure 1a) connected with series-connected PV modules were widely used because they have the advantages of simple structure and low cost [11]. However, central inverters suffered from significant performance degradation under partial shading due to multiple maximum power points and mismatches in PV modules. To solve the partial shading problem, MLPEs (Figure 1b), which include a DC-optimizer and a micro-inverter, were introduced [12][13][14][15][16]. MLPEs are connected to one PV module and harvest optimum power by performing module-level maximum power point tracking (MPPT); this is also known as distributed MPPT (DMPPT) [17][18][19]. Thereby, MLPEs solve the partial shading problem and improve the performance of an entire PV system. Among many MPPT algorithms, hill-climbing, perturb and observe (P&O), and incremental conductance (INC) have been widely used due to their simplicity and ease of implementation [20][21][22][23][24].
Hill-climbing and P&O algorithms operate on the same fundamental principle that the variation (ΔVPV) of PV voltage (VPV) and the variation (ΔPPV) of PV power (PPV) become zero at the maximum power point (MPP). The difference between the P&O and hill-climbing algorithms is that P&O uses a PI controller. Operations in both hill-climbing and P&O algorithms can be classified into five modes and are described in Figure 2 and Table 1 [20][21][22][23]. The INC algorithm tracks the MPP based on the principle that the variation (ΔIPV) of PV current (IPV) becomes zero and the slope of −ΔIPV/ΔVPV is the same as IPV/VPV at the MPP. The INC algorithm also has five operating modes, and its principle of operation is described in Figure 3 and Table 2 [24]. However, these basic MPPT algorithms have a trade-off problem between tracking accuracy and speed because fixed step size is used for perturbation. If small fixed step size is used, tracking accuracy increases, but speed is slower. In this case, the basic MPPT algorithms can fail to track the MPP under dynamic weather conditions. At large fixed step size, tracking speed is faster, but tracking accuracy decreases, which causes a low MPPT efficiency. Among many MPPT algorithms, hill-climbing, perturb and observe (P&O), and incremental conductance (INC) have been widely used due to their simplicity and ease of implementation [20][21][22][23][24].
Hill-climbing and P&O algorithms operate on the same fundamental principle that the variation (∆V PV ) of PV voltage (V PV ) and the variation (∆P PV ) of PV power (P PV ) become zero at the maximum power point (MPP). The difference between the P&O and hill-climbing algorithms is that P&O uses a PI controller. Operations in both hill-climbing and P&O algorithms can be classified into five modes and are described in Figure 2 and Table 1 [20][21][22][23]. The INC algorithm tracks the MPP based on the principle that the variation (∆I PV ) of PV current (I PV ) becomes zero and the slope of −∆I PV /∆V PV is the same as I PV /V PV at the MPP. The INC algorithm also has five operating modes, and its principle of operation is described in Figure 3 and Table 2 [24]. However, these basic MPPT algorithms have a trade-off problem between tracking accuracy and speed because fixed step size is used for perturbation. If small fixed step size is used, tracking accuracy increases, but speed is slower. In this case, the basic MPPT algorithms can fail to track the MPP under dynamic weather conditions. At large fixed step size, tracking speed is faster, but tracking accuracy decreases, which causes a low MPPT efficiency.

Conditions Actions
(i) -∆I PV /∆V PV < I PV /V PV and ∆I PV > 0 Duty decrease (ii) -∆I PV /∆V PV < I PV /V PV and ∆I PV < 0 Duty decrease (iii) -∆I PV /∆V PV > I PV /V PV and ∆I PV > 0 Duty increase (iv) -∆I PV /∆V PV > I PV /V PV and ∆I PV < 0 Duty increase (v) -∆I PV /∆V PV = I PV /V PV and ∆I PV = 0 No action To solve these problems, adaptive hill-climbing, adaptive P&O, and adaptive INC algorithms using variable step sizes were introduced [25][26][27][28]. In each adaptive MPPT algorithm, a variable step size is automatically adjusted according to the slope formula consisting of the variations (∆P PV and ∆V PV ) and variable step coefficients (a, N, and M); a·∆P PV /∆V PV in [25,26], N·∆P PV /∆V PV in [27], and M·∆P PV /∆V PV in [28]. The variable step size becomes high far from the MPP and low near the MPP. Therefore, the adaptive MPPT algorithms can achieve fast tracking speed in the operating range far from the MPP and small oscillations in the operating range near the MPP. However, these algorithms still have oscillations at the MPP because the variables (∆P PV and ∆V PV ) in the slope formula are easily affected by sensing and calculation errors, sensing noise, and ripples of V PV and I PV .
In [29][30][31][32], the MPPT algorithms with intelligent prediction were introduced. Some of the algorithms used fuzzy logic to vary the step size [29][30][31]; the fuzzy logic method consists of fuzzification, a fuzzy rule-based lookup table (Table 3), and defuzzification. First, the input variables (∆I PV and ∆P PV ) are converted into fuzzy subsets such as negative big (NB), negative small (NS), zero (ZO), positive small (PS), and positive big (PB) depending on ∆I PV and ∆P PV . Then, one fuzzy subset is determined based on the rule-based lookup table and it provides a numeric step size. The MPPT algorithm using fuzzy logic is effective in dealing with the nonlinear characteristics of the PV module because the fuzzy logic divides the nonlinear system in the fuzzy subsets defined by the variables (∆I PV and ∆P PV ) and controls the nonlinearity of system using the rule base for each area (See Table 3). Therefore, it can track the MPP well under dynamic weather conditions. However, compared to other MPPT algorithms such as adaptive P&O and INC algorithms, it requires a digital signal processor (DSP) with higher specification and also makes the user's design more difficult because of its higher complexity of algorithm and execution process [27,31]. This is a disadvantage for commercialization. The other MPPT algorithm of [32] changed the step size by using a PID controller tuned by genetic algorithm. First, the genetic algorithm evaluates a number of solutions known as chromosomes using a fitness function, and later, genetic operators (selection, crossover, and mutation) are applied until a stop criterion is satisfied ( Figure 4). Based on this principle of the genetic algorithm, the PID coefficients (K p , K i , and K d ) are determined to vary the step size. This MPPT algorithm also has good performance under dynamic weather conditions, but it requires high computational capability and sophisticated controllers due to its complexity. from the MPP and small oscillations in the operating range near the MPP. However, these algorithms still have oscillations at the MPP because the variables (ΔPPV and ΔVPV) in the slope formula are easily affected by sensing and calculation errors, sensing noise, and ripples of VPV and IPV.
In [29][30][31][32], the MPPT algorithms with intelligent prediction were introduced. Some of the algorithms used fuzzy logic to vary the step size [29][30][31]; the fuzzy logic method consists of fuzzification, a fuzzy rule-based lookup table (Table 3), and defuzzification. First, the input variables (ΔIPV and ΔPPV) are converted into fuzzy subsets such as negative big (NB), negative small (NS), zero (ZO), positive small (PS), and positive big (PB) depending on ΔIPV and ΔPPV. Then, one fuzzy subset is determined based on the rule-based lookup table and it provides a numeric step size. The MPPT algorithm using fuzzy logic is effective in dealing with the nonlinear characteristics of the PV module because the fuzzy logic divides the nonlinear system in the fuzzy subsets defined by the variables (ΔIPV and ΔPPV) and controls the nonlinearity of system using the rule base for each area (See Table  3). Therefore, it can track the MPP well under dynamic weather conditions. However, compared to other MPPT algorithms such as adaptive P&O and INC algorithms, it requires a digital signal processor (DSP) with higher specification and also makes the user's design more difficult because of its higher complexity of algorithm and execution process [27,31]. This is a disadvantage for commercialization. The other MPPT algorithm of [32] changed the step size by using a PID controller tuned by genetic algorithm. First, the genetic algorithm evaluates a number of solutions known as chromosomes using a fitness function, and later, genetic operators (selection, crossover, and mutation) are applied until a stop criterion is satisfied ( Figure 4). Based on this principle of the genetic algorithm, the PID coefficients (Kp, Ki, and Kd) are determined to vary the step size. This MPPT algorithm also has good performance under dynamic weather conditions, but it requires high computational capability and sophisticated controllers due to its complexity.    In this paper, an advanced MPPT algorithm for DMPPT in the MLPEs is proposed, which improves the tracking speed and accuracy under both steady and dynamic weather conditions. Similar to the adaptive MPPT algorithms, the proposed MPPT algorithm automatically changes the variable step size according to the slope of ∆P PV /∆V PV in the operating range far from the MPP. However, in the operating range near the MPP, it accurately tracks the MPP using a small fixed step size. As a result, the proposed MPPT algorithm achieves small oscillations at the MPP and a fast dynamic response. In addition, compared with the MPPT algorithms with intelligent control such as fuzzy logic and PID, the proposed MPPT algorithm can reduce the computational load of DSP because it is based on simple P&O method. Therefore, it allows manufacturers to use cheap DSPs for the PV system. The distributed PV system and proposed MPPT algorithm are described in Section 2, the experimental results and discussion are presented in Section 3, and a conclusion is given in Section 4.

Distributed PV System
A distributed PV system with the MPPT algorithm is shown in Figure 5; the system consists of one PV module and one MLPE. Due to the fact that the PV module converts sunlight into low DC voltage, the MLPE requires a high voltage gain to convert low DC voltage into high AC voltage with grid frequency. The MPPT algorithm controls the duty ratio (D) of the MLPE to operate at the MPP of the PV module. To perform the MPPT algorithm, the voltage (V PV ) and current (I PV ) of the PV module are used as input signals. In this paper, an advanced MPPT algorithm for DMPPT in the MLPEs is proposed, which improves the tracking speed and accuracy under both steady and dynamic weather conditions. Similar to the adaptive MPPT algorithms, the proposed MPPT algorithm automatically changes the variable step size according to the slope of ΔPPV/ΔVPV in the operating range far from the MPP. However, in the operating range near the MPP, it accurately tracks the MPP using a small fixed step size. As a result, the proposed MPPT algorithm achieves small oscillations at the MPP and a fast dynamic response. In addition, compared with the MPPT algorithms with intelligent control such as fuzzy logic and PID, the proposed MPPT algorithm can reduce the computational load of DSP because it is based on simple P&O method. Therefore, it allows manufacturers to use cheap DSPs for the PV system. The distributed PV system and proposed MPPT algorithm are described in Section 2, the experimental results and discussion are presented in Section 3, and a conclusion is given in Section 4.

Distributed PV System
A distributed PV system with the MPPT algorithm is shown in Figure 5; the system consists of one PV module and one MLPE. Due to the fact that the PV module converts sunlight into low DC voltage, the MLPE requires a high voltage gain to convert low DC voltage into high AC voltage with grid frequency. The MPPT algorithm controls the duty ratio (D) of the MLPE to operate at the MPP of the PV module. To perform the MPPT algorithm, the voltage (VPV) and current (IPV) of the PV module are used as input signals.

PV Module
Based on the references [33,34], the equivalent circuit of the PV module can be derived as shown in Figure 6. The PV module consists of several PV cells and two parasitic resistances (RS, RP), where each PV cell has a combined structure of an ideal current source (IP) and a diode (DP). The current (IPV) of the PV module can be derived as Assuming all PV cells are the same, IP = nIP1 and ID = nID1 are obtained. Using the Shockley diode equation, ID is given by where n is the number of PV cells connected in parallel, ns is the number of PV cells connected in series, I0 is the saturation current of the diode, a is the diode ideality constant, and Vt = kT/q is the thermal voltage of the diode with q = 1.602 × 10 -19 C, k = 1.381 × 10 −23 J/K, and T is an ambient temperature.

PV Module
Based on the references [33,34], the equivalent circuit of the PV module can be derived as shown in Figure 6. The PV module consists of several PV cells and two parasitic resistances (R S , R P ), where each PV cell has a combined structure of an ideal current source (I P ) and a diode (D P ). The current (I PV ) of the PV module can be derived as where I P = I P1 + I P2 · · · + I Pn and I D = I D1 + I D2 · · · + I Dn . Assuming all PV cells are the same, I P = nI P1 and I D = nI D1 are obtained. Using the Shockley diode equation, I D is given by where n is the number of PV cells connected in parallel, n s is the number of PV cells connected in series, I 0 is the saturation current of the diode, a is the diode ideality constant, and V t = kT/q is the thermal voltage of the diode with q = 1.602 × 10 -19 C, k = 1.381 × 10 −23 J/K, and T is an ambient temperature. As the voltage across RP is given by VPV + RSIPV, the current of RP is obtained as Then, inserting (2) and (3) into (1) results in Using (4), the characteristic curves of the PV module are drawn as shown in Figure 7. Figure   The current of the PV cell depends on the solar irradiance and the temperature as follows; where IP,STC is a light-generated current at the standard test condition (STC, 25°C and 1000 W/m 2 ), KI is a temperature coefficient, Tn is a nominal temperature (25°C), G is an irradiation level of the PV module, and Gn is a nominal irradiance level (1000 W/m 2 ). Using (5), Equation (4) can be represented as Equation (6) shows that the characteristic curve of the PV module can be changed according to the solar irradiance level and the temperature. As the voltage across R P is given by V PV + R S I PV , the current of R P is obtained as Then, inserting (2) and (3) into (1) results in Using (4), the characteristic curves of the PV module are drawn as shown in Figure 7. Figure   As the voltage across RP is given by VPV + RSIPV, the current of RP is obtained as Then, inserting (2) and (3) into (1) Using (4), the characteristic curves of the PV module are drawn as shown in Figure 7. Figure   The current of the PV cell depends on the solar irradiance and the temperature as follows; where IP,STC is a light-generated current at the standard test condition (STC, 25°C and 1000 W/m 2 ), KI is a temperature coefficient, Tn is a nominal temperature (25°C), G is an irradiation level of the PV module, and Gn is a nominal irradiance level (1000 W/m 2 ). Using (5), Equation (4) can be represented as Equation (6) shows that the characteristic curve of the PV module can be changed according to the solar irradiance level and the temperature. The current of the PV cell depends on the solar irradiance and the temperature as follows; where I P,STC is a light-generated current at the standard test condition (STC, 25 • C and 1000 W/m 2 ), K I is a temperature coefficient, T n is a nominal temperature (25 • C), G is an irradiation level of the PV module, and G n is a nominal irradiance level (1000 W/m 2 ). Using (5), Equation (4) can be represented as Equation (6) shows that the characteristic curve of the PV module can be changed according to the solar irradiance level and the temperature.

Module-Level Power Electronics (MLPE)
As shown in Figure 8, the MLPE is classified into a micro-inverter and a DC-optimizer. The micro-inverter consists of a DC-DC converter with high voltage gain and a DC-AC inverter, and the DC-optimizer has only one DC-DC converter with high voltage gain. Therefore, the DC-optimizer can cost less than the micro-inverter, but it needs a DC-AC inverter with high power capability. In the micro-inverter and the DC-optimizer, one MPPT algorithm is applied to each DC-DC converter to optimize each PV module. Therefore, the MPPT algorithms used in the MLPEs are called a module-level MPPT, or DMPPT. As shown in Figure 8, the MLPE is classified into a micro-inverter and a DC-optimizer. The micro-inverter consists of a DC-DC converter with high voltage gain and a DC-AC inverter, and the DC-optimizer has only one DC-DC converter with high voltage gain. Therefore, the DC-optimizer can cost less than the micro-inverter, but it needs a DC-AC inverter with high power capability. In the micro-inverter and the DC-optimizer, one MPPT algorithm is applied to each DC-DC converter to optimize each PV module. Therefore, the MPPT algorithms used in the MLPEs are called a modulelevel MPPT, or DMPPT.

Principle of the Algorithm
The proposed MPPT algorithm uses two methods that can apply the optimal step size to each operating range. In the operating range far from the MPP (non-MPP region), a variable step size (=k1•S•Vstep) is automatically adjusted according to the slope of ΔPPV/ΔVPV for fast dynamic response. Here, k1 is a constant coefficient for variable step size, S is a slope coefficient calculated as |ΔPPV/ΔVPV|, and Vstep is a fixed step size. In the operating range near the MPP (MPP region), a small fixed step size (=k2•Vstep) is used to minimize the oscillations at the MPP, where k2 is a constant coefficient for small fixed step size.

Principle of the Algorithm
The proposed MPPT algorithm uses two methods that can apply the optimal step size to each operating range. In the operating range far from the MPP (non-MPP region), a variable step size (=k 1 ·S·V step ) is automatically adjusted according to the slope of ∆P PV /∆V PV for fast dynamic response. Here, k 1 is a constant coefficient for variable step size, S is a slope coefficient calculated as |∆P PV /∆V PV |, and V step is a fixed step size. In the operating range near the MPP (MPP region), a small fixed step size (=k 2 ·V step ) is used to minimize the oscillations at the MPP, where k 2 is a constant coefficient for small fixed step size.
As shown in Figure 9, the proposed MPPT algorithm has two operating regions including the MPP (P PV > β·P MPP ) and non-MPP (P PV < β·P MPP ) regions, where β is an MPP region coefficient. The operating point starts at V PV = V OC and move with fast tracking speed toward the MPP (V MPP , P MPP ). The direction of the operating point is determined using ∆P PV and ∆V PV , where ∆ means the difference between the present and previous values. In addition, the present P PV is compared with P MPP to search the MPP. As shown in Figure 8, the MLPE is classified into a micro-inverter and a DC-optimizer. The micro-inverter consists of a DC-DC converter with high voltage gain and a DC-AC inverter, and the DC-optimizer has only one DC-DC converter with high voltage gain. Therefore, the DC-optimizer can cost less than the micro-inverter, but it needs a DC-AC inverter with high power capability. In the micro-inverter and the DC-optimizer, one MPPT algorithm is applied to each DC-DC converter to optimize each PV module. Therefore, the MPPT algorithms used in the MLPEs are called a modulelevel MPPT, or DMPPT.

Principle of the Algorithm
The proposed MPPT algorithm uses two methods that can apply the optimal step size to each operating range. In the operating range far from the MPP (non-MPP region), a variable step size (=k1•S•Vstep) is automatically adjusted according to the slope of ΔPPV/ΔVPV for fast dynamic response. Here, k1 is a constant coefficient for variable step size, S is a slope coefficient calculated as |ΔPPV/ΔVPV|, and Vstep is a fixed step size. In the operating range near the MPP (MPP region), a small fixed step size (=k2•Vstep) is used to minimize the oscillations at the MPP, where k2 is a constant coefficient for small fixed step size.

Flow Chart
The flow chart of the proposed MPPT algorithm is shown in Figure 10, and it is described as follows: 1.
The present V PV and I PV of the PV module are used as the input signals for the proposed MPPT algorithm. The variable "Flag_start" is preset to 1 for fast tracking speed at the starting point of V PV = V OC , and the variable "Flag_reset" is preset to 1 for setting the P MPP and V MPP to the present P PV and V PV , where P PV = V PV ·I PV . 2.
If Flag_start is 1, it is determined that the operating point is located at the starting point of V PV = V OC . Therefore, the reference variable (V ref ) is initially set to 1/V PV (=1/V OC ) and the operating point moves rapidly toward the MPP. After that, Flag_start is set to 0. 3.
In this process, P PV is calculated as V PV ·I PV , ∆P PV and ∆V PV are calculated using present (P PV and V PV ) and previous (P PV_b and V PV_b ) values, and the slope coefficient (S) is calculated as |∆P PV /∆V PV |.

4.
If Flag_reset is 1, P MPP and V MPP are set to the present P PV and V PV , and then Flag_reset is set to 0.

5.
If the present P PV is higher than P MPP , it is determined that the MPP has not been found yet. Therefore, the operating point is forced to keep moving toward the MPP, and P MPP and V MPP are reset to the present P PV and V PV . To quickly find the MPP, the variable step size (=k 1 ·S·V step ) is used in this process. 6.
If the operating point is located in the MPP region, the small fixed step size (=k 2 ·V step ) is used to track the MPP accurately. 7.
If P PV is lower than the boundary value (β·P MPP ) between the MPP and non-MPP regions, it is determined that the operating point is located in non-MPP region. This process is usually performed under dynamic weather conditions because the MPP changes under these conditions. Therefore, Flag_reset is set to 1 to find a new MPP, and the variable step size (=k 1 ·S·V step ) is automatically adjusted according to the slope of ∆P PV /∆V PV for a fast dynamic response. 8.  Figure 11). In addition, the previous values (P PV_b and V PV_b ) are obtained at this time.
The above processes from (1) to (9) are repeated to operate the DC-DC converter at the MPP of the PV module. between the present and previous values. In addition, the present PPV is compared with PMPP to search the MPP.

Flow Chart
The flow chart of the proposed MPPT algorithm is shown in Figure 10, and it is described as follows: 1. The present VPV and IPV of the PV module are used as the input signals for the proposed MPPT algorithm. The variable "Flag_start" is preset to 1 for fast tracking speed at the starting point of VPV = VOC, and the variable "Flag_reset" is preset to 1 for setting the PMPP and VMPP to the present PPV and VPV, where PPV = VPV•IPV. 2. If Flag_start is 1, it is determined that the operating point is located at the starting point of VPV = VOC. Therefore, the reference variable (Vref) is initially set to 1/VPV (=1/VOC) and the operating point moves rapidly toward the MPP. After that, Flag_start is set to 0. 3. In this process, PPV is calculated as VPV•IPV, ΔPPV and ΔVPV are calculated using present (PPV and VPV) and previous (PPV_b and VPV_b) values, and the slope coefficient (S) is calculated as |ΔPPV/ΔVPV|. 4. If Flag_reset is 1, PMPP and VMPP are set to the present PPV and VPV, and then Flag_reset is set to 0. 5. If the present PPV is higher than PMPP, it is determined that the MPP has not been found yet.
Therefore, the operating point is forced to keep moving toward the MPP, and PMPP and VMPP are reset to the present PPV and VPV. To quickly find the MPP, the variable step size (=k1•S•Vstep) is used in this process. 6. If the operating point is located in the MPP region, the small fixed step size (=k2•Vstep) is used to track the MPP accurately. 7. If PPV is lower than the boundary value (β•PMPP) between the MPP and non-MPP regions, it is determined that the operating point is located in non-MPP region. This process is usually performed under dynamic weather conditions because the MPP changes under these conditions. Therefore, Flag_reset is set to 1 to find a new MPP, and the variable step size (=k1•S•Vstep) is automatically adjusted according to the slope of ΔPPV/ΔVPV for a fast dynamic response. 8. Vref is limited by the maximum and minimum values (Vref,max and Vref,min) of Vref to prevent malfunction of the DC-DC converter in the MLPEs. 9. Through the above processes, a new Vref is obtained. Vref is compared with the carrier signal (Vcarrier) in the digital signal processor (DSP), and a new duty ratio (D) is generated to control the DC-DC converter in the MLPE (Figure 11). In addition, the previous values (PPV_b and VPV_b) are obtained at this time.
The above processes from (1) to (9) are repeated to operate the DC-DC converter at the MPP of the PV module.

Design Considerations
(1) aximum (Vref,max) and minimum (Vref,min) of Vref The DC-DC converter in the MLPEs has an input voltage range of VPV,min ≤ VPV ≤ VPV,max due to its limited voltage gain. Since Vref is calculated as 1/VPV, Vref,max and Vref,min can be defined as 1/VPV,min and 1/VPV,max, respectively.
(2) Coefficient (k1) for variable step size and coefficient (k2) for small fixed step size The proposed MPPT algorithm uses a variable step size (=k1•S•Vstep) for fast dynamic response in operating range far from the MPP and a small fixed step size (=k2•Vstep) for small oscillations in operating range near the MPP, where k1, k2, and Vstep have constant values. Due to the fact that the slope coefficient (S) is calculated as |ΔPPV/ΔVPV|, the variation of the reference variable (Vref) is given by  (2) Coefficient (k 1 ) for variable step size and coefficient (k 2 ) for small fixed step size The proposed MPPT algorithm uses a variable step size (=k 1 ·S·V step ) for fast dynamic response in operating range far from the MPP and a small fixed step size (=k 2 ·V step ) for small oscillations in operating range near the MPP, where k 1 , k 2 , and V step have constant values. Due to the fact that the slope coefficient (S) is calculated as |∆P PV /∆V PV |, the variation of the reference variable (V ref ) is given by

Design Considerations
where ∆ means a difference between the present and previous values.
where V MPP,STC and P MPP,STC are the voltage and power at the MPP under the STC (25 • C and 1000 W/m 2 ). Therefore, k 1 can be obtained as The small step coefficient (k 2 ) can be determined by considering the resolution of V PV in the operating range near the MPP. If accuracy of the third decimal point of V PV is required in operating range near the MPP, |∆V ref | = k 2 ·V step can be represented using Therefore, k 2 is calculated as (3) MPP region coefficient (β) β·P MPP is a boundary value between the MPP and non-MPP regions. For fast dynamic response, β should be close to one; however, if it is too close to one, oscillations can occur at the boundary of P PV = β·P MPP . Therefore, β = 0.9~0.95 is recommended.
To optimize the proposed MPPT algorithm in a given DC-DC converter topology and operating conditions, V step is determined after several experiments. Therefore, V step has a user-defined value, and V step = 10 was used for the experiments in this paper.  Table 4. The output of the DC-DC converter is connected to the electronic load (DL1000H from NF Corp.) to consume the energy, and the notebook computer is connected to the DSP (TMS320F28335 from Texas Instruments Inc.) in the DC-DC converter by USB cable. The power meter (PW3336, from HIOKI Inc.) is used to measure the voltage (V PV ), current (I PV ), and power (P PV ) of the PV simulator. Based on the sensed V PV and I PV , the DSP runs the MPPT algorithm and generates the gate signals (v gs1 , v gs2 ) for operating the DC-DC converter. To compare the dynamic and energy utilization performances of the MPPT algorithms, four experiments were performed as follows.        First, the proposed MPPT algorithm and the conventional MPPT algorithms including a basic P&O of [21], an adaptive P&O of [26], and an adaptive INC of [27] were tested at the STC of E = 1000 W/m 2 and T = 25 • C. Figure 14 shows the measured V PV , I PV , and P PV waveforms of the PV module when each MPPT algorithm is applied to a DC-DC converter. The basic P&O algorithm with a small fixed step size tracked the maximum power point (MPP) slowly, but it had small oscillations after reaching the MPP (Figure 14a). When the fixed step size increased, the tracking speed of the basic P&O algorithm increased as well, but the oscillations also increased (Figure 14b). To solve the problem of the fixed step size, the adaptive P&O and adaptive INC algorithms used a variable step size proportional to k 1 ·∆P PV /∆V PV . However, these algorithms still had the oscillations at the MPP because the ∆P PV /∆V PV is easily affected by sensing and calculation errors, sensing noise, and the ripples of V PV and I PV (Figure 14c-f). If the coefficient k 1 is smaller, the oscillations at the MPP decreases, but the tracking speed is slower. To improve the problems of the previous MPPT algorithms mentioned above, the proposed MPPT algorithm uses two methods that can apply the optimal step size to each operating range. In the operating range near the MPP, a small fixed step size is used to minimize the oscillations at the MPP, but in the operating range far from the MPP, a variable step size proportional to k 1 ·∆P PV /∆V PV is used to achieve fast tracking speed. The proposed MPPT algorithm can adjust the tracking speed using k 1 so that it can track the MPP quickly. As a result, the proposed MPPT algorithm tracked the MPP with faster tracking speed and had smaller oscillations at the MPP when compared with the conventional algorithms (Figure 14g,h).  First, the proposed MPPT algorithm and the conventional MPPT algorithms including a basic P&O of [21], an adaptive P&O of [26], and an adaptive INC of [27] were tested at the STC of E = 1000 W/m 2 and T = 25 °C. Figure 14 shows the measured VPV, IPV, and PPV waveforms of the PV module when each MPPT algorithm is applied to a DC-DC converter. The basic P&O algorithm with a small Figure 14. Voltage (V PV ), current (I PV ), and power (P PV ) waveforms of the PV module measured using the basic P&O algorithm with (a) small fixed step size or (b) large fixed step size, using the adaptive P&O algorithm with (c) low k 1 (=0.00002) or (d) high k 1 (=0.0001), using the adaptive INC algorithm with (e) low k 1 (=0.00002) or (f) high k 1 (=0.0001), and using the proposed MPPT algorithm with (g) low k 1 (=0.00002) and small fixed step size or (h) high k 1 (=0.0001) and small fixed step size. The MPPT efficiencies of the proposed and conventional MPPT algorithms were measured for two minutes after reaching the MPP under the same conditions as in Figure 14 (Figure 15). When a large fixed step size was applied, the basic P&O algorithm had the lowest average MPPT efficiency of 97.8% due to the largest oscillations at the MPP (Figure 15a). The adaptive P&O and adaptive INC algorithms with high k 1 (=0.0001) had higher average MPPT efficiencies of 98.5% and 98.7% than that of the basic P&O algorithm because they used variable step sizes (Figure 15b,c). In addition, the adaptive P&O and adaptive INC algorithms had higher average MPPT efficiencies of 99.1% and 98.9% than 98.7% of the basic P&O algorithm when small fixed step size and low k 1 (=0.00002) were applied. The proposed MPPT algorithm had the highest average MPPT efficiencies of 99.4% and 99.7% at low k 1 (=0.00002) and high k 1 (=0.0001) because it had the smallest oscillations at the MPP (Figure 15d). is used to minimize the oscillations at the MPP, but in the operating range far from the MPP, a variable step size proportional to k1•ΔPPV/ΔVPV is used to achieve fast tracking speed. The proposed MPPT algorithm can adjust the tracking speed using k1 so that it can track the MPP quickly. As a result, the proposed MPPT algorithm tracked the MPP with faster tracking speed and had smaller oscillations at the MPP when compared with the conventional algorithms (Figure 14g,h).

Experimental Results
The MPPT efficiencies of the proposed and conventional MPPT algorithms were measured for two minutes after reaching the MPP under the same conditions as in Figure 14 (Figure 15). When a large fixed step size was applied, the basic P&O algorithm had the lowest average MPPT efficiency of 97.8% due to the largest oscillations at the MPP (Figure 15a). The adaptive P&O and adaptive INC algorithms with high k1(=0.0001) had higher average MPPT efficiencies of 98.5% and 98.7% than that of the basic P&O algorithm because they used variable step sizes (Figure 15b,c). In addition, the adaptive P&O and adaptive INC algorithms had higher average MPPT efficiencies of 99.1% and 98.9% than 98.7% of the basic P&O algorithm when small fixed step size and low k1(=0.00002) were applied. The proposed MPPT algorithm had the highest average MPPT efficiencies of 99.4% and 99.7% at low k1(=0.00002) and high k1(=0.0001) because it had the smallest oscillations at the MPP (Figure 15d). The PPV waveforms were measured to compare the performances of the proposed and conventional MPPT algorithms when irradiance level changed abruptly from 1000 W/m 2 to 100 W/m 2 or from 100 W/m 2 to 1000 W/m 2 at a constant temperature of 25 °C (Figure 16). In each MPPT algorithm, the fixed step size and k1 were optimized by considering the trade-off between the tracking speed and the oscillations under the given conditions. When irradiance level changed from 100 W/m 2 to 1000 W/m 2 , the basic P&O algorithm tracked the MPP within 20 s but had large oscillations ( Figure  16a). The adaptive P&O and adaptive INC algorithms also tracked the MPP within 20 s, but they still had oscillations (Figure 16b,c). As shown in Figure 14c-f, these algorithms could reduce the oscillations using a small fixed step size or k1, but the tracking was slower. The proposed MPPT algorithm had no trade-off between the tracking speed and the oscillations because it uses a variable step size proportional to k1•ΔPPV/ΔVPV in the operating range far from the MPP and a small fixed step The P PV waveforms were measured to compare the performances of the proposed and conventional MPPT algorithms when irradiance level changed abruptly from 1000 W/m 2 to 100 W/m 2 or from 100 W/m 2 to 1000 W/m 2 at a constant temperature of 25 • C ( Figure 16). In each MPPT algorithm, the fixed step size and k 1 were optimized by considering the trade-off between the tracking speed and the oscillations under the given conditions. When irradiance level changed from 100 W/m 2 to 1000 W/m 2 , the basic P&O algorithm tracked the MPP within 20 s but had large oscillations (Figure 16a). The adaptive P&O and adaptive INC algorithms also tracked the MPP within 20 s, but they still had oscillations (Figure 16b,c). As shown in Figure 14c-f, these algorithms could reduce the oscillations using a small fixed step size or k 1 , but the tracking was slower. The proposed MPPT algorithm had no trade-off between the tracking speed and the oscillations because it uses a variable step size proportional to k 1 ·∆P PV /∆V PV in the operating range far from the MPP and a small fixed step size in the operating range near the MPP. Therefore, when the irradiance level changed from 100 W/m 2 to 1000 W/m 2 , the proposed MPPT algorithm showed smaller oscillations and faster tracking speed than other algorithms (Figure 16d). size in the operating range near the MPP. Therefore, when the irradiance level changed from 100 W/m 2 to 1000 W/m 2 , the proposed MPPT algorithm showed smaller oscillations and faster tracking speed than other algorithms (Figure 16d).  Figure 17 shows the PPV waveforms measured to compare the performances of the proposed and conventional MPPT algorithms when the temperature changed abruptly from 15 °C to 75 °C or from 75 °C to 15 °C at a constant irradiance of 700 W/m 2 . In each MPPT algorithm, the fixed step size and k1 were optimized by considering the trade-off between the tracking speed and the oscillations under the given conditions. The basic P&O algorithm slowly tracked the MPP due to the fixed step size when the temperature changed from 75 °C to 15 °C (Figure 17a). The adaptive P&O and adaptive INC algorithms tracked the MPP faster than the basic P&O, but they still had oscillations after reaching the MPP (Figure 17b,c). The proposed MPPT algorithm not only had the fastest tracking speed but also had the smallest oscillations after reaching the MPP because it had no trade-off between the tracking speed and the oscillations (Figure 17d). The above results of the comparison experiments are summarized in Table 5.

Discussion
Among many MPPT algorithms, the P&O method was widely used due to its simple principle and ease of implementation. However, the basic P&O algorithm of [21] had a trade-off between tracking speed and oscillations due to a fixed step size (Figure 14a,b). To solve this problem, the adaptive P&O and adaptive INC algorithms using a variable step size were introduced [26,27]. These adaptive MPPT algorithms can reduce the oscillations at the MPP because the variable step size is automatically adjusted according to the slope (ΔPPV/ΔVPV) of the P-V curve (Figure 14c-f). However, the adaptive MPPT algorithms still had oscillations after reaching the MPP because the calculated ΔPPV/ΔVPV is easily affected by sensing and calculation errors, sensing noise, and the ripples of VPV and IPV. To improve the performances of the conventional MPPT algorithms mentioned above, the proposed MPPT algorithm used a small fixed step size in operating range near the MPP and a variable step size proportional to k1•ΔPPV/ΔVPV in operating range far from the MPP. As a result, the proposed MPPT algorithm had higher MPPT efficiency than the conventional MPPT algorithms ( Figure 15) and  Figure 17 shows the P PV waveforms measured to compare the performances of the proposed and conventional MPPT algorithms when the temperature changed abruptly from 15 • C to 75 • C or from 75 • C to 15 • C at a constant irradiance of 700 W/m 2 . In each MPPT algorithm, the fixed step size and k 1 were optimized by considering the trade-off between the tracking speed and the oscillations under the given conditions. The basic P&O algorithm slowly tracked the MPP due to the fixed step size when the temperature changed from 75 • C to 15 • C (Figure 17a). The adaptive P&O and adaptive INC algorithms tracked the MPP faster than the basic P&O, but they still had oscillations after reaching the MPP (Figure 17b,c). The proposed MPPT algorithm not only had the fastest tracking speed but also had the smallest oscillations after reaching the MPP because it had no trade-off between the tracking speed and the oscillations (Figure 17d). The above results of the comparison experiments are summarized in Table 5.

Discussion
Among many MPPT algorithms, the P&O method was widely used due to its simple principle and ease of implementation. However, the basic P&O algorithm of [21] had a trade-off between tracking speed and oscillations due to a fixed step size (Figure 14a,b). To solve this problem, the adaptive P&O and adaptive INC algorithms using a variable step size were introduced [26,27]. These adaptive MPPT algorithms can reduce the oscillations at the MPP because the variable step size is automatically adjusted according to the slope (∆P PV /∆V PV ) of the P-V curve (Figure 14c-f). However, the adaptive MPPT algorithms still had oscillations after reaching the MPP because the calculated ∆P PV /∆V PV is easily affected by sensing and calculation errors, sensing noise, and the ripples of V PV and I PV .
To improve the performances of the conventional MPPT algorithms mentioned above, the proposed MPPT algorithm used a small fixed step size in operating range near the MPP and a variable step size proportional to k 1 ·∆P PV /∆V PV in operating range far from the MPP. As a result, the proposed MPPT algorithm had higher MPPT efficiency than the conventional MPPT algorithms ( Figure 15) and showed faster tracking speed and smaller oscillations under dynamic weather conditions (Figures 16 and 17). These advantages of the proposed MPPT algorithm enable the distributed PV system to operate at its maximum performance, regardless of weather conditions. showed faster tracking speed and smaller oscillations under dynamic weather conditions (Figures 16  and 17). These advantages of the proposed MPPT algorithm enable the distributed PV system to operate at its maximum performance, regardless of weather conditions.

Conclusions
In this paper, an advanced MPPT algorithm for distributed PV systems was proposed. The proposed MPPT algorithm improved the MPPT accuracy and dynamic response of the conventional

Conclusions
In this paper, an advanced MPPT algorithm for distributed PV systems was proposed. The proposed MPPT algorithm improved the MPPT accuracy and dynamic response of the conventional MPPT algorithms by using two methods that can apply the optimal step size to each operating range. In the operating range near the MPP, a small fixed step size is used to minimize the oscillations at the MPP, but in the operating range far from the MPP, a variable step size proportional to k 1 ·∆P PV /∆V PV is used to achieve fast tracking speed. These advantages of the proposed MPPT algorithm were verified by comparison with the conventional MPPT algorithms: a basic P&O algorithm with fixed step size, an adaptive P&O algorithm with variable step size, and an adaptive INC algorithm with a variable step size. In the experimental results, the proposed MPPT algorithm had the highest MPPT efficiency of 99.7% compared with the conventional MPPT algorithms. In addition, it showed the fastest tracking speed and smallest oscillations under abruptly changing irradiance levels and temperature conditions. Due to these advantages of the proposed MPPT algorithm, the PV systems using the proposed MPPT algorithm can produce more electrical energy than that using the conventional MPPT algorithms. Moreover, the proposed MPPT algorithm requires low computational load of DSP because the formulas used for step size are simple, which is a good advantage in terms of user convenience and cost that are important for commercialization. As a result, the proposed MPPT algorithm is well-suited for distributed PV systems requiring high MPPT efficiency and fast dynamic response.