请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 7492|回复: 13

[信息发布] 【深度好文】湿度计大比拼 【8月6日翻译完毕】

[复制链接]

26

主题

553

帖子

2721

积分

金牌会员

Rank: 6Rank: 6

积分
2721
金钱
2143
HASS币
100

教程狂人

发表于 2018-7-25 16:03:46 | 显示全部楼层 |阅读模式
本帖最后由 Mirukuteii 于 2018-8-6 14:48 编辑

【自译】湿度计大比拼:DHT22,AM2302,AM2320,AM2321,SHT71,HTU21D,Si7021,BME280


发现一个bug,论坛的MD语法不能解释<sub>标签,所以文中出现的下标无法正常显示,请见谅,<sub>X<sub>意思就是下标,主要涉及的部分是硝酸铵、氯化钠、氯化镁、纯水等化学物质的化学式,其实不影响正常阅读,有空再来修正。

本文翻译自:
http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html
译者:mirukuteii(谷歌机器翻译+个人理解修改)
谢谢坛友 @懵懂的小白 提供英文原文链接

  • 介绍
  • 传感器和测试仪器
  • 结果
  • 滞后性
  • 温度计的精度
  • 响应速度
  • 每个传感器的评论
  • 参考文章和致谢

文中出现的设备及测试涵盖了当前大多数常用的低成本数字湿度计,本文仅显示测试的结果。(译者注:有关实验如何工作的详细信息,请参阅作者原文内链接。)

介绍

本文测试的传感器为:

  • 中国奥松(Aosong) AM2302(AKA DHT22)
  • 中国奥松(Aosong) AM2320
  • 中国奥松(Aosong) AM2321
  • 瑞士盛思锐(Sensirion) SHT71
  • 美国MEAS(Measurement Specialties) HTU21D
  • 美国芯科(Silicon Labs) Si7021
  • 德国博世(Bosch Sensortec) BME280

为什么没有加入DHT11:
因为DHT11显然是一种不同类型的传感器,其规格要低得多,并且我不准备在进一步的研究中用到它。在我的前面的测试中,它在规格方面表现得非常出色,但本文中,我只对相对湿度标称0-100%全范围的传感器感兴趣。(译者注:作者在之前的实验中,加入了DHT11并取得了很多数据,但是本文不会将这些数据加入比较。)

图1.jpg

图1.各种设备的包装比较。从左上方顺时针方向开始,SHT71和AM2321都使用1.27mm间距引脚。我认为AM2320这个传感器,本质上与AM2321是一样,但是封装则与AM2302相兼容。图中下排设备全部安装在第三方底板上,便于将表面贴装设备接入到2.54mm间距板上。传感器本体则是每块电路板右上角那个小的方形元件。请注意,左下方的底板标记为接受Si7021,SHT21或HTU21传感器。右侧的设备(没有白色保护膜)是HTU21D。保护膜掩盖了左侧设备上制造商的标记,但通过读取内部序列号可以表明它是Si7021。

传感器和测试仪器

奥松AM2302

通常也称为DHT22。测试包括了之前实验中的两个设备(E和F)。六个设备中最好的是E,也被我选为测试中的初始测试设备。(译者注:作者有6个DHT22,代号分别为A、B、C、D、E、F)AM2302数据文档

奥松AM2320和AM2321

AM2320实际上是AM2302的最新版本,增加了通过I2C接口进行通信的功能。它的物理尺寸稍小,但引脚相同。保留了AM2302的单线串口,使其成为一种简单的直接替代品。 AM2320数据文档

AM2321似乎和AM2320没有区别,只是使用了更小的物理封装和更窄的引脚间距。两者在电气性质方面可能是相同的。制造商的网站上有一些建议,提示AM2321可能已经停止使用,并由AM2322取代。我也不确定。 AM2321数据文档

这两个设备中的传感元件可能是相同的,我认为它们和AM2302/DHT22很相似。不过这些设备的内部结构与DHT22并不完全相同,因为它们在25°C左右没有表现出非常独特的锯齿行为。

盛思锐 SHT71

与之前测试中使用的设备相同。SHT71数据文档(译者注:作者提供的数据文档链接可能失效了,我没能打开)

MEAS HTU21D和芯科 Si7021

