2.1. Solar Cell Circuit Model
Figure 1 shows the equivalent circuit of a PV cell, where
IPV is the current that is generated by the incident light (
G);
Id is the forward bias current of the diode; and,
RP and
RS are the intrinsic shunt resistance and internal series resistance of the cell, respectively. The relationship between the current (
I) and voltage (
V) of the solar cell can be expressed as
where
I0 is the diode reverse saturation current,
q is the electron charge,
K is Boltzmann constant,
T (in Kelvin) is the temperature of the p-n junction,
n is the diode ideality constant, and
V +
IRs is the cross-voltage of the diode.
The five parameters (
IPV,
I0,
RS,
RP, and
n) of the circuit model can be extracted from the datasheet-based information under three conditions (open circuit, short circuit, and maximum power point) [
18]. As such, respectively substituting the parameters of the open circuit (
V =
VOC,
I = 0), short circuit (
V = 0,
I =
ISC), and maximum power point (
V =
Vmp,
I =
Imp) conditions into Equation (1) yields:
where
VOC is the open circuit voltage,
ISC is the short circuit current, and
Vmp and
Imp are voltage and current at the maximum power point, respectively. Typically, the shunt resistance
RP in practical devices is sufficiently large and it could be neglected. In addition, the value of
RS could also be obtained from the datasheet. Moreover, by exploiting Equations (2)–(4), other unknown parameters of the circuit model can be extracted.
2.2. Irradiance and Temperature Effects
The equations and parameters of the circuit model that is mentioned in the previous section are based on the standard test condition (STC), which consists of a cell temperature of 25 °C under 1000 W/m
2 solar irradiance with AM 1.5 spectral distribution. When considering the effect of temperature and irradiance changes, the light-generated current
IPV, which depends linearly on the solar irradiance and is influenced by the temperature, should be corrected by
where
IPV,STC is the light-generated current at STC,
KI is the temperature coefficient of the current,
G is the irradiance level on the cell surface,
GSTC is 1000 W/m
2,
, and
Tcell and
TSTC are the actual temperature of the solar cell and 25 °C, respectively. In addition, the diode reverse saturation current
I0 is strongly dependent on the temperature, and it can be modeled as [
19]
where
ISC,STC and
VOC,STC are the short circuit current and open circuit voltage at STC, respectively, while
KI and
KV individually represent the temperature coefficients of the current and voltage.
To calculate the actual temperature of the solar cell
Tcell, the normal operating cell temperature (NOCT) parameter that is provided by datasheet is usually adopted. NOCT is defined as the temperature reached by the open circuit cells in a module with an irradiance level of 800 W/m
2, ambient temperature of 20 °C, and wind speed of 1 m/s. Accordingly,
Tcell could be calculated from NOCT by
where
Ta is ambient temperature in Celsius, and
G is the irradiance level on the cell surface.
2.3. Effects of PSCs and Bypass Diodes
To obtain the desired output voltage, solar cells are usually connected in series and/or parallel to form a PV module. As a result, Equation (1) can be modified to represent the relationship between the current and voltage of a PV module, and is modeled as
where
NS and
NP are the number of cells connected in series and parallel, respectively. Similarly, practical PV arrays are composed of several connected PV modules. Usually, blocking and bypass diodes are used to protect PV modules from current reverse flow and hot-spot issues, respectively. However, the
P-
V curves of the PV arrays under PSCs with bypass diodes might exhibit multiple LMPPs, which increases the complexity of the system’s MPPT [
6].
In order to more comprehensively model the
I-
V relationship of a series-connected PV array with bypass and blocking diodes, a PV string composed of
m modules is illustrated in
Figure 2. Each module of the string is protected by a bypass diode; in addition, one blocking diode is connected at the end of the string. Here, the voltage of the PV string
Vstr could be calculated by summing the individual module voltage
Vmod,i and the voltage drop of the blocking diode
Vbk. In addition, the calculation of
Vmod,i depends on the string operating current
Istr and the short circuit current
ISC,i (approximately equal to the photocurrent of the module) of each module
i. When
Istr is equal to or smaller than
ISC,i, the positive module voltage
Vmod,i could be calculated while using the Lambert
W function [
20]; in contrast, when
Istr is larger than
ISC,i, the bypass diode conducts, and
Vmod,i is clipped to a small negative voltage equal to the forward bias voltage of the bypass diode. As such, the module operates at its short circuit current
ISC,i, and therefore the bypass diode carries the difference of the string current
Istr and
ISC,i. Consequently, the relationship between the PV string voltage
Vstr and current
Istr could be modeled by
where
W{
x} denotes the Lambert
W function, which is the inverse of the equation
,
,
nbp and
nbk, respectively, represent the ideality constants of the bypass and blocking diodes, and
I0,bp and
I0,bk correspond to the reverse saturation current of the bypass and blocking diodes.
Under PSCs,
ISC,i in Equation (10), which is approximately equal to the photocurrent and directly proportional to the irradiance of its corresponding module, might be different for all the modules of a PV string. This could cause steps in the
I-
V curves and multiple LMPPs in the
P-
V curves.
Figure 3 illustrates a PV array, which comprises four PV modules in series with blocking and bypass diodes, under both uniform irradiance (Pattern A) and PSCs (Pattern B). As demonstrated in
Figure 4, with four series-connected modules each under a different irradiance level, both the interval number and LMPP number of the array’s
I-
V and
P-
V curves are 4. As such, the resulting
P-
V curve will become more complex, resulting in numerous peaks in one array with long strings. Under such conditions, conventional MPPT methods can easily fail to identify the GMPP among the LMPPs and become trapped at a local peak, which might significantly reduce the output power of the PV modules. In addition, the irradiance level will likely change rapidly, thereby causing variations in the curve pattern and the location of the GMPP. Accordingly, to extract the maximum power output of the system under PSCs, the adopted MPPT algorithm should be able to quickly and accurately identify the GMPP among the LMPPs.
2.4. FA for MPPT under PSCs
The FA has been verified as an effective optimization technique that is based on swarm intelligence. The search pattern of the FA is determined by the attractions among fireflies, whereby a dim firefly moves toward a brighter firefly. To implement the FA for solar MPPT application, the locations of the fireflies are usually defined as different operating points along the
P-
V curve of a PV array. Specifically, the brightness of each firefly is taken as the generated power of the PV array, and so it corresponds to the position of the particular firefly. Consequently, several operating points of the PV array are initially distributed along the
P-
V curve and are then adjusted based on the FA algorithm, which measures the voltage and current, and then calculates the output power of the operating points to identify the MPPs. It has been confirmed that the FA implemented for a PV system’s MPPT under PSCs can accurately track the GMPP with simple computational processes, fast convergence, and lower turbulence in PV power [
6,
13].
Nevertheless, improvements to the tracking speed of the FA can be made for solar MPPT applications, especially under rapidly-changing environmental conditions. The SFA algorithm, which is modified from the FA, was proposed to improve the tracking speed [
21]. However, as aforementioned, the simplification of the convergence process has the tradeoff of decreased tracking accuracy and more frequent trapping in LMPPs.
Figure 5 illustrates the adjustment of the operating points in the
P-
V curve of a PV array under PSCs with the SFA. It can be seen that when the positions of the four initial fireflies (
A to
D) are adjusted to new positions (
A′ to
D′) after the first iteration, firefly
D might be attracted by the three other fireflies and leave the actual GMPP interval and move to the local-peak interval. In this manner, too many attractions may cause the fireflies to become trapped at the LMPPs or produce oscillations during the search process. In response, the NaFA was proposed to overcome these problems, in which each firefly is attracted by other brighter fireflies selected from a predefined neighborhood rather than those from the entire population [
16]. To illustrate this concept,
Figure 6 shows that firefly
D is only attracted by neighbor
C, thereby preventing over-movement. Compared with the SFA, the NaFA can indeed improve the tracking accuracy, but with slower convergence speed. From trial and error experiments, we found that one iteration of the NaFA is sufficient to prevent LMPP trapping in most cases. Consequently, to simultaneously exploit the advantages of the NaFA’s high accuracy and the SFA’s fast convergence, this work proposes a fusion algorithm that integrates the NaFA and SFA for MPPT.
2.5. Processes of the Proposed Algorithm
In this study, the proposed modified firefly algorithm (MFA) integrates the NaFA and SFA algorithms for solar MPPT under PSCs. A boost power converter is used as the interface to feed the output power of a PV array to a load. The operating points of the PV array’s
P-
V curve are controlled by adjusting the pulse-width-modulation (PWM) signal of the power converter. Accordingly, the positions of the fireflies are defined as the on/off duty cycle of the PWM signals in this study. As with the FA, the brightness of each firefly is taken as the generated power of the PV array, and so it corresponds to the position of the particular firefly. The processing flow of the proposed MFA algorithm is presented in
Figure 7. As seen, the MFA is composed of two major processes, namely the modified NaFA and SFA. In the modified NaFA process, the fireflies are initially positioned and uniformly distributed in four duty-cycle points (
Dini = 0.05, 0.333, 0.616, and 0.90).
The corresponding voltage and current of each firefly at its different position are then measured for power calculation. In addition, the distance
Dij is calculated by
where
Di and
Dj are the positions of fireflies
i and
j. In a NaFA, fireflies are attracted only by brighter neighborhoods, which could reduce the phenomenon of oscillations, which easily leads to trapping at LMPPs with the conventional FA. The movement of a firefly
i, which is attracted by a brighter firefly
j, is given by
where
Dit and
Dit+1 are the current and next positions of firefly
i, respectively,
βNaFA is the degree of attractiveness,
Dij is the distance between fireflies
i and
j,
α represents a random coefficient that decreases with iterations by a reduction constant
θ, and
ε denotes a random number. Here,
βNaFA∙
Dij is the step size of the movement, which is directly proportional to
βNaFA and
Dij. As a result, with the same degree of attractiveness, a larger distance between two fireflies will lead to a larger movement step size and faster convergence speed. The degree of attractiveness
βNaFA is derived by [
12]
where
β0 denotes the initial attractiveness and
γ is the light absorption coefficient. It is observed that a shorter distance
Dij leads to higher attractiveness
βNaFA; and contrastively, a larger distance leads to lower attractiveness.
Figure 8 shows the relationship between the step size (duty cycle of the converter), distance
Dij, and initial attractiveness
β0.
The initial attractiveness
β0 of the conventional NaFA is set as a constant, which means that the brightness of fireflies does not change during the entire moving process. Be that as it may, the output power (brightness) of fireflies at different positions in the
P-
V curve might be different. Accordingly, the initial attractiveness in the NaFA should be adapted to solar application. In this study,
β0 is set as a dynamic parameter affected by the power difference ratio
PDRij. The
PDRij of a firefly
i and a brighter firefly
j is defined and calculated by
where
Pi and
Pj are the output power of fireflies
i and
j, respectively. Since
Pj is larger than
Pi,
PDRij will range between 0 and 1. In this manner, a larger
PDRij means a larger power difference ratio between two fireflies, which should lead to larger initial attractiveness
β0. The relationship between
PDRij and
β0 is designed to be transferred by a hyperbolic tangent sigmoid transfer function. Furthermore, setting the range of
β0 could be used for adjusting tracking accuracy and speed optimization [
16]. As a result, two parameters are used for
β0 to range from
a to
b. Consequently, the calculation of
β0 could be expressed by
where
β0,sig is a parameter transferred from
PDRij by the hyperbolic tangent sigmoid transfer function.
Since, in this study, the fireflies are initially positioned in four duty cycle points and uniformly distributed from 0.05 to 0.90, the initial distance
Dij between each pair of fireflies is 0.283. From trial and error experiments of different step sizes, the optimized range setting of
β0 is from 0.4 to 0.9.
Figure 9 shows the relationship between step size, distance
Dij, and power difference ratio
PDRij of the proposed NaFA process. As illustrated in
Figure 7, the next position
Dit+1 of a firefly
i is then calculated. Since
Dit+1 is affected by all other brighter fireflies, it is sequentially calculated using Equation (13) with each brighter firefly
j. The corresponding output power of the firefly at its new position is then measured. After that, a total of eight fireflies from the initial and second generations are sorted. Of the eight fireflies, the three with the largest output power are selected for the next SFA process.
The modified SFA process is executed after the NaFA process. In order to accelerate the convergence speed of the conventional FA, the degree of attractiveness
βSFA of the conventional SFA is regularly increased by 0.25 after each iteration [
16]. With this setting, a lower
βSFA in the initial iterations might improve the accuracy of searching for LMPPs; meanwhile, a higher
βSFA in the following iterations will accelerate the searching speed. In addition, in the SFA, parameters
α,
ε, and
γ are omitted for simplification. Consequently, the simplified calculation of the movement of a firefly
i attracted by a brighter firefly
j is given by
where
Dit and
Dit+1 are the current and next positions of firefly
i, respectively, and
Dij is the distance between fireflies
i and
j. As a result, the step size of movement
βSFA∙
Dij and the searching speed will be directly proportional to
βSFA and
Dij, as illustrated in
Figure 10. In this study, the movement calculation of the modified SFA is the same as that in the conventional SFA; however, the number of fireflies is reduced from three in first iteration to two in the following iterations. During each iteration, the output power of each firefly is measured for the selection process until the convergence judgment is satisfied.