Solar Photovoltaic Cell Parameters Extraction Using Di ﬀ erential Evolution Algorithm †

: This work presents a method for extracting parameters from photovoltaic (PV) solar cells, based on the three critical points of the current-voltage (I-V) characteristic, i.e., the short-circuit current, the open circuit voltage and the maximum power point (MPP). The method is developed in the Python programming language using di ﬀ erential evolution (DE) and a three-point curve ﬁtting approach. It shows a good precision with root mean square error (RMSE), for di ﬀ erent solar cells, lower than to those cited in the literature. In addition, the method is tested based on the measurements of a solar cell in the Faculty of Science and Technology of Tangier (FSTT) laboratory, thus giving a good agreement between the measured data and those calculated (i.e., RMSE = 7.26 × 10 − 4 ) with fewer iterations for convergence.


Introduction
In recent decades, access to renewable energy (RE) sources has attracted a lot of attention. In fact, growing concerns over the environmental situation and the energy crisis due to the limited quantities of fossil fuel reserves have made the development and adoption of RE an urgent priority. The PV option has proven to be a leader among many promising renewable technologies to replace fossil fuels due to lower PV technology prices and improved efficiency of solar cells thus leading to a significant growth in the PV industry [1][2][3]. PV are mainly divided into three technologies; poly-crystalline, mono-crystalline and thin films. Since these technologies rely mostly on the PV effect in silicon P-N junctions, their behavior can be modeled using electric diode circuits [4,5]. These circuits include different components where each is representative of a certain physical mechanism within the cell such as exciton recombination and cell bulk resistance. Knowing the exact values of these parameters is important for many applications. The simulation and emulation of PV cells is crucial for energy yield prediction, quality control during manufacturing [2] and the study of PV cell degradation. However, the values of these parameters are not available in the manufacturers' technical data sheets. Open-circuit voltage, short-circuit current, and maximum power are given only under standard test conditions (STC). Obviously, the actual PV modules operation is generally far from these ideal conditions, which makes real-time fast parameter extraction necessary.

The Single Diode Model
The simplest model used for PV solar cells is the single diode model (SDM) [6] as shown in Figure 1. The current generator represents the photocurrent (I ph ) that is due to the PV effect, the diode represents the P-N junction and its electric field through the diode ideality factor (n) and the saturation current (I 0 ), the series and shunt resistances (R s and R sh ) represent cell bulk resistance and leakage current, respectively. The SDM is used for the three dominant technologies in the PV industry (namely, mono-Si, poly-Si and thin films), but for other emerging technologies which do not rely on the electric field of the P-N junction for exciton separation [7,8], other more specialized models are necessary. This model is described by the Shockley diode equation for a PV module with N s cells in series and N p in parallel: Proceedings 2020, 63, 43 2 of 9 Proceedings 2020, 4, x; doi: FOR PEER REVIEW www.mdpi.com/journal/proceedings

The Single Diode Model
The simplest model used for PV solar cells is the single diode model (SDM) [6] as shown in Figure 1. The current generator represents the photocurrent (Iph) that is due to the PV effect, the diode represents the P-N junction and its electric field through the diode ideality factor (n) and the saturation current (I0), the series and shunt resistances (Rs and Rsh) represent cell bulk resistance and leakage current, respectively. The SDM is used for the three dominant technologies in the PV industry (namely, mono-Si, poly-Si and thin films), but for other emerging technologies which do not rely on the electric field of the P-N junction for exciton separation [7,8], other more specialized models are necessary. This model is described by the Shockley diode equation for a PV module with Ns cells in series and Np in parallel:

