我在风车旁现场测量温度时有一个物联网设备。观看此视频以了解什么是风力涡轮机-基本上是连接到发动机的大风扇。

昨晚,当风力涡轮机运行时,我开始获取温度读数,该读数迅速变化,在7秒内最大变化为29F。参见下面的图表,以及该链接上的数据:


我以前从未见过类似的东西,并且在类似情况下,我在现场有50多个DS18B20探头。我确保从探头重新计算CRC并进行实际值的大量测试,因此我很确定下面的值等于DS18B20实际认为的温度。

我最好的理论是先将温度探头弄湿,然后风扇将空气吹过,然后冷却下来。这种解释似乎最适合,但我不明白它如何使DS18B20的温度降至数据中的最低水平—记录的最低温度为-24C°/ -12F°,这似乎

还有其他可能导致这种情况的原因吗?

#1 楼

请记住,DS18B20返回的值取决于所接收的电压。如果此电压有波动,那么您的读数也将变化。我已经看到我的在几秒钟内从20C升至-127C ...发现我的一根电线开始短路。更换电线,问题消失了。我可能会猜测您的传感器可能正在发生类似情况?

评论


这似乎不太可能,因为我正在重新计算主机设备上的CRC。我同意@brendmcl。遇到此问题时,您是否正在重新计算CRC?

–希思·威斯布鲁克
18年5月11日在18:38



@HeathWestbrook:不,我不是。实际上,我每秒进行几次读取,然后进行平均.....而将读数从当前移动平均值中减去+/- 10%。布伦丹所说的是有道理的;剧烈的电压波动肯定会很难报告温度:)如果您怀疑电压不稳定,可以随时在电源线上放置一个电容器以尝试使其平滑。

– JD艾伦
18年5月11日在22:21

要记住的另一个通配符是上拉电阻的容差。我预计如果暴露在这种热变化下,电阻会发生很大变化。但是,在这种情况下,您的CRC也会捕获它,因为它仅影响读数的数字传输,而不影响读数。回复:每秒读取几次数据-可能需要注意。我的一些DS最多需要500毫秒来读取和传输单个读数(不确定该块是在读取中还是在传输中,尽管我怀疑是后者)。

–布伦丹·麦克
18年5月14日,0:25



#2 楼

再回上一个答案:DS18B20是一个数字传感器-它在本地读取读数,将其存储在本地,尽管单独的读取过程以数字方式将其结果(通常为12位分辨率)通过所连接的OneWire总线传输。读数到主机的传输对电压不敏感(因为不同的电压将代表不同的温度值)。但是,电压问题会破坏信号。

-127C读数实际上是从OneWire总线代码0xFF返回的(即1111 1111),这是总线的错误,它未能从DS18B20接收读数。作为-127的十进制有符号整数。

关于异常读数(在数字上有效),我没有确切的根本原因答案,但已经经历并解决了类似问题。

在我的情况下,使用了特定的传感器与其他人共享总线时,电缆布线较长(大约20m),偶尔会返回80c(而集管箱中的水温通常范围是15-25)。

我起初虽然是由于不匹配的信号反射而导致数字损坏,尤其是在与较短的运行时间混合时,但是应该已经在CRC中检测到了这一点,并且在隔离到单个总线时,问题仍然存在。

有趣的是,即使DS保持非常稳定并浸入20K升的水中,我也将问题的范围缩小到了线温度的快速热变化(在一个小时左右的时间内从20C降至10C)。我将其归因于电源线的电导率略有变化。 (如果它与信号线相关,则CRC应该再次捕获它)。激活风扇很可能是类似情况。

我已经通过两种方式(虽然都不是100%可靠的)和软件方式解决了它。

在电气上,将上拉电阻靠近传感器放置(而不是在总线终端),通常会在总线错误方面避免(-127s),从而获得更加稳定的结果。另一个电气解决方案是增加电源电压,以补偿长时间运行到5.2v,同时将总线端电阻降低到2.2K。这几乎摆脱了奇特的80C读数,但并没有完全消除。

在软件中,我接受了不可靠性的处理,并实施了一些健全性检查,如果检查结果明显错误,则我的系统(每2分钟轮询一次),只需重复上一个有效结果以及警告。

我的软件健全性检查包括:对适用于我所有传感器的可能有效值(> -5 <70)进行基本范围检查;以及使用可调时间窗检查自上次有效结果以来的越界增量变化(以防一系列无效结果持续超过该时间窗-在这种情况下,我将下一个有效范围值视为真正有效)。鉴于您的风力发电机可能触发的快速变化,这可能不合适,也可能不合适。

另一个可能不容忽视的问题是,也许您只有一个躲避传感器。

评论


80C接近85C,而85C是温度寄存器的上电复位值。您确定收到的是80C而不是85C吗?我确保不像上面提到的那样通过过滤在主机设备上接受85C。我还进行了其他完整性检查,但是由于我的设备遇到的温度范围更广,因此我允许有效读数最高为60°C,最低为-25°C。以上所有读数均属于这一范围。这使我认为这不是电气问题,更可能是ds18b20传感器实际经历的现象,例如蒸发

–希思·威斯布鲁克
18年5月11日在18:43



是的,干/湿包棉的温度可能是一个因素-特别是在空气驱动的快速蒸发的情况下-您所看到的跳动仍然很大。 85c启动良好的选择-我将返回并检查我的日志。

–布伦丹·麦克
18年5月12日在22:27

@Heath Westbrook-正确。不得不挖掘一点,但足够确定值是85C而不是80。非常感谢-没意识到这一点。查看我的时间日志,该事件是非常随机的,这使我认为它的电源电压问题导致该问题在我的其他三角剖分中重置。

–布伦丹·麦克
18年5月14日在0:11

@Heath Westbrook对您的问题进行了进一步的思考-振荡周期是否与粉丝的左右旋转同步?该地区是否有其他温度或湿度传感器(例如,远离风),可以用来同时检查环境? (观看了您的vid btw-非常有趣)。

–布伦丹·麦克
18年5月14日在0:16

@BrandonMCL NP在85C上。在我意识到发生了什么之前,我很长一段时间都遇到了这个问题。

–希思·威斯布鲁克
18年5月15日在4:02