其实参加这次体验活动的原因之一,就是对ROHM的压力传感器很有兴趣,想通过其测试验证大气压与海拔高度的关系。下面给大家汇报ROHM压力传感器BM1390GLV-Z使用体验。 还是先对传感器做个简单介绍。BM1390GLV-Z是一款压阻式MEMS传感器,测量范围300 hPato 1300 hPa,内建温度补偿,±0.06hPa准确度,工作电压1.7V-3.6V ,I2C接口, 2.0mmx2.0mm的小巧封装。(图1)
图1 内部结构及应用(图2)
图2 BM1390GLV-Z的特别之处在于,它内部通过凝胶具有防水功能,这个特点大大拓展了应用范围和场景,比如野外作业及探险。(图3)
图3 到了让BM1390GLV-Z展现实力的时候了。 将ARDUINO和ROHM传感器扩展板连接好,并将电压设置为1.8V(图4内绿色方框跳线帽位置);
图4 连接ARDUINO和电脑USB口,安装BM1390GLV-Z的库文件,根据体验活动页面链接下载“BM1390GLV.zip”库文件,在“工具”菜单下加载库,完成后在“项目”下可以找到名称为“BM1390GLV”的库(图5);
图5 打开示例(图6);
图6 编译并上传程序(图7);
图7 上传成功,打开串口监视器,可以看到当前位置的气压值与温度值(图8)。当前位置是在位于6楼的房间内,为了测试传感器的气压变化值,分别在3楼和1楼地面采集了气压值(图9-图10)。
图8
图9
图10 由于手头没有海拔仪对比,求其次于所在地上海气象局网站上查找实时气压值做参考(图11)。可以看到,气象局公布的1010.4hpa正好落在BM1390GLV-Z检测到1-6楼的气压值1011.4-1009.7hpa 以内。
图11 上面说过想验证气压值和海拔高度的关系,在翻阅了一些资料后,了解到两者有较为复杂的计算关系,其中气温的变化会影响空气密度,进而影响气压,这点在气象局的实时数据中也有反映。限于水平本人采用了简化方程式来粗略计算: P=101325-H*133/12,即每升高12m,大气压降低133pa。按照上海平均海拔5m计算,得到地面气压为1012.7hpa。抛开计算值的准确度,我们可以考察 BM1390GLV-Z检测到的不同楼层之间的气压值差和楼层高度差是否符合以上简化方程式。按每层楼3m计算,6楼和3楼及1楼的高度差为9m和15m,方程式计算楼层气压差值分别为 99.75pa和166.25pa;实际测得楼层气压数据取前10个计算平均值,1楼为101149pa,3楼为101079pa,6楼为100977pa,可得6-3楼及6-1楼气压差值分别为 102pa和172pa,计算值和实测值两者最大差值5.75pa,按简化方程式计算约为0.5m。当然这只是缺乏专业仪器条件下粗略的计算,不足以验证 BM1390GLV-Z的准确度。看来要利用气压传感器做海拔高度仪,还有更长的路要走,也希望有经验的 电子发烧友可以提供更严谨的海拔高度与气压的计算方法和测试手段,不胜感激。 BM1390GLV-Z为我们提供了更多可能去实现各种应用,不单气压计,海拔仪,还有呼吸监测等等。世界如此美妙,种类繁多的传感器为我们提供了感知世界的工具,它们越来越小巧,智慧,灵活易用又绿色节能,如果一个解决不了你的问题,那就再加一个吧。
|