量产光伏离网并网逆变器设计资料(TMS320F28335) 这个是单项的,三相价格一样 本装置DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构,以TI公司的浮点数字信号控制器TMS320F28335 DSP为控制电路核心,采用规则采样法和DSP片内ePWM模块功能实现PWM和SPWM波。 PV最大功率点跟踪(MPPT)采用了恒压跟踪法(CVT法)来实现,并用软件锁相环进行系统的同频、同相控制,控制灵活简单。 注:系统DCDC和DCAC的驱动PWM都由TMS320F28335提供,离网运行。 包含:原理图/PCB/文档/源码

光伏离网逆变器的设计有点像搭乐高——你得把电力电子拓扑和控制算法这两块"积木"严丝合缝地卡在一起。今天咱们就拆解一个基于TMS320F28335的实战方案,这个DSP芯片自带浮点运算单元,对付复杂的控制算法比传统定点芯片顺手得多。

量产光伏离网并网逆变器设计资料(TMS320F28335) 这个是单项的,三相价格一样 本装置DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构,以TI公司的浮点数字信号控制器TMS320F28335 DSP为控制电路核心,采用规则采样法和DSP片内ePWM模块功能实现PWM和SPWM波。 PV最大功率点跟踪(MPPT)采用了恒压跟踪法(CVT法)来实现,并用软件锁相环进行系统的同频、同相控制,控制灵活简单。 注:系统DCDC和DCAC的驱动PWM都由TMS320F28335提供,离网运行。 包含:原理图/PCB/文档/源码

先说硬件架构:前级Boost升压电路负责把光伏板的输出电压抬到母线电容的额定电压。这里有个细节,用28335的ePWM模块生成驱动信号时,死区时间必须留足。看这段配置代码:

EPwm1Regs.DBRED = 500;  //上升沿死区500ns
EPwm1Regs.DBFED = 500;  //下降沿死区500ns
EPwm1Regs.CMPA.half.CMPA = 1500;  //占空比初始值
EPwm1Regs.TBPRD = 3000;  //PWM周期对应20kHz

这里用TBPRD寄存器设定PWM频率,20kHz的开关频率在效率和噪声之间取得平衡。CMPA的值动态调整实现MPPT,不过这个方案用的CVT法其实有点"偷懒"——直接让光伏板工作在某几个预设电压点,省去了扰动观察法的计算开销。实测代码里就几个if-else搞定:

if(Vpv > 32.0) duty -= 5;
else if(Vpv < 30.0) duty +=5;

后级全桥逆变部分讲究波形质量,规则采样法生成的SPWM比自然采样法更适合DSP实现。配置ePWM模块时要注意互补通道的相位关系:

EPwm2Regs.TBCTL.bit.PHSEN = ENABLE;  //启用相位加载
EPwm2Regs.TBPHS.half.TBPHS = 0;     //主通道相位0°
EPwm3Regs.TBPHS.half.TBPHS = 1800;  //互补通道180°偏移

软件锁相环这里玩了个小花招——用DSP的CAP模块捕获市电过零点,然后动态调整载波相位。实测代码中这个二阶滤波器是关键:

phase_error = grid_zero_cross - expected_cross;
integral += phase_error * 0.01;
phase_adj = Kp * phase_error + Ki * integral;

离网模式下有个坑得注意:突卸负载时的电压尖峰。方案里用软件实现的虚拟阻抗来缓冲,这个微分环节挺有意思:

//虚拟阻抗计算
deltaV = (I_load - I_load_prev) * 0.5;  //0.5Ω虚拟阻抗
V_ref -= deltaV; 
I_load_prev = I_load;

整套源码里最让我眼前一亮的是并离网无缝切换策略——通过检测母线电压跌落速度来判断电网状态,比单纯比较电压阈值可靠得多。这个微分检测算法实测响应时间<20ms:

dv_bus = (Vbus - Vbus_prev) / Ts;
if(dv_bus < -50.0) grid_loss = 1;  //50V/ms跌落视为断电

最后说下这个方案的量产优势:三相硬件成本不变但软件可复用,TI官方提供的CLA协处理器还能腾出30%的MIPS余量。不过要是让我改进,可能会把CVT法换成改进型电导增量法,毕竟现在28335的算力完全hold住。

更多推荐