TE压力传感器MS5837-02BA软件读取数据不准的问题分析

描述

大家好,我是【广州工控传感★科技】MS5837传感器事业部,张工。

压力传感器MS5837-02BA属于超小型的微型高度计,海平面的海拔分辨率为13cm。内置24bit的ADC,校准的数据存储在112bit的PROM中。工程师在读取校准数据进行温度和压力换算的过程中,遇到读取的数据值超出压力测量范围的问题,本文主要介绍问题定位和解决的过程,为工程师设计提供参考,节省开发周期。


 

首先确认IIC的地址正确0x76//0b1110110。然后开始定位数据读取和换算的过程,以下是客户的例程,从划红线的地方,OFF的计算过程中,cal_c[2]是16bit的数据,左移17bit,会导致定义的unsigned int,32bit的溢出问题。

压力传感器


 

在校准和计算的过程中需要注意以下问题:

首先需要根据规格书中给出的具体型号的计算流程图及计算公式来计算温度和压力数据。其次在计算的过程中,因为涉及移动多个bit,如果定义的变量范围太小,很容易导致计算过程中的溢出问题,以上案例就是因为这个原因导致。

下图是MS5837-02BA的驱动例程,供参考:

压力传感器


 

压力传感器
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分