虽然它们是来自2个制造商的不同设备,但是我还是把准备这2个设备放在一起讨论。在正常使用中,它们在规格和通信协议方面都是一致的,甚至具有相同的I2C地址,因此可以互相替换。同样的,盛思锐 SHT21(此文未涉及到它的测试)也具有几乎相同的规格和界面。我已经看过它们配套出售的第三方通用电路底板(译者注:break-out boards不会翻译,直接翻译为电路底板),是完全一样的。(见图1。)我只发现了一个区别,就是它们的序列号不同,这可能是是确定设备型号的唯一方法。每个制造商使用的序列号格式略有不同,详见各自的数据文档。如果不尝试读取设备序列号,那么这三个传感器的功能看起上是相同的。当然,这并不是说他们都会表现得相同。虽然对于大多数正常使用来说是擦不多的,但精确的规格细节确实有所不同,尤其是在响应速度方面。 HTU21D数据表Si7021数据表

SHT21、HTU21、Si7021的一个有趣特性是它们可选择在传感元件上是否有保护性PTFE膜。对于本次测试,有和没有膜(盖子)的设备,我每个都会实验一下。(参见图1)。我本来的意图是测试一对相同的传感器,分别是有盖的和没有盖子的,但是当我拿到设备时,发现零售商给我发送了2个没有盖子的HTU21s和2个带盖子的Si7021s。只有通过读取内部序列号我才能够确定是哪个设备。虽然本文未对此进行详细讨论,但在其他地方已经研究了使用保护盖对响应速度的影响。我的结论是,几乎没有任何影响。

注意:软件中的变量类型。这些设备可以返回小于0%RH的湿度值。这是一件好事,因为它为校正一些小错误提供了冗余空间。然而,我的代码的第1个版本使用无符号类型的变量,导致数值下溢,0%最终被读取为3500%。

博世 BME280

这个设备有点不同。首先,它包含了一个其它设备没有的晴雨表。这是一个有趣的补充,我将把这点拿出来写在其他文章中,但对于本报告,我只提供温度和湿度数据。

其次,它的实现方式可能基于与其他传感器完全不同的物理原理。据我所知,其他传感器都属于聚合物电容式湿度计。博世网站、数据文档和新闻稿中没有任何关于BME280内部信息的信息。目前我认为它是一种电阻传感器,通过多孔薄膜测量电阻,而不是像其他器件一样测量薄膜上的电容。非常感谢Nava Whiteford给我发了一些关于BME280内部的扫描电子显微照片。在那些图像中,下模看起来像典型的MEMS气压计,所以上模肯定是湿度计,我猜我们看到一对大约是方形的电极,并且这对电极正在测量它们之间跨越的裂纹薄膜的电阻。(译者注:基本按照字面来翻译的,见谅)

虽然该设备的数据文档中并没有20%&lt;RH&lt;80%范围之外的精度规格,但我之前从其他博世传感器那里获得的经验就是,他们的规格:严谨且保守。博世似乎奉行“少说多干”(译者注:under-promise and over-deliver)的原则,所以我觉得不会出现超出规格范围的问题。 BME280数据表 (译者注:好像链接也打不开咯)

正如之前针对其他传感器(DHT22,SHT71)所证明的那样,过快地驱动该设备会导致自加热。与其他设备不同的是,该传感器在出厂默认配置中,就会发生这种情况。默认配置中,该设备不是按需读取,而是以尽可能快的速度连续读取值,并根据请求返回最新的可用值。该设备采样率的控制,是通过在存储器寄存器中设置0xF5实现的,数据文档中定义了多种速度选项。当按照默认的全速模式运行时,我的设备返回的温度比按每秒采集1个样本时的温度高0.5°C。每秒采集1个样本的值与轮询的操作模式一致,设备不读数的间隔时间里会进入睡眠状态。对于本次实验,速度无关紧要,所以我以1个样品/秒的速度操作。

