# PV Array

Implement PV array modules

Renewables/Solar

## Description

The PV Array block implements an array of photovoltaic (PV) modules. The array is built of strings of modules connected in parallel, each string consisting of modules connected in series. This block allows you to model preset PV modules from the National Renewable Energy Laboratory (NREL) System Advisor Model (Jan. 2014) as well as PV modules that you define.

The PV Array block is a five parameter model using a current source IL (light-generated current), diode (I0 and nI parameters), series resistance Rs, and shunt resistance Rsh to represent the irradiance- and temperature-dependent I-V characteristics of the modules.

The diode I-V characteristics for a single module are defined by the equations

`${I}_{d}={I}_{0}\left[\mathrm{exp}\left(\frac{{V}_{d}}{{V}_{T}}\right)-1\right]$`
`${V}_{T}=\frac{kT}{q}×nI×Ncell$`

where:

 Id = diode current (A) Vd = diode voltage (V) I0 = diode saturation current (A) nI = diode ideality factor, a number close to 1.0 k = Boltzman constant = 1.3806e-23 J.K-1 q = electron charge = 1.6022e-19 C T = cell temperature (K) Ncell = number of cells connected in series in a module

## Parameters

### Parameters Tab

Parallel strings

Number of strings of series-connected modules that are connected in parallel. The default value is `40`.

Series-connected modules per string

Number of PV modules connected in series in each string. The default value is `10`.

Module

Select `User-defined` or a preset PV module from the NREL System Advisory Model database. Over 10,000 modules are listed from main manufacturers, sorted in alphabetical order. The NREL database includes manufacturer datasheets measured under standard test conditions (STC) (irradiance=1000 W/m2, temperature=25 degrees C).

When you select a module, this data from the NREL database updates when you apply your changes: Ncell, Voc, Isc, Vmp, Imp maximum power, as well as temperature coefficients of Voc and Isc. The function computes the five corresponding model parameters (IL, I0, nI, Rsh, Rs) using an optimization function and displays them on the right side of the dialog box.

When you select `User-defined`, you can enter your own specifications for the module data (Ncell, Voc, Isc, Vmp, Imp, and temperature coefficients of Voc and Isc). When you apply the changes, the function computes the five model parameters.

The default value is `1Soltech 1STH-215-P`.

Maximum Power (W)

Power obtained at maximum power point (Vmp, Imp). Pmax is computed as Pmax = Vmp × Imp. The default value is `213.15` W.

Cells per module (Ncell)

Number of cells per module. The default value is `60`.

Open circuit voltage Voc (V)

Voltage obtained when array terminals are left open. The default value is `36.3` V.

Short-circuit current Isc (A)

Current obtained when array terminals are short circuited. The default value is `7.84` A.

Voltage at maximum power point Vmp (V)

Voltage at maximum power point. The default value is `29` V.

Current at maximum power point Imp (A)

Current at maximum power point. The default value is `7.35` A.

Temperature coefficient of Voc (%/deg.C)

Defines variation of Voc as a function of temperature. The open-circuit voltage at temperature T is obtained as

VocT = Voc (1 + beta_Voc(T–25)),

where Voc is the open-circuit voltage at 25 degrees C, VocT is the open-circuit voltage at temperature T (in degrees C), beta_Voc is the temperature coefficient (in %/degrees C), and T is the temperature in degrees C.

The default value is `-0.36099` %/deg.C.

Temperature coefficient of Isc (%/deg.C)

Defines variation of Isc as a function of temperature. The short-circuit current at temperature T is obtained as

IscT = Isc (1 + alpha_Isc(T–25)),

where Isc is the short-circuit current at 25 degrees C, IscT is the short-circuit current at temperature T (in degrees C), alpha_Isc is the temperature coefficient (in %/degrees C) and T is the temperature in degrees C.

The default value is `0.102` %/deg.C.

Display I-V and P-V characteristics of...

To display the I-V and P-V characteristics of one module or of the whole array, for variable irradiance or for variable temperatures, select an option:

 `one module @ 25 deg. C & specified irradiances` `array @ 25 deg. C & specified irradiances` `array @ 1000 W/m2 & specified temperatures`

The selected characteristics display when you click .

The default value is ```array @ 1000 W/m2 & specified temperatures```.

This parameter is available only if Display I-V and P-V characteristics of is set to ```one module @ 25 deg.C & specified irradiances``` or ```array @ 25 deg. C & specified irradiances```. Enter a vector of irradiances in W/m2. The default value is `[ 1000 500 100 ]`.

T_cell (deg. C)

This parameter is available only if Display I-V and P-V characteristics of is set to ```array @ 1000 W/m2 & specified temperatures```. Enter a vector of temperatures in degrees C. The default value is `[45 25]` deg. C.

Light-generated current IL (A)

Current for one module under STC, flowing out of the controllable current source that models the light-generated current. An optimization function determines this parameter to fit the module data. The default value is `7.8649` A.

Diode saturation current I0 (A)

Saturation current of the diode modeling the PV array for one module under STC. An optimization function determines this parameter to fit the module data. The default value is `2.9259e-10` A.

Diode ideality factor

Ideality factor of the diode modeling the PV array. An optimization function determines this parameter to fit the module data. The default value is `0.98117`.

Shunt resistance Rsh (ohms)

Shunt resistance of the model for one module under STC. An optimization function determines this parameter to fit the module data. The default value is `313.3991` Ω.

Series resistance Rs (ohms)

Series resistance of the model for one module under STC. An optimization function determines this parameter to fit the module data. The default value is `0.39383` Ω.

Break algebraic loop in internal model

By default this parameter is not selected. You then get an algebraic loop in the internal diode model, both in a continuous model or in a discrete model. If you use the block in a discrete system using large sample times, this algebraic loop is required to get an iterative, accurate solution for the highly nonlinear diode characteristics. For example, the PV array connected to an average model of power electronic converter runs with a sample time as large as `50e-6` sec, and Simulink® can solve the algebraic loop.

When the PV array block is connected to a detailed power electronic converter where real switches are simulated, you need to specify a small sample time to get accurate resolution in PWM pulse generation (for example, `1e-6` sec with a 5 kHz PWM inverter). In this case, to speed up simulation, select this parameter to break the algebraic loop.

When the model is discrete, break the algebraic loop by using a one-simulation-step time delay. This approach can cause numerical oscillations if the sample time is too large.

When the model is continuous, break the algebraic loop by using a first-order filter. The Time constant (s) parameter then becomes visible.

When the model uses an algebraic loop (i.e., the parameter is not selected), current and voltage measurement filters are used inside the continuous and the discrete model to help solve the algebraic loop. The Measurement Filter Time constant (s) parameter then becomes visible.

Time constant (s)

The filter time constant is visible in a continuous model only when Break algebraic loop in internal model is selected. The default value is `1e-6` sec.

Measurement Filter Time constant (s)

The measurement filter time constant is visible in both discrete and continuous model when Break algebraic loop in internal model is not selected. The default value is `5e-5` sec.

## Inputs and Outputs

`lr`

Connect to this input a Simulink signal representing varying sun irradiance in W/m2.

`T`

Connect to this input a Simulink signal representing varying cell temperature in degrees C.

`m`

Simulink output vector containing five signals. You can select these signals using the Bus Selector block in the Simulink library.

SignalSignal NameDefinition
1

V_PV

PV array voltage (V)

2

I_PV

PV array current (A)

3

I_diode

diode current (A)

4

5

Temperature (deg C)

Temperature (degrees C)