Enquire Now
MATLAB · Simulink · Simscape · FCS-MPC · PI Comparison · DC Microgrid · Battery Storage

Bidirectional DC-DC Converter MATLAB Simulink

Finite Control Set Model Predictive Control (FCS-MPC) for charging and discharging a battery storage unit in a renewable DC microgrid. The bidirectional converter switches between Buck (charge) and Boost (discharge) modes under real-time constraint-aware optimisation, outperforming classical PI control in dynamic response and efficiency. Complete MATLAB/Simulink models, parameter tables, waveforms and IEEE-format report for Bangalore final-year projects.

15 W
DC Load
FCS-MPC
vs PI
Buck/Boost
Modes
10 kHz
Switching
FCS-MPC Bidirectional DC-DC Battery Microgrid Buck / Boost MATLAB Simulink PI Comparison IEEE Report

Bidirectional DC-DC Converter with FCS-MPC for DC Microgrid Storage

Storage units are critical in microgrids to ensure stable operation when renewable sources are intermittent. This project implements a finite control set model predictive control (FCS-MPC) strategy to manage charging and discharging of a battery through a bidirectional DC-DC converter. Unlike traditional PI controllers, FCS-MPC optimises switching actions in real time, respects system constraints and delivers superior dynamic performance while continuously supplying a 15 W DC load.

Key Technical Highlights

  • Bidirectional Buck / Boost topology
  • State-space models for both modes
  • FCS-MPC cost-function optimisation
  • SOC-based energy management (10–90 %)
  • PI controller baseline comparison
  • MATLAB / Simulink validation
  • 15 V / 15 W continuous load supply
  • 10 kHz switching frequency
MMATLAB R2024b SSimulink ESimscape Electrical PFCS-MPC BBattery SOC

Proposed Power System Topology

DC voltage source + 2.5 Ah battery + 15 W load form a DC microgrid. The bidirectional converter is the key interface that transfers energy between source, battery and load.

DC Source
VDC = 15 V
→
Bidirectional
DC-DC Converter
→
Battery
6 V / 2.5 Ah
→
15 W Load
R = 15 Ω
Paper title and abstract — FCS-MPC bidirectional converter
Source paper: A New Advanced Strategy for Controlling the Charging and Discharging of a Storage Unit in a Microgrid Using a Finite Control Set Predictive Model
Proposed power system topology
Figure 1 — Proposed power system topology (DC source, bidirectional converter, battery, load)

Bidirectional DC-DC Converter — Buck & Boost Modes

The converter operates in Boost mode when the battery discharges to the load and in Buck mode when the DC source charges the battery while still feeding the load.

⬆

Boost (Discharge)

Battery is energy source; converter steps voltage up to supply the 15 V load. SOC decreases toward 10 % floor.

⬇

Buck (Charge)

DC source charges the battery and supplies the load. Converter steps voltage down; SOC rises toward 90 % ceiling.

⚡

Mode Decision

SOC compared with SOCinit = 50 %. Below → Buck charge; above → Boost discharge. Protects battery lifetime.

📐

State-Space Model

Continuous-time models for both modes feed the FCS-MPC predictor; discrete finite set of switching states is evaluated each sample.

Bidirectional DC-DC converter circuit
Figure 2 — Bidirectional DC/DC converter circuit (shared inductor, dual switches, filter capacitors)

Finite Control Set Model Predictive Control (FCS-MPC)

At every sampling instant the controller predicts the future inductor current and output voltage for each admissible switching state, evaluates a cost function that penalises tracking error and switching effort, and applies the optimal state for the next period.

Why FCS-MPC outperforms PI

Classical PI controllers require separate tuning for Buck and Boost, suffer from limited bandwidth under large-signal disturbances and cannot explicitly enforce constraints. FCS-MPC evaluates the discrete finite set of switch combinations, includes current and voltage limits inside the cost function, and yields faster settling with lower overshoot when the renewable source or load changes abruptly.

  • Real-time optimisation of switching states
  • Explicit constraint handling (current, voltage, SOC)
  • Single controller structure for both modes
  • Superior transient response vs PI
  • Higher conversion efficiency under test scenarios

MATLAB / Simulink Implementation

Complete energy chain and control chain are modelled in Simulink. A mode switch selects the correct state-space matrices; the FCS-MPC block computes the optimal duty/switch command; a parallel PI path provides the baseline comparison.

Matlab/Simulink simulation of bidirectional DC-DC converter
Figure 8 — MATLAB/Simulink simulation of the bidirectional DC/DC converter energy chain
FCS-MPC controller simulation
Figure 9 — FCS-MPC controller simulation topology
PI controller and energy management
Figures 10–11 — PI controller path and SOC-based energy management logic

Study System Parameters

Table 1 — Study System Parameters (from paper)
ParameterValueUnit
VDC15V
iDC1A
Vbatt6V
Cbatt2.5Ah
R (load)15Ω
L1mH
Cb20µF
Cl500µF
rL0.2Ω
rC0.001Ω
fs10kHz

Simulation Results — FCS-MPC vs PI

