Arduino PID Autotune不调整

时间:2018-02-16 11:53:42

标签: arduino pid-controller

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

  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。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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