This project implements a Genetic Algorithm (GA) to extract key parameters of solar cells from their raw current-voltage (V-I) data. The model uses both the Single Diode Equation (SDE) and Double Diode Equation (DDE) to accurately represent solar cell behavior, including parasitic effects. This work provides insights into theoretical modeling and solar cell performance, aiding in the optimization of photovoltaic devices for space and terrestrial applications.
-
Models solar cells as unbiased pn diodes under illumination using SDE and DDE.
-
Incorporates effects of parasitic resistances: Series Resistance (Rs) and Shunt Resistance (Rsh).
-
Employs Genetic Algorithm to optimize parameters:
- SDE: Isc, Io, Rs, Rsh, η.
- DDE: Isc, Io1, Io2, Rs, Rsh, η1, η2.
-
Efficiently handles non-linear, implicit, transcendental equations.
-
Supports analysis of single-junction and multi-junction solar cells.
Parameters like Isc (short-circuit current), Io (reverse saturation current), and parasitic resistances significantly influence the performance of solar cells but cannot be measured directly. Traditional analytical methods fail to account for all parameters accurately. Heuristic approaches like GA provide a robust alternative for multi-parameter optimization.
- Initialization: A random population of chromosomes is created.
- Selection: Fittest chromosomes are selected for reproduction.
- Crossover: Top 30% of the population undergoes crossover to produce the next generation.
- Mutation: Random bit-flipping introduces diversity.
- Termination: Process ends when the error falls below a set tolerance or a maximum number of generations is reached.
The GA minimizes the error between measured and calculated current values:
- Operating temperature: 300 K.
- Population size: 1000 chromosomes.
- Number of generations: ~100.
- Parameter bounds: Determined via visual inspection or preliminary direct search methods.
The GA was applied to individual GaInP, (In)GaAs, and Ge solar cells:
The extracted parameters reproduce V-I characteristics closely matching the measured data:
The GA was applied to triple-junction solar cells stack:
- C++ compiler supporting C++11 or higher (e.g., GCC, Clang).
- Clone this repository:
git clone https://github.com/your-repo/solar-cell-ga.git
- Navigate to the project directory:
cd solar-cell-ga
- Compile the source code:
g++ -o sd_ga sd_ga.cpp
- Run the executable:
./sd_ga
- Kassap, S. Principles of Electronic Materials and Devices.
- Goldberg, D. E. Genetic Algorithms in Search, Optimization, and Machine Learning.
- Holland, J. H. Adaptation in Natural and Artificial Systems.
- Project by Prachi Bisht under the guidance of Shri Suresh E. P., Solar Panel Division, URSC, ISRO.
- Special thanks to the URSC Solar Panel Division for their support and resources.