MPPT Algorithm

Implement maximum power point tracking algorithms for photovoltaic systems using MATLAB and Simulink

Maximum power point tracking (MPPT) is an algorithm implemented in photovoltaic (PV) inverters to continuously adjust the impedance seen by the solar array to keep the PV system operating at, or close to, the peak power point of the PV panel under varying conditions, like changing solar irradiance, temperature, and load.

Engineers developing solar inverters implement MPPT algorithms to maximize the power generated by PV systems. The algorithms control the voltage to ensure that the system operates at “maximum power point” (or peak voltage) on the power voltage curve, as shown below.

MPPT algorithms are typically used in the controller designs for PV systems. The algorithms account for factors such as variable irradiance (sunlight) and temperature to ensure that the PV system generates maximum power at all times.

Power voltage curve with I-V and P-V characteristics of a photovoltaic system.

Power voltage curve with I-V and P-V characteristics of a photovoltaic system.

The three most common MPPT algorithms are:

  1. Perturbation and observation (P&O): This algorithm perturbs the operating voltage to ensure maximum power. While there are several advanced and more optimized variants of this algorithm, a basic P&O MPPT algorithm is shown below.
Basic P&O algorithm.

Basic P&O algorithm.

  1. Incremental conductance: This algorithm, shown below, compares the incremental conductance to the instantaneous conductance in a PV system. Depending on the result, it increases or decreases the voltage until the maximum power point (MPP) is reached. Unlike with the P&O algorithm, the voltage remains constant once MPP is reached.
Incremental conductance algorithm.

Incremental conductance algorithm.

  1. Fractional open-circuit voltage: This algorithm is based on the principle that the maximum power point voltage is always a constant fraction of the open circuit voltage. The open circuit voltage of the cells in the photovoltaic array is measured and used as in input to the controller.
  2. MATLAB® and Simulink® can be used as platforms to implement these algorithms.

Panel Navigation

Go from basic tasks to more advanced maneuvers by walking through interactive examples and tutorials.

Power Electronics Control

Explore the Power Electronics Control Community

The MathWorks community for students, researchers, and engineers using Simulink to apply power electronics control to Electric Vehicles, Renewable Energy, Battery Systems, Power Conversion, and Motor Control.

30-Day Free Trial

Get started

10 Ways to Speed Up Power Conversion Control Design with Simulink

Read white paper