制造商规格 AM2302 AM2320 / AM2321 SHT71 HTU21D Si7021 BME280
工作范围 0-100 0-100 0-100 0-100 0-100 0-100
绝对精度(%RH,25°C) ±3%(10-90%)±5%(<10,> 90%) ±3%(10-90%)±5%(<10,> 90%) ±3%(20-80%)±5%(<20,> 80%) ±3%(20-80%)±5%(<20,> 80%) ±3%(0-80%)±5%(> 80%) ±3%(20-80%)
重复性(%) ±0.3 ±0.1 ±0.1 - ±0.025 -
长期稳定性(%每年) 0.5 0.5 0.5 0.5 0.25 0.5
1 / e响应(秒) 5 5 8 5 18(带盖)17(不带) 1
电源(V) 3.3-5.5 3.1-5.5(AM2320)2.6-5.5(AM2321) 2.4-5.5 1.5-3.6 1.9-3.6 1.71-3.6

该表来自相应设备的数据文档。奥松的数据文档基本上没有给参数指定最大公差,而是指定“典型”值。因此,似乎不能保证任何特定设备都满足这些规范。对于其他设备,上表中的数字是最大公差,大多数设备也提供更好的“典型”规格。

测试仪器

设备的配置基本上同之前所述的一样,不过必须构建新的电路板,从而将九个设备保持在“罐”内。AM2302和SHT71器件具有专有的单线串行接口,并且是独立寻址的,每个都使用独立的GPIO引脚,如之前的实验中所述。而其他传感器则复用到I2C总线上。I2C能够在单个总线上寻址多个设备,只要每个设备具有不同的地址,但由于我的同一设备有多个样本,所以我无法通过地址唯一地识别出每个设备。因此,我使用TI CD4051 8x1多路复用器,这样每次只有一个设备连接到I2C总线。器件连续供电,但I2C IO线依次短接连接到每个器件。如果我没有重复的设备,则不需要这样做。

参考的校准源,为11种饱和溶液和蒸馏水。所有传感器都允许在每种溶液中稳定几个小时。软件自动将温度调节到预定范围内,允许在每个温度下稳定读数并将读数记录到数据库,然后再进入下一个温度的测试。

结果

在下面的图表中,您会注意到传感器G的数据比其他数据略微稀疏。我的AM2320设备间歇性地在50%RH以上的范围失效,只返回00或FF的字节。它们在50-70%的范围内是最差的,几乎没有读数。低于50%没有问题,高于50%间歇性发作,但大部分时间都很好。我从来没有找到原因,也没有任何关于他们为什么不能在如此窄的湿度范围内产生输出的建议。至少这些值显然是错误的,并且我在单片机代码中添加了额外的函数从而简单地排除掉错误数据。其他设备都不受影响地继续工作,只有当数值正确时才从这个传感器记录值。

同样,当湿度高于90%时,AM2321设备J无法返回值。每当我使用H<sub>2</sub>O(100%)或K<sub>2</sub>NO<sub>3</sub>(92%)时,传感器将工作大约10-15分钟然后冻结,甚至拒绝响应I2C通信请求。一旦湿度下降,它立即恢复工作。同样,我还没有找到修复的办法,只是简单地,不将此传感器高于90%以上的读数记录下来。

第1部分:湿度函数曲线

首先,我们观察传感器在不同参考湿度0-100%下的响应情况。图3和图4是根据相同数据,使用不同坐标轴绘制的表格。图3显示了测量的实际相对湿度值,图4显示了完美校准的偏差。由于制造商的规格都定义在25°C,所以我用红色来突出标识这些数据。在其他温度下获得的数据则以蓝色显示。

图3.png

图3.每个传感器的湿度值与每个参考溶液的预期湿度的关系图。阴影灰色区域是制造商数据文档中指定的公差。采集到的所有数据,无论温度如何,都显示为蓝点。红色十字架只是在25±1°C时获得的数据,因此任何位于阴影区域之外的都不符合规格。图4中更详细地介绍了这些相同的数据。

图4.png

图4.显示湿度值与已知参考值的偏差的图表。这些图显示了每个传感器的误差与湿度的关系。阴影灰色区域是制造商数据表中指定的公差。采集到的所有数据,无论温度如何,都显示为蓝点。红色十字架只是在25±1°C时获得的,因此任何位于阴影区域上方或下方的都不符合文档的规范。当蓝点散布在阴影区域之外时,它表示校准中的漂移随温度变化。红线是根据25±1°C数据的二次拟合。

上述两个图都含有之前测试的等效数据,您可以看到SHT71和AM2302 E,F的早期结果。其他6个是新的,这是他们的第一次测试。(译者注:本文涉及到2次测试的结果,所以有先后区别)