Buck (charge) and Boost (discharge) scenarios demonstrate continuous 15 W load supply, battery current/voltage trajectories and the superior tracking of FCS-MPC.

Buck mode battery voltage and current FCS-MPC vs PI
Buck mode (battery charging) — battery current and voltage under FCS-MPC and PI
Boost mode and overall performance
Boost mode (battery discharging) and comparative performance metrics
01

Continuous Load Supply

15 W load remains powered in both charge and discharge regimes; converter seamlessly transitions between Buck and Boost.

02

Faster Dynamics

FCS-MPC settles inductor current and output voltage faster than PI under step changes of SOC or source availability.

03

Constraint Awareness

Current and voltage limits are embedded in the cost function, preventing over-current during mode transitions.

04

Higher Efficiency

Paper results show FCS-MPC delivers higher conversion efficiency and better overall performance than the PI baseline.

Sample MATLAB Code & Parameter Scripts

Representative excerpts for system parameters, state-space matrices and a simplified FCS-MPC cost evaluation loop.

bidirectional_dc_dc_params.m — System Parameters & Mode Flags
% bidirectional_dc_dc_params.m — Parameters for FCS-MPC Bidirectional Converter clc; clear; close all; % DC source & battery Vdc = 15; % V Vbatt = 6; % V nominal Cbatt = 2.5; % Ah SOC_init = 0.50; SOC_min = 0.10; SOC_max = 0.90; % Power stage L = 1e-3; % H Cb = 20e-6; % F Cl = 500e-6; % F rL = 0.2; % Ohm rC = 0.001; Rload = 15; % Ohm → 15 W at 15 V fs = 10e3; % Hz Ts = 1/fs; % Mode flag: 1 = Boost (discharge), 0 = Buck (charge) mode = 1; % set by SOC management fprintf('[✓] Bidirectional DC-DC params loaded | fs = %.0f kHz | Rload = %.0f Ω\n', fs/1e3, Rload);
fcs_mpc_step.m — One FCS-MPC Prediction & Cost Evaluation (conceptual)
% fcs_mpc_step.m — Finite Control Set MPC for Bidirectional Converter % Evaluates cost for each admissible switching state S = {0,1} function S_opt = fcs_mpc_step(iL, vO, iL_ref, vO_ref, mode, params) S_set = [0, 1]; % finite control set J_min = inf; S_opt = 0; for S = S_set % Discrete prediction using state-space of selected mode [iL_p, vO_p] = predict_state(iL, vO, S, mode, params); % Cost: tracking error + optional switching penalty J = params.lambda_i * (iL_p - iL_ref)^2 + ... params.lambda_v * (vO_p - vO_ref)^2; if J < J_min J_min = J; S_opt = S; end end end % In Simulink: call every Ts; apply S_opt to the bridge switches
Command Window — Typical Simulation Summary
>> run_bidi_fcs_mpc_sim
[*] Compiling Simscape Electrical bidirectional topology... [✓] Buck & Boost state-space matrices loaded [✓] FCS-MPC cost weights: λi = 1.0, λv = 0.5 ──────────────────────────────────────────────────────── [BUCK MODE] Battery charging, SOC 10 % → 90 % Load power continuous: 15.0 W [BOOST MODE] Battery discharging, SOC 90 % → 10 % Load power continuous: 15.0 W ──────────────────────────────────────────────────────── [✓] FCS-MPC settling faster than PI; efficiency higher under test scenarios [✓] IEEE-format waveforms and tables exported for report

Advantages of the Bidirectional DC-DC FCS-MPC Project

01

Modern Predictive Control

Replaces classical PI with finite-set model predictive control — a hot research topic in power electronics and microgrids.

02

Full Buck + Boost Coverage

Single topology and controller handle both charging and discharging with SOC-based mode selection.

03

Constraint-Aware Design

Current, voltage and SOC limits are explicitly included in the cost function, improving safety and battery life.

04

Clear PI Baseline

Side-by-side comparison with a well-tuned PI controller makes the performance gain measurable and viva-ready.

05

Simulink + Script Ready

Deliverable includes .SLX models, parameter .m files, cost-function scripts and waveform capture scripts.

06

IEEE / University Report

Complete documentation, calculation tables, result figures and viva Q&A tailored to VTU / Anna / NIT formats.

Frequently Asked Questions

Finite Control Set Model Predictive Control predicts the future inductor current and capacitor voltage for each admissible switching state, evaluates a cost function, and applies the optimal state. It handles constraints naturally and reacts faster than classical PI under large disturbances.
MATLAB R2024b, Simulink, Simscape Electrical, discrete-time state-space models for Buck and Boost modes, and custom FCS-MPC cost-function scripts. A parallel PI path is retained for comparison.
Yes. Full .SLX models, MATLAB .m parameter and controller scripts, parameter tables, waveform results, university-format IEEE report, presentation PPT and viva defence Q&A.
A 15 W / 15 V resistive load and a 6 V, 2.5 Ah battery. Switching frequency is 10 kHz; inductor 1 mH; filter capacitors 20 µF and 500 µF. SOC is managed between 10 % and 90 %.

Project Deliverables & Support

Everything needed from project inception to final viva defence.

💬