大家好,我是【广州工控传感★科技】MS5805-02BA01传感器事业部,张工。
MS5805-02BA01传感器已针对高度计和气压表进行优化,精度误差2mbar。 该传感器模块包含一个高线性压力传感器和一个带有内部工厂校准系数的超低功率24 位 ADC。它可提供精确的 24 位数字压力和温度值及不同的操作模式,能够优化转换速度和电流消耗。高分辨率温度输出使您不需额外的传感器即可实现高度计/温度计的功能。MS5805-02BA几乎可以连接任何微控制器。通信协议简单,无需对设备中的内部寄存器进行编程。所采用的传感原理可产生极低的磁滞并确保压力和温度信号的稳定性。
本文主要介绍MS5805压力传感器的温度和压力值的读取,方便工程师在软件开发的时候,可以快速的了解MS5805的软件代码实现的过程,更加容易的应用MS5805压力传感器。
下面开始介绍MS5805的温度以及压力值读取步骤:
一、首先,MS5805是标准I2C通信,它的器件地址为0xEC (与有些器件的0xA0不一样,需要注意)。
二、按照数据手册所示读取步骤:
1)发送RESET命令,向地址0xEC发送命令0x1E
2)等待重启完成,延时等待大约1ms,此步骤非常重要,如果等待的时间不足,会导致校准值的第一个数据不准确。
3)发送读取校准值命令,向地址0xEC发送0x40+2ch,读取内部校准值,有7个,C0-C6,
其中C0是内部校准值的crc校验,为出厂时写入的可读值。
三、发送温度转换命令0x5A,然后等待,大约10us,向地址0xEC发送命令0x00读取温度的24bit ADC值。
四、发送压力转换命令0x4A,然后等待,大约10us,向地址0xEC发送命令0x00读取压力的24bit ADC值。
五、根据公式计算温度:
dT = D2 - T REF = D2 - C5 * 2^8;
TEMP = 20°C+dT*TEMPSENS = 2000+dT*C6/2^23
六、根据公式计算压力值:
OFF = C2*2 17+(C4*dT )/2^6;
SENS = C1 * 2 16+( C3*dT )/2^7;
P = D1 * SENS - OFF = (D1 * SENS / 2 21 - OFF) / 2^15
通过以上步骤,我们就可以精确地读出周围环境的温度值以及压力值了。
全部0条评论
快来发表一下你的评论吧 !