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.

[参考译文] TMS320F2.8377万S:防缠绕

Guru**** 2482225 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/654536/tms320f28377s-anti-wind-up

部件号:TMS320F2.8377万S
主题中讨论的其他部件:C2000WARE

您好,

这是有关反缠绕的问题。 我的以下代码是否正确。

isd_scim_err = isd_scim_ref - isd_scim;

UP1=KPI*ISD_scim_err;

//仅当不饱和时才进行ki集成
IF (VSD_scim_pi_out == VSD_scim)
{
Ui1=Ui1+kii*Tsampling*ISD_scim_err ;}

否则
{
Ui1=Ui1;
}

vsd_scim_pi_out = UP1+Ui1; // P + I

//如果超出范围,则限制输出

IF (VSD_scim_PI_out > VSD_scim_max)
{
vsd_scim = vsd_scim_max;
}
否则,如果(vsd_scim_pi_out < vsd_scim_min)
{
vsd_scim = vsd_scim_min;
}
否则
{
vsd_scim = vsd_scim_pi_out;
} 

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

    如果您在第一次调用之前初始化"vsd scim _pi _out "和"vsd scim",则应该可以正常工作,是的。 不需要第12至15行。

    您可能会发现在C2000Ware中查看DCL库非常有用,该库包含针对C28x优化的已测试PI控制器代码。

    此致,

    Richard
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢。 我没有初始化。 我会这样做并检查。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在命令ISD_scim_ref=1 (说),这将需要特定的VSD_scim。 我是否应该将vsd初始化为该特定值。

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

    Shyam

    在启动时,您可能不会获得"ISD_scim"的实际值,因此您也不知道所需的"vsd scim"。  我将初始化"vsd_scim"至其最大值和最小值之间的中间值,因此控制器在第一次调用时未饱和。  然后,控制器将自行整理。   

    此致,

    Richard  

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

    谢谢你。 在第一个调用本身上,输入的值将更改为新值(=UP1+Ui1)。 它是否取决于输入的值。 确保 VSD_scim_pi_out = VSD_scim,这样它就不会在第一次调用时进入饱和状态了吗?

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

    是的,您可以这样做。 应该没问题。

    此致,

    Richard