第2部分:温度函数曲线

在图4中,红色数据在25±1°C下测量,蓝色数据在其他温度下测量。器件E(AM2302 / DHT22)在25°C时性能非常好,可轻松实现文档所声明的规格。然而,蓝点的大量散射表明校准随着温度的变化性能迅速降低。如前所述,这是我从6个样本中挑选出的最好的AM2302。相比之下,器件K(HTU21D)似乎略微超出其在25°C时的规定容差,但具有在温度范围内始终如一的优点。在不同的应用场景中,25℃下的绝对精度或小的温度依赖性可能是优先考虑的指标。而博世BME280很容易地获得最佳表现,这2项指标在测试范围内都是准确且一致的。

为了反映出这些差异的详细信息,并且由于温度是系统变化的,所以我按照单一化学成分提取出了图表内容,包括氯化钠(NaCl)、硝酸铵(NH<sub>4</sub>NO<sub>3</sub>)、氯化镁(MgCl<sub>2</sub>)。NaCl(RH~75%)和MgCl(RH~33%)方便地跨越了常用的湿度范围,并且两者都表现出特别小的热系数,这意味着其湿度与温度几乎不相关。NH<sub>4</sub>NO<sub>3</sub>则位于两者(RH~65%)之间,并作为对比包括在图表种,因为它是我的一种具有强内在热系数的化学物质。湿度轴在所有三个图中都设置为相同的范围,以便公平地表示线的相对梯度。在先前的DHT22 / DHT11 / SHT71比较中,也提供了相应的三个图表的链接。设备E,F和SHT71在这里和这里是相同的单位。在两次体验之间的六个月中,它们保持相当一致。

图5是氯化钠(NaCl)。
图6是硝酸铵(NH<sub>4</sub>NO<sub>3</sub>)。
图7是氯化镁(MgCl<sub>2</sub>)。

红色方框点和红线拟合是我的测量数据。较小的圆形数据点是已发布的参考值。

图5.png

图5.红色方框点和线性拟合线显示了在5-35°C温度范围内使用饱和氯化钠的传感器的测量结果。用于比较的图来自于已发表的参考文献。蓝色数据来自Greenspan(1977),青色数据来自O'Brien(1948),绿色数据来自Rockland(1960),黄色数据来自Wexler(1954)。细黑线是对这些数据的整体拟合,权重均衡。

图6.png

图6.红色方框点和线性拟合线显示了在5-35°C温度范围内使用饱和硝酸铵的传感器的测量结果。用于比较的图来自于已发表的参考文献。青色数据来自O'Brien(1948)、黄色数据来自Wexler(1954)的。细黑线是对这些数据的整体拟合,权重均衡。

图7.png

图7.红色方框点和线性拟合线显示了在5-35°C温度范围内使用饱和氯化镁的传感器的测量结果。用于比较的图来自于已发表的参考文献。蓝色数据来自Greenspan(1977),青色数据来自O'Brien(1948),绿色数据来自来自Rockland(1960),品红色数据来自是CRC手册(1977),黄色数据来自Wexler(1954)。细黑线是对这些数据的整体拟合,权重均衡。

BME280始终表现出杰出的校准。对于其他传感器,在测量值和参考数据的斜率匹配时,(例如,硝酸铵溶液中的K设备),设备表现出良好的热补偿并且仅具有恒定的偏移。在测量值和参考数据的斜率不同的情况下(例如,氯化镁溶液中的K设备),当温度改变时,该装置显示出变化的误差。

第3部分:同时作为温度和湿度的函数

最后,如果要使用传感器测量变化温度范围内的湿度,则需要进行完全的双变量校准。在温度范围5℃~35℃,这种校准如图8所示。图4中的曲线是这些表面的有效横截面。

图8a.png

图8a。[参见图8b,了解该图的交互式WebGL版本。它已被移出到一个单独的文档中,因为同时渲染九个表面对某些Web浏览器来说是过度负载。]表面显示每个传感器与真实相对湿度的偏差随温度和湿度的变化。“完美”的传感器将是零无特色的绿黄色平面。蓝色表示低读数,红色表示高。图4中的拟合是在T = 25℃下通过这些表面的横截面。

滞后性

