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.

[参考译文] TMS320F28069F:如何设置 Kp、Ki 的速度 PID?

Guru**** 2540720 points
Other Parts Discussed in Thread: MOTORWARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/711797/tms320f28069f-how-to-set-kp-ki-of-speed-pid

器件型号:TMS320F28069F
主题中讨论的其他器件:MOTORWARE

尊敬的 TI 成员:

我想根据 motorware 调整自定义代码的速度 PID 参数。

我在 CTRL_setParams()处更改了 Kp 和 Ki,如下所示

//设置默认速度 PID 控制器参数
// Kp =_iq (0.02*pUserParams->maxCurrent *pUserParams->iqFullScaleFreq_Hz/pUserParams->iqFullPereParams->iq+iQFullPareUserParams->iQUPerpParams->iQ1ruleUserParams->iQ/2>IqParpFullParams->IqParams->IqUserParpFullParams->IqParpFullParams->IqUPerpFullParams->IqPareUserParams->IqUr;
//




outMax =_IQ (1.0);

PID_setGains (obj->pidHandle_spd、Kp、Ki、Kd);
PID_setUi (obj->pidHandle_spd、_Iq (0.0));
PID_setMinMax (obj->pidHandle_spd、outMin、outMax);KP_setHandle_Kd
、CTRL_Handle、Kd、Cd、Cd 类型;PID_Handle、Cd (Cd) 

我可以看到 KP 和 KI 在开始时就像我在拍摄后所想的那样受到了升级。

在我运行电机后、它恢复为原始值。

我找不到哪个代码更新了 Kp、Ki 值。

因此、我无法测试速度 PID 的可调参数。

请问如何更新速度 PID 的 Kp、Ki 值?

提前感谢

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

    我假设您的参考项目是 lab05b 或 lab10a。 将通过调用 updateKpKiGains ()来更新速度/电流的 Kp 和 Ki,因此您只能更改 gMotorVars.Kp_SPD 和 gMotorVars.KI_SPD 来调整速度环路。 下面提供了更多详细信息、供您参考。

    速度和电流环路的新 Kp 和 Ki 将在 CTRL_updateState()中设置,如下面的代码所示,在后台循环中调用。

    //更新控制器状态
    bool flag_ctrlStateChanged = CTRL_updateState (ctrlHandle);

    您可能会在 CTRL_updateState()中找到以下代码,但 CTRL_setupEstOnLineState()位于 ROM 中,可为速度和电流环路更新 Kp 和 Ki。
    if (EST_isOnLine (obj->estHandle))

    //设置估算器的在线状态
    CTRL_setupEstOnLineState (handle);

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

    让我再问一个有关 ROM 更新的 Kp、Ki 参数的问题
    ROM 更新的 Kp、Ki 参数是运行条件的最佳值还是仅使用当前电机参数计算出的值?
    我想知道是否最好使用更新后的值。

    我期待您的详细回答、以供参考。

    提前获得感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只需在 ROM 代码中更新并将设置 Kp 和 Ki 为速度和电流的 PID 对象、但您可以根据需要在后台永久循环或 ISR 循环中计算和设置 Kp 和 Ki。 根据电机参数计算默认 Kp 和 Ki,在 USER_calcPIGains()中重新计算电流 PID 的 Kp 和 Ki,并在 updateKpKiGains()中进行更新,两者都是项目中的开放源码。 您可以通过调用 updateKpKiGains()来更改速度和电流的 Kp 和 Ki。 以上说明仅支持 lab1~lab10。

    如果您正在设计基于项目的 lab11a 或 lab11b、Kp 和 Ki 将在开源项目实验室文件中计算和更新、而不是在 ROM 代码中。