Main Content

Solar PV Controller (Three-Phase)

Solar photovoltaic (PV) grid-following (GF) controller

Since R2024a

  • Solar PV Controller (Three-Phase) block

Libraries:
Simscape / Electrical / Control / Renewables Control

Description

The Solar PV Controller (Three-Phase) block implements a photovoltaic (PV) grid-following (GF) controller that uses a maximum power point tracking (MPPT) algorithm. The inputs to the block are the:

  • Per-unit reactive power reference Qref

  • DC-side current in amps ipv

  • DC-side voltage in volts vdc

  • AC-side per-unit voltage vabc

  • AC-side per-unit current iabc

The outputs of the block are the per-unit reference voltage wave for the solar inverter vabcRef and a bus containing signals for visualization. This figure shows the top-level structure of the controller.

The Volt-VAR controller calculates the per-unit q-axis current reference iq ref.

The MPPT algorithm calculates the DC-side reference voltage Vdc ref in volts.

The DC voltage controller calculates the per-unit d-axis current reference id ref.

The phase-locked loop (PLL) calculates the:

  • Phase angle θ of the input voltage signal vabc

  • Per-unit d-axis voltage Vd

  • Per-unit q-axis voltage Vq

The Park transform converts iabc and θ into the:

  • Per-unit d-axis current id

  • Per-unit q-axis current iq

The current controller calculates the:

  • Per-unit d-axis voltage reference Vd ref

  • Per-unit q-axis voltage reference Vq ref

The inverse Park transform converts Vd ref and Vq ref into vabcRef.

For discrete-time simulation, set Sample time (-1 for inherited) to a positive value or to -1 to inherit the sample time. For continuous-time simulation, set Sample time (-1 for inherited) to 0.

To choose the MPPT algorithm, in the MPPT tab, set the Algorithm parameter to one of these options:

  • Perturb and observe (P&O) — The P&O algorithm perturbs the operating voltage of the solar panel. The algorithm then observes the change in power output. If the power increases, the perturbation continues in the same direction. If the power decreases, the algorithm reverses the perturbation. To prioritize simulation speed, use this option.

  • Incremental conductance (INC) — The INC algorithm calculates the incremental change in current and voltage to determine the slope of the power-voltage curve. If the slope is positive, the operating point moves to a higher voltage. If the slope is negative, the operating point moves to a lower voltage. If the slope is close to zero, the algorithm has reached the maximum power point (MPP). To prioritize accuracy in tracking the MPP, use this option.

Visualization

The block outputs a bus containing these nine signals for visualization:

  • Estimated phase angle θ of the input voltage signal vabc

  • DC-side voltage Vdc in volts

  • Per-unit q-axis current reference iq ref

  • Per-unit d-axis current reference id ref

  • DC-side reference voltage Vdc ref in volts

  • Per-unit d-axis voltage Vd

  • Per-unit q-axis voltage Vq

  • Per-unit d-axis current id

  • Per-unit q-axis current iq

Ports

Input

expand all

Per-unit reactive power reference.

Data Types: single | double

DC-side current, in amps.

Data Types: single | double

DC-side voltage, in volts.

Data Types: single | double

AC-side per-unit voltage.

Data Types: single | double

AC-side per-unit current.

Data Types: single | double

Output

expand all

Per-unit reference voltage wave.

Data Types: single | double

Bus containing internal signals for visualization. For a list of signals, see Visualization.

Data Types: single | double

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

General

AC filter inductance, in henries.

System frequency, in hertz.

The per-unit inverter current limit.

AC-side base impedance, in ohms.

AC-side base power in volt-amperes.

DC bus base voltage, in volts.

Time, in seconds, between consecutive block executions. During execution, the block produces outputs and, if appropriate, updates its internal state. For more information, see What Is Sample Time? and Specify Sample Time.

For discrete-time simulation:

  • To specify the sample time explicitly, set this parameter to a positive value. This value defines the sample time in seconds.

  • To inherit the sample time, set this parameter to -1.

For continuous-time simulation, set this parameter to 0.

For more information about continuous and discrete sample times, see Types of Sample Time.

MPPT

Maximum power point tracking algorithm. Choose one of these options:

  • Perturb and observe (P&O) — The P&O algorithm perturbs the operating voltage of the solar panel. The algorithm then observes the change in power output. If the power increases, the perturbation continues in the same direction. If the power decreases, the algorithm reverses the perturbation. To prioritize simulation speed, use this option.

  • Incremental conductance (INC) — The INC algorithm calculates the incremental change in current and voltage to determine the slope of the power-voltage curve. If the slope is close to zero, the MPP is reached. If the slope is positive, the operating point moves to a higher voltage. If the slope is negative, the operating point moves to a lower voltage. To prioritize accuracy in tracking the MPP, use this option.

Initial voltage for the MPPT algorithm, in volts.

Voltage step of the MPPT algorithm, in volts.

Settling time of the MPPT algorithm, in seconds.

PLL

Proportional gain of the phase-locked loop.

Integral gain of the phase-locked loop.

Initial phase angle for the phase-locked loop, in degrees.

Voltage Controller

Proportional gain of the voltage controller.

Integral gain of the voltage controller.

Derivative gain of the voltage controller.

Current Controller

Proportional gain of the D-axis current controller.

Integral gain of the D-axis current controller.

Derivative gain of the D-axis current controller.

Proportional gain of the Q-axis current controller.

Integral gain of the Q-axis current controller.

Derivative gain of the Q-axis current controller.

Extended Capabilities

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

Version History

Introduced in R2024a