在线客服
销售-谭小姐13672863149
销售-陈小姐13536007805
销售-黄小姐13426882603
销售:张先生13822460808
(微信同号)
|
MS5805压力传感器如何通过代码实现温度和压力值读取?
专栏:技术支持
发布日期:2022-12-07
阅读量:1195
收藏:
MS5805是一款由TE推出的可以测量周围环境的温度以及压力的高精度传感器方案,室温下,温度误差为+/-1℃,内部具有24bit ADC,最高压力精度为0.02mbar,采用标准I2C通信,硬件设计简单。
MS5805是一款由TE推出的可以测量周围环境的温度以及压力的高精度传感器方案,室温下,温度误差为+/-1℃,内部具有24bit ADC,最高压力精度为0.02mbar,采用标准I2C通信,硬件设计简单。本文主要介绍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 通过以上步骤,我们就可以精确地读出周围环境的温度值以及压力值了。 |