top of page

🌞 MATLAB Implementation of ANFIS-Based MPPT for Solar PV System 🔋⚡

Introduction

We explore the MATLAB/Simulink implementation of an ANFIS-based MPPT (Maximum Power Point Tracking) algorithm for a standalone solar PV system. ANFIS, or Adaptive Neuro-Fuzzy Inference System, blends the learning capability of neural networks with the decision-making logic of fuzzy inference systems, making it highly efficient for nonlinear control problems like MPPT in solar energy systems.

🧠 Understanding ANFIS

ANFIS consists of five layers:

  • Layer 1: Membership function layer for input variables (temperature and irradiation).

  • Layer 2 & 3: Rule layers that define the fuzzy rules.

  • Layer 4 & 5: Defuzzification layers for output.

Using a hybrid learning algorithm, ANFIS updates its weights and parameters to map inputs (temperature & irradiance) to desired outputs (e.g., Vmp - voltage at maximum power point).

📊 Data Collection for Training

To train the ANFIS model, synthetic data is generated using a MATLAB script. The parameters include:

  • Temperature range: 15°C to 35°C

  • Irradiance range: 0 to 1000 W/m²

The data points include:

  • Voltage at maximum power point (Vmp)

  • Current at maximum power point (Imp)

  • Power at maximum power point (Pmp)

This data forms the basis for training the ANFIS controller.

🛠️ ANFIS Training in MATLAB

Using MATLAB's anfisedit GUI, the steps are:

  1. Load the generated data into the GUI.

  2. Use grid partitioning for rule base generation.

  3. Choose triangular membership functions with 3 sets each for temperature and irradiation.

  4. Train the system using the hybrid learning algorithm for 100 iterations.

The resulting error is impressively low (≈ 3.73 × 10⁻⁷), showing high accuracy between collected and trained data.

🔁 Integrating ANFIS in Simulink

The trained ANFIS model is saved as a .fis file and imported into Simulink. The Simulink system consists of:

  • A 250W solar PV panel

  • A boost converter

  • A PI controller

  • ANFIS MPPT block that provides reference voltage (Vmp)

  • PWM generator for controlling IGBT switches

This system compares real-time PV voltage with the ANFIS-predicted Vmp and adjusts the converter duty cycle accordingly.

🧪 Test Case 1: Varying Irradiance

To test the robustness of ANFIS-MPPT, irradiance is changed dynamically in steps:

  • From 1000 → 800 → 600 → 400 → 200 W/m²

The controller successfully tracks the maximum power at each step:

  • ~250W at 1000 W/m²

  • ~200W at 800 W/m²

  • ~150W at 600 W/m²

  • And so on…

The duty cycle adjusts accordingly, and the MPPT tracks the MPP efficiently under dynamic conditions.

🔌 Test Case 2: Sudden Load Variations

With irradiance fixed at 1000 W/m² and temperature at 25°C, the load is changed:

  • From 20Ω → 30Ω → 40Ω in steps every 3 seconds

Despite abrupt changes, the ANFIS-MPPT maintains power extraction close to 250W, proving its robustness to load disturbances. The controller dynamically adjusts the duty cycle to compensate for the varying load.

✅ Conclusion

The ANFIS-based MPPT controller demonstrates:

  • Accurate tracking of MPP under changing irradiance and load

  • Low training error with excellent generalization

  • Seamless integration in MATLAB/Simulink

This hybrid AI-based control system is a powerful solution for maximizing energy extraction in standalone solar PV systems.

Hozzászólások


bottom of page