Background
For the parameters extraction of the model, one can distinguish two main strategies. Firstly, the analytical approach based on information from several key points on the I-V curve such as the shortcircuit current (Isc), the open circuit voltage (Voc), the maximum power point (MPP) as well as the gradient of the curve at those points. This approach is simple and allows rapid calculations, however, several assumptions and simplifications can be made, thus leading to incorrect results [3,9,10]. This approach is also sensitive to measurement noise since it only relies on a few selected points [11].
The second strategy is the numerical approach, the problem of which is formulated as an optimization problem by trying to minimize the error between the calculated and measured values. This approach allows for the usage of the wide array of well-studied deterministic and stochastic optimization algorithms. The deterministic algorithms include methods such as the Newton Raphson method [12], Iterative curve-fitting [13], Conductivity method [14], Levenberg Marquardt algorithm [15], etc. These are gradient-based methods, which adds continuity, differentiability and convexity requirements on the error functions. In contrast, stochastic methods provide global search capability and do not require gradient information, meaning the error function can be non-differentiable, and even non-continuous, which include; the genetic algorithms (GA) [2,6,16], particle swarm optimization (PSO) [17,18], DE [1], artificial bee swarm optimization (ABSO) [19]. The issues encountered by these stochastic methods are mainly related to the vastness of the search spaces, which cost a lot of time to cover and require a few thousand iterations before converging. They can also be trapped in local minima but are much less susceptible to this problem when compared to their deterministic counterparts.
In this context, this work is based on the DE algorithm for the extraction of SDM parameters, namely Iph, I0, a, Rs and Rsh. The extraction method used is based on the three critical points (Voc, Isc, Pmpp) of the I-V curve whose model is forced to pass through these cited points. Furthermore, the

Background
For the parameters extraction of the model, one can distinguish two main strategies. Firstly, the analytical approach based on information from several key points on the I-V curve such as the short-circuit current (I sc ), the open circuit voltage (V oc ), the maximum power point (MPP) as well as the gradient of the curve at those points. This approach is simple and allows rapid calculations, however, several assumptions and simplifications can be made, thus leading to incorrect results [3,9,10]. This approach is also sensitive to measurement noise since it only relies on a few selected points [11].
The second strategy is the numerical approach, the problem of which is formulated as an optimization problem by trying to minimize the error between the calculated and measured values. This approach allows for the usage of the wide array of well-studied deterministic and stochastic optimization algorithms. The deterministic algorithms include methods such as the Newton Raphson method [12], Iterative curve-fitting [13], Conductivity method [14], Levenberg Marquardt algorithm [15], etc. These are gradient-based methods, which adds continuity, differentiability and convexity requirements on the error functions. In contrast, stochastic methods provide global search capability and do not require gradient information, meaning the error function can be non-differentiable, and even non-continuous, which include; the genetic algorithms (GA) [2,6,16], particle swarm optimization (PSO) [17,18], DE [1], artificial bee swarm optimization (ABSO) [19]. The issues encountered by these stochastic methods are mainly related to the vastness of the search spaces, which cost a lot of time to cover and require a few thousand iterations before converging. They can also be trapped in local minima but are much less susceptible to this problem when compared to their deterministic counterparts.
In this context, this work is based on the DE algorithm for the extraction of SDM parameters, namely I ph , I 0 , a, R s and R sh . The extraction method used is based on the three critical points (V oc , I sc , P mpp ) of the I-V curve whose model is forced to pass through these cited points. Furthermore, the method has been developed and implemented in the Python programming language, thus giving more precision and the need for few iterations for convergence.

The Proposed Method
The DE algorithm application to the SDM would result in a five-dimensional search space. In this work, three points of the I-V characteristic are used to analytically calculate three of the parameters whose search space is reduced to two dimensions. The ideality factor (a) and the series resistance (R s ) are the two parameters introduced into DE algorithm.

Differential Evolution
The DE introduced by Storn and Price in 1995 [20] is a relatively recent stochastic and evolutionary algorithm. It is very similar to other evolutionary algorithms like GA in that it also has crossing and mutation operations as shown in Figure 2.
Proceedings 2020, 63, 43 3 of 9 Proceedings 2020, 4, x; doi: FOR PEER REVIEW www.mdpi.com/journal/proceedings method has been developed and implemented in the Python programming language, thus giving more precision and the need for few iterations for convergence.

The Proposed Method
The DE algorithm application to the SDM would result in a five-dimensional search space. In this work, three points of the I-V characteristic are used to analytically calculate three of the parameters whose search space is reduced to two dimensions. The ideality factor (a) and the series resistance (Rs) are the two parameters introduced into DE algorithm.

