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.

[参考译文] TMS320F28379S:FCL 库可以添加低通滤波器吗? FCL 库可以调整 Kp、Ki 参数吗?

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1039927/tms320f28379s-fcl-lib-can-add-low-pass-filter-fcl-lib-can-tune-kp-ki-parameters

器件型号:TMS320F28379S

您好、TI 专家、

我现在使用 tms320f28379开发电机控制。

现在、我需要尝试使用 FCL 来增加电流环路带宽、并查看 TI 提供的一些文档。  

我有一些油炸玉米饼:

我看到用户只需要提供电机相关参数、如 LD、LQ、Rs...和目标带宽、 然后、FCL 库将自动计算控制表 Kp、ki 以满足要求、我的理解是否正确?

2.如果用户想自行微调控制参数 Kp、Ki 的 FCL、是否可用?

3.如果用户想在 FCL 中添加一些滤波器、例如低通或陷波滤波器以降低高频噪声、是否可用?

期待您的回复。

Feng

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

    1.是的

    2.我们提供的代码是打开的,用户可以根据自己的选择自由编辑。

    3.与2.相同的答案。

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

    如何实施项目3?

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

    我可以在哪里将滤波器添加到 FCL 中? 是否有任何示例代码可供参考?

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

    另一个问题:如果使用 WCCD/wddQ 为 FCL 提供目标带宽、那么 FCL 将自动计算 Kp、Ki、对吧? 如果是、那么我如何自行调整 Kp、Ki? 这两种方法是否存在冲突? 我不理解 this.pl的帮助。

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

    代码是开放的、因此您可以根据自己的选择对其进行调整、以便它们不会发生冲突。 您可以重写它以接受 Kp、Ki 的直接值、或根据某些公式计算它们、但您需要进行实验。

    您想知道用户是否可以添加一些筛选器、我说是。 我没有关于在何处添加的建议。  

    有许多类型的筛选器、您可能需要对实现方法进行一些 Google 搜索。 在此示例中、我们使用了一阶低通滤波器来校准电流反馈通道中的偏移。 请查看该代码。

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

    我是说在 FCL 库中向 ID 添加滤波器、IQ 闭环计算、我可以在哪里添加?

    我 检查 了源代码、FCL 库 仅使用 FCL_PI_Ctrl 函数来计算 ID/IQ 闭环。 用户看起来像一个黑盒、但我需要 Id/IQ 的 pid 输出、 那么在哪里可以向 Id/IQ 添加滤波器? 在 FCL_PI_Ctrl()函数之前添加过滤器?

    原始代码被逐行扫描以供参考

    对于非 FCL 电机控制、用户可以在 pi_macro()计算后添加任何滤波器。 请参阅以下内容:  

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

    pi_id 是结构变量。 有一个被调用的成员将存储 PI 控制器的输出。 您可能会看到在这行代码之后使用了 pi_id.out。 pi_macro 是一个 C 宏、它将替换调用它的代码块。 您可以在源代码中找到 pi_macro 实现。 将鼠标悬停在 pi_macro 上、然后按 F3以查看打开的框。

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

    我知道 pi_macro、实际上对于由用户实现的正常电流环路(不使用 FCL)、我可以在 pi_Marco 之后添加滤波器。

    但是,我的问题是:如果使用 FCL,电流环路控制是用户的黑盒,则用户不能在 PI 控制器之后添加滤波器。

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

    那么、如果使用 FCL、在哪里可以向 PI 控制器添加滤波器。

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

    我想这里有一个误解。 最新的 SDK 具有电流环路 PI 控制器的源代码、因此您可以选择对其进行编辑并访问 PI 控制器结构的变量。 pi_id.out 是 PI 控制器的输出、您可以将该输出作为输入连接到自定义滤波器。