# 2nd: General Information about PV Cell Modeling with Model of ideal PV Cell (Matlab)

The Plan of this Series of articles

I-What is a PV Cell
II-Why we need a model for the PV Cell
III-PV Cell Modeling (with matlab script)
a-3 parameters model or ideal model
b-4 parameters model
c-5 parameters model

### I – What is a PV cell

A PV cell, is the basic component of a PV system, it converts the sun insolation into electrical energy through Photovoltaic effect.

The two properties of the electricity are :

• Voltage
• Current

these two properties are affected by the input which is the Irradiance or also referred to as insolation, and affected also by the Cell temperature as it will be discussed in the following paragraphs.

### II – Why do we need to have a model for the Photovoltaic Cell

mainely for two reasons:

1. Understand the Behavior of the system :
In order to study a system, one should understand how this system work before using it, to find its input and output and more importantly how the output vary according to the variation of the input values.
2. Test a system before building it :
When an engineer or designer is looking for a new solution to an everyday problem, the scientific method oblige him to follow 3 steps: Think, Conceive and Test, the first two steps can be done without any investment required but to test a system it can not only consume a lot of time but a lot of money too and maybe the material bought will break if we don’t have the right configuration. So a numerical who simulate the exact real behavior of a system is very money and time wise.

So in order to understand the behavior of the solar cell, researchers and engineers have always tried to find the relationship between these two properties and external conditions of the solar cell like temperature and sunlight intensity, logically speaking if light creates electricity then with more light we should have more electricity, that is what have been proven by conducting several experiments in different solar irradiances, which we will refer to as G and measured by Watts/meter², but researchers have noticed that temperature is another factor affecting the output of solar cells, with high temperature the PV cell have tendency to output less electricity.

### III – PV cell Modeling

Modeling a PV Cell is to find an equivalent electrical circuit that would behave approximatively or exactly like the real PV cell system, in order to do so we need to find the equation between the output and input : output=f(input).

The first step is to find the actual relationship of the parameters of the real system, by putting the PV Cell in different conditions and situations and measuring its output, dressing a curve of it and trying to establish a mathematical equation that would give the same output values when we put the same input values.

the PV cell can be seen as a Black Box with several inputs and several outputs as shown in the next picture

Explanation of the Figure:

the figure illustrates the external parameters of a PV cell, the input is clearly the irradiance also called insolation, the output is the Current and Power and the heat in form of losses, the temperature represents a disturbance for the PV cell behavior, and the output current corresponds in fact to a certain applied Voltage, the next paragraph will explain this last point.

As will be seen in the next paragraph the current is a function of the voltage applied between the cells electrodes, as known it is the load that generally impose the voltage at which it will consume a current, if the load functions at a voltage of 2 Volts and have a 5 watts as power, and the PV cell is a 20 watts cell, then the output of the PV cell will adapt to the load voltage and deliver the required current under that voltage.

The most used behavioral representations of PV Cells are the curves I=f(V) also known as I-V curves, and P=f(V) or P-V curve, each representation is depending on two other parameters which are the Temperature T and G, which means for a I-V curve we can have several curves depending on the temperature same goes for P-V curve. Typical Curves are provided in the next Figures

PV Panels Manufacturers Provide specific information about the PV Panels they produce, generally these information are

• I-V curve at STC: T=25° and G=1000W/m²
• P-V curve at STC: T=25° and G=1000W/m²

And  special point like

• Voc,stc the open circuit voltage at T=25° and G=1000W/m²
• Isc,stc the short circuit current at T=25° and G=1000W/m²
• Vmpp,stc the maximum power point voltage at T=25° and G=1000W/m²
• Impp,stc the maximum power point current at T=25° and G=1000W/m²
• Pmpp,stc the maximum power point power at T=25° and G=1000W/m²
• Kv the voltage thermal coefficient V/°C
• Ki the current thermal coefficient Amps/°C
• Ns the number of cells in series
• Np the number of cells in parallel

#### a – Ideal Model