Differential Evolution
The DE introduced by Storn and Price in 1995 [20] is a relatively recent stochastic and evolutionary algorithm. It is very similar to other evolutionary algorithms like GA in that it also has crossing and mutation operations as shown in Figure 2.

Initialization
First, we generate the initial population randomly trying to cover the entire search space. We may achieve this using Formula (2) assuming the rand (0, 1) term provides a uniform distribution of outputs.
The initial population is spread uniformly over the entire search space, which helps the algorithm avoid being stuck in local minima. DE is very efficient, which means the algorithm converges well within Genmax = 100 iterations, even with a small population NP = 50. The DE strategy is "DE/best/bin" which means that we choose the fittest vector in a population to generate mutants for the next generation, and that binomial crossover is performed on the trial vectors.

Mutation
Next, we create a mutant vector by taking the fittest vector in the population and adding the difference of two other random vectors from the population. The difference is scaled with a mutation factor F ∈ [0, 1]. This the key step that differentiates DE from other evolutionary methods according to the following formula:

Initialization
First, we generate the initial population randomly trying to cover the entire search space. We may achieve this using Formula (2) assuming the rand (0, 1) term provides a uniform distribution of outputs.
The initial population is spread uniformly over the entire search space, which helps the algorithm avoid being stuck in local minima. DE is very efficient, which means the algorithm converges well within Gen max = 100 iterations, even with a small population NP = 50. The DE strategy is "DE/best/bin" which means that we choose the fittest vector in a population to generate mutants for the next generation, and that binomial crossover is performed on the trial vectors.

Mutation
Next, we create a mutant vector by taking the fittest vector in the population and adding the difference of two other random vectors from the population. The difference is scaled with a mutation factor F ∈ [0, 1]. This the key step that differentiates DE from other evolutionary methods according to the following formula:

Crossover
In this step, we created a trial vector by crossing over the elements from the mutant vector into the original. The probability of crossing over each element is set by the crossover rate, and we usually take high values (CR = 0.8) in order to promote diversity in the population [21]. A trial vector is generated as follows:

Penalty
One issue with DE is that unphysical values of the parameters can be obtained (i.e., negative R s ). To circumvent this, we apply a penalty to any unphysical solution by assigning it a large fitness value.

Selection
The last step is to select the vector based on whether or not its fitness value is superior to its previous generation counterpart. A possible method to achieve this is: Note that, when the fitness function J is calculated, it evaluates to 100 for unphysical values as per the penalty phase. Storn and Price (2006) [21] recommend high crossover (CR = 0.7) and mutation factor (F ≥ 0.4) values. The limits used to penalize solution vectors are a ∈ [1, 2], R s ∈ [0, 0.5] as well as the previously stated negative values of currents and resistances. We should note that the method is very sensitive to the choice of the MPP; then, the proposed method includes different running the algorithm times each with a slightly different MPP.

Three-Point Curve Fitting
In order to minimize the complexity of the algorithm, it is possible to reduce the dimensionality of the problem using a few geometrically critical points in the I-V curve, namely the short-circuit, open-circuit and maximum power regions. These three points will allow us to determine three SDM parameters: Using algebraic manipulation, one can extract the three parameters I ph , R sh , and I 0 : where and Using this technique, the differential algorithm is executed in a two-dimensional search space, which considerably reduces the algorithm complexity.

The Schutten Solar STP6-120/36 Module
First, our code developed in Python gives a set of 22 data points of the I-V characteristic of the Schutten Solar STP6-120 module, which contains 36 solar cells, connected in series at a temperature of 55 • C. A comparison between the experimental dataset and the computed I-V curve is illustrated in Figure 3. We clearly see that the algorithm fits the dataset very well, despite most of the points being close the maximum power points and few being in the short-circuit and open-circuit regions. Table 1 compares the computed parameters using our code with those reported in [1].
and   Using this technique, the differential algorithm is executed in a two-dimensional search space, which considerably reduces the algorithm complexity.

