PSO-Trained MPPT for Solar PV System
- lms editor
- 3 hours ago
- 2 min read
🧠 ANFIS Structure Used in the System
The adopted ANFIS structure (widely used in European intelligent control systems) consists of five layers:
🔹 Layer 1 – Input Membership Functions
Distributes inputs using Gaussian membership functions
Tunable parameters:
Center
Standard deviation
🔹 Layer 2 & Layer 3 – Rule & Normalization Layers
Rule firing strength calculation
Normalization of fuzzy rules
🔹 Layer 4 – Consequent Layer (Tunable)
Uses linear equations such as:
f1=p1x+q1y+r1f_1 = p_1x + q_1y + r_1f1=p1x+q1y+r1
Tunable parameters: p, q, r
🔹 Layer 5 – Output Layer
Produces final crisp output
📌 Layer 1 and Layer 4 are tunable layers, and instead of conventional hybrid learning (backpropagation + least squares), Particle Swarm Optimization (PSO) is used for tuning.
🐦 Why Particle Swarm Optimization (PSO)?
PSO is used to:
Tune membership function parameters (center & deviation)
Tune consequent parameters (p, q, r)
Minimize Root Mean Square Error (RMSE) between predicted and target outputs
🎯 Objective: Achieve highly accurate MPPT behavior with minimal tracking error.
📊 Data Generation for Training
To train the ANFIS model:
🔹 Inputs
🌞 Solar irradiation
🌡️ Temperature
🔹 Output
⚡ V<sub>MPP</sub> (Voltage at Maximum Power Point)
✔️ 1000 samples are generated using a MATLAB PV model✔️ Data is stored in a .mat file (PV data)✔️ Data is separated into training and testing datasets
🧪 PSO-Based ANFIS Training Process
🔧 Training Steps
Load PV dataset
Generate initial FIS using clustering
Extract tunable parameters
Define cost function (RMSE)
Apply PSO algorithm:
Initialize population
Update velocity & position
Train ANFIS in each iteration
Minimize RMSE over iterations
📉 Training Results
Training RMSE ≈ 4.47 × 10⁻¹⁵
Testing RMSE ≈ 5.64 × 10⁻⁵
✨ Extremely low error confirms excellent training accuracy.
💾 Exporting the Trained ANFIS Model
Final trained FIS is available in the MATLAB workspace
Exported as PSO-trained .fis file
This file is later used in Simulink MPPT implementation
⚙️ Simulink Model: PSO-Trained MPPT for Solar PV
🔋 Solar PV Panel Details
Rated power: 250 W
Open-circuit voltage: 37.3 V
V<sub>MPP</sub>: 30.7 V
I<sub>MPP</sub>: 8.15 A
📈 I–V and P–V characteristics confirm correct PV behavior under:
1000 W/m² → 250 W
800 W/m² → 200 W
600 W/m² → 150 W
400 W/m² → 100 W
🔄 Power Converter & MPPT Control
Boost converter connects PV to load
Duty cycle generated using:
PSO-trained ANFIS (MPPT)
PI controller
PWM generator
🎯 Goal: Always operate PV panel at MPP
🔍 Performance Analysis
✅ Case 1: Load Variation
Load changed every 0.3 s
PV consistently extracts maximum power
Smooth voltage & current response
Boost converter maintains power balance
✅ Case 2: Irradiation Variation
Irradiation levels: 1000 → 800 → 600 → 400 → 200 W/m²
MPPT accurately tracks new MPP each time
Extracted power matches theoretical PV characteristics
📊 Observed waveforms:
PV voltage & current
Boost converter voltage & current
Load power & PV power
✔️ MPPT performance remains robust under both load and irradiation changes.
⭐ Key Highlights
🐦 PSO provides global optimization
🤖 ANFIS offers intelligent nonlinear mapping
⚡ Accurate MPPT under dynamic conditions
📉 Very low RMSE
🔋 Improved PV energy extraction efficiency







Comments