【问题标题】:Simulink PID block vs derivative/integratorSimulink PID 模块与微分/积分器
【发布时间】:2019-11-09 18:22:31
【问题描述】:

我正在 Simulink 中制作 PID 模型,但遇到了问题。在下图中,您可以看到我尝试了两种不同的方法:直接使用 PID 块和使用带有微分/积分器块的增益。为什么这些会产生第二张图片中显示的两个非常不同的结果?使用 PID 块与我从 rltool 获得的结果一致。谢谢。

Simulink Model

Result to Step Response

【问题讨论】:

    标签: matlab simulink


    【解决方案1】:

    内置 PID 模块和您的 PID 控制器之间的微分实现不一致。如果单击 PID 块,您将看到它不使用纯导数,而是使用提供高频滚降的近似值。 PID块中的微分近似为:

    默认值为 N=100。当Kd 不为零时,使用步进输入(技术上具有无限导数)会导致两种实现之间存在明显差异。

    如果将底部实现中的导数模块替换为与导数近似具有相同系数的传递函数模块,则输出将与使用 PID 模块的结果相同。

    【讨论】:

    • 我做了this,效果很好。
    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多