1. Introduction
In order to achieve an expansion of the photovoltaic (PV) market, it is necessary to improve the knowledge of the energy production of those systems. Depending on the location, it is necessary to precisely estimate the economic profitability, which requires taking into account the effects of shades on the energy generation [
1]. Those partial shading conditions can occur due to the proximity of the PV module (PVM) to buildings, trees, and street furniture, among others. In addition, the shadows cast on a PVM due to nearby objects vary throughout the day and year due to the translation and rotation of the Earth around the sun.
There are different procedures proposed in the literature used to estimate the energy production of the PVM considering the effect of partial shading in a simplified way, without using detailed generator models, to calculate the effect of partial shading on the power production [
2,
3,
4,
5]. Other procedures use models designed to estimate both local and global maximum power points, but those methods are difficult to use directly when accounting for the power generation over relatively long periods (for example, one year) [
6,
7,
8].
Several papers present procedures used to estimate the maximum power point when a PVM is operating under partial shading conditions [
9,
10,
11,
12,
13,
14,
15]. However, those procedures do not allow for an estimation of the power generation profile for a photovoltaic array considering the variation in the shadow hour by hour during a year, because those methods are focused on performing analyses in a particular instant of time. In addition, the implementation of the methods requires a large computing capacity due to the models’ complexity.
In general, the procedures developed to estimate the hourly power profile disregard the losses due to partial shading over the modules [
16,
17,
18], but, in some other cases, those losses are included within a global efficiency factor [
2,
3,
5]. However, those procedures do not allow for estimating the losses due to the variation in the incident shading in the PV array due to changes in the sun’s trajectory throughout the year, thus reducing the estimation precision.
Other works are focused on providing a shading factor; for example, in [
19], a vertical and horizontal shading factor is estimated for photovoltaic arrays. Similarly, in [
4], a shading factor is calculated as an implicit value in an instantaneous efficiency factor of the PV system. On the other hand, the authors of [
20,
21] present a design methodology that considers the relative trajectories between the sun and the Earth, also including the position of surrounding objects that generate partial shading over the PVM. Nevertheless, all of those methodologies have a low accuracy since they use approximations, and do not take the PVM model into consideration when it is operating under partial shading conditions.
The effects of partial shading on the power losses are not intuitive, and such losses must be quantified using simulation software every hour throughout the year [
22]. Software tools, such as PVSYST [
23], allow us to find a power profile hour by hour considering the variation in shadows along the year with a reasonable computation time. However, to estimate the power–voltage (P-V) curve for each instant of time, considering the shadows effect, PVSYST uses an extrapolation of the current–voltage (I-V) curves of each module using fixed shading factors for each module in the generator, which is not accurate enough. Moreover, the methods used to obtain both the I-V curves and the shading factors are not clear [
22].
In [
24], a summary of shading analyzers is reported that describes some devices developed to analyze the shading effects produced by nearby objects, such as Amethyst [
25], Hat [
26], SUNDI [
27], and Sun eye [
28]. However, these devices do not provide shading information that can be used in PVM models, and they do not report the algorithm used to consider the partial shading effect in the energy estimation.
Other analyzers, such as Asset and PVWatts [
29], consider the real position of the sun as irrelevant for the analysis, and they do not allow for an accurate detection of the shading factor change over time. Moreover, the Horizon catchers [
30] provide a fast analysis with high precision, but they are expensive devices and do not use the PVM model to estimate the power generation.
There are two important points extracted from the previous discussion: on the one hand, despite the shading analyzers allowing for the evaluation of the effects of shading during a year, most of those devices contain complex hardware and software that are closed for the users. On the other hand, those analyzers use extrapolations or approximations to obtain the I-V curves, or a non-explained model, which makes it difficult to analyze and evaluate the accuracy of those devices.
This paper proposes a methodology used to estimate the energy production of a PVM operating under partial shading conditions. The methodology begins by calculating the solar paths for the geographic location of the PVM. Then, it constructs the shading profile produced by the surrounding objects with respect to a corner of the PVM, which is extrapolated to the other corners of the submodules into the PVM. From such information, the methodology estimates the shading factors of each submodule in the PVM for each hour of the year, which are used by a PVM model to calculate the P-V curve to identify both local and global maximum power points. Finally, an hourly power profile is generated from the global maximum power points to calculate the energy generated by the PVM. The proposed methodology is validated using detailed simulations to evaluate the effect of considering or neglecting the partial shading conditions on the energy production of a PVM. Finally, the experimental results show the capacity of the proposed methodology to predict the shaded and unshaded submodules in a PVM, as well as to reproduce the P-V curves to determine the local and global maximum power points.
2. Photovoltaic Module (PVM) Model
Commercial PV modules are formed by series-connected submodules, each one of them protected by a bypass diode [
31]. This paper used the model proposed in [
32] to calculate the current–voltage (I-V) and power–voltage (P-V) curves of a PVM operating under partial shading conditions. Such a model uses the single-diode equivalent circuit to represent each submodule of the PVM, which provides a trade-off between complexity and accuracy.
The single-diode model for a PV submodule, depicted in
Figure 1, is formed by a current source (
) that represents the photovoltaic effect, a diode D (with
current) that represents the nonlinear behavior of the P-N junctions, two resistors (
and
) representing the main losses, and a bypass diode (BD) protecting the submodule’s cells [
31]. In
Figure 1, the dotted block describes the structure of the single-diode model, including the bypass diode.
The mathematical expression for PV current
in the single-diode model is given in Equations (
1)–(
3), where
is the voltage at the submodule terminals,
is the number of the series-connected cells forming the submodule,
is the inverse-saturation current of the submodule, and
is the thermal voltage of the submodule, where
n is the ideality factor,
k is the Boltzmann constant,
q is the electron charge, and
is the temperature of the submodules’ cells. Moreover,
is the inverse-saturation current of the bypass diode, and
is the thermal voltage of the bypass diode, where
is the ideality factor of the diode and
is the temperature of the bypass diode. Since the bypass diode is located very close to the submodule’ cells (in the junction box at the back of the submodule), such a temperature is considered as equal to the temperature of the submodules’ cells.
Therefore, the two main inputs of the single-diode model are the solar irradiance (
G) and ambient temperature (
), and the two main outputs are the submodule current (
) and voltage (
), which can be used to calculate the submodules power as
. The temperature of the submodules’ cells can be estimated from
and
G, as shown in (
4), where
is the nominal operating cell temperature. Such a temperature is given in Kelvin degrees ([K]); hence,
and
must also be expressed in [K].
The parameter
can be calculated by using (
5), where
is a shading factor,
and
are the irradiance and
in standard test conditions (STC), respectively, and
is the thermal coefficient of the PVM short-circuit current (provided in the manufacturer’ datasheet). The shading factor is a dimensionless value between 0 and 1 that represents the irradiance reduction on a submodule produced by a shadow.
The model proposed in [
32] requires a shading factor for each submodule to calculate the P-V curve for a given operating condition; therefore, the shading factors are organized in a vector (
), where the number of elements corresponds to the number of submodules in the PVM. For example, for a PVM with three submodules without shadow, the vector would be
, where
,
, and
are the shading factors of submodules 1 (S1), 2 (S2), and 3 (S3), respectively.
3. Proposed Methodology to Estimate the Energy of a PVM
The objective of this methodology is to estimate a power profile of one year (hour by hour) for a PV panel operating under partial shading conditions produced by surrounding objects. The proposed methodology is composed by five elements: (i) calculation of solar paths, (ii) calculation of the shading contour for a module point, (iii) extrapolation of shading contours to the key points of the PVM, (iv) estimation of the shading factors, and (v) power profile calculation to estimate the generated energy. The description of those elements is given in the following subsections.
3.1. Calculation of Solar Paths
The position of the sun in the sky can be represented by two angles: azimuth (
) and elevation (
). The azimuth is the angle between the north and the projection of the direction of the sun in a horizontal plane at a tangent to the surface of the earth, whereas the elevation is the angle between the direction of the sun (center of the solar disk) and the horizontal plane [
20]. These two angles depend on the declination angle of the earth (
), the latitude of the point of interest (
), the solar hour angle (
w), and solar time (TLT), as shown in Equations (
6) and (
7) [
21].
In turn,
,
,
w, and
change throughout the year and depend on the geographical location of the point of interest, the date, and the time at which it is required to calculate the position of the sun [
21]. The angle
can be calculated using (
8), where
n is an integer representing the day of the year
. The solar time (
) is calculated using (
9), where
is the Central European summer time in [h],
is the longitudinal correction in [min], and
is the solar time equation in [min]. In (
9),
is calculated from (
10), where
, and
is calculated using (
11), where 4 is given in [min/°],
is the standard time meridian in [°], and
is the local time meridian in [°]. Finally,
w is calculated from
as shown in (
12) [
21].
The paths of the sun in the sky over a year can be represented by the elevation against azimuth (E-A) figure. These trajectories show the position of the sun (
) hour by hour throughout the year, which enables us to plot each position as a point on the E-A plane. The example shown in
Figure 2 corresponds to the sun paths in the E-A plane in Stuttgart (Germany), with latitude
° (
°), longitude
° (
°), and standard meridian time 15° (
°) [
21].
The curves in the form of a number eight “8”, or lemniscata, are the solar analemmas representing the position of the sun in the sky when it is observed every day at the same time and from the same observation point along a year.
3.2. Shading Contour Calculation for a Point of the PVM
The example proposed in [
21] is used to illustrate this procedure. Such an example corresponds to a PVM installed on the roof of a building located in the geographical location described in the previous section (Stuttgart, Germany), where the PVM is represented as a single point in the space (
). The geometry of the module location and of nearby objects that can cast shadows is illustrated in
Figure 3. In this example, two nearby buildings with higher heights can cast shadows on the PVM at certain times of the day and at certain days of the year.
The first step is to identify the key points of the nearby objects (
) that cast shadows on the module. In
Figure 3, the nearby buildings are represented with the key points
to
. These points correspond to the highest corners of the buildings that are in the PVM line of sight. Therefore, with these points, it is possible to represent the contour of the objects that can cast shadows on the PVM.
Once the key points (–) are identified, it is necessary to define the origin of a Cartesian coordinate system in the floor plan. In the example, the origin is located at . The direction of the x-axis must be aligned with one side of the PVM; however, the angle between the positive part of the x-axis and the north () must be measured taking into account that °.
Then, it is necessary to take the following measures for each PC with respect to
: the coordinate on the
x-axis of the
(
) in [m], the coordinate on the
y-axis of the
(
) in [m], and the coordinate on the
z-axis of the
(
) in [m], where
for the example of
Figure 3. Such a figure also shows the
axes, the angle
°, and the coordinate of
with respect to
.
Next, the azimuth angle (
) and the elevation (
) must be calculated for each PC using Equations (
13) and (
14), which are proposed in this paper and based on [
21]. For example, for the
of
Figure 3,
(144.46°, 30.16°); therefore, this point can be represented in the plane E-A of solar paths. Then, this procedure is repeated to represent every PC in the E-A plane of the solar paths, and the PCs are joined with straight lines (linear extrapolation) to create the shading contour in the E-A plane generated by the surrounding objects seen from the point
.
Figure 4 shows the shading contour generated by the five key points of the example shown in
Figure 3.
According to the methodology proposed in [
21], the points of the solar paths that are within the shading contour represent the hours at which nearby objects block the direct rays of the sun that exclusively reach the point
located in the position
. Therefore, it is not possible to adequately determine whether shadows are cast on the PVM or on a particular submodule; in other words, based on the methodology proposed in [
21], it can only be estimated if there is a shadow cast at one hour of the year at the point
.
3.3. Extrapolation of the Shading Contours for the Key Points of the PVM
This subsection proposes a procedure used to estimate the shading contours for the points corresponding to the corners of the submodules (
) by using the shading contour calculated in the previous section or the point
. Moreover, from those contours, it is estimated which submodules are partially shaded at a given time instant. This procedure is described in the flowchart of
Figure 5, which is applied to the example presented in
Section 3.1 to illustrate the procedure.
The first step is to obtain the basic information of the module: length (
) in [m], width (
) in [m], the angle of inclination (
) in [°], and the number of submodules of the PVM. As an example,
Figure 6 shows a PVM with
[m],
[m],
°, and 60 cells grouped into three submodules (
,
, and
) [
33].
Then, the key points of the module (
) that correspond to the total number of the corners of the submodules (
) must be identified. In the example, there are eight key points (
to
) as shown in
Figure 6.
The next step is to calculate the coordinates
of each corner of the submodules on the reference axis
, whose origin is the location of
. The calculation of
,
, and
of a PM depends on its location and the geometry of both the module and submodules.
Table 1 shows the location of
–
with respect to (
,
,
), which are obtained by analyzing the geometry of the PVM and its submodules as described in
Figure 7. It is worth noting that the
x-axis of the reference
is parallel to a horizontal plane at a tangent to the surface of the Earth; this is why
is included in the calculations introduced in
Table 1.
Now, a PM (
) is selected to calculate the shading contour produced by nearby objects regarding this point. Therefore, it is required to calculate the azimuth (
) and elevation (
) angles for each PC of nearby objects with respect to
. These angles are calculated using (
15) and (
16), where
are the coordinates of the point
with respect to the origin
, previously defined in
Section 3.1.
For the example, there are five
(i.e.,
) for
as explained in
Section 3.2; then, it is necessary to calculate the five points on the E-A plane regarding
: for
,
(149.2°, 31.5°), for
,
(186.72°, 35.4°), for
,
(205.8°, 5.4°), for
,
(214.6°, 7.4°), and, for
,
(231.6°, 5.7°).
The coordinates
of each PC can be plotted on the E-A plane of the solar paths and joined with straight lines (linear interpolation) to obtain the shading contour of the surrounding objects for
. Then, the following PM is selected to calculate the shading contour for that point by repeating the procedure described for
. This process is repeated until the shading contours for all of the PMs of the module have been obtained.
Figure 8 shows the shading contours generated by the five key points of the example shown in
Figure 3, which affect the eight corners of the submodules.
A zoom into the shading contours of the eight
in the example is illustrated in
Figure 9. In this figure, the points of the solar paths that are within the shading contours represent the hours at which nearby objects block the direct rays of the sun. In addition, if, within one hour, the solar path is within the shading contour of at least one of the corners of a submodule (e.g.,
,
,
, or
for submodule 1), then it is assumed that the submodule 1 (
) is shaded. In this way, it is possible to determine, for each submodule, the hours of the year in which the direct rays of the sun are obstructed by nearby objects. Therefore, it is assumed that, during those hours, the submodule only receives diffuse and reflected irradiance and not direct irradiance.
From the proposed methodology, it is possible to detect if there is a shadow (or not) covering a module, a submodule, or even a cell of a PV array if the number of PMs in the PVM is increased, i.e., if the resolution is increased. In this paper, determining the shading at the submodule level is proposed, considering both the inclination angle () and any orientation of the PVM with respect to the north ().
3.4. Estimation of Shading Factors
As described in
Section 2, the model used in this paper requires a vector with the shading factors of each submodule of the PVM (
) to generate a P-V curve for a given operating condition. Hence, in order to estimate the annual power profile hour by hour, it is necessary to calculate
for each hour of the year.
According to the PVM model for a submodule operating under partial shading conditions, the shading factor of a submodule (
) can be defined as a reduction factor that multiplies
. In the single-diode PV model, this current is considered as approximately equal to
(short-circuit current) for any operating condition (
) [
31]. Therefore,
can be defined as
, where
is the short-circuit current of the submodule without any shadow. However, in order to estimate the power of a PVM, the irradiance data obtained from the evaluation of the solar resource are generally available, but not the values of
and
. Therefore,
is defined as shown in (
17), where
when the submodule is not shaded; and a shaded submodule has
, where
,
, and
are the diffuse, direct, and global irradiance, respectively. It is worth noting that the last definition of
only requires
and
, which are commonly available in the solar resource databases (e.g., [
34]).
It is important to clarify that the estimation of
assumes that, if a cell of the submodule is completely shaded, the power generation of the entire submodule is reduced by
[
1,
35,
36]. Therefore, if, within one hour, it is considered that one corner of a submodule is shaded (according to the methodology of
Section 3.3), then it is assumed that at least one cell has been completely shaded; consequently, the
value of such a submodule is calculated by using (
17).
3.5. Power and Energy Calculation
The first step is to calculate the P-V curves of the module for each hour of the year using the model proposed in [
32]. Each curve was calculated using voltage steps of 1 [V] to identify the global maximum power point (
), which was taken as the maximum power that the module can generate in each hour. Under conventional operation conditions, such a
is detected using maximum power point tracking (MPPT) algorithms designed for partial shading conditions. Some examples are the MPPT algorithm based on the Harris–Hawk optimization reported in [
37], and the MPPT solution based on the slime-mold algorithm reported in [
38]; both of them ensure the operation of the PV module at the
, even with the existence of multiple local MPPs (LMPP).
Figure 10 shows an example of the PV curve of a PVM with three submodules exposed to
,
[W/m
] and
[°C]. In the P-V curve, three MPPs are identified, where two LMPPs and the GMPP are observed. It is important to clarify that this curve is valid in an instant of time where
,
, and
remain constant. However, for the estimation of the energy produced by the PVM, it is assumed that the curve is valid for one hour (time resolution of the analysis).
After identifying the GMPP of the P-V curve calculated for each hour, a power-time (P-t) curve was constructed by plotting the GMPP of each hour of the year. Finally, from such a curve, the energy produced by the module could be estimated as the area under the P-t curve.
4. Simulation Results
The case study considers the PVM presented in
Section 3.1 [
21], which is described by the geometry of
Figure 3 and located in the city of Stuttgart, Germany (
°,
°,
°). The irradiance profile (global and direct) and the temperature are shown in
Figure 11 and
Figure 12, respectively, which were obtained from a public database [
34]. The PVM used is the Trinasolar TSM-270PD05 polycrystalline-Si PVM [
33], which consists of 60 cells grouped into three submodules as shown in
Figure 6, with the following characteristics in STC: power in MPP
[W], voltage in MPP
[V], current in MPP
[A], open circuit voltage
[V], short-circuit current
[A], nominal efficiency
[%], and
temperature coefficient
[%/K].
The single-diode model parameters of each submodule were calculated by using the procedure proposed in [
39] from the datasheet STC characteristics of the PVM, obtaining the following values:
[
A],
,
[
],
[
]. The bypass diode parameters were calculated from the datasheet information, obtaining the following values:
[
A] and
.
The power profiles generated with the proposed procedure (red data), and neglecting the partial shading conditions (blue data), are shown in
Figure 13. In such a figure, it is observed that there are some hours where the power estimated with the proposed procedure is significantly lower than the power estimated without considering partial shading.
The estimated energy of the PVM, considering and neglecting the partial shading conditions, is 249.83 [kWh] and 263.56 [kWh], respectively. Therefore, neglecting the partial shading in this example causes an energy overestimation equal to 5.21%.
To illustrate the differences in the estimated power, with and without considering partial shading,
Figure 14 shows the power profile with one, two, or three shaded submodules for 330 h. In such a figure, the blue color is the power generated when there are shadows on the PVM, whereas the red color is the power generated for the same hours without considering the shadows on the PVM. The figure confirms that significant power losses at different hours occur; these losses are between 0.23% and 99.99% depending on the hour.
Considering only the hours in which there is shade on the PVM, the energy estimated with the proposed procedure is 9.40 [kWh]. In the same hours, without considering the shadows, there is an energy generation of 21.89 [kWh], which corresponds to 57.06% of energy losses per year due to the shading conditions. Therefore, the energy overestimation increases depending on the number of hours of the year when the PVM is operating under partial shading conditions.
5. Experimental Results
The proposed methodology was experimentally validated for a PV panel located on the rooftop of a building in Bucaramanga, Colombia (
°,
°,
°). The PV panel was the same one used for the simulation results; hence, the panel length and width (
[m],
[m]), the number of submodules (
), and the corners of the submodules (see PMs in
Figure 9) are the same ones used in
Section 3.3. However, the tilt angle of the panel (
°) and its location are different, as presented in
Figure 15, which shows the orientation of the PV panel, the location of
, and the key points of the objects that can cast shadows at the rooftop (
to
). In this case, the panel is tilted over its short side (i.e., the height of
,
,
, and
is less than the height of
,
,
, and
); therefore, the locations of
–
with respect to
(
,
,
) are calculated by using the equations shown in
Table 2.
The experimental platform used to measure the PV panel I-V curves is presented in
Figure 16. It is formed by a programmable electronic load BK Precision 8500, a PC running Matlab to control the electronic load, and the PV panel. The electronic load and the PV panel are connected through two AWG-12 cables of 30 [m] each; therefore, the total resistance of the cable is
313.4 [m
]. Such resistance must be considered in the experiment because it is in the range of
. That is why the voltage measured at the terminals of the PV panel (
) was calculated as
, where
is the measured current of the PV panel and
is the voltages measured by the electronic load.
The proposed methodology was validated for two time instants of the day to verify its capability in predicting the shaded and unshaded PMs and the P-V curves of the panel. The experiments were carried out on the 17 October 2019 at 15:14 p.m. (Experiment 1,
[W/m
], and
°) and 15:23 p.m. (Experiment 2,
[W/m
], and
°) to highlight the significant variability of the shadow cast on the panel and the capacity of the proposed methodology to predict such variability. The estimation of the shaded/unshaded PMs was compared with the ones obtained with the procedure described in [
21] (from here on, “reference procedure”), which considers one PM and uniform irradiance for the entire panel. Then, such information was used by the single-diode model to calculate the P-V curve of the reference procedure.
The shading contours of the experiment described in
Figure 15 are introduced in
Figure 17, as well as the position of the sun for the two time instants considered in the experiments. Additionally,
Figure 18 and
Figure 19 show a photo of the PV panel to the left and the corresponding P-V curve to the right. Such P-V curves correspond to the experimental measurements and the results obtained with the proposed and reference procedures.
The point in Experiment 1 (3:14 p.m. in
Figure 17) is within the shading contours 1, 2, and 3 and out of the shading contours 4, 5, 6, 7, and 8, which agrees with the real operating condition shown at the left of
Figure 18. This means that submodules S1 and S2 are shaded whereas submodule S3 is unshaded. Further, from the experimental measurements, it can be defined that
[A] and
[A]; then,
, where
. Then, using the model proposed in [
32], it is possible to obtain the P-V curves shown at the right of
Figure 18. These curves show that the proposed procedure correctly identifies the shaded and unshaded submodules, reproduces the P-V curve, and estimates the GMPP with an error of
; whereas the reference procedure underestimates the power generation with an error of
. These results were obtained with the following single-diode model parameters:
[nA],
,
[
],
[
],
[
A], and
.
Similarly, the location of the point in Experiment 2 in
Figure 17 (3:23 p.m.) indicates that only
is unshaded, whereas the other PMs are shaded, which coincides with the photo at the left of
Figure 19. In this case, all of the submodules are shaded; hence, it is assumed that
of each module corresponds to the short-circuit current of the PV panel, i.e.,
[A] and
. The experimental P-V curves and the ones obtained with the proposed and reference methods are presented at the right of
Figure 19. For this case, the P-V curves obtained with proposed and reference methods are the same since all the submodules are shaded, which results in a single MPP. Additionally, the MPP is estimated with an error of
. These results were obtained with the same single-diode model parameters of the first experiment, with the exception of
(
[nA]), which is expected due to its temperature dependency.
These results show that the proposed method improves the accuracy of the estimation power production of a PV panel considering the partial shadings generated by surrounding objects, since neglecting the shadows cast on the PV panel can be translated into a significant underestimation or overestimation of the power produced by a PV panel.
6. Conclusions
This paper has presented a procedure based on the single-diode model used to estimate the power losses caused by partial shading conditions. The proposed methodology allows for a consideration of the spatial location of the PVM, including the angle of inclination. Moreover, this paper presents a suitable alternative for the calculation of shading factors, which requires using the PVM model operating under partial shading conditions. Finally, the proposed methodology allows for the direct estimation of the generated power, the generated energy, and the energy losses of a PVM with high precision since an accurate PVM model is used. The proposed approach is useful for sizing PV systems, and, in turn, enables us to evaluate the feasibility of installing a PVM in a particular location.
The simulation and experimental results demonstrated that the power losses caused by shading conditions are not negligible; hence, these losses should be accurately calculated to improve the feasibility analysis. Finally, increasing the granularity of the model and number of PMs will increase the estimation accuracy, but, at the same time, the computational effort will also be increased.