三相10Kw光伏并网逆变器。包含全套理图/PCB/源代码
一、系统架构与核心目标
该代码基于TI F28379D DSP芯片开发,专为三相10kW光伏并网逆变器设计,实现光伏电能的高效转换与电网同步并网。系统以"采样-控制-驱动-保护"为核心闭环,通过模块化设计实现硬件适配、算法执行与状态管理的解耦,支持从调试到并网运行的全场景覆盖。
二、核心文件功能解析
1. 主程序文件(INVERTER_3PV_main.c)
作为系统入口,承担初始化与任务调度核心职责:
- 启动流程:通过
main()函数依次完成设备底层配置(TINVHALsetupDevice())、状态机初始化、PWM时钟控制、外设使能、控制参数加载、SFRA(系统频率响应分析)配置、保护机制设置及中断映射,最终进入后台任务循环。 - 中断管理:核心控制逻辑绑定至PWM周期中断(ISR1),实现高频(基于PWM周期)的实时控制;辅助中断(ISR2)处理SFRA数据采集等非实时任务。
2. 核心控制文件(INVERTER_3PV.c)
包含逆变器控制的核心算法与逻辑:
- 数据采集:通过
TINVreadCurrVoltage()、TINVreadTemp()、TINVreadCurrSDFM_Signals()分别读取电压、温度、电网电流(SDFM模块),并完成偏移补偿与缩放校准。 - 控制算法:
- 坐标变换:实现ABC-DQ0正序/负序变换(
ABCDQ0POSrun()、ABCDQ0NEGrun())与DQ0-ABC逆变换(DQ0ABCrun()),完成三相量与旋转坐标系的转换。 - 锁相环(PLL):支持SRF-PLL与DDSRF-PLL两种模式(通过
TINVSPLLTYPE选择),通过电网电压q轴分量跟踪相位与频率。 - PI控制:电流环采用双闭环结构(d/q轴独立控制),输出限幅至±1.0以匹配PWM占空比范围,并加入电网电压前馈与交叉耦合补偿。
- PWM驱动:
TINV_driverUpdate()根据PI输出更新三相PWM占空比,集成死区控制与桥臂直通保护。
3. 硬件抽象层(INVERTER_3PV_hal.c/.h)
实现硬件与软件的接口适配:
- 外设初始化:配置ADC(采样通道映射)、PWM(周期、死区、引脚绑定)、GPIO(继电器、风扇、LED控制)、SDFM(滤波参数)等硬件资源。
- 底层操作:封装
TINVHALupdateTinvPWM()(PWM占空比更新)、TINVHAL_closePhaseRelay()(继电器控制)等函数,屏蔽硬件细节。 - 保护触发:通过
TINVHALsetupBoardProtection()配置过流阈值,监测EPWM跳闸标志并执行保护动作。
4. 配置文件(INVERTER_3PV_settings.h)
集中定义系统关键参数,支持灵活配置:
- 控制参数:电网频率(
TINVACFREQ)、直流母线标称电压(TINVVDCNOMINAL)、PI系数(TINVPIKP/TINVPIKI)等。 - 硬件参数:PWM周期(
TINVINVPWMPERIOD)、死区时间(TINVINVDEADBANDPWMCOUNT)、电流采样量程(TINVILMAXSENSE)等。 - 模式切换:通过
TINVINCRBUILD选择开环调试(1)、电流环独立逆变(2)或并网PLL模式(3)。
三、核心控制流程详解
1. 实时控制中断(ISR1)执行逻辑
每PWM周期触发一次,完成闭环控制核心步骤:
1. 数据采集:读取电感电流、逆变器输出电压、电网电压/电流、温度、直流母线电压; 2. 同步处理:若为并网模式,运行PLL输出电网相位(sin/cos);开环模式则生成固定频率正弦波; 3. 坐标变换:将三相电流/电压转换至dq0坐标系,提取正序分量; 4. 电流环控制:d/q轴电流与参考值比较,经PI调节输出电压参考值; 5. 前馈补偿:加入电网电压前馈与交叉耦合项(2πfLiq/-2πfLid),提升动态响应; 6. 逆变换:将dq0电压参考值转换为三相调制信号; 7. PWM更新:限幅后更新PWM占空比,驱动功率器件; 8. 数据记录:计算电压/电流有效值、频率、功率等并存储至监控变量。2. 工作模式差异化实现
- 开环模式(TINVINCRBUILD=1):通过RAMP发生器生成固定频率正弦波,直接作为PWM调制信号,无电流反馈。
- 电流环独立模式(TINVINCRBUILD=2):引入电流闭环控制,强制输出正弦电流,但不跟踪电网相位,适用于独立逆变场景。
- 并网PLL模式(TINVINCRBUILD=3):核心模式,通过PLL锁定电网相位,控制逆变器输出电流与电网电压同频同相,实现单位功率因数并网。
四、保护机制设计
系统通过多层次保护确保运行安全,核心保护逻辑如下:
- 过流保护:监测EPWM跳闸标志(
EPWMTZINTERRUPT_DCAEVT1),触发后关闭继电器、重置电流参考值、标记故障状态。 - 电压保护:直流母线电压超上限(
TINVOVERVOLTLIMIT)或低于下限(TINVUNDERVOLTLIMIT)时,断开电网连接。 - 频率保护:电网频率超出[45Hz, 65Hz]范围时,禁止并网并进入待机。
- 驱动保护:检测到驱动器故障(
EPWMTZINTERRUPT_OST)时,禁用PWM输出并尝试重启驱动。
保护状态通过TINV_boardStatus变量实时反馈,支持故障清除与系统重启。
五、监控与交互功能
- 数据监控:定义
TINVguiVbus(母线电压)、TINVguiActivePower(有功功率)、TINV_guiACFreq(电网频率)等GUI变量,实时反馈系统状态。 - 状态机管理:后台任务分A(1ms)、B(5ms)两类周期执行,处理SFRA通信、LED指示、继电器控制等辅助功能。
- SFRA模块:支持频率响应分析,通过SCI接口与上位机通信,上传系统幅频/相频特性数据,便于调试优化。
六、代码设计特点
- 模块化清晰:控制算法与硬件驱动分离,核心逻辑集中于
INVERTER_3PV.c,硬件适配通过HAL层实现,便于移植。 - 可配置性强:关键参数集中于
INVERTER3PVsettings.h,支持通过宏定义快速切换工作模式与硬件参数。 - 实时性保障:核心控制绑定至PWM中断,确保微秒级响应;非实时任务调度至后台,避免资源冲突。
- 安全性冗余:多重保护机制覆盖电流、电压、频率等关键参数,故障状态可视化便于诊断。
该代码为三相10kW光伏并网逆变器提供了完整的控制解决方案,可通过参数调整适配不同电网标准与硬件配置,具备较强的工程实用性与扩展性。
三相10Kw光伏并网逆变器。包含全套理图/PCB/源代码