Implement PV array modules

Simscape / Electrical / Specialized Power Systems / Renewables / Solar

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}\times nI\times Ncell$$

where:

I_{d} | = diode current (A) |

V_{d} | = diode voltage (V) |

I_{0} | = 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 |

**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/m^{2}, 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*Voc*=_{T}*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*Isc*=_{T}*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

**Plot**.The default value is

`array @ 1000 W/m2 & specified temperatures`

.**Irradiances (W/m2)**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/m^{2}. 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.

`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.

Signal | Signal Name | Definition |
---|---|---|

1 | V_PV | PV array voltage (V) |

2 | I_PV | PV array current (A) |

3 | I_diode | diode current (A) |

4 | Irradiance (W/m2) | Irradiance (W/m2) |

5 | Temperature (deg C) | Temperature (degrees C) |