if((Vbus>200)&&(Short==0)&&(PFC_V==1)) { PWM3En(); PRD++; EALLOW; EPWM_setTimeBasePeriod(EPWM3_BASE,PRD); EPWM_setCounterCompareValue(EPWM3_BASE,EPWM_COUNTER_COMPARE_A,0.5*PRD); EDIS; DT -= 1; EPWM3_DT(DT); if(PRD>333)//PRD=300对应330kHz { PRD=333; SSEND1=0; } if(DT<20) { DT=20; } }
上述为软起动代码,将EPWM3配置为普通的EPWM模式,PRD逐渐增大,DT逐渐减小实现高频小占空比启动。
实验中发现在低压下EPWM发波正常,实现了代码的逻辑,如下图:
但是当我继续升高输入电压再进行软起动发现PWM会出现一段持续为高电平的现象,如下:
两者代码完全一致,只是启动电压升高了而已就会造成驱动信号的缺失。
起初怀疑是驱动芯片导致的,因此同时测量了驱动芯片的输入和输出,如下:
黄色为驱动芯片的输出,绿色为驱动芯片的输入,可见从DSP发出的驱动信号就是这样的,因此应该不是驱动芯片导致的。
只是一个普通的PWM模式,实现的功能也仅仅是高频小占空比,为什么低压就是正确的逻辑,而高压就会出现上述问题,是因为干扰导致的吗?