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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版