# Online Identification of Photovoltaic Source Parameters by Using a Genetic Algorithm

^{1}

^{2}

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

## 2. The Optimized SDM Parameter Identification Method Based on Genetic Algorithm

#### 2.1. Genetic Algorithm Basic Function Description

- Selector function: the individuals that survive and reproduce are selected by evaluating the cumulative fitness function.
- Crossover function: the individuals created by the Selector function can swap genes with another individual of the population (i.e., the other parent); therefore, these children inherit genes from both parents. The percentage of individuals created with this function is determined by parameter ${P}_{C}$.
- Mutation function: the individuals created by the Selector function can be subject to a random mutation of their genes. The percentage of individuals created with this function is determined by parameter ${P}_{M}$.
- Elite function: the individuals with the best fitness function in the current population are preserved in the next generation. The number of preserved individuals is specified using parameter ${N}_{E}$.

#### 2.2. Genetic Algorithm Fitness Function Calculation

#### 2.3. GA Boundary Constraint Definition

#### 2.4. Guess Solution Calculation

## 3. Validation of the GA-Based SDM Parameter Identification Method

#### 3.1. Test Point Selection

## 4. Performance Evaluation of the Embedded GA-Based Method

## 5. Conclusions

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## References

- Manganiello, P.; Ricco, M.; Petrone, G.; Monmasson, E.; Spagnuolo, G. Optimization of Perturbative PV MPPT Methods Through Online System Identification. IEEE Trans. Ind. Electron.
**2014**, 61, 6812–6821. [Google Scholar] [CrossRef] - Blanes, J.M.; Toledo, F.J.; Montero, S.; Garrigós, A. In-Site Real-Time Photovoltaic I-V Curves and Maximum Power Point Estimator. IEEE Trans. Power Electron.
**2013**, 28, 1234–1240. [Google Scholar] [CrossRef] - Wang, W.; Liu, A.C.F.; Chung, H.S.H.; Lau, R.W.H.; Zhang, J.; Lo, A.W.L. Fault Diagnosis of Photovoltaic Panels Using Dynamic Current-Voltage Characteristics. IEEE Trans. Power Electron.
**2016**, 31, 1588–1599. [Google Scholar] [CrossRef] - Batzelis, E.I.; Kampitsis, G.E.; Papathanassiou, S.A. Power Reserves Control for PV Systems With Real-Time MPP Estimation via Curve Fitting. IEEE Trans. Sustain. Energy
**2017**, 8, 1269–1280. [Google Scholar] [CrossRef] - Cannizzaro, S.; Di Piazza, M.C.; Luna, M.; Vitale, G. Generalized classification of PV modules by simplified single-diode models. In Proceedings of the 2014 IEEE 23rd International Symposium on Industrial Electronics (ISIE), Istanbul, Turkey, 1–4 June 2014; pp. 2266–2273. [Google Scholar]
- Bastidas-Rodriguez, J.D.; Franco, E.; Petrone, G.; Ramos-Paja, C.A.; Spagnuolo, G. Model-Based Degradation Analysis of Photovoltaic Modules Through Series Resistance Estimation. IEEE Trans. Ind. Electron.
**2015**, 62, 7256–7265. [Google Scholar] [CrossRef] - Sera, D.; Mathe, L.; Kerekes, T.; Teodorescu, R.; Rodriguez, P. A low-disturbance diagnostic function integrated in the PV arrays’ MPPT algorithm. In Proceedings of the IECON 2011—37th Annual Conference of the IEEE Industrial Electronics Society, Melbourne, Australia, 7–10 November 2011; pp. 2456–2460. [Google Scholar]
- Toledo, F.; Blanes, J.M.; Garrigós, A.; Martínez, J.A. Analytical resolution of the electrical four-parameters model of a photovoltaic module using small perturbation around the operating point. Renew. Energy
**2012**, 43, 83–89. [Google Scholar] [CrossRef] - Cannizzaro, S.; Di Piazza, M.C.; Luna, M.; Vitale, G. PVID: An interactive Matlab application for parameter identification of complete and simplified single-diode PV models. In Proceedings of the 2014 IEEE 15th Workshop on Control and Modeling for Power Electronics (COMPEL), Santander, Spain, 22–25 June 2014; pp. 1–7. [Google Scholar]
- Accarino, J.; Petrone, G.; Ramos-Paja, C.A.; Spagnuolo, G. Symbolic algebra for the calculation of the series and parallel resistances in PV module model. In Proceedings of the 2013 International Conference on Clean Electrical Power (ICCEP), Alghero, Italy, 11–13 June 2013; pp. 62–66. [Google Scholar]
- Di Piazza, M.C.; Luna, M.; Petrone, G.; Spagnuolo, G. Translation of the Single-Diode PV Model Parameters Identified by Using Explicit Formulas. IEEE J. Photovolt.
**2017**, 7, 1009–1016. [Google Scholar] [CrossRef] - Bastidas-Rodriguez, J.; Petrone, G.; Ramos-Paja, C.; Spagnuolo, G. A genetic algorithm for identifying the single diode model parameters of a photovoltaic panel. Math. Comput. Simul.
**2017**, 131, 38–54. [Google Scholar] [CrossRef] - Zagrouba, M.; Sellami, A.; Bouaïcha, M.; Ksouri, M. Identification of PV solar cells and modules parameters using the genetic algorithms: Application to maximum power extraction. Sol. Energy
**2010**, 84, 860–866. [Google Scholar] [CrossRef] - Di Piazza, M.C.; Vitale, G. Photovoltaic Sources: Modelling and Emulation; Green Energy and Technology; Springer: London, UK, 2013. [Google Scholar]
- Molanes, R.F.; Garaj, M.; Tang, W.; Rodriguez-Andina, J.J.; Farina, J.; Tsang, K.F.; Man, K.F. Implementation of Particle Swarm Optimization in FPSoC devices. In Proceedings of the 2017 IEEE 26th International Symposium on Industrial Electronics (ISIE), Edinburgh, UK, 19–21 June 2017; pp. 1274–1279. [Google Scholar]
- Ben Hariz, M.; Bouani, F.; Ksouri, M. Implementation of a fixed low order controller on STM32 microcontroller. In Proceedings of the International Conference on Control, Engineering & Information Technology (CEIT’14), Sousse, Tunisia, 22–25 Mar 2014; pp. 244–252. [Google Scholar]
- Ismail, M.S.; Mahlia, T.M.I.; Moghavvemi, M. Characterization of PV panel and global optimization of its model parameters using genetic algorithm. Energy Convers. Manag.
**2013**, 73, 10–25. [Google Scholar] [CrossRef] - Global Optimization Toolbox. Available online: https://www.mathworks.com/products/global-optimization.html (accessed on 28 November 2017).
- GPdotNET–Artificial Intelligence Tool. Available online: https://gpdotnet.codeplex.com (accessed on 28 November 2017).
- A Java-Based Evolutionary Computation Research System. Available online: http://cs.gmu.edu/~eclab/projects/ecj/ (accessed on 28 November 2017).
- Genetic Algorithm C++ Code. Available online: http://people.sc.fsu.edu/~jburkardt/cpp_src/simple_ga/simple_ga.html (accessed on 28 November 2017).
- Petrone, G.; Spagnuolo, G.; Vitelli, M. Analytical model of mismatched photovoltaic fields by means of Lambert W-function. Sol. Energy Mater. Sol. Cells
**2007**, 91, 1652–1657. [Google Scholar] [CrossRef] - Keith Briggs: Software—C and Python Codes. Available online: http://keithbriggs.info/software.html (accessed on 19 December 2017).
- Lo Brano, V.; Ciulla, G. An efficient analytical approach for obtaining a five parameters model of photovoltaic modules using only reference data. Appl. Energy
**2013**, 111, 894–903. [Google Scholar] [CrossRef] - Petrone, G.; Ramos-Paja, C.A.; Spagnuolo, G. Photovoltaic Sources Modeling; John Wiley & Sons: Chichester, UK, 2017. [Google Scholar]
- Noguchi, T.; Togashi, S.; Nakamoto, R. Short-current pulse-based maximum-power-point tracking method for multiple photovoltaic-and-converter module system. IEEE Trans. Ind. Electron.
**2002**, 49, 217–223. [Google Scholar] [CrossRef] - Orozco-Gutierrez, M.L.; Spagnuolo, G.; Ramirez-Scarpetta, J.M.; Petrone, G.; Ramos-Paja, C.A. Optimized Configuration of Mismatched Photovoltaic Arrays. IEEE J. Photovolt.
**2016**, 6, 1210–1220. [Google Scholar] [CrossRef] - Cannizzaro, S.; Di Piazza, M.C.; Luna, M.; Vitale, G.; Calogero, G.; Citro, I. Parameter Identification and Real-Time J-V Curve Reconstruction of Polymer PV and Dye-Sensitized Cells Using Non-Iterative Algorithm. In Proceedings of the 29th European PV Solar Energy Conference and Exhibition (EUPVSEC 2014), Amsterdam, The Netherlands, 22 September 2014; pp. 1548–1553. [Google Scholar]

