【问题标题】:matlab PID controller, SISO tools gives a "pid" with s^2 in the denominatormatlab PID 控制器,SISO 工具给出一个分母为 s^2 的“pid”
【发布时间】:2014-05-18 18:03:31
【问题描述】:

当我尝试在 matlab 中使用 SISOtool 时,它为我提供了 PID 控制器的方程

0.056301 * (1+1000s)
           s(1+4.2s)

这意味着等式的结果是分母为 S^2。 这不是 PID 的方程。

我不明白该怎么做。这是否意味着该系统不存在 PID?

【问题讨论】:

    标签: matlab math pid


    【解决方案1】:

    这是否意味着该系统不存在 PID?

    不,它没有。

    教科书使用以下表达式介绍 PID 控制器的传递函数

    C(s) = Kp + Ki/s + Kd*s

    为简单起见并强调概念方面。然而,纯粹的微分很少是一个有用的术语。您可以在时域和频域中看到这一点。随着s 的增加,上面的最后一项会无限增加。在时域中,最后一项不仅可以区分有用信号,还可以区分 PID 控制器输入中的任何噪声。现在回想一下,当您区分 sincos 时会发生什么:您将前面的频率作为系数。无论如何,这是同一现象的两个方面。因此,开始设计更实用的 PID 的下一步是将术语 Kd*s 替换为以下形式的过滤器

    Kd*A*s/(s+A)

    如果您将C(s) 中的各项相加,并将此过滤器替换为Kd*s,您将在分母中得到s^2

    MatLab 中的控制工具箱相当发达(至少对于线性系统)。我不会很快驳回它给出的结果。另一方面,最好仔细检查它们。

    【讨论】:

      【解决方案2】:

      您可以通过将设计的控制器导出到 MATLAB,然后执行 pid(controller) 来查看您的 PID 控制器的表达式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多