找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3049|回复: 16
打印 上一主题 下一主题
收起左侧

MPL3115A2气压传感器地址是多少?

[复制链接]
跳转到指定楼层
楼主
本帖最后由 新乡家电维修 于 2020-11-12 10:18 编辑

MPL3115A2采用总线驱动,总线驱动都有识别地址BMP280压力传感器是11101100b
MPL3115A2的资料BMPM3PR识别地址C0H,最后一位是读写位  
读BMPM3PR识别地址C1H

读出的海拔高度在01H,02H,03H中
01H读出的全是FF,明显不正确原因不知道哪里出错
02H读出的有变化,测试时也符合实际情况
03H是小数变化,可以不考虑(03H只有高4位有效,低4位没有定义)
读出的身份识别码C4也是正确的
特附上英文资料,大家看下,这是最全的英文资料了


MPL3115A2压力传感器英文资料.pdf

664.43 KB, 下载次数: 16

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:72088 发表于 2020-11-12 10:56 | 只看该作者
读出的温度也是正确的设别码也正确
高度也读出了部分,最高位不正确,郁闷

51hei图片_20201112102237.jpg (1.54 MB, 下载次数: 49)

51hei图片_20201112102237.jpg
回复

使用道具 举报

板凳
ID:401564 发表于 2020-11-12 17:24 | 只看该作者
这个跟地址已经没有什么关系了,你只要能读取到一个,或者写入一个,就说明从机的地址是对的了,而且读取的的代码也是对的
剩下的就是软件或者硬件的问题了,要么是程序写得不对,要么是传感器的值原本就是这样的
回复

使用道具 举报

地板
ID:687694 发表于 2020-11-12 17:44 | 只看该作者
楼上正解,应该是你数据读取程序问题。
回复

使用道具 举报

5#
ID:72088 发表于 2020-11-13 07:47 | 只看该作者
Y_G_G 发表于 2020-11-12 17:24
这个跟地址已经没有什么关系了,你只要能读取到一个,或者写入一个,就说明从机的地址是对的了,而且读取的的代 ...

地址我已经在资料里找到了解决了,读出的高度刚开始是02(MSB)B3(CSB)90(LSB),舍去小数部分。02ddH=73.3M,也是正确的海拔,现在反复修改高位总是FF,改成读压强模式,高位出现66,按照16进制转换成
十进制也不对,压强也不对,再切换测高模式,高位总是FF,
有没有单独寄存器坏的可能????郁闷啊,啊,啊
回复

使用道具 举报

6#
ID:401564 发表于 2020-11-13 08:22 | 只看该作者
新乡家电维修 发表于 2020-11-13 07:47
地址我已经在资料里找到了解决了,读出的高度刚开始是02(MSB)B3(CSB)90(LSB),舍去小数部分。02ddH=73.3M, ...

单独一个寄存器坏了?这可能性几乎为0,这个就不要考虑了
基本可以确定是软件的问题,主要是看数据处理部分和传感器本身数据的存放格式,英文资料太多了,加上不会英文
就算是中文的也是要看好长一段时间的,就不看了
回复

使用道具 举报

7#
ID:72088 发表于 2020-11-13 21:42 | 只看该作者
温度正常显示10进制了,就是海拔最高位字节不正常,啊啊啊啊啊,要疯了

51hei图片_20201113213300.jpg (587.09 KB, 下载次数: 43)

51hei图片_20201113213300.jpg
回复

使用道具 举报

8#
ID:72088 发表于 2020-11-13 21:46 | 只看该作者
Y_G_G 发表于 2020-11-13 08:22
单独一个寄存器坏了?这可能性几乎为0,这个就不要考虑了
基本可以确定是软件的问题,主要是看数据处理部分 ...

00h,传感器状态寄存器,正常显示
01h压强或高度MSB,不正常
02h压强或高度CSB,正常显示
03h压强或高度LSB,正常显示
04h温度整数MSB,正常显示
05h温度小数LSB,正常显示

就中间夹着01地址寄存器不正常,不正确,气人不?
回复

使用道具 举报

9#
ID:401564 发表于 2020-11-14 11:05 | 只看该作者
新乡家电维修 发表于 2020-11-13 21:46
00h,传感器状态寄存器,正常显示
01h压强或高度MSB,不正常
02h压强或高度CSB,正常显示

