TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28335: PWM移相后会导致ADC采样点偏移

Part Number:TMS320F28335

各位工程师们好,现在我有个问题;我用F28335做三相交错并联双向DCDC,PWM1,3,5各移相120°,PWM2,4,6各移相120°;我用PWM1的过零点触发PWM中断,之后就进行AD采样,得三相电感电流;但是目前我只有PWM1时采样的电感电流值是正确的,采样在了电感电流上升沿的中电,但是其他的PWM动作时,采样的电感电流与PWM1互差了120°,采样的电感电流值就不在上升沿的中点了,这应该怎么样才可以时PWM1~6都动作时,都可以采样到电感电流上升沿的中电呀;期望工程师们的回答,感谢!

Yale Li:

AD采样可以由EPWM模块的ET子模块自动触发。每一路采样可以单独设置在每一路PWM信号的特定时刻进行采样:

sprui07_TMS320x2833x, TMS320x2823x Technical Reference Manual第222页

,

?? ?:

这种方法我也试了,我用PWM2做了实验,还是在电感电流的下降沿采样的,我的配置如下:

EPwm2Regs.ETSEL.bit.SOCASEL = 2; EPwm2Regs.ETSEL.bit.SOCAEN = 1; EPwm2Regs.ETPS.bit.SOCAPRD = 1;// EPwm2Regs.ETPS.bit.SOCACNT = 1;// EPwm1Regs.ETSEL.bit.INTSEL = 1;// EPwm1Regs.ETSEL.bit.INTEN = 1;// AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1=1; //start AD// asm(" RPT #10 || NOP");

while (AdcRegs.ADCST.bit.INT_SEQ1== 0); // Wait for interrupt AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; mMainRlyOn; wDcIlACurrSample = (INT16U)(((ADCRESULT2>>4)+(ADCRESULT3>>4))/2); fDcIlACurrReal = ((float)(wDcIlACurrSample * 3)/4095); fDcIlACurrReal = (fDcIlACurrReal – 1.495)*70-0.132882819; // fDcIlACurrReal = fDcIlACurrRealy – fDcIlACurrRealOffset;

AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;

,

?? ?:

更改了ET的触发模式,采样点都不变,一直在一个位置

,

Yale Li:

你是想让所有PWM对应的AD采样在同一时刻发生?还是每一路都自定义采样发生的时间?

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28335: PWM移相后会导致ADC采样点偏移
分享到: 更多 (0)