你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f103+ms5611计算高度方案。

[复制链接]
儒墨 提问时间:2018-8-17 18:51 /
1、使用了stm32f103+ms5611测量大气压高度,单个设备上升下降都能很稳定的测到大气压变化精度也非常高。
2、想通过两个ms5611测量大气压,通过差分方式去测得两个设备的相对高度。

测试结果:两个设备从早到晚联系测试,高度相同,温度基本也保持一致,但是测试3天过程中,1天两个设备差值能一直保持不变,另外两天测试气压差值不定。所以不能确定是否能用差分方式测试相当高度。
提问:是否有人使用过ms5611,并且做过多个ms5611测试的。是否有什么经验。
收藏 评论3 发布时间:2018-8-17 18:51

举报

3个回答
feixiang20 回答时间:2018-8-17 23:17:22
读数据的频率非常影响气压的值,或者是温度的值。需要多验证,注意精度等,你可以参考这个资料,比较长不粘贴了
STM32+MS5611测气压温度例程详解
http://blog.csdn.net/moses1994/article/details/50621052
有看到别人的一点经验---
我是在房间内测试MS5611的,模块一直放着不动,然后,通过stm32读取芯片内存储气压值(用其他芯片读取没试过,但应该没有影响)。最后发现,读数据的频率非常影响气压的值,或者是温度的值。这里我已经考虑到了传感器芯片内部做AD转换的时间了。
出现的问题是,当读取频率不一样的时候,气压值和温度值都会稳定在不同的数值上。例如,每20ms读取一次,和每100ms读取一次,气压值前后会有很大的差别,已经经过很多次试验了,传感器芯片一直放着一旁没有动过,室内肯定无风,也没有空调影响。所以,我得出的结论是读数的频率影响了其稳定的数值。
最后我的解决方法是,不得不适用stm32的定时器中断,每隔一个精确的时间读取一次传感器数值,这才稳定下来。看过MWC的算法里面读气压计的代码部分,它是判断是否超过10ms然后读取的,由于不是中断,所以,有可能某些值是超过10ms读取的,这样或多或少会造成读数的不准确。
ps:MS5611在刚刚通电数10s内读到的数值,变化幅度是最大的,需要一段时间的预读取使其稳定下来。MWC里面有个寄存器控制着这个预读取并计算基准气压的量calibratingB。在主文件内面定义的值是200,我觉得这个还不够,还要更大才能让气压计稳定下来,但是,由于气压计读数很慢,每次要20ms(MWC里面设置的),所以,可能会造成飞机上电之后需要等待的时间过长。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

儒墨 回答时间:2018-8-18 09:32:10
feixiang20 发表于 2018-8-17 23:17
读数据的频率非常影响气压的值,或者是温度的值。需要多验证,注意精度等,你可以参考这个资料,比较长不粘 ...

感谢百忙中抽时间来回复!!
恩,那篇文章我是仔细看了,也是精准定时100ms采集一次。单个ms5611气温,气压都非常稳定的,就算气压变化也是连续的如一个小时有10多个pa的慢慢增加和减少。(Ps:每日的气压会波动3-400pa左右)。所以单个模块我认为是正常的。
但是,我想达到的效果是两个模块做差分得到两个模块的相对高度。所以首要前提是两个模块在同一高度同一环境下,测得的气压值是相同的,或者两个设备气压差值是相同的。实际测试如:
9:13          94987        94970        -17
9:36        95011        94989        -22
9:51        95026        94999        -27
10:08        95037        95009        -28
10:18        95040        95008        -32
10:34        95032        94998        -34
10:46        95023        94989        -34
10:58        95015        94982        -33
11:25        95008        94975        -33
11:44        95003        94973        -30
11:56        94985        94955        -30
13:38        94916        94897        -19
14:56        94816        94798        -18
15:35        94750        94731        -19
但是测试值的差值不是相同的,因为差值为10pa,相差距离约有1米,我这边要求比较高想精度尽量能确定到1米以下。但是上面的差值过大2-30pa.毕竟这个芯片号称精度能达到10cm。
儒墨 回答时间:2018-8-27 11:53:43
各种尝试后依然不行,又仔细读了datasheet,看了芯片是不能达到我想做的精度。买两个LPS22HB来试试精度了。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版