PV Array
Implement PV array modules
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
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
Ir — Control signal defining Irradiance applied to solar panels, W/m2
scalar in the range [0, 1000]
Control signal defining that irradiance applied to solar panels,
specified as a scalar in the range [0, 1000]
, in
W/m2.
T — Control signal defining temperature of cells, degrees Celsius
scalar
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
m — Measurements
five-element vector
Measurements, returned as a five-element vector. 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) |
Conserving
+ — Positive terminal
specialized electrical
Specialized electrical conserving port associated with the positive terminal of the PV array.
- — Negative terminal
specialized electrical
Specialized electrical conserving port associated with the negative terminal of the PV array.
Parameters
Parameters
Parallel strings — Strings of series-connected modules connected in parallel
40
(default) | positive integer
Number of strings of series-connected modules that are connected in parallel.
Series-connected modules per string — PV modules connected in series in each string
10
(default) | positive integer
Number of PV modules connected in series in each string.
Display I-V and P-V characteristics of ... — Characteristics of one module or whole array
array @ 1000 W/m2 & specified
temperatures
(default) | one module @ 25 deg.C & specified
irradiances
| array @ 25 deg.C & specified
irradiances
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.
Irradiances (W/m2) — Vector of irradiances
[ 1000 500 100 ]
(default) | vector of 1 or more elements
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
.
T_cell (deg. C) — Temperatures
[ 45 25 ]
(default) | vector of 1 or more elements
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
.
Module — User-defined or preset PV module
User-defined
(default) | A10Green Technology A10J-S72-175
| A10Green Technology A10J-S72-180
| A10Green Technology A10J-S72-185
| A10Green Technology A10J-M60-220
| ...
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.
Maximum Power (W) — Power at maximum power point
213.15
(default) | positive scalar
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.
Cells per module (Ncell) — Cells per module
60
(default) | positive integer
Number of cells per module.
Open circuit voltage Voc (V) — Voltage when circuit open
36.3
(default) | positive scalar
Voltage at 25 degrees Celsius obtained when array terminals are left open.
Short-circuit current Isc (A) — Current when short circuited
7.84
(default) | positive scalar
Current at 25 degrees Celsius obtained when array terminals are short circuited.
Voltage at maximum power point Vmp (V) — Maximum power point voltage
29
(default) | positive scalar
Voltage at maximum power point.
Current at maximum power point Imp (A) — Maximum power point current
7.35
(default) | positive scalar
Current at maximum power point.
Temperature coefficient of Voc (%/deg.C) — Variation of Voc as function of temperature
-0.36099
(default) | scalar
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.
Temperature coefficient of Isc (%/deg.C) — Variation of Isc as function of temperature
0.102
(default) | positive scalar
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.
Light-generated current IL (A) — Current for one module under STC
no default
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.
Diode saturation current I0 (A) — Saturation current of diode
no default
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.
Diode ideality factor — Ideality factor of diode modeling PV array
no default
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 Rsh (ohms) — Shunt resistance of the model
no default
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 Rs (ohms) — Series resistance of the model
no default
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
Robust discrete model — Iterate to resolve algebraic loop
off
(default) | on
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
.
Cell temperature, in deg.C. (input 2 is disabled) — Specify cell temperature
25
(default)
Specify the cell temperature in degrees Celsius.
Dependencies
To enable this parameter, select Robust discrete model.
Break algebraic loop in internal model — Break algebraic loop of internal diode model
on
(default) | off
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.
Break loop time constant (s) — Time constant of filter block that breaks algebraic loop
1e-6
(default) | positive scalar
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
.
Measurement filter time constant (s) — Measurement filters
5e-5
(default) | positive scalar
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
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)