滞后是一个术语,指物理系统的状态依赖于其过去状态的一种倾向性。这个词来自古希腊语,意思是“掉队”。具有滞后的传感器,如果之前暴露在干燥空气中则将倾向于给出低读数;如果之前暴露于潮湿空气时则倾向于给出高读数。这里我使用的术语滞后,仅指传感器相对于当前状态之后的落后情况。我不去区分传感器是否具有非常慢的响应(许多小时),只看该传感器最终渐近接近“真实”值的情况以及该传感器由于历史永久地偏向并且永远不会从上方或者下方达到“真实”值的情况。

为了测试这一点,我将所有传感器保持在恒定的25°C,但按顺序将它们暴露于K<sub>2</sub>NO<sub>3</sub>(92%),NH<sub>4</sub>NO<sub>3</sub>(60%),MgCl(33%),NaOH(7%) ,MgCl(33%),NH<sub>4</sub>NO<sub>3</sub>(60%),K<sub>2</sub>NO<sub>3</sub>(92%)。每个湿度水平保持12小时,并且每半小时记录测量值。进行从湿到干和回到湿的两个完整循环循环。

图9.png

图9.显示的是在湿度系统地从高到低循环回到高下,与已知参考湿度的偏差值。图上显示了两个完整的92%,60%,33%,7%,33%,60%,92%的循环。对于大多数传感器来说,在湿度上升和下降时跟踪的迹线合理地靠近在一起,显示出很小的滞后偏差。而一些传感器确实显示出强烈的效果。(关于特定传感器的注意事项:对于K<sub>2</sub>NO<sub>3</sub>,奥松AM2302 F输出饱和度为99.9%,因此没有绘制数值.AM2321通常无法为K<sub>2</sub>NO<sub>3</sub>提供任何输出。它偶尔提供间歇读数,但很大程度上不适合湿度> 90%的情况.AM2320通常无法为NH<sub>4</sub>NO<sub>3</sub>提供任何输出。它偶尔提供间歇读数,但在很大程度上不能读取50-70%左右的湿度。)

图9显示了滞后结果。红点与先前的图中的25°C数据相同。深灰色线条是新的滞后测试并创建包络,其中所有读数都将沦陷。正如所料,所有传感器都表现出在湿度下降时系统读取高的趋势,在湿度上升时读取低的趋势。但是,对于除Si7021和AM2320之外的所有器件,影响很小,并且包络的宽度小于等于已经观察到的数据点的散布范围。这意味着在注意到已经确定的误差的情况下,滞后不是一个显著的额外影响因素。它已包含在我们观察到的误差中。确实,尽管随着条件的变化,所有的结果都会以某种方式略微偏离真实值。

温度计的精度

虽然本文主要对湿度感兴趣,但我提供了温度计的简要比较。我在这里没有尝试建立绝对温度校准,只是将每个传感器与所有九个传感器的整体平均值进行比较。一份单独的文件涵盖了BME280的绝对温度校准,同时还证明了虽然这里的结果严格上只是相对的,但在十分之几度内,它们也能良好表示出绝对精度。

图10.png

图10.图表显示每个设备返回的温度与所有九个设备的平均值相比较。黑线只是'sensor == ensemble mean'作为视觉指南,而不是拟合的线。

图11.png

图11.图表显示每个设备自身温度与所有9个温度的平均值的偏差,以温度为函数绘制。

所有传感器都符合约0.5°C内的偏差。其中博世传感器始终给出最高值,图10显示最大散射,表明可重复性较差。然而,更详细地研究表明,博世温度计对湿度非常敏感。图11显示了表观散射,但重绘温度误差与湿度的关系(图12)显示了与极小分散的紧密相关性。固定湿度下的重复性非常好。差异很小(0.1°C),完全符合制造商的规格(1.0°C)。

相比之下,AM2320(设备G)作为湿度的函数显示出很小的误差(图12),但作为温度的函数具有最大的误差(图11)。

图12.png

图12.图表显示每个设备自身温度与所有9个温度的平均值的偏差,以湿度为函数绘制。只有BME280才能确定地检测到温度计受湿度的轻微影响。

响应速度

所有这些变化对湿度变化的响应速度都快于湿度,但速度可能会因感兴趣的问题而出现,例如在测量强制空气流时。

