完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
压力传感器有广泛的应用,工程师在选择压力传感器时候,有着不同的参数要求。而今天向各位工程师推荐是TE品牌的压力传感器MS5837-30BA,压力量程从0到 30bar,在-20到 85°C工作温度范围内其精度:±0.4bar,每一年精度漂移为±30mbar,电源工作电压:1.5至3.6V,具有极其低的功耗:0.6 µA,静态电流《 0.1 µA,非常适合电池供电产品应用。 工程师在设计和使用压力压力传感器MS5837-30BA可能会遇到一些问题,比如I2C地址不正确导致无法通信等。而本文向大家介绍压力传感器MS5837-30BA软件调试过程。 图1. MS5837-30BA实物图 压力传感器MS5837-30BA的硬件支持I2C接口,所以工程师要根据MCU的资源来设计一个I2C接口给压力传感器MS5837-30BA。 图2. MS5837-30BA压力传感器的I2C接口电路 首先,压力传感器MS5837-30BA是标准I2C接口,SCL的最高为400KHz。一般建议通信速率控制在60Khz-100khz之间。 其次,当MCU外接压力传感器MS5837-30BA时候,外围电路只需要2个10K上拉电阻和100nF的去耦电容即可,具有硬件电路简单,方便调试的优势。 第三,压力传感器MS5837-30BA的I2C地址为1110110x (write: x=0, read: x=1),这部分要在MCU的I2C通信时候会使用到。 第四,当MCU要给MS5837-30BA进行复位操作时候,可以按照下面格式进行写I2C代码,其中MS5837-30BA的复位命令是0x1E。注意MS5837上电操作之后,务必要进行复位才读取到EEPROM的数据。 图3.压力传感器MS5837-30BA的复位命令格式 第五,压力传感器MS5837-30BA内部的温度传感器测量温度值需要除以100,才能得到真实的温度值。 第六,压力传感器MS5837-30BA内部含有4-bit 的CRC校验,在MCU中CRC计算算法如下: unsigned char crc4(unsigned int n_prom[]) {int cnt; // simple counter unsigned int n_rem=0; // crc remainder unsigned char n_bit; n_prom[0]=((n_prom[0]) & 0x0FFF); // CRC byte is replaced by 0 n_prom[7]=0; // Subsidiary value, set to 0 for (cnt = 0; cnt 《 16; cnt++) // operation is performed on bytes { if (cnt%2==1) n_rem ^= (unsigned short) ((n_prom[cnt》》1]) & 0x00FF); else n_rem ^= (unsigned short) (n_prom[cnt》》1]》》8); for (n_bit = 8; n_bit 》 0; n_bit--) {if (n_rem & (0x8000)) n_rem = (n_rem 《《 1) ^ 0x3000; else n_rem = (n_rem 《《 1);}} n_rem= ((n_rem 》》 12) & 0x000F); return (n_rem ^ 0x |
|
相关推荐
|
|
求大神告知加热台的加热方式,是电阻丝加热吗?如果是请教一下具体的型号
3348 浏览 0 评论
偏置电路与宽带偏置电路(Bias-Tee)-----电感器比较与选择
4514 浏览 0 评论
6643 浏览 0 评论
4164 浏览 2 评论
6828 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 22:29 , Processed in 0.499005 second(s), Total 63, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号