The Schutten Solar STP6-120/36 Module
First, our code developed in Python gives a set of 22 data points of the I-V characteristic of the Schutten Solar STP6-120 module, which contains 36 solar cells, connected in series at a temperature of 55 °C. A comparison between the experimental dataset and the computed I-V curve is illustrated in Figure 3. We clearly see that the algorithm fits the dataset very well, despite most of the points being close the maximum power points and few being in the short-circuit and open-circuit regions. Table 1 compares the computed parameters using our code with those reported in [1].
The fitness of a population is calculated by averaging each solution vector's fitness in a specific generation. Its evolution is shown in Figure 4 where rapid convergence (within 30 iterations) is noticed towards the final value.    The fitness of a population is calculated by averaging each solution vector's fitness in a specific generation. Its evolution is shown in Figure 4 where rapid convergence (within 30 iterations) is noticed towards the final value.

The R.T.C. France Commercial Silicon Solar Cell
For this case, we study the R.T.C France commercial silicon solar cell. The experimental dataset was taken at a temperature of 33 °C. Subsequently, the method used manages to extract very precise parameter values ( Figure 5). A comparison between the computed values python DE algorithm and the proposed method in [1] is shown in Table 2. We can see the DE algorithm is slightly more accurate,

The R.T.C. France Commercial Silicon Solar Cell
For this case, we study the R.T.C France commercial silicon solar cell. The experimental dataset was taken at a temperature of 33 • C. Subsequently, the method used manages to extract very precise parameter values ( Figure 5). A comparison between the computed values python DE algorithm and the proposed method in [1] is shown in Table 2. We can see the DE algorithm is slightly more accurate, and this could be explained by the absence of the constraints that are introduced in [1] by utilizing the three pivot points. It turns out that by giving up some precision on the pivot points; we can slightly gain in overall accuracy.

The R.T.C. France Commercial Silicon Solar Cell
For this case, we study the R.T.C France commercial silicon solar cell. The experimental dataset was taken at a temperature of 33 °C. Subsequently, the method used manages to extract very precise parameter values ( Figure 5). A comparison between the computed values python DE algorithm and the proposed method in [1] is shown in Table 2. We can see the DE algorithm is slightly more accurate, and this could be explained by the absence of the constraints that are introduced in [1] by utilizing the three pivot points. It turns out that by giving up some precision on the pivot points; we can slightly gain in overall accuracy.

FSTT Laboratory Silicon Cell
In this section, we tested in our FSTT laboratory, using RaRe Solutions solar simulator, the proposed method of the DE algorithm to extract the parameters values of a solar cell at a temperature of 30 • C.
A comparison between experimental data and the computed I-V curve is shown in Figure 6. The parameter values corresponding to this solution are laid out in Table 3 and are associated with a RMSE of 7.26 × 10 −4 . The evolution of population fitness is shown in Figure 7.

FSTT Laboratory Silicon Cell
In this section, we tested in our FSTT laboratory, using RaRe Solutions solar simulator, the proposed method of the DE algorithm to extract the parameters values of a solar cell at a temperature of 30 °C.
A comparison between experimental data and the computed I-V curve is shown in Figure 6. The parameter values corresponding to this solution are laid out in Table 3 and are associated with a RMSE of 7.26 × 10 −4 . The evolution of population fitness is shown in Figure 7.

Conclusions
This work represents a developed method of extracting SDM parameters from PV solar cells using DE and the three-point curve fitting approach. The method is implemented in Python requires very few iterations for convergence and giving more precision compared to the results cited in the literature. Furthermore, the Python code developed gives very consistent results on several executions. However, the method seems very sensitive to choice of MPP in the experimental dataset, which makes it necessary to perform several executions, each with a different choice of MPP. It should be noted that the use of the three points seems to slightly reduce the method precision. Whereas a

Conclusions
This work represents a developed method of extracting SDM parameters from PV solar cells using DE and the three-point curve fitting approach. The method is implemented in Python requires very few iterations for convergence and giving more precision compared to the results cited in the literature. Furthermore, the Python code developed gives very consistent results on several executions. However, the method seems very sensitive to choice of MPP in the experimental dataset, which makes it necessary to perform several executions, each with a different choice of MPP. It should be noted that the use of the three points seems to slightly reduce the method precision. Whereas a naive DE scheme implies a five-dimensional research space and requires a few hundred iterations, which is slightly higher in precision terms. This can probably be explained by the noise measurement in the pivot points constraining the proposed method.