图13显示了设备的响应,因为它们全部同时暴露在湿度的突然向上阶跃变化中,图14则是向下做同样的事情。每六秒读一次读数。在此测试中,BME280的内部平滑滤波器已关闭。对于本文中的所有其他数据,已启用过滤器。所有AM23xx设备的一个特性是它们从内存中返回一个缓存值,这意味着它们总是会比其他设备更慢地响应一次读取(6秒)。出于这个原因,我绘制了原始数据,其中AM23xx设备都可以看到滞后一个读数,我还绘制了一个修正的版本,人工移除了该偏移量。左侧面板显示使用设备时获得的实际结果,右侧面板更直接地比较传感器元件的内在物理响应。

图13.png

图13.设备暴露在湿度突然向上变化时的时间响应。左侧面板直接显示来自传感器的数据。由于AM23xx设备返回先前缓存的值,因此它们显示的阶跃变化,会滞后一个数据点。在右侧面板中,滞后已被移除,并且结果被归一化以便比较传感器元件的固有响应速度。

图14.png

图14.设备暴露在湿度突然向下变化时的时间响应。左侧面板直接显示来自传感器的数据。由于AM23xx设备返回先前缓存的值,因此它们显示的阶跃变化,会滞后一个数据点。在右侧面板中,滞后已被移除,并且结果被归一化以便比较传感器元件的固有响应速度。

HTU21D和SHT71显示最快的响应。除了Si7021作为主要异常结果之外,其他大多数传感器似乎彼此相当。这是个有保护膜的传感器,尽管膜可能会减慢响应,但在其他地方进行的测试显示它几乎没有效果,只是使设备读数仅减慢约1秒。Si7021比其他所有产品慢得多,我认为这是制造商故意设计的选择,使传感器对湿度微不足道的快速波动不敏感,并更好地反映通常的情况。例如,对于高响应性的HTU21D,当我在房间里移动时,我经常会看到读数随着空气搅动出现的尖峰和摆动。

每个传感器的评论

更新(2017年3月):我正在准备这些结论的重大修订。还有很长的路要走并且正在进行数据收集,但我希望尽可能地“open”。较新的测试表明,在我以前的测试中,我很幸运得到了一个优秀的博世设备,但可能收到的是一个损坏的盛思锐设备。在这里描述的测试中,博世BME280是明显的赢家,但我不希望任何人将其解释为确定性或一般性结果。在我正在进行的测试中,博世和盛思锐设备在我能测量的极限下是难以区分的(译者注:原文为indistiguishable,译者按上下文理解为indistinguishable)。工作仍在进行中。

博世 Sensortec BME280

在这里获得的数据中,博世BME280是无可争议的赢家。它在指定的25°C时最准确,它对温度的依赖性最小。滞后曲线描绘了一个紧密的包络线,并且在所执行的两个循环中具有高度可重复性。它也是我拥有的唯一一个在规范内执行的设备。差异是如此明显,以至于让我确信其传感元件在某种程度上与其他设备有本质的不同。我目前的假设是它使用的是电阻膜而不是电容膜。

这两个特殊的BME280读取的温度一直比其他的设备都高,尽管我在绝对温度计准确度研究中测试的其他设备并未全部遵循这种模式。我并不是说所有的BME280都读得很热。它们是唯一经过测试的设备,可以在温度计中显示出可测量的湿度依赖性。我再次想知道这是否暗示了该设备与其他设备本质不同的传感器技术。在任何情况下,它们都符合制造商规定的1.0°C公差。

奥松 AM2302(DHT22)

与之前的测试一致,我会判断我的设备的准确率约为5%。滞后包络很紧,尽管传感器F的数据在湿度大于90%时不可用。但是设备E,这个从我的6个DHT22中选出的“最佳樱桃”,在25°C时校准结果,几乎与所测试的任何设备相同,但是当它远离这些理想条件时,它显示出明显的温度依赖性。两年多来,最初的6台设备中有3台发生故障。

奥松 AM2320 / AM2321

