A complete, production-ready three-phase inverter implementation leveraging the high-performance TI TMS320F28335 DSP (C2000 Delfino MCU) and MATLAB/Simulink. This repository bridges the gap between desktop simulation and real-time hardware-in-the-loop (HIL) or rapid control prototyping (RCP) for power electronics applications.
This repository contains:
- Simulink Simulation Model (
.slx): A high-fidelity physical model of a 3-phase voltage source inverter (VSI) using a 6-pulse IGBT configuration, SPWM generation, and LC/RL filtering. - DSP Firmware (CCS Project): Optimized C-code and digital control loops targeted for the TMS320F28335 DSP to generate real-time PWM signals, read ADC feedback, and execute closed-loop control.
- Hardware Integration Guide: Wiring diagrams and hardware configurations to deploy the model onto real power electronics testbenches.
The power stage consists of a Three-Phase Universal Bridge using 6 IGBTs/Diodes, driven by a 2nd-level SPWM (Sinusoidal Pulse Width Modulation) generator.
-
Grid/Source Voltage:
$25 \text{ kV}$ RMS (Line-to-Line) @$60 \text{ Hz}$ -
Modulation Frequency (Carrier):
$1080 \text{ Hz}$ (Synchronized to DSP EPWM timers) -
Load: Series RL (
$1\ \Omega$ ,$1\ \text{ mH}$ ) -
Solver: Continuous-time
powergui
Below is the overall schematic diagram of the 6-pulse IGBT 3-phase inverter in Simulink:
The model simulates transient and steady-state responses of the inverter. Key outputs include Phase Voltages (
Below are the measured output waveforms before/after the filter stages:
- MATLAB / Simulink (Recommended: R2021a or newer)
- Simscape / Simscape Electrical (formerly SimPowerSystems)
- Embedded Coder (for direct code generation)
- TI Code Composer Studio (CCS) (v10 or newer)
- C2000 Ware (for TI driver libraries)
- DSP: Texas Instruments TMS320F28335 ControlCARD or LaunchPad
- Inverter Board: Any standard 3-phase IGBT/MOSFET intelligent power module (IPM) with gate-driver inputs compatible with 3.3V/5V logic.
- Open MATLAB and navigate to the project directory.
- Open the Simulink model:
Simulation_6Pulse_IGBT_Three_Phase.slx. - Double-click the
powerguiblock to configure solver settings if needed. - Click Run (
$\text{Ctrl+T}$ ) to view the Scope waveforms.
- Open the Simulink Configuration Parameters (
$\text{Ctrl+E}$ ). - Under Hardware Implementation, select TI Delfino TMS320F2833x.
- Configure the ePWM blocks to match your hardware pinout (default uses
ePWM1,ePWM2, andePWM3for the three phases). - Click Build Model to automatically generate C code and create a CCS-compatible project.
- Import the generated code into Code Composer Studio and flash it to your TMS320F28335 DSP.
Contributions are highly welcome! If you find any issues, have suggestions for hardware optimizations, or want to add closed-loop FOC/SVPWM controllers, please open an Issue or submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.