【问题标题】:Arduino PID Autotune not tuningArduino PID Autotune 未调整
【发布时间】:2019-07-01 10:23:01
【问题描述】:

我正在构建一个代码来控制一个加热器,它使用Arduino-PID-AutoTune-Library 连接到一个 SSR 的 PWM 输出。在使用正常模式(不是模拟,而是使用热电偶的实际模拟输入)操作时,我目前在使用上述库时面临两个问题。

  1. 开始操作时温度超调。

    我尝试了几个常量的值

    • kp=2, ki=0.5, kd=2
    • kp=1,ki=0.8,kd=0.8
    • kp=1,ki=0.5,kd=0


    但温度仍显着超调。

    例如如果设定点为 100°C,则过程值上升到 130-140;°C,然后回到 95 到 110°C 之间的稳定状态。

  2. 当我使用自动调谐功能时,Arduino 进入调谐模式,但 PWM 输出计数只是在 50 和 150 之间切换,它永远不会退出自动调谐模式,并且温度持续升高,甚至超过 200 °C 虽然设定点是 100°C。

【问题讨论】:

    标签: arduino pid-controller


    【解决方案1】:

    您的 Kp 太高,这就是您出现超调的原因。根据我在设计 PID 时的记忆,对我来说,比例增益通常小于 0.01。(也就是说,这取决于应用程序) 我不知道 arduino 自动调整,但您可以使用 matlab、系统的传递函数或使用奈奎斯特图调整变量。这是一个相当复杂的过程。

    【讨论】:

      【解决方案2】:

      从 kp 开始,每次加 0.01,然后当你接近目标时 开始将 ki 调整 0.01,然后再调整 kd。

      就像在 wiki 中一样,但这次增加应该大大降低以使其准确

      https://upload.wikimedia.org/wikipedia/commons/3/33/PID_Compensation_Animated.gif

      【讨论】:

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