This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28069:SPLL_1ph_F 上的失真

Guru**** 2591810 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666697/tms320f28069-distorsion-on-spll_1ph_f

器件型号:TMS320F28069

您好!

我正在处理我自己的逆变器项目。 我想生成正弦波与电网波同步。 我在 PWM 引脚之外使用 Sallen Key 低通滤波器。 R1 = 51k、 R2 = 30k、C1 = 10nF、C2 = 4nF。  

我的 SPLL 系数。

spll_obj->LPF_coeff.B0_LF=(float32)(1055.625014);
spll_obj->LPF_coeff.b1_lf=(float32)(-1044.375014);
spll_obj->LPF_coeff.a1_lf=(float32)(-1.0);

滤波器的输出为我提供具有高失真的正弦波。 我尝试了很多东西,如 更改系数、更改采样频率。 但进展不顺利。

我添加了我的代码和输出图片。 在示波器图片中、黄色是我的 SPLL 输出、另一个是网格。 问题出在哪。

Excel 文件中的自然频率是多少????

void adcTimerFxn (void)
{
//50 KHz ISR
AdcRegs.ADCSOCFRC1.All=0xFFFF;
while (AdcRegs.ADCINTFlG.bit.ADCINT1 = 0){}
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;

spll1.ac_input =((float32) AdcResult.ADCRESULT9-2048)/(float32) 2048;// SPLL 调用
SPLL_1ph_F_MACRO (spll1);
temp =(((spll1.sin [1])+1.0)/2)*EPwm2Regs.TBPRD;
EPwm2Regs.CMPA.half.CMPA =EPwm2Regs.TBPRD -_IQsat (temp、EPwm2Regs.TBPRD、0);

}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TI 在单相逆变器参考设计中实现了 SPLL 的示例代码。 请查看此设计的代码。