⚡ MATLAB Simulation of ANN-Based MPPT for Solar PV–Battery Powered BLDC Motor ☀️🔋⚙️
- lms editor
- 4 hours ago
- 3 min read
Solar PV Boost Converter + Battery Bidirectional Converter + 24V BLDC Drive (Simulink)
ANN (Artificial Neural Network) based MPPT control for a solar PV + battery powered BLDC motor drive in MATLAB/Simulink. This model is designed for a 24V DC bus system, where the PV supplies the BLDC motor and also charges the battery, and the battery supports the motor when PV power becomes low.
✅ BLDC Motor Specification (24V, 40W) ⚙️
In this simulation, we use a 24V, 40W BLDC motor specification taken from a standard manufacturer website. The main rated values are:
🔋 Rated Voltage: 24 V
🌀 Rated Speed: 3000 rpm
🔧 Rated Torque: 0.125 N·m
⚡ Rated Power: ≈ 39 W
🔌 Rated Current: ≈ 2.5 A
🚀 Peak Current: 7.5 A
💪 Peak Torque: 0.375 N·m
⚙️ Torque Constant: 0.05 N·m/A
🧲 Line–Line Resistance: 1.35 Ω
🧷 Line–Line Inductance: 0.93 mH
🧾 Poles: 8 → Pole pairs = 4
🧱 Inertia: 0.33 kg·cm²
🛠️ BLDC Block Parameter Setup
In the BLDC motor block:✅ Select Trapezoidal back-EMF✅ Use Compute from standard manufacturing specification✅ Enter resistance, inductance, torque constant, pole pairs, inertia✅ Click Compute block parameters and Apply to update the motor model
☀️ Solar PV Array Design (100W) 🌞
To supply a 40W motor reliably, we choose a PV array with higher rating:
🔆 PV Array Power: 100 W
⚡ Vmp (Voltage at MPP): 17 V
🔌 Imp (Current at MPP): 2.941 A (single panel)
🔁 Parallel Strings: 2➡️ Total current ≈ 5.88 A, total power ≈ 100 W
🔋 Battery Selection (12V, 100Ah) 🔌
Battery Voltage: 12 V
Capacity: 100 AhBattery is connected to the DC bus using a bidirectional DC–DC converter, supporting both:✅ Charging mode (PV surplus)✅ Discharging mode (PV deficit)
🔼 Converter Topology Used
This system uses two converters:
1️⃣ PV Side Boost Converter 🔼
Input: 17 V (PV)
Output: 24 V DC bus
Controlled by: ANN-based MPPT
2️⃣ Battery Side Bidirectional Converter 🔁
Input/Output: 12 V battery ↔ 24 V DC bus
Controlled by: DC bus voltage PI controller
📌 Inductor and capacitor values (L and C) are designed using standard converter equations based on:
Power rating (100W)
Input voltage (17V / 12V)
Output voltage (24V)
Switching frequency & ripple limits
🧠 ANN-Based MPPT Control for PV ☀️🤖
The ANN MPPT controller works like this:
✅ Inputs to ANN MPPT
🌞 Irradiance
🌡️ Temperature
✅ Output from ANN MPPT
🎯 Reference PV voltage (Vref)
Control Flow
ANN generates Vref based on irradiation & temperature
Vref is compared with actual PV voltage (Vpv)
Error is processed through a PI controller
PI controller generates duty cycle (D)
Duty cycle → PWM generator
PWM pulse controls the IGBT of the boost converter➡️ So maximum power is extracted under all conditions ✅
🔁 Battery Converter Control (Voltage Regulation) 🔋
To maintain a stable DC bus:
DC bus reference voltage: 24 V
Measure actual DC bus voltage
Error → PI controller
PI → Duty cycle → PWM pulses
Pulses drive the two IGBTs of bidirectional converter
✅ This maintains DC bus at 24V continuously even when PV power varies.
⚡ Power Flow Logic (PV + Battery + BLDC) 🔋☀️
The system automatically manages power:
🌞 When PV power > motor demand✅ Motor is supplied✅ Battery goes to charging mode
🌥️ When PV power < motor demand✅ Battery goes to discharging mode✅ Battery supports motor along with PV
This ensures the BLDC motor runs continuously.
🧪 Simulation Setup (Test Conditions) 🧾
🌞 Irradiance Profile (changes every 1 sec)
1000 → 600 → 400 → 600 W/m² (example pattern)
🔧 Motor Torque
Constant load torque: 0.125 N·m (rated)
Scopes Observed 📊
PV voltage, current, power
Battery current, power, SoC
DC bus voltage
Motor speed, torque
Stator current
Back-EMF waveform
📈 Key Results & Discussion ✅
☀️ At 1000 W/m²
PV voltage ≈ 17 V
PV current ≈ 5.8 A (2 panels in parallel)
PV power ≈ 100 W
Battery current becomes negative (~ -2 A) ✅ (charging mode)
Battery SoC increases slightly from 50% to 50.006% 🔋📈
DC bus voltage maintained around 24 V ✅
Motor runs smoothly with stable speed 🌀
🌥️ When irradiance reduces (example: 600 W/m²)
PV power drops to around 60 W
Battery current shifts from negative to positive (~ +1 A) ✅
Meaning: battery starts discharging
Battery power changes from negative to positive
SoC starts reducing slightly 🔋📉
Still DC bus remains 24 V, motor continues running ✅
📌 Important note:
Negative battery power/current → charging
Positive battery power/current → discharging
✅ Conclusion 🎯
This MATLAB/Simulink model clearly shows:
✅ ANN MPPT extracts maximum PV power under varying irradiation/temperature✅ Battery bidirectional converter maintains DC bus at 24V✅ Battery automatically charges/discharges based on PV availability✅ BLDC motor runs continuously with stable speed and torque







Comments