深入解析DSP28335三相逆变电路电压闭环程序与三相逆变数字电源程序的源代码及PDF说明,详...

张开发
2026/4/9 17:46:03 15 分钟阅读

分享文章

深入解析DSP28335三相逆变电路电压闭环程序与三相逆变数字电源程序的源代码及PDF说明,详...
DSP28335三相逆变电路电压闭环程序三相逆变数字电源程序。 包括源代码文件和PDF说明文件。 详细说明了代码含义三相逆变电路电路电压闭环分析电路设计步骤软件设计流程软件调试步骤等。最近在搞三相逆变电源的项目用DSP28335做电压闭环控制真是酸爽。这玩意儿既要懂电力电子又要会写代码调试时被炸过几次管子的兄弟应该都懂。今天咱就唠唠这个数字电源开发里的门道关键代码直接贴出来分析。硬件部分建议先拿现成驱动板练手重点注意母线电容的ESR参数。我见过有人拿普通电解电容硬上结果闭环震荡直接炸出烟花。软件层面最核心的是ADC同步采样用EPWM触发采样序列这个配置特别关键void Init_ADC(void) { AdcRegs.ADCTRL1.bit.ACQ_PS 0xF; //采样窗口16个SYSCLK AdcRegs.ADCTRL3.bit.ADCCLKPS 3; //HSPCLK四分频 AdcRegs.ADCMAXCONV.bit.MAX_CONV 2; //转换3个通道 AdcRegs.ADCCHSELSEQ1.bit.CONV00 0; //A相电压 AdcRegs.ADCCHSELSEQ1.bit.CONV01 1; //B相电压 AdcRegs.ADCCHSELSEQ1.bit.CONV02 2; //C相电压 }这段配置实现了三相电压同步采样注意ADC的采样保持时间要和PWM载波周期匹配。之前有个坑是采样窗口设太小导致结果抖动后来发现是没考虑PCB走线的分布电容。DSP28335三相逆变电路电压闭环程序三相逆变数字电源程序。 包括源代码文件和PDF说明文件。 详细说明了代码含义三相逆变电路电路电压闭环分析电路设计步骤软件设计流程软件调试步骤等。闭环控制的核心在PID算法实现这里用增量式PID防止积分饱和。特别要注意Q格式处理DSP的定点运算得做好防溢出int32 PID_Calc(PID_Struct *pid, int32 error) { int32 p_term _IQmpy(pid-Kp, error); int32 i_term _IQmpy(pid-Ki, pid-integral); int32 d_term _IQmpy(pid-Kd, error - pid-last_error); pid-integral error; pid-last_error error; //输出限幅防止过调 int32 output p_term i_term d_term; output (output pid-max_out) ? pid-max_out : output; output (output pid-min_out) ? pid-min_out : output; return output; }调试时建议先开环跑SPWM用示波器看死区时间是否正常。重点检查EPWM模块的CMPA/CMPB配置特别是动作限定模块AQ的设置EPwm1Regs.AQCTLA.bit.CAU AQ_SET; //CTRCAU时置高 EPwm1Regs.AQCTLA.bit.CAD AQ_CLEAR;//CTRCAD时拉低 EPwm1Regs.DBCTL.bit.OUT_MODE DB_FULL_ENABLE; //使能死区 EPwm1Regs.DBFED 100; //死区上升沿延迟 EPwm1Regs.DBRED 100; //死区下降沿延迟有个骚操作是拿CCS的Graph功能实时看电压波形比用串口打印快得多。遇到闭环震荡别慌先把Ki设0调纯比例然后慢慢加积分项。记得在软件里埋几个观测变量实时监控PID输出和电压误差值。最后说个血泪教训PCB的地线处理不好会导致ADC采样漂移。有次调了三天发现是数字地和功率地之间形成了环路后来在ADC基准脚加了个π型滤波才解决。硬件软件真是打断骨头连着筋缺哪边都玩不转。

更多文章