TMS320F28335/DSP28335 光伏逆变器 设计方案资料 原理图 PCB AD19格式 PROTEL99SE格式 程序源代码 设计说明 资料包括设计说明/原理图 PCB/源代码 只做参考,需要一定的基础。 不提供解说,谢谢! 资料具有可复制性,售出不退不换,请看清再买! 本装置DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构,以TI公司的浮点数字信号控制器TMS320F28335 DSP为控制电路核心,采用规则采样法和DSP片内ePWM模块功能实现PWM和SPWM波。 PV功率点跟踪(MPPT)采用了恒压跟踪法(CVT法)来实现,并用软件锁相环进行系统的同频、同相控制,控制灵活简单。 注:系统DCDC和DCAC的驱动PWM都由TMS320F28335提供,并网运行。
最近在搞光伏逆变器设计的朋友可能会对TMS320F28335的方案感兴趣。这个DSP芯片自带浮点运算单元,搞电力电子控制确实比传统定点DSP顺手不少。咱们直接看干货,系统采用Boost升压+全桥逆变结构,重点说几个硬件佬最关心的代码实现细节。
先看PWM生成部分,DSP的ePWM模块配置是关键。下面这段初始化代码配置了载波频率和死区时间:
void InitEPwm1(void) { EPwm1Regs.TBPRD = SYSTEM_FREQ / (2 * PWM_FREQ); //20kHz载波 EPwm1Regs.TBPHS.half.TBPHS = 0; EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; //上下计数模式 EPwm1Regs.DBFED = DEAD_TIME; //死区时间400ns EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; EPwm1Regs.CMPA.half.CMPA = EPwm1Regs.TBPRD / 2; //占空比初始化50% }这里用对称PWM模式的好处是谐波特性更好,特别适合逆变器应用。注意TBPRD寄存器决定了PWM周期,实际调试时要根据开关管特性调整死区时间参数。
MPPT部分用了恒压跟踪法,代码实现比扰动观测法简单。核心逻辑在电压环控制:
float CVT_Control(float Vpv, float Vref) { static float DutyStep = 0.001; float duty; if(Vpv < Vref - 0.5) //电压偏低时加大占空比 duty += DutyStep; else if(Vpv > Vref + 0.5) duty -= DutyStep; return constrain(duty, 0.05, 0.95); //限制Boost电路占空比范围 }虽然现在更流行增量电导法,但CVT法在光照稳定的场景下完全够用,关键是计算量小,对DSP资源占用少。注意这里的步进值要根据实际光伏板特性调整,太大会震荡,太小响应慢。
TMS320F28335/DSP28335 光伏逆变器 设计方案资料 原理图 PCB AD19格式 PROTEL99SE格式 程序源代码 设计说明 资料包括设计说明/原理图 PCB/源代码 只做参考,需要一定的基础。 不提供解说,谢谢! 资料具有可复制性,售出不退不换,请看清再买! 本装置DC-DC采用Boost升压,DCAC采用单相全桥逆变电路结构,以TI公司的浮点数字信号控制器TMS320F28335 DSP为控制电路核心,采用规则采样法和DSP片内ePWM模块功能实现PWM和SPWM波。 PV功率点跟踪(MPPT)采用了恒压跟踪法(CVT法)来实现,并用软件锁相环进行系统的同频、同相控制,控制灵活简单。 注:系统DCDC和DCAC的驱动PWM都由TMS320F28335提供,并网运行。
软件锁相环部分用了DSP的捕获单元配合算法实现:
void SPLL_Update(float gridVoltage) { static float theta = 0.0; float error = gridVoltage - sin(theta); theta += 0.01 * error + 0.0001; //比例积分调节 if(theta > 2*PI) theta -= 2*PI; EPwm2Regs.CMPA.half.CMPA = (EPwm2Regs.TBPRD/2) * (1 + m*sin(theta)); //SPWM调制 }这个简化版锁相环通过不断修正相位角θ实现同步。实际工程中需要加入低通滤波和频率跟踪,但基本框架就是这样。注意m为调制比,一般不超过0.9留点安全裕量。
原理图里有个细节要注意:驱动电路建议用光耦隔离+自举电路方案,PWM信号从DSP输出后先经过TC4427这类驱动芯片再推MOS管。PCB布局时注意功率地和信号地分开,在Boost电感下方铺铜散热效果更好。AD19格式的文件可以直接查看叠层设置,四层板中间两层做电源层挺合理。
最后提醒下,这套代码需要配合TI的controlSUITE库使用,编译前记得包含DSP2833x_Project.h头文件。中断服务程序里记得清除PIE组标志位,不然会卡死。实测发现当PWM占空比突变时,适当加入斜坡函数能有效避免电流冲击。