Hih-5030湿度传感器计算代码

时间:2015-03-25 18:56:41

标签: python math raspberry-pi sensor

我有一个HIH-5031湿度传感器和一个连接到我的树莓派的MCP9700。

我在python中的部分代码:

getSensorVsupply = adc.read_voltage(1)
getSensorTemp = (((adc.read_voltage(2)*1000)-459)/10)
getSensorVout = adc.read_voltage(3)
calcRH = ((getSensorVout/getSensorVsupply)-0.16)/0.0062
calcTrueRH = calcRH/(1.0546-0.00216*getSensorTemp)

SensorVsupply,是传感器3.31V

的电压

SensorTemp,是温度传感器MCP9700的输出值,以摄氏度表示,让我们说25 459的值是在浸入35摄氏度的水中时计算的偏移量。是的,我知道它应该在25C时参考测量,但是这里我所用的参考仪表的问题可能会在30C以下具有良好的容差。

SensorVout,是HIH-5031湿度传感器。它是辐射测量的,如果我理解正确,这意味着如果我提供3.3V并且输出是1.65,这意味着50%的湿度。现在显示1.11V

calcRH,我对%RH的计算,在这种情况下为1.11 / 3.31-0.16 / 0.0062 => 28.28% 最后一个是真正的%RH,由温度补偿。 28.28 / 1.0546-0.00216 * 25 => 28,26%

我把这些传感器放在车库的一个盒子里。当我用水喷洒盒子并将其密封时,20分钟后它的温度上升到RH 34%以上。我的传感器代码是否正确计算RH和TRH?

知道在gnd和senor输出之间,我安装90kohm而不是65的最低要求可能会有用。

产品HIH-5330:http://sensing.honeywell.com/honeywell-sensing-hih5030-5031-series-product-sheet-009050-2-en.pdf?name=HIH-5031-001

产品MCP9700:http://ww1.microchip.com/downloads/en/DeviceDoc/20001942F.pdf

1 个答案:

答案 0 :(得分:0)

所以,我找到了这个网站:https://www.ghielectronics.com/community/codeshare/entry/136

它确认我的算法没问题。从HIH-5030的数据表中可以看到:

//#Honeywell HIH-5030 Formula Sensor Voltage Output (1st order curve fit)
//#Vout = Vsupply(0.00636(Sensor RH%)+ 0.1515), (Typical at 25 'C)

现在数学(如何实际获得%RH):

//y = z(mx + b) = mxz + bz = y =>
//y/z = mx + b = -b + (y/z) = mx =>
//-b/m + y/(zm) = x = -b/m + (1/zm)y 

//y = Sensor Vout
//z = Vsupply = 3.3 V <--- A/D ref. voltage
//m = 0.00636
//x = Sensor RH% (0-100%)
//b = 0.1515

//x = -23.82075472 + 47.64627406y - Recompute formula above for different supply voltages.
//http://www.algebrahelp.com/calculators/equation/

然后进行温度补偿:

//xt = Sensor RH% (0-100%) temperature compensated
//xt = (x*1.0546)-(0.00216*getSensorTemp)

希望这比我更有帮助!干杯!! :)