**Figure 3.**The difference of physical boundary conditions (continuous box) and real boundary conditions (dashed boxes).

**Figure 4.**Experimental I-V curves of the Sunowe Solar SF125x125-72-m(l) PV panel, in different environmental conditions.

**Figure 5.**Best fitness value vs. the number of generations for different runs of the genetic algorithm. (

**a**) With physical bounds; (

**b**) with real boundary conditions and the guess solution.

**Figure 6.**Comparison of the I-V and P-V photovoltaic curves for Test #1. (

**a**) Photovoltaic I-V curves; (

**b**) photovoltaic P-V curves.

**Figure 8.**Photovoltaic system with the MPPT and online parameter identification technique. (

**a**) Functional scheme of the proposed digital controller; (

**b**) flowchart of the perturb and observe algorithm integrated with the parameter identification procedure.

**Figure 9.**Comparison of the I-V and P-V photovoltaic curves for Test #2. (

**a**) Photovoltaic I-V curves; (

**b**) photovoltaic P-V curves.

**Figure 10.**Comparison of the I-V and P-V photovoltaic curves for Test #3. (

**a**) Photovoltaic I-V curves; (

**b**) photovoltaic P-V curves.

Parameter | ${\mathit{I}}_{\mathit{p}\mathit{h}}$ (A) | ${\mathit{I}}_{\mathit{s}}$ (A) | $\mathit{\eta}$ | ${\mathit{R}}_{\mathit{s}}$ ($\mathbf{\Omega}$) | ${\mathit{R}}_{\mathit{h}}$ ($\mathbf{\Omega}$) |
---|---|---|---|---|---|