我所测试的这个设备在整体性能方面与DHT22类似,只是增加了I2C的便利性。当湿度在50-70%RH范围内时,我的AM2320都表现出相同的间歇性故障,即无法返回任何数据。奇怪的是,它们似乎在该范围之上和之下可靠地工作。我从来没有深究过这个问题到底是我的设置错误还是某个内在的传感器故障。目前我认为这是因为我拿到了几个有故障的设备,而不是这个模型的系统故障。类似地,AM2321间歇性地不能返回高于约90%的值,但在较低湿度下可靠地工作。这里测试的AM2320显示出相当强的滞后现象,但由于硝酸铵(60%)的缺失数据很难进行判断。

总之,它们在大多数情况下看起来与DHT22类似,但我有很多不同的抽风问题,我不打算在将来的实验中使用这些设备。

盛思锐 SHT71

(参见上文'更新(2017年3月)')。此次结果确认了我之前使用此设备的实验。绝对精度似乎与BME280以外的其他传感器相当。热稳定性,这个我认为通常比25°C时的绝对精度更重要的性质,SHT71比大多数传感器更好。数据散射很小,校准误差在湿度和温度方向都是线性的。观察双变的温度-湿度表面,SHT71表面几乎与BME280s一样“平坦”,但它是倾斜的。滞后包络很好而且很紧密。这个传感器看起来很好,并且在连续两年的运行中也没有出现任何问题。

除了温度-湿度表面的线性倾斜,这个设备似乎表现得非常好,这让我想知道我是否拿到的是一个低劣的设备。对内部校准参数进行小幅调整可能会使该设备与BME280非常匹配。我目前的假设是传感器元件受到污染,我正在进行一些实验(2017年3月)进行调查。

MEAS HTU21D

我没什么想说的,这个设备还不错。在我的测试中,它完全符合预期。绝对误差比宣传的要大一些,但重复性好,热依赖性不太严重。几乎检测不到滞后性。它是一个很好的紧凑和坚固的设备,尤其是可选的保护膜。它有一个非常快速的响应,但如果你需要它并且你对气象湿度更感兴趣,可能需要进行过滤和平滑。只要您编写软件来处理这些值,它就可以读取略大于100或者小于0的值。我喜欢它,因为它更诚实地反映了校准精度的限制。如果设备的输出电压为0-100,则一般很难在这些限制附近应用自定义的二次校准方法。

该设备与Si7021、SHT71总体上显示出差不多的误差。这三个传感器中的每一个在一个参数或另一个参数中都显示出优势,但鉴于我只测试了每个传感器的一个样品,我不能说这些是器件类型的特征还是仅仅是我的特定样品的性质。我的HTU21D表现出良好的热稳定性和极低的滞后性。

芯科 Si7021

我没什么想说的,这个设备还不错。在我的测试中,它完全符合预期。绝对误差比宣传的要大一些,但重复性好,热依赖性不太严重。它是一个很好的紧凑和坚固的设备,尤其是可选的保护膜。它具有迄今为止对变化的最慢响应(约30秒),因此适用于无法添加自己的数字平滑滤波器的应用。只要您编写软件来处理这些值,它就可以读取略大于100或者小于0的值。我喜欢它,因为它更诚实地反映了校准精度的限制。如果设备的输出电流为0-100,则一般很难在极限附近应用自定义的二次校准方法。

这一点,HTU21D和SHT71总体上显示出可比较的误差。我的Si7021可能是三个中最差的,具有较大的热移位和滞后,但考虑到我只测试每个的一个样品,我不能说这些是器件类型的特征还是仅仅是我的特定样本的性质。

结论

博世BME280轻松实现最佳效果。尽管考虑到这个传感器是全新的,并且与两年前的DHT22和SHT71进行比较,可能是不公平的。我对我这些DHT22的可靠性没有太大的把握,但到目前为止,Sensirion SHT71已经证明自己可靠运行两年了。

如果您有任何意见或建议,请随时与我联系。mailto:[email protected]

参考文献:见这里

致谢

虽然我设计并完成了整个实验,但我必须承认我使用了许多开源项目,包括软件和硬件。

  • 软件是使用Arduino工具和环境开发的,使用了AdaFruit DHT22 / DHT11库的一些部分,Brett Beauregard的PID库和Markus Schatzl与Carl Jackson的Sensirion库。其他传感器的驱动程序基于各自制造商发布的数据文档和示例代码。
  • 我的数据记录器EmonCMS来源于开源电能监测项目。
  • 我不再使用JeeNode板,但我的早期的反复实验中,我对Jeelabs的工作感到满意。
  • 图表和数值的分析工作,在Flot,Octave,D3和Plotly javascript中生成。
  • MySQL数据库,Apache Web服务器,当然还有超过Linux操作系统贡献的10,000多人。
  • 3D图表周围的选项卡式菜单容器的Javascript来自在线HTML工具。
  • 最后,感谢许多记者的有趣讨论和鼓励。

