Main Content

PV Array

Implement PV array modules

  • PV Array block

Libraries:
Simscape / Electrical / Specialized Power Systems / Sources

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 (2018) as well as PV modules that you define.

The PV Array block is a five-parameter model using a light-generated current source (IL), diode, 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

Id=I0[exp(VdVT)1]

VT=kTq×nI×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

Ports

Input

expand all

Control signal defining that irradiance applied to solar panels, specified as a scalar in the range [0, 1000], in W/m2.

Control signal defining temperature of cells, specified as a scalar, in degrees Celsius. The input can be a finite negative, zero, or positive value.

Dependencies

To enable this port, clear the Robust discrete model parameter.

Output

expand all

Measurements, returned as a five-element vector. 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

Irradiance (W/m2)

Irradiance (W/m2)

5

Temperature (deg C)

Temperature (degrees C)

Conserving

expand all

Specialized electrical conserving port associated with the positive terminal of the PV array.

Specialized electrical conserving port associated with the negative terminal of the PV array.

Parameters

expand all

Parameters

Number of strings of series-connected modules that are connected in parallel.

Number of PV modules connected in series in each string.

Display the I-V and P-V characteristics of one module or of the whole array, for variable irradiance or for variable temperatures. The selected characteristics display when you click Plot.

Vector of irradiances in W/m2. The vector must have at least one element. The Plot button will show I-V and P-V module characteristics for every irradiance listed in the vector.

Dependencies

To enable this parameter, set Display I-V and P-V characteristics of to one module @ 25 deg.C & specified irradiances or array @ 25 deg. C & specified irradiances.

Vector of temperatures in degrees Celsius. The vector must have at least one element. The Plot button will show I-V and P-V module characteristics for every temperature operating point listed in the vector.

Dependencies

To enable this parameter, set Display I-V and P-V characteristics of to array @ 1000 W/m2 & specified temperatures.

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), where the irradiance is 1000 W/m2 and the temperature is 25 degrees Celsius.

Note

In releases earlier than R2021a, the module list includes manufacturer modules that are no longer present in the list. If you use one of these modules, the block sets the Module parameter to User-defined and does not change the module data parameter values.

When you select a module, these parameters are updated with data from the NREL database:

  • Cells per module (Ncell)

  • Open circuit voltage Voc (V)

  • Short-circuit current Isc (A)

  • Voltage at maximum power point Vmp (V)

  • Current at maximum power point Imp (A)

  • Temperature coefficient of Voc (%/deg.C)

  • Temperature coefficient of Isc (%/deg.C)

The function computes these five corresponding model parameters using an optimization function and displays them on the right side of the dialog box.

  • Light-generated current IL (A)

  • Diode saturation current I0 (A)

  • Diode ideality factor

  • Shunt resistance Rsh (ohms)

  • Series resistance Rs (ohms)

When you select User-defined, enter your own specifications for the module data parameters. When you apply the changes, the function computes the five model parameters.

Power obtained at the maximum power point. The maximum power is calculated as Pmax = Vmp x Imp, where:

  • Pmax is the value of the Maximum Power (W) parameter.

  • Vmp is the value of the Voltage at maximum power point Vmp (V) parameter.

  • Imp is the value of the Current at maximum power point Imp (A) parameter.

This parameter is read-only.

Number of cells per module.

Voltage at 25 degrees Celsius obtained when array terminals are left open.

Current at 25 degrees Celsius obtained when array terminals are short circuited.

Voltage at maximum power point.

Current at maximum power point.

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.

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.

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. This parameter is read-only.

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. This parameter is read-only.

Ideality factor of the diode modeling the PV array. An optimization function determines this parameter to fit the module data. This parameter is read-only.

Shunt resistance of the model for one module under STC. An optimization function determines this parameter to fit the module data. This parameter is read-only.

Series resistance of the model for one module under STC. An optimization function determines this parameter to fit the module data. This parameter is read-only.

Advanced

When selected, the robust solver iterates to resolve the algebraic loop in the internal diode model. The maximum number of iterations is specified in the Preferences tab of the powergui block, in the Solver details for nonlinear elements section. For real-time applications, you may need to limit the number of iterations. The robust solver is the recommended method for discretizing the PV Array model. When selected, the cell temperature is specified by the Cell temperature, in deg.C. (input 2 is disabled) parameter, and the T port is hidden.

When cleared, the algebraic loop is controlled by the Break algebraic loop in internal model parameter.

For more information on what method to use in your application, see Simulating Discretized Electrical Systems.

Dependencies

To enable this parameter, set the Simulation type parameter of the powergui block to Discrete.

Specify the cell temperature in degrees Celsius.

Dependencies

To enable this parameter, select Robust discrete model.

Select to break the algebraic loop of the internal diode model. In discrete models, the parameter is visible only if the Robust discrete model parameter is cleared.

If you use the block in a continuous system, the algebraic loop is cut by using a first-order filter.

If you use the block in a discrete system, the algebraic loop is cut by using a one-simulation-step time delay. This approach can cause numerical oscillations if the sample time of the simulation is too large. For example, a PV Array block connected to an average model of power converter can run with a sample time as large as 50e-6 seconds. In this case, the algebraic loop is required to get an iterative, accurate solution for the highly nonlinear diode characteristics. If the sample time of the simulation is small, such as 1e-6 seconds for a PV Array block connected to a detailed power electronic converter using real switches and a 5 kHz PWM inverter, select this parameter to speed up simulation and get accurate resolution.

Dependencies

To enable this parameter, clear Robust discrete model.

When the Break algebraic loop in internal model parameter is selected, the algebraic loop is cut by using a first-order filter when the simulation is continuous. If you use the block in a discrete system, the algebraic loop is cut by using a one-simulation-step time delay.

Dependencies

To enable this parameter, select Break algebraic loop in internal model and, in the powergui block, set Simulation type to Continuous.

When the Break algebraic loop in internal model parameter is cleared, measurement filters are used inside the measurement output, m, for the PV array voltage (signal 1) and PV array current (signal 2).

Dependencies

To enable this parameter, clear Robust discrete model and Break algebraic loop in internal model.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2015a