Lower Bound | 0 | ${10}^{-10}$ | 0.5 | $0.01$ | 10 |

Upper Bound | 1.5 ${I}_{sc,max}$ | ${10}^{-2}$ | 5 | 10 | $100,000$ |

Parameter | ${\mathit{I}}_{\mathit{p}\mathit{h}}$ (A) | ${\mathit{I}}_{\mathit{s}}$ (A) | $\mathit{\eta}$ | ${\mathit{R}}_{\mathit{s}}$ ($\mathbf{\Omega}$) | ${\mathit{R}}_{\mathit{h}}$ ($\mathbf{\Omega}$) |
---|---|---|---|---|---|

Lower Bound | $0.9\xb7{I}_{phg}$ | $0.01\xb7{I}_{sg}$ | max ($0.5,\phantom{\rule{0.166667em}{0ex}}{\eta}_{g}-1$) | max ($0.01,\phantom{\rule{0.166667em}{0ex}}0.1\xb7{R}_{sg}$) | max ($10,\phantom{\rule{0.166667em}{0ex}}0.1\xb7{R}_{hg}$) |

Upper Bound | $1.1\xb7{I}_{phg}$ | $100\xb7{I}_{sg}$ | min ($5,\phantom{\rule{0.166667em}{0ex}}{\eta}_{g}+1$) | min ($10,\phantom{\rule{0.166667em}{0ex}}10\xb7{R}_{sg}$) | min (${10}^{5},\phantom{\rule{0.166667em}{0ex}}100\xb7{R}_{hg}$) |

Parameter | Value | Parameter | Value |
---|---|---|---|

${I}_{sc}$ | 5.32 A | ${V}_{oc}$ | 44.8 V |

${I}_{MPP}$ | 5.03 A | ${V}_{MPP}$ | 35.8 V |

${\alpha}_{I}$ | 0.04 $\%{/}^{\circ}C$ | ${\alpha}_{V}$ | $-0.35$$\%{/}^{\circ}C$ |