不会英文,我大概机翻看了一下数据手册
它的输出数据是:01H,02H,03H组成的一个"有符号""的完整数据
也就是说:01H为最高位字节,它这个是有符号的!
01H读取到了FFH,那就是负数了,所有的数据要进行补码运算才是真正的海拔高度了
你读取出来的三个地址数据实际上是补码,不知道你转换过来没有?
单独一个这寄存器坏了,这种想法就不要去想了,要真怕这样,就买两个传感器对比就知道了
回复

使用道具 举报

10#
ID:401564 发表于 2020-11-14 14:11 | 只看该作者
新乡家电维修 发表于 2020-11-13 21:46
00h,传感器状态寄存器,正常显示
01h压强或高度MSB,不正常
02h压强或高度CSB,正常显示

应该是先读取01H,02H,03H这三个地址的数据,
然后,再检测01H最高位是0还是1,
如果是1,那就要进行补码运算
如果是0,那就直接采用这个数据,不用进行补码运算
回复

使用道具 举报

11#
ID:72088 发表于 2020-11-15 13:33 | 只看该作者
Y_G_G 发表于 2020-11-14 11:05
不会英文,我大概机翻看了一下数据手册
它的输出数据是:01H,02H,03H组成的一个"有符号""的完整数据
也就 ...

我又买了一个压力传感器,在快递的路上
回复

使用道具 举报

12#
ID:72088 发表于 2020-11-15 13:37 | 只看该作者
Y_G_G 发表于 2020-11-14 14:11
应该是先读取01H,02H,03H这三个地址的数据,
然后,再检测01H最高位是0还是1,
如果是1,那就要进行补码运 ...

读出的压强633500,这个地区的海拔是72m左右,切换到海拔模式,不该出现最高位FF,不该出现海拔负数
的现象,你说的转换正负数有一定道理,我用一个塑料袋装着传感器,往里面打起了,是不是气压高打坏了,
今天又发货一个传感器,货到试试看就知道了,谢谢
回复

使用道具 举报

13#
ID:420836 发表于 2020-11-16 01:04 | 只看该作者
MPL3115A2 I2C地址为0x60。
回复

使用道具 举报

14#
ID:401564 发表于 2020-11-16 08:19 | 只看该作者
新乡家电维修 发表于 2020-11-15 13:37
读出的压强633500,这个地区的海拔是72m左右,切换到海拔模式,不该出现最高位FF,不该出现海拔负数
的 ...

这个传感器的海拔数据是以有符号形式存放的,所以,严格来说,你是一定要对01H最高位进行检测的,然后还要进行处理,要么是显示负海拔,要么是不要这个数据,虽然说很少有低于海平面的时候,但数据有时候会是负数的
像你这个,我不太确定是什么原因,你可以看一下传感器的表面,那个小圆孔是不是有胶布贴在上面,如果有,就撕下来,数据就正常了
或者是你用手按住,海拔数据也会跟着变化的,一般没有什么东西刺到里面,它是不会坏的
回复

使用道具 举报

15#
ID:72088 发表于 2021-1-18 10:54 | 只看该作者
Y_G_G 发表于 2020-11-16 08:19
这个传感器的海拔数据是以有符号形式存放的,所以,严格来说,你是一定要对01H最高位进行检测的,然后还要进 ...

谢谢你,我试试,解决了就反馈到帖子里
回复

使用道具 举报

16#
ID:72088 发表于 2021-1-18 12:08 | 只看该作者
Y_G_G 发表于 2020-11-14 14:11
应该是先读取01H,02H,03H这三个地址的数据,
然后,再检测01H最高位是0还是1,
如果是1,那就要进行补码运 ...

这读出的好像是负数海拔,我这地理位置是70多米,

51hei图片_20210118110001.jpg (286.99 KB, 下载次数: 38)

51hei图片_20210118110001.jpg
回复

使用道具 举报

17#
ID:401564 发表于 2021-1-18 16:37 | 只看该作者
新乡家电维修 发表于 2021-1-18 12:08
这读出的好像是负数海拔,我这地理位置是70多米,

这都几个月了,还没有搞定呀
这并不是什么大问题的呀
1:先用手去按一下压力传感器的小孔,一般是会有变化的,再看一下里头的不干胶有没有坏,
如果不干胶没有坏,用手按下,计数能变化,大概就可以认为压力传感器是好的
如果压力传感器有胶布,那就撕下来
那就是你程序的问了
2:关于读取数据的处理方法,我上面已经说了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表