1
\ \ begingroup \美元

我目前正在建造和编程用于电气中央供暖的控制器。该系统具有以下硬件组件:

  • 加热器
  • 温度传感器

为了控制加热系统的温度,必须打开加热器和泵。两者都是由PWM控制的。

我决定使用PID(比例积分衍生物)控制器,因为它通常在许多解决方案中使用。

我确实的第一个测试已经成功了以下设置:

  • 设定点55°C
  • P 10.
  • 我2
  • D 10.test1.

55°C的目标温度从未达到,但我对稳定的加热器结果非常满意。加热器使用了大约80%的功率,结果是一个稳定的温度输出。

我执行了更多的测试,看看我是否可以调整设置以达到设定值,但我发现加热器控制变得更不稳定(波动在50%到100%之间),其中:

  • 设定点55°C
  • P 82.
  • 我25
  • D 70test2.

这可以解释,因为我使用PID的输出来控制加热器。所以它越接近设定值,PID输出就越小。但要将温度保持在55°C,加热器可能需要90%的电量。那么我该如何调整系统呢?我在想:

  • 将设定值放到60°C,然后尝试PID稳定约55°C
  • 使用偏置(例如加热器= 50% + PID输出)

我的PID控制器使用以下公式:

加热器= kp_gain * pid_error +(kd_gain *(pid_error  -  pid_error_old)/ 55)+(ki_gain *(pid_error + pid_error_old)/ 55);

我想要的是达到55°C的设定值与一个稳定的加热器输出(我猜它将是90%左右)。我怎样才能做到这一点呢?

\ \ endgroup \美元
6
  • \ \ begingroup \美元 您是否遵循了特定的调优过程来获得这些值? \ \ endgroup \美元- - - - - -DamienD 7月13日7:40
  • 1
    \ \ begingroup \美元 此外,您的整体术语看起来很可疑 - 它应该在整个时间内集成错误,而不仅仅是最后两个样本。 \ \ endgroup \美元- - - - - -DamienD 7月13日7:44
  • \ \ begingroup \美元 @damiend我没有调整过程。我只是做一个疯狂的猜测并进行新测试。 \ \ endgroup \美元- - - - - -SPF. 7月13日7:54
  • \ \ begingroup \美元 胡乱猜测会造成更多的混乱。 \ \ endgroup \美元- - - - - -jonrb. 7月13日7:55
  • \ \ begingroup \美元 在修复控制器代码中的错误后查找PID调优。还有一些更严格的方法:) \ \ endgroup \美元- - - - - -DamienD 7月13日8:21
1
\ \ begingroup \美元

您可能希望将那些I / D“收益”转换为时间(例如秒),也许是P的满量程输出的百分比,以获得一些洞察力的洞察力。采样时间数字进入方程。

你的I公式要么是不正确的,要么是有误导性的变量名——这个错误必须被整合(否则它永远不会被抵消)。

我怀疑你需要或想要衍生行动。如果您希望使用它,最有可能在某种形式中需要平滑。

您可以遵循某种系统调整方式,如Ziegler-Nichols(1942),但首先,您的控制算法必须具有功能性。

\ \ endgroup \美元
1
  • 1
    \ \ begingroup \美元 我会研究样本时间我会改进I公式。 \ \ endgroup \美元- - - - - -SPF. 7月13日9:02

你的答案

点击“发布你的答案”,即表示你同意我们的服务条款隐私政策饼干的政策

不是你想要的答案?浏览其他带标签的问题或者问你自己的问题