Parameter | ${\mathit{I}}_{\mathit{p}\mathit{h}}$ (A) | ${\mathit{I}}_{\mathit{s}}$ (A) | $\mathit{\eta}$ | ${\mathit{R}}_{\mathit{s}}$ ($\mathbf{\Omega}$) | ${\mathit{R}}_{\mathit{h}}$ ($\mathbf{\Omega}$) | Fitness |
---|---|---|---|---|---|---|

Test #1 | $5.61$ | $5.58\times {10}^{-8}$ | $1.05$ | $0.833$ | $51.5$ | $1.56$ |

Parameter | Value | Parameter | Value |
---|---|---|---|

Population size | $N=150$ | Elite individuals | ${N}_{E}=1$ |

Number of generations | ${N}_{g}=2500$ | Crossover percentage | ${P}_{C}=80\%$ |

Number of testing points | $M=8$ | Mutation percentage | ${P}_{M}=40\%$ |

Parameter | ${\mathit{I}}_{\mathit{p}\mathit{h}}$ (A) | ${\mathit{I}}_{\mathit{s}}$ (A) | $\mathit{\eta}$ | ${\mathit{R}}_{\mathit{s}}$ ($\mathbf{\Omega}$) | ${\mathit{R}}_{\mathit{h}}$ ($\mathbf{\Omega}$) | Fitness |
---|---|---|---|---|---|---|

Guess solution (A) | $5.61$ | $5.58\times {10}^{-8}$ | $1.05$ | $0.833$ | $51.5$ | $1.56$ |

Best GA solution (B) | $5.19$ | $4.45\times {10}^{-6}$ | $1.40$ | $0.922$ | 3953 | $80.59$ |

Variation (B/A) | $0.92$ | $79.7$ | $1.33$ | $1.11$ | $76.7$ | $51.67$ |

Parameter | Parameter | ${\mathit{I}}_{\mathit{p}\mathit{h}}$ (A) | ${\mathit{I}}_{\mathit{s}}$ (A) | $\mathit{\eta}$ | ${\mathit{R}}_{\mathit{s}}$ ($\mathbf{\Omega}$) | ${\mathit{R}}_{\mathit{h}}$ ($\mathbf{\Omega}$) | Fitness |
---|---|---|---|---|---|---|---|

Test #2 | Guess solution (A) | $3.07$ | $3.56\times {10}^{-9}$ | $1.09$ | $1.9$ | 102 | $2.23$ |

Test #2 | Best GA solution (B) | $2.78$ | $3.56\times {10}^{-7}$ | $1.36$ | $1.37$ | 4405 | $85.33$ |

Test #2 | Variation (B/A) | $0.90$ | 100 | $1.25$ | $0.72$ | $43.2$ | $38.26$ |

Test #3 | Guess solution (C) | $1.62$ | $5.96\times {10}^{-10}$ | $1.13$ | $4.1$ | 206 | $5.24$ |

Test #3 | Best GA solution (D) | $1.46$ | $5.30\times {10}^{-9}$ | $1.13$ | $0.876$ | $740.2$ | $25.96$ |

Test #3 | Variation (D/C) | $0.90$ | $8.89$ | $1.004$ | $0.214$ | $3.59$ | $4.95$ |

Platform | Search Algorithm | Time | Variation |
---|---|---|---|

Desktop PC | linear search | 1430 ms | - |

Desktop PC | binary search | 1381 ms | $-3.4\%$ |

STM32 | linear search | 609,251 ms | - |

STM32 | binary search | 573,903 ms | $-5.8\%$ |

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Petrone, G.; Luna, M.; La Tona, G.; Di Piazza, M.C.; Spagnuolo, G.
Online Identification of Photovoltaic Source Parameters by Using a Genetic Algorithm. *Appl. Sci.* **2018**, *8*, 9.
https://doi.org/10.3390/app8010009

**AMA Style**

Petrone G, Luna M, La Tona G, Di Piazza MC, Spagnuolo G.
Online Identification of Photovoltaic Source Parameters by Using a Genetic Algorithm. *Applied Sciences*. 2018; 8(1):9.
https://doi.org/10.3390/app8010009

**Chicago/Turabian Style**

Petrone, Giovanni, Massimiliano Luna, Giuseppe La Tona, Maria Carmela Di Piazza, and Giovanni Spagnuolo.
2018. "Online Identification of Photovoltaic Source Parameters by Using a Genetic Algorithm" *Applied Sciences* 8, no. 1: 9.
https://doi.org/10.3390/app8010009