PID 控制的变量是什么?M301如何使用?如何使用此命令从 PID 切换到 bang-bang?

3D打印 马林鱼 热管理
2021-05-02 03:38:50

我想让旧的 Printrboard hotend 的 12V PID 输出控制一个继电器,该继电器连接到我正在制作的东西的 120V crockpot。我使用继电器一切正常,但由于热端加热器使用 PID 控制,每次需要加热 crockpot 时,继电器每秒发出大约 3 次咔嗒声。

这种声音不仅令人讨厌,而且可能会显着缩短继电器的使用寿命。我需要控制 crockpot 温度,所以旧 3D 打印板上的程序化热敏电阻控制是一个巨大的帮助,并且可能比替代品便宜。特别是因为该板有一个内置的 SD 插槽,可以在上电时运行任何代码。在“bang-bang”控制中,随着crockpot 加热,咔嗒声会减少,并且继电器不会损坏。

我无法更新我板上的固件以使用不同的引脚,因为它是一个非常旧的 Printrbot 板。所有必需的软件都已经使用了将近 5 年,而且真的很难找到。幸运的是,Printrboard 确实支持M301. 所以,我应该能够使用这个命令从 PID 控制切换到 bang-bang。

Marlin 的文档中,它描述了一个名为 M301 的命令,以及使用该命令的许多变量。问题是,我不知道这些变量是什么意思。

M301 [C<value>] [D<value>] [E<index>] [I<value>] [L<value>] [P<value>] 

[C<value>]  

C term (requires PID_EXTRUSION_SCALING)

[D<value>]  

Derivative value

[E<index>]  

Extruder index to set. Default 0.

[I<value>]  

Integral value

[L<value>]  

Extrusion scaling queue length (requires PID_EXTRUSION_SCALING)

[P<value>]  

Proportional value

我唯一确定的是挤出机指数为 0。

我会输入什么命令来使它成为一个棒棒的 PID 控制器,这样我就不会长期损坏我的继电器?

1个回答

我会输入什么命令来使它成为一个棒棒的 PID 控制器

没有“砰砰 PID 控制器”这样的东西。“bang bang”与 PID 互斥。M301命令只适合微调PID控制器的参数,但它不会让你切换到bang bang。不幸的是,如果您想使用 bang bang,则必须更新固件。

您可以尝试将所有值设置为 0,但 P 除外,您将 P 设置为尽可能高的值。这将导致输出在温度低于设定点时完全开启,而在高于设定点时完全关闭。然而,当温度在设定点附近徘徊时,这仍然会导致继电器快速点击。Bang bang 有一些内置的滞后(即,在继电器永远不会触发的设定点周围有一个裕度);没有办法用PID来模拟这一点。