监视房子里的氡气,或许与本项目有着几乎模糊的相关性和产生关系的可能性。


评分

参与人数 4金钱 +45 收起 理由
cym9007 + 5 感谢楼主分享!
咸味土豆 + 10 我来瀚思就为看你!
windgo + 10 在下对你的景仰犹如滔滔长江之水,连绵不绝.
+ 20 膜拜大神!

查看全部评分

回复

使用道具 举报

5

主题

723

帖子

5468

积分

论坛元老

Rank: 8Rank: 8

积分
5468
金钱
4740
HASS币
20
发表于 2018-7-25 16:50:57 | 显示全部楼层
我直接使用SONOFF S22+奥松AM2301,刷EspEasy接入HA。
回复

使用道具 举报

26

主题

553

帖子

2721

积分

金牌会员

Rank: 6Rank: 6

积分
2721
金钱
2143
HASS币
100

教程狂人

 楼主| 发表于 2018-7-25 17:10:08 | 显示全部楼层
mitu 发表于 2018-7-25 16:50
我直接使用SONOFF S22+奥松AM2301,刷EspEasy接入HA。

我用过DHT22,湿度计不大稳定。。。
所以才翻译此篇文章学习
回复

使用道具 举报

123

主题

4620

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
15961
金钱
11256
HASS币
45
发表于 2018-7-25 19:22:10 | 显示全部楼层
这篇文章我看过,很详细啊!楼主辛苦了
回复

使用道具 举报

26

主题

553

帖子

2721

积分

金牌会员

Rank: 6Rank: 6

积分
2721
金钱
2143
HASS币
100

教程狂人

 楼主| 发表于 2018-7-26 00:01:07 | 显示全部楼层
Jones 发表于 2018-7-25 19:22
这篇文章我看过,很详细啊!楼主辛苦了

谢谢囧帅,就是看到文章很专业很详细,服帖作者的钻研精神,才觉得有必要把它发在论坛里。顺便理解和翻译也是一个自我学习的过程,其实不辛苦,翻译水平不佳,理解得不到位请见谅了。
回复

使用道具 举报

74

主题

1942

帖子

7885

积分

元老级技术达人

积分
7885
金钱
5893
HASS币
430

活跃会员教程狂人

发表于 2018-7-26 10:07:28 | 显示全部楼层
深度技术文,赞一个。
所有过往,皆为序章。
回复

使用道具 举报

57

主题

402

帖子

3011

积分

论坛元老

Rank: 8Rank: 8

积分
3011
金钱
2609
HASS币
0
发表于 2018-7-28 17:28:50 | 显示全部楼层
这种是基础数据牛逼贴。
回复

使用道具 举报

14

主题

267

帖子

1639

积分

论坛技术达人

积分
1639
金钱
1352
HASS币
40

教程狂人

发表于 2018-7-29 10:57:08 | 显示全部楼层
竟然没看明白....好吧,我想说的是,还是买I2C接口si7021 sht2x 3x bme,比单线好多了,DHT11 22数据准确性不能忍!但是折腾一个I2C接口的东西,算下来基本跟成品相当了,妥妥的不折腾算了
回复

使用道具 举报

26

主题

553

帖子

2721

积分

金牌会员

Rank: 6Rank: 6

积分
2721
金钱
2143
HASS币
100

教程狂人

 楼主| 发表于 2018-7-30 00:09:44 | 显示全部楼层
前两天忙成狗,是在没空好好翻译。大家见谅,下周肯定搞完
回复

使用道具 举报

26

主题

553

帖子

2721

积分

金牌会员

Rank: 6Rank: 6

积分
2721
金钱
2143
HASS币
100

教程狂人

 楼主| 发表于 2018-8-6 14:40:42 | 显示全部楼层
打完收工,打完收工。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-3-28 20:37 , Processed in 0.278460 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表