Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌞 MPPT Algorithm for PV Solar System

A MATLAB & Simulink implementation of a Maximum Power Point Tracking (MPPT) system for a photovoltaic (PV) array using the Perturb and Observe (P&O) algorithm.

The project models the electrical characteristics of a solar PV panel, implements MPPT logic, designs a boost converter in Simulink, and evaluates system performance under varying environmental conditions.


📸 Project Preview

Simulink MPPT System

MPPT Simulink Model


MATLAB PV Characteristics

I–V Curve P–V Curve

📌 Features

  • PV mathematical model
  • I–V characteristic curve generation
  • P–V characteristic curve generation
  • Maximum Power Point (MPP) detection
  • Perturb & Observe (P&O) MPPT algorithm
  • Boost converter implementation in Simulink
  • Performance analysis under varying irradiance
  • Performance analysis under varying temperature

🛠️ Software Used

  • MATLAB R2023a
  • Simulink
  • Simscape Electrical

📂 Project Structure

MPPT-Algorithm-PV/
│
├── matlab/
│   ├── main.m
│   ├── pv_model.m
│   ├── iv_curve.m
│   ├── pv_curve.m
│   └── mppt_po.m
│
├── simulink/
│   ├── MPPT_System.slx
│   └── mppt_po.slx
│
├── images/
│   ├── matlab/
│   └── simulink/
│
├── docs/
│
├── report/
│
├── LICENSE
└── README.md

MATLAB Implementation

The MATLAB portion of the project includes:

  • PV array mathematical model
  • Current–Voltage (I–V) characteristics
  • Power–Voltage (P–V) characteristics
  • Maximum Power Point calculation
  • Perturb & Observe duty cycle algorithm

Example output:

  • PV I–V Curve
  • PV P–V Curve
  • Maximum Power Point
  • Voltage at MPP
  • Current at MPP

Simulink Model

The Simulink implementation consists of:

  • PV Array
  • Boost Converter
  • MOSFET Switching Circuit
  • Inductor
  • Diode
  • Output Capacitor
  • Resistive Load
  • Voltage Measurement
  • Current Measurement
  • MATLAB Function Block implementing the P&O MPPT algorithm

The controller continuously adjusts the converter duty cycle to operate the PV array at its Maximum Power Point.


Simulation Results

Irradiance Analysis

Temperature kept constant at 25°C.

Irradiance (W/m²) Observation
1000 Maximum output power
800 Output current decreases
600 Reduced power generation
400 Stable MPPT operation
200 Lowest power output while maintaining tracking

Observed behaviour:

  • PV voltage remains nearly constant.
  • PV current decreases with irradiance.
  • Output power decreases proportionally.
  • MPPT maintains stable operation.

Temperature Analysis

Irradiance kept constant at 1000 W/m².

Temperature (°C) Observation
25 Highest output power
35 Slight decrease in voltage
45 Further voltage reduction
55 Lowest voltage and power output

Observed behaviour:

  • PV voltage decreases as temperature increases.
  • PV current changes only slightly.
  • Output power decreases.
  • MPPT successfully tracks the operating point.

Results

The implemented Perturb & Observe MPPT controller successfully tracks the Maximum Power Point under different irradiance and temperature conditions.

Simulation results demonstrate:

  • Stable converter operation
  • Fast convergence
  • Reliable MPP tracking
  • Expected photovoltaic characteristics

Future Improvements

  • Incremental Conductance MPPT
  • Fuzzy Logic MPPT
  • Artificial Neural Network based MPPT
  • Partial Shading Detection
  • Battery Charging Integration
  • Real-time Hardware Implementation using Arduino/STM32

How to Run

MATLAB

Run:

main

Simulink

Open:

MPPT_System.slx

Click Run to start the simulation.


Repository

git clone https://github.com/Shv8ank/MPPT-Algorithm-PV.git

About

Implementation of Maximum Power Point Tracking algorithms for photovoltaic systems using MATLAB and Simulink.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages