谢丫丫

如何检查和校准湿度传感器?

1
阅读(158) 评论(1)

湿度传感器的准确度如何?本文将带你实例了解。

湿度传感器是常见的,相对便宜,并且有许多不同的种类。我们经常检查数据表,将它们与接口一起使用,并且(只要值“看起来合理”)我们接受结果。

在这个项目中,我们演示了如何更进一步验证湿度传感器的准确性。我们还说明了传感器校准的一般方法,并应用该方法校准结果以提高湿度测量的准确性

 

项目中使用的测试设置(从左到右,Quark D2000微控制器板,传感器接口,微环境中的HIH5030传感器)。

 

项目基础

为了检查传感器的准确性,将获得的值与参考标准进行比较。为了检查湿度传感器的准确性,我们使用“饱和盐”方法来生成标准。简而言之,某些盐(即离子化合物,如食盐或氯化钾)在溶于水溶液时会产生已知湿度的气氛。

这些化学特性用于产生已知相对湿度(RH)百分比的微环境(即参考标准),并且在微环境内读取传感器。具体来说,我们将在密封罐中制作溶液以保持大气,然后将连接的传感器放入密封罐中。随后,重复读取传感器并记录值。

通过使用几种不同的盐重复该过程,每种盐产生不同的相对湿度,我们可以为被测传感器开发轮廓。由于我们知道每个微环境的相对湿度是多少,我们可以评估传感器读数与那些已知值的偏差,从而评估传感器的精度。

如果偏差很大但不是不可克服,我们可以在软件中应用数学校准程序来提高测量的准确性。

 

关于安全的说明

在进一步研究之前,必须负责任地处理该项目中使用的化学品。

  • 阅读所使用的每种化学品的安全数据表(SDS,或有时MSDS(材料安全数据表))(下面提供了每种盐的SDS链接,您还可以对每种盐及其安全性进行文献检索)处理程序)。

  • 不要吸入或摄入化学物质。

  • 不要让化学物质接触皮肤或眼睛(使用手套和护目镜)。

  • 不要在与准备食物相同的区域准备溶液。

  • 妥善储存化学品。

  • 正确丢弃溶液和用于制备溶液的所有仪器,以免意外发生暴露。

  • 在开始之前,知道如果发生意外暴露该怎么办(参见安全数据表)。

 

使用的盐

通常,您可以为参考标准生产的RH气氛越多,被测传感器的特性就越好。但是,在实际意义上,资源总是存在限制。在该项目中,使用了四个参考标准,选择用于生产参考标准的盐来涵盖一系列可能的RH值,同时还考虑到安全性,可用性和成本。

选择下面的盐。在氯化钠(食盐)的情况下,在当地杂货店便宜地获得纯犹太盐。如果你走这条路,避免使用含有添加剂的食盐,如碘或抗结块剂。


 image.png


创建微环境

我们几乎所有产品都有标准,甚至还有一种用于从水溶液中产生稳定的RH。虽然我的工作台(可能是您的工作台)不是官方测试实验室,但是尽可能地遵循标准中的规范是值得的。

另请注意,本项目中提供的结果虽然经过精心收集,但不应被视为反映或显示任何品牌传感器准确性的总体质量声明。仅测试了少量传感器,并且使用的传感器具有不同的年龄和不同的使用历史。

对于每种盐,通过将蒸馏水加入类似于非常湿的沙子的稠度来产生泥浆混合物。可以尝试四到五汤匙化学品和一汤匙蒸馏水,但您可能需要做一些实验。

将混合物制成小罐,密封严密。玻璃或甚至塑料应该可以很好地工作,只要它能保持内部的气氛。可以在罐顶部制作一个小孔,将连接线连接到传感器接口,然后连接到微控制器。然后将连接的传感器定位在混合物上方约0.5-1.0英寸处。请注意传感器不要直接接触溶液,否则可能会损坏。为了保持连接到位并密封盖子上的孔,可以使用一些易于拆卸的接触腻子。

在进行最终阅读之前,重要的是要有足够的时间进行平衡。我根据经验测试了这个问题,在选定的测试用例中每分钟读取最多六个小时的读数。根据我的经验,这比需要的时间长,我确定每个传感器和盐的平衡时间为90-120分钟。然后将最后五个读数的平均值用于最终值。对于所有情况,五个值显示非常小的差异(如果有的话)。

此外,所有读数均在约25°C(±1°)的环境温度下进行,每个标准使用的RH值列于25°C。

 

传感器和微环境

载板上的HIH5030传感器位于含有氯化钠的微环境中。

 

硬件

微控制器

在这个项目中,我们使用Quark D2000微控制器连接传感器。D2000是一款带有I2C和模数转换接口的3V电路板。

    请记住,大多数具有适当接口的其他微控制器都可以使用。

     

    传感器接口

     

    传感器在项目中测试; A)HIH8121,B)HIH5030,C)DHT-22(AM2302),D)HIH6030(在载板上)。

     

    测试了四种不同类型的湿度传感器:DHT-22(使用了两种),HIH5030,HIH6030和HIH8121。下面的示意图说明了用于每种传感器的简单接口,并且与链接数据表的协商将提供背景信息对于电路。

    • DHT-22是一种温度和湿度传感器,具有专有的串行输出。

    • HIH5030是一款带模拟(电压)输出的湿度传感器。该传感器的接口使用单位增益配置的运算放大器进行阻抗匹配。

    • HIH6030和HIH8121是使用I2C协议的温度和湿度传感器。

     

    DHT-22到D2000接口。

     

    DHT-22 BOM:U1,DHT-22传感器; R1,4.7kΩ电阻; C1,0.1μF电容。

     

    HIH5030到D2000接口。

     

    HIH5030 BOM:U1,HIH3050传感器; U2,MCP601P  运算放大器; C1,1.0μF电容; C2,0.1μF电容。

     

    HIH6030到D2000接口。

     

    HIH6030 BOM:U1,HIH6030传感器; R1和R2,2.2kΩ电阻; C1,0.22μF电容; C2,0.1μF电容。

     

    HIH8121至D2000接口。

     

    HIH8121 BOM:U1,HIH8121传感器; R1和R2,2.2kΩ电阻; C1,0.22μF电容。

     

    传感器软件

    所有用于收集传感器数据的程序都是用C语言编写的,可以通过单击“湿度传感器项目代码”按钮下载。每个都是评论和直截了当。对于每个传感器,程序只需每分钟读取传感器并将值发送到串行监视器。因此,它们应该易于适应您的特定应用。

     

    DHT22.c(左)和HIH5030.c(右)输出的屏幕截图。


    传感器评估程序

    image.png

     

    在已知相对湿度的稳定环境中从传感器性能中收集数据后,您可以在数值上评估传感器的准确度。

    请注意,在表中,我们计算了每个RH标准下每个传感器的误差。但是,我们不能简单地平均这些值来评估传感器,因为有些值是正值而其他值是负值。如果我们只是取平均值,则结果值将最小化平均误差,因为正值和负值将相互抵消。

    相反,我们计算均方根误差(RMSE)来表征传感器的精度。RMSE的公式如下:

     

     

    其中O是观察到的传感器值,I是理想的传感器值(即参考标准)。为了计算RMSE,我们对每个误差(与参考标准的偏差)进行平方,然后计算这些值的算术平均值,最后取平均值的平方根。

    一旦表征了传感器的精度,就可以使用RMSE来确定是否需要校准传感器。在某些情况下,RMSE很小,完全可以接受您的应用,您可以合理地决定不需要校准。

    例如,HIH8121 IC的结果令人印象深刻。RMSE小于1%,所有采样点的误差均小于2%。

    另一方面,在某些情况下,您可能会发现传感器响应非常差且不规则,您只需确定应用程序需要另一个传感器。

    校准的决定应始终考虑任务所需的准确度。然而,对于表中的所有传感器,我们可以通过校准来提高传感器读数的准确度。

     

    传感器校准程序

    为了校准传感器,我们需要首先在数学上确定将理想值与观测值相关联的函数。线性回归程序可用于确定该功能。 

    回归过程名称中的“线性”一词并不意味着线性函数。相反,该术语指的是变量的线性组合。得到的函数可以是线性的或曲线的。下面的所有三个多项式函数都代表线性回归(注意:我们忽略了在这种情况下无用的0度情况)。

    1. y = ax + b(第一度,线性)

    2. y = ax 2  + bx + c(二度,二次)

    3. y = ax 3  + bx 2  + cx + d(三度,立方)

    在当前项目中,我们使用四个参考标准(即n = 4)计算传感器值。因此,三次多项式是我们可以计算的最高次多项式。始终存在可能的最高次多项式为n-1,并且在这种情况下,这意味着3(4-1)。

    最小二乘法通常用于线性回归。在该过程中,拟合线以使得从每个数据到线的距离的总和尽可能小。有许多程序可以使用最小二乘法来执行线性回归。

    还应该指出,我们不必使用线性回归。我们可以使用非线性回归。非线性回归的示例导致幂函数或傅立叶函数。然而,线性回归非常适合我们项目的数据,而且,软件校正(校准)很容易实现。事实上,在这个项目中,我不相信你会通过使用非线性回归获得很多东西。

     

    选择多项式

    理论上,我们希望使用最适合数据的多项式。也就是说,产生最小确定系数的多项式,表示为r 2(或R 2,发音为“R平方”)。r 2越接近1,拟合越好。对于最小二乘估计,总是这样的情况是,使用的多项式的程度越高,拟合越好。

    但是,您不必自动使用可能的最高次多项式。由于校准将在软件中进行,因此可能存在使用较低次多项式表示速度和/或存储器优势的情况,特别是如果通过使用更高次多项式获得的精度非常小。

    下面,我们使用不同程度的多项式演示HIH6030传感器的校准程序,这样我们将说明适用于您选择使用的任何程度的多项式的一般程序。

    使用上表中的数据,我们首先执行最小二乘回归过程以确定每个多项式的系数。这些值将来自使用的回归软件包。结果如下,包括r 2值。

    1. 线性:y = ax + b; a = 1.0022287,b = -8.9105659,r 2  = 0.9996498

    2. 二次方:y = ax 2  + bx + c; a = -0.0012638,b = 1.1484601,c = -12.0009745,r 2  = 0.9999944

    3. 立方:y = ax 3  + bx 2  + cx + d; a = 0.0000076,b = -2.4906103,c = 1.2061971,d = -12.7681425,r 2  = 0.9999999

    现在可以使用计算的函数修改观察值。也就是说,传感器读数可以如下表所示进行校准(请注意,OBS,Corrected和ERR值将四舍五入到小数点后两位)。


     image.png

     

    可以看出,与观察到的测量值相比,所有三个多项式都使RMSE显着降低,这就是校准的原因。下图说明了使用1次多项式的改进。请注意校准(校正)数据点现在如何位于理想对角线附近。

     

    HIH6030传感器输出的散点图。

     

    软件校准

    一旦我们运行了校准并选择了多项式,我们就可以修改软件以将校正结合到传感器数据中。使用HIH6030.c示例,我们可以修改程序代码,如下所示:

     

     

    最初计算的变量是RH。在上面的代码行中,我们创建了三个代表校准的新变量(RHCal1,RHCal2,RHCal3)。为了说明,我们使用三个多项式中的每一个创建了新变量,而在实践中,您可能仅使用所选择的多项式来校准传感器值。

     

    摘要示例

    为了总结检查和校准湿度传感器的步骤,使用来自评估的DHT-22(#2)传感器的数据给出了最终的例子。

    • 第一步是使用参考标准评估传感器性能。

    这是使用微环境中的盐来产生具有已知RH的气氛。收集数据并显示在先前呈现的表格中。我们可以使用RMSE术语来表征传感器精度,该术语也出现在表中。根据第一步的结果,我们可以决定是否执行传感器校准。如果是,则进入第二步和第三步。

    • 第二步是执行线性回归以确定将理想RH值(来自标准)与来自传感器读数的观测值相关联的函数。

    这里,我们选择了一个三次多项式(y = ax 3  + bx 2  + cx + d,其中y是校准值,x是传感器读数),并确定系数是a = 0.000091367,b = -0.01452993,c = 1.77623089,和d = -14.17403758。

    • 最后一步是使用多项式修改传感器值以计算校准值。

    修改(校准)在软件中实现,并将传感器读数转换为其校准的等效值。

    下图说明了这些步骤的结果。该图包括观察值以及从校准多项式导出的校准值(对于收集的数据)。

     

    DHT-22传感器输出的散点图。

     

    总结

    在这个项目中,我们演示了一种评估普通湿度传感器精度的方法。也就是说,通过利用化学特性来开发参考标准,我们可以将传感器读数与标准值进行比较,并独立地确定传感器的精度。此外,我们演示了一种软件程序,用于校准传感器读数,从而产生更准确的相对湿度测量。

    传感器评估和校准是与使用传感器的任何地方相关的程序。在湿度传感器的情况下,该项目展示了相对便宜且简单的增加其价值的方法。

    1. 不错的资料