Skip to content

Electrics Module

schmager edited this page May 27, 2021 · 1 revision

The electrics module calculates the power output of the single junctions and of the multi-junction solar cell. For this, the Shockley diode equation including series RS and shunt RSH resistance is used:

img

Where J0 is the dark saturation current density, n the ideality factor, k the Boltzmann constant, and Tmodule the module temperature.

For each hour of the year the J-V characteristics is calculated. In this regard, each point in time is characterized by the short-circuit current density (see Energy Yield Core Module) and the module temperature. The module temperature is derived by a simple empirical model based on the nominal operating cell temperature (NOCT), which can be set in the configuration. The ambient temperature is then scaled depending on the insolation S heating up the solar module.

img

Different temperatures also influence the VOC and JSC of the solar cell. This influence is modelled by temperature coefficients (expressed in ppm K-1) for each parameter:

img

img

Solving the transcendental one-diode equation for the open-circuit voltage VOC, one can use the Lambert W function:

img

With the same approach, the voltage can be expressed depend on the current as follows:

img

Usage

The electrics module is called by the energy yield core module. Once the total short-circuit current density is calculated, the electrics module can be called. We can define the electrical parameters as described in the main.m example.

electrics.configuration = '2T';       % 2T, 3T, 4T, 2T exp, 3T exp, 4T exp
electrics.shunt = 'with';             % with, without
electrics.RshTandem = 1300;           % shunt resistance of tandem device
electrics.RsTandem = 3;               % serial resistance of tandem device
electrics.Rsh = [1300, 1000];         % shunt resistance of n-th cell
electrics.Rs = [2, 1];                % serial resistance of n-th cell
electrics.CE = [1, 1];                % collection efficiency of n-th cell
electrics.j0 = [2.7e-18, 1e-12];      % reverse-blocking current of n-th cell
electrics.n = [1.1, 1];               % ideality factor of n-th cell
electrics.Temp = [25, 25];            % temperature of cells (can also be n vectors)
electrics.NOCT = [48, 48];            % nominal temperature of n-th cell, if a number, Temp is overwritten
electrics.tcJsc = [0.0002, 0.00032];  % temperature coefficient of Jsc in K^-1 of n-th cell
electrics.tcVoc = [-0.002, -0.0041];  % temperature coefficient of Voc in K^-1 of n-th cell

For testing, we define the short-circuit current densities for the top peroskite and bottom silicon solar cell as follows:

Jsc_top = 19.5;	% mAcm-2
Jsc_bot = 18.2; % mAcm-2

And then we call the electrics module:

[el.Voc_Tandem, el.FF_Tandem, el.Power_Tandem, el.JMPP_Tandem, el.VMPP_Tandem] = ...
        calctandemelectrics(electrics, min(Jsc_top,Jsc_bot) );
el = 

  struct with fields:

      Voc_Tandem: 2.0072
       FF_Tandem: 0.7728
    Power_Tandem: 282.3224
     JMPP_Tandem: 16.9000
     VMPP_Tandem: 1.6705
     

We can also illustrate the single junction IV curves, by calling calcsingleelectrics().

shunt = 'with';
RshTandem = 1000;
RsTandem = 3;
Rsh = [1300, 1000];
Rs = [2, 1];
CE = [1, 1];
j0 = [2.7e-18, 1e-12];
n = [1.1, 1]; 
Temp = [25, 25];
NOCT = [48, 48];
tcJsc = [0.0002, 0.00032];
tcVoc = [-0.002, -0.0041];

jsc_RT = [19.5, 18.2];   

[~, ~, ~, ~, ~, j_top, V_top] = calcsingleelectrics(jsc_RT(1), Rs(1), Rsh(1), j0(1), n(1), tcJsc(1), tcVoc(1), Temp(1), shunt);
[~, ~, ~, ~, ~, j_bot, V_bot] = calcsingleelectrics(jsc_RT(2), Rs(2), Rsh(2), j0(2), n(2), tcJsc(2), tcVoc(2), Temp(2), shunt);

plot(V_top,j_top,'o-'); hold on
plot(V_bot,j_bot,'x-');
xlabel('Voltage (V)'); ylabel('Current density (mA/cm²)')

Clone this wiki locally