For a Given Temperature T and Irradiance G; An ideal electrical circuit can be established based on the idea of presence of a PN junction (PN junction is simply a diode, in other words a Positively doped layer of silicon and a Negatively doped layer) as shown in next figure:

Where:

• IL or Ipv describes the photocurrent or the current generated by the photovoltaic effect
• Id is the current due to the PN junction it is generally expressed by shockley equation
• I and V are the output current and voltage

The equation establishing the relationship between the current I to the Voltage in this equivalent lumped circuit is expressed by the following nonlinear equation (IL=Ipv)

I=Ipv−Id
I = Ipv − Is × (exp( V/Vt) − 1)

Where :

• Is represents the saturation current of the diode
• Vt describes the thermal voltage which is a parameter depending on many other values like Eg: the energy band gap, q: the electron energy, Kb: boltzmann universal constant.

this model can be easily implemented in a matlab script or using simulink block function, nevertheless still some unknown values need to be determined

• Vt the thermal voltage.
• Is saturation current.
• Ipv the photovolaic current.

The model needs to be adapted to each product via known experimental parameters provided by the manufacturer.

At a given Temperature T, and a given irradiance (solar insolation) G:

The thermal Voltage Vt, is determined using the following equation:

Vt=Kb x T /q

Where :

• Kb is the boltzmann constant
• T is the temperature of the Cell (there is a difference between cell temperature and ambiant temperature) in Kelvin
• q is the electron charge in coulomb

The saturation current Is and the photovoltaic current Ipv are determined using known point given by the manufacturer as follow:

at MPP :                  Impp=Ipv-Is(exp(Vmpp/Vt)-1)
at Open Circuit:   0=Ipv-Is(exp(Voc/Vt)-1)
at Short Circuit:   Isc=Ipv

At normal conditions also refered to as STC or Standard Test Conditions which designate a temperature = 25°, and solar insolation G=1000W/m² (the letter n added to refer to these conditions)

Ipvn=Iscn
Is=Ipv/(exp(Voc/Vt)-1)

As seen in this expression, Is can be determined at any irradiance and temperature by determening the value of Ipv at these conditions which can be done using this equation:

Ipv= Ipvn x (1+Ki x (T-Tn)) x G/Gn
taking into account that Ipvn= Iscn

to have all the other manufacturer values in other temperatures we use the thermal coefficiens as follows:

Voc(T)= Vocn x (1+Kv x (T-Tn))
Isc(T)=Iscn x (1+Ki x (T-Tn))
Vmpp(T)= Vmppn x (1+Kv x (T-Tn))
Impp(T)=Imppn x (1+Ki x (T-Tn))

to sum up :

the equation giving the behavior of the idea PV Cell is :

I=Ipv-Is x (exp(V/Vt)-1)
Ipv=Ipvn x (a+Ki x (T-Tn)) x G/Gn
Ipvn=Iscn
Vt=Kb x T / q
Is=Ipv/(exp(Voc/Vt)-1)

The Matlab Code:

Data.Gn=1000;
Data.Tn=25+273.15;
Data.Gn=1000;
Data.q=1.60217662e-19;
Data.Kb=1.38064852e-23;
Cell.Imppn= 0.22;
Cell.Vmppn= 0.96;
Cell.Iscn= 1.09;
Cell.Vocn= 0.23;
Cell.Ki = 0.084/100;
Cell.Kv= -0.187/100;
tmp.n=100;
for G=[500 1000]

for T=[-25+273.15 25+273.15 ]

Vmpp=Cell.Vmppn*(1+Cell.Kv*(T-Data.Tn));
Impp=Cell.Imppn*(1+Cell.Ki*(T-Data.Tn));
Voc=Cell.Vocn*(1+Cell.Kv*(T-Data.Tn));
Isc=Cell.Iscn*(1+Cell.Ki*(T-Data.Tn));
V=0:Voc/tmp.n:Voc;
Ipv=Isc*G/Data.Gn;
Vt=Data.Kb*T/Data.q;
Is=Ipv/(exp(Voc/Vt));
Ic=Ipv-Is*(exp(V./Vt)-1);

end

end