请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F2800155主题中讨论的其他器件:SFRA、 C2000WARE
工具/软件:
嗨、
Im 尝试在工程中使用 SFRA。
我可以使用 GUI 进行连接、但即使连接后、所有控件也会显示为灰色。
Im using windows 11 - Language 设置为 English(美国)。
我将附加用于处理调用的.h/.c 文件。
在我的 main() 函数中、我调用了
SFRA_PORT_BACKGROUND ();
增量。
我以 100kHz 的频率运行 PWM、并使用 DCL_runpi_c7 () 函数 PI 控制器在占空比中间进行测量。
Im 在完成采样/转换时轮询 ADC 标志以运行控制器。
显示了在完成 ADC 后运行的代码的相关部分:
增量。
我以 100kHz 的频率运行 PWM、并使用 DCL_runpi_c7 () 函数 PI 控制器在占空比中间进行测量。
Im 在完成采样/转换时轮询 ADC 标志以运行控制器。
显示了在完成 ADC 后运行的代码的相关部分:
//将 ADC 序列结束标志清零一次。
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
//float ref_ctrl = SFRA_PORT_INPLING (SETPOINT); //返回基准+注入扰动
CONST 悬空 ADC_INV =(1.0f/4096.0f);
float ref_ctrl_pu = SFRA_PORT_INPLING (SETPOINT * ADC_INV); //按单位进入 SFRA
float ref_ctrl = ref_ctrl_pu * 4096.0f; //返回到 PI 的计数
//第 1 阶段--------------------------------------------------------------------------------
// 1。 计算 ADC 样本的平均值。
浮点比较= PWM_COMPARE[ePWM1];
float old_duty_cycle = 1.0f -(inv_period * compare);
浮点 ADC_avg =(float) AdcaResultRegs.ADCRESULT1 * OLD_DUTY_CYCLE;
// 2. 进行 PI 计算和缩放。
浮点 pi_output = DCL_runpi_C7(μ π_current1、ref_crl、adc_avg);//运行 PI 控制器。
// 3. 钳制新的比较值、并更新数组副本
COMPARE = PERIOD -(PI_OUTPUT * PERIOD);
PWM_COMPARE[ePWM1]=比较;
EPwm1Regs.CMPA.bit.CMPA =_f32toui16r (compare);
悬空 u_sfra = pi_output; //已经是 0..1
浮点 y_sfra = ADC_avg * ADC_INV; //按单位提供反馈
SFRA_PORT_COLCT (&u_sfra、&y_sfra);
是否有任何帮助使此实用程序正常工作?
是否有任何帮助使此实用程序正常工作?
e2e.ti.com/.../SFRA_5F00_PORT.he2e.ti.com/.../SFRA_5F00_PORT.c