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.

[参考译文] CCS/TMS320F28335:PID 控制器问题

Guru**** 2540190 points
Other Parts Discussed in Thread: C2000WARE, POWERSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/606422/ccs-tms320f28335-issues-with-pid-controller

器件型号:TMS320F28335
主题中讨论的其他器件:C2000WAREpowerSUITE

工具/软件:Code Composer Studio

您好!

我尝试使用 Simulink 中的 DMC pid 块对试验电路板上的普通升压转换器进行闭环控制。 它似乎提供了正确的输出、但 PID 的性能非常令人担忧。     控制 MOSFET 栅极驱动器的 PID 输出完全不稳定、我是说它产生的脉冲不稳定。 简而言之、PID 强制栅极驱动器以100%或0%的电流运行、因此电感器电流很大。 为了确认我看到的情况 、我使用普通连续 PID 控制器在 Simulink 上仿真了升压转换器、并将结果与使用 DMC PID 控制器进行仿真的结果进行了比较。 我发现 DMC 电感器电流相对于我使用普通连续 PID 控制器时获得的电流大约为 x20。 我相信有一个重大问题。

此外、我介绍了嵌入式编码器生成的 C 代码的 PID 部分、代码是完全有意义的、因为它基于理想 PID、我的意思是我在代码中找不到任何错误。 那么、什么可能是错误的呢? 或者如何获得另一个经测试/良好的 PID 控制器。 此外、我还在 C2000降压/升压转换器示例中尝试了 PID 控制器。 它不能太多工作。 我已经有一个稳定的积分器常数、我只需要一个数字 PID 即可执行它。

我相信 PID 几乎是在座每个人都知道的并且可能在某个时候使用过的东西; 因此 、我希望获得提示和帮助。 下面是我要讨论的 PID (默认常量)。

谢谢。

David。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    考虑回到一个简单的比例控制器。 如果这不能以一种可以理解的方式工作、那么可能还有其他问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    David、

    从结构上来说、您的 PID 图看起来正常。  我怀疑您没有正确的增益-数字控制器的图中默认值看起来是错误的。  由于这是一个离散时间控制器、因此在计算增益时必须考虑采样周期。  

    降压/升压转换器的采样率通常约为100kHz、或采样周期(T)为10us。  在进行转换时、积分增益乘以 T、微分增益除以 T、因此 Ki 最终通常比 Kd 小得多。  

    如上一篇文章中所建议的、您可能希望从简单的配置开始。  将 KI、KD 和 KC 设置为0、并尝试查看是否仅使用 KP 即可使其保持稳定。  然后、引入非常少量的积分作用(非常小的 Ki)。  您不需要升压转换器控制的导数路径、因此您应该能够像这样获得良好的结果。

    还有一点、您实现积分器抗饱和的方式会起作用、但有更好的方法。  我建议您查看 C2000Ware 中的数字控制库() 。  这里有几个 PID 控制器、由于您使用的是浮点器件、因此您应该能够轻松地使用它们。

    此致、

    Richard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Richard。
    我同意它必须是常数。 我已经尝试关闭所有增益、然后增大 Kp、然后增大 Ki、但仍然是一样的:我获得所需的输出、但占空比输出为1或0、这毫无意义。 DMC pid 开始看起来暗淡。 我甚至在降压/升压控制器(pid 至2p2z)中发现了比例因子67108。 我一直在努力了解他们是如何获得这个常数的、但我找不到任何有用的信息。 你能就此向我提供建议吗? 或许我不知道它可能会有所帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    David、

    我想知道它是否是您为 IQmath 拥有的 Q 值。   如何配置 MATH_TYPE 和 GLOBAL_Q?

    此致、

    Richard

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

    在浏览过您有关 YouTube 的一些视频后、我尝试了一种更有条理的方法来设计 PID。 我使用了受控体控制器的频率响应估算、并且还在我执行的仿真上使用了系统识别工具箱、以便使受控体与 PID 线性化并获得 PID 系数。 前者仅用于阶跃/正弦响应、当我在实际转换器仿真中尝试时、它失败了。 从第二种方法获得的常量在离散时间模式(大约2秒稳定时间)下提供了超慢的响应。 由于我之前使用模拟方法(运算放大器)实现了闭合升压转换器、因此我决定将积分器离散回位(Ki = 10、采样时间为0.01s)、并将其与 F28335结合使用、但它不能很好地工作。 我已经在这上面工作了两个多星期了,它变得很累。 但我觉得这是一个小问题、让我感到很不好。

    此外、我将输入电压除以20、以确保它们永远不会超过3.3V。

    我需要你的建议。

    请找到随附的用于通过系统识别工具箱和 F28335 Simulink 模型获得的控制器工作的波特图。

    谢谢。

    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Richard 说升压转换器的采样周期通常为10us。

    "降压/升压转换器的采样率通常约为100kHz、或采样周期(T)为10us。"

    您是以10微秒= 0.00001s 还是10毫秒= 0.01s 运行
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我以20kHz 的频率运行升压转换器 PWM、但离散化的采样周期为0.01s、我也尝试了0.0001s 来提高采样精度。 对于转换器、L=330e-6H、C=100e-6F、负载=100欧姆.... 我还包括了电感器 ESR。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我有一个 FPGA 升压模型、我可以尝试使用您的模型参数。 它可能无法保持、因为我的基准是200KHz PWM、您以20KHz 运行。  我目前正在使用 TI powerSUITE 工具、并且已经使用 Simulink 工具一段时间了、因此我不熟悉对其过程的特性进行诊断。

    以下是指向您可能想要参考的文章的链接。

    https://www.biricha.com/articles/foundations-part-2d-why-a-pid-controller-is-not-suitable-for-stabilizing-many-power-supply-topologies

    (笑声)

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

    非常感谢您的帮助和努力、我非常感谢您。

    我知道、在较低的占空比(约30%)下、转换器进入 DCM。 除了使用更高的采样频率之外、我在 确保 CCM 的解决 方案之一是使用一组公式设计更大的电感器、因此我不会过于担心。 然而、在试验电路板上实现了闭环转换器(使用相同的参数和20kHz 的频率)、真正让我感到困扰的是我使用2种方法(系统识别工具箱和频率响应受控体估算)设计的 PID 如何未产生稳定的结果。

    我感觉仍然是 PID 给我带来问题。 我完全被这一个骗了。

    David。