精确控制水温


9

我有以下设置:

  • Arduino Duemilanove
  • 小型热水器与光继电器连接(PWM正常)
  • 防水DS18B20温度传感器
  • 未知水量(但温度传感器和加热器始终在水下)。

如何根据温度传感器的读数准确控制水温?准确地说,我指的是达到温度传感器的精度(在这种情况下为±0.5°C)。一切都应该在Arduino上运行,因此没有额外的数据存储或处理能力。对于调试,我显然可以使用计算机。

我已经尝试过运行PID,但似乎真的很难

  1. 避免超调-最初或在添加(冷)水时超过目标温度
  2. 加入冷水后要适当稳定。

您是否已对PID进行了调整,或者只是使用标准值?
彼得·布鲁姆菲尔德

我尝试使用各种“如何调整PID”指南来调整PID参数,但是没有运气。我也尝试了PIDAutotune,但无法从中得到更好的结果。我并不是说PID不适合这个。
Olli 2014年

使用水加热,您将有很多不一致之处。储罐中的加热器相对于温度探头在哪里?
马特·克拉克

1
您可能必须添加一些将水混合在一起以使温度均匀的方法。然后,您必须考虑加热元件的热​​特性,禁用后冷却所需的时间等。这也取决于系统中的水量。如果您可以控制加热元件的温度,那将大有帮助。
丹尼尔(Daniel)

这不是问题ATM的一部分,但值得注意的是:不要混淆准确性,准确性和可重复性。精度表示报告的温度与实际温度有多接近。精度是器件可分辨的最小差异(DS18b20为0.625摄氏度)。重复性是同一温度下报告的测量值彼此之间有多少差异。后两个比第一个更令人关注。即使使用+/- 0.5degC的精确传感器,您仍然可以将温度保持在几分之一/ 16 degC的范围内(或至少区分差异,这是必要条件)...
JRobert

Answers:


2

您需要知道系统的响应时间和测量的可重复性以表征数据(建立置信度)。我建议先取样并取平均值,然后再重新打开加热器。

恕我直言,水不会愉快地停留在0.5°C内。您可以允许粗略模式和精细模式吗?对于较大的差异,使用较高的PWM,然后在接近目标时使用较低的PWM。

一旦达到目标,有几种方法可以尝试改善温度稳定性。虽然像PID这样的预建功能适用于许多人,但我通常会手动实现此类功能。


0

BrettAM,dE(误差变化率)将随着控制参数而变化,在这种情况下,加热元件信号的脉冲宽度由PID进行更改。我的用语是温度误差变化率是一个糟糕的选择。导数项也将用于解决水的比热随温度的微小变化(20℃时为4.186 kJ /(kg K)至100 ℃时为4.219 kJ /(kg K))。

我的意思是,是的,导数项是计算dE的变化率。由于此处的误差是所需温度与实际温度之间的差,因此导数可计算出水加热速率的变化。

问题在于,通常很难创建带有导数项的稳定系统。PID系统应主要基于比例项。我认为,当改变水量时,会产生更多的非线性,而不是PID可以补偿的。因此,PID需要具有一定的可重复性,并且如果水位严重变化,其系统将不再可重复。

对操作人员:在我的类似设计中,我将尝试使用小型散热器/风扇组合和12V直流泵使水流过,作为冷却水的方法。我觉得这可能会更好。如果成功,我会让你知道。


欢迎使用Arduino SE!这并不能直接回答问题(似乎可以更多地答复其他评论)。您能否使用“编辑”按钮来阐明此信息如何回答问题?谢谢!
匿名企鹅

-2

您需要保持被加热的水量恒定。当您改变水量时(如您提到的那样添加冷水),水温升高的速率将改变。比例积分微分控制器(PID)可以观察到您要控制的变量的微分(变化率)。如果温度变化率不是(合理)恒定的,则PID将永远无法正常工作。

研究水的比热,主要是方程Q = c m dT。Q是增加的热量,我认为在您的设置中是恒定的。m是被加热物质的质量(必须保持恒定!)。c是水的比热,为4.186焦耳/克*℃。如果Q,m和c为常数,则为dT,那么水温的上升速度也将为常数(实际上,c随着温度的变化而略有变化,但是我要说的是,如果您的温度从0开始, 100C)。尝试用恒定的水量调节PID,可能会得到更好的结果。

您正在使用什么热水器?我目前正在做类似的事情,但尝试使用化学实验室的热板,并遇到巨大的过冲。我曾经考虑过改用水族箱加热器,但想知道您正在使用什么?

-马特


PID不假定变化率是恒定的。如果dE(误差变化率)恒定,则“ D”项将不存在。此外,由于高温将损失更多的热量,因此水在高温下的加热速度会变慢,因为其中有多少水。PID可能已针对特定的热质量进行了理想的调整,但它仍应适用于各种水位和外部温度/压力。
BrettAM,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.