OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2721|回复: 9

求教一下原子大神的6050代码例程 怎么使用

[复制链接]

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
发表于 2017-11-8 09:25:57 | 显示全部楼层 |阅读模式
30金钱
RT,我自己玩的时候,试了一下,读取产品addr是能读取到正确的值的,感觉iic是通了的,但是在读加速度或者方向角的时候,打印出来,是一堆非常大的数据,即使放着不动,加速度也在一直跳,而且数据很大

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
 楼主| 发表于 2017-11-8 10:08:24 | 显示全部楼层
就是,我用MPU_Read_Byte(MPU_DEVICE_ID_REG);能读出0x68,但是用MPU_Read_Byte(MPU_ACCEL_XOUTH_REG);就读不出正确的加速度值的高8位,其他的也一样
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2017-11-8 10:52:28 | 显示全部楼层
数据跳是很正常的。。。数据不跳就怪了。那个是量测误差,而且加速度计的量测误差更大(微机电的结构所决定)。

正常使用的话一般需要滤波。

而且,读出来的数据非常大是因为你没有进行标度变换,那些都是原始数据。
十六进制带我飞。
回复

使用道具 举报

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
 楼主| 发表于 2017-11-8 11:08:48 | 显示全部楼层
DreamWaterPro 发表于 2017-11-8 10:52
数据跳是很正常的。。。数据不跳就怪了。那个是量测误差,而且加速度计的量测误差更大(微机电的结构所决定 ...

请问一下 标度变换是怎么做的。。。纠结几天了
回复

使用道具 举报

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
 楼主| 发表于 2017-11-8 11:27:40 | 显示全部楼层
DreamWaterPro 发表于 2017-11-8 10:52
数据跳是很正常的。。。数据不跳就怪了。那个是量测误差,而且加速度计的量测误差更大(微机电的结构所决定 ...

还有就是 数据我感觉不是波动的问题,是错误数据。。。如果我直接调原子大神的 MPU_Get_Accelerometer这个函数,理论上讲,高8位和低8位,得到的应该是2位十六进制数,但是我得到的是一个8位的十六进制数,而且如果都是静止摆放的话,根据摆放角度的不同,获得的数值也不同,差距还挺大的。。。不知道我是哪儿弄错了
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2017-11-8 13:22:02 | 显示全部楼层
你说:“理论上讲,高8位和低8位,得到的应该是2位十六进制数,但是我得到的是一个8位的十六进制数”。看不懂什么意思。高8+低8就是一个16位无符号数。不知道怎么还出来个2位8位是啥东西。
不会用原子例程可以不用,它用DMP读取数据。
我在论坛里分享过MPU6050的代码,没用DMP的。
自在随心
回复

使用道具 举报

5

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2017-11-6
在线时间
44 小时
发表于 2017-11-8 14:53:36 | 显示全部楼层
标度变换,你去看手册,根据你设置的量程范围,然后算出来就可以了
回复

使用道具 举报

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
 楼主| 发表于 2017-11-15 20:23:52 | 显示全部楼层
lliwork 发表于 2017-11-8 14:53
标度变换,你去看手册,根据你设置的量程范围,然后算出来就可以了

关键是,正常情况下,我静止不动的时候 加速度的值应该是0才对,但是我读取到的数值 会根据我摆放的角度不同而变化 感觉很诡异
回复

使用道具 举报

5

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2017-11-6
在线时间
44 小时
发表于 2017-11-16 09:17:44 | 显示全部楼层
18323054303 发表于 2017-11-15 20:23
关键是,正常情况下,我静止不动的时候 加速度的值应该是0才对,但是我读取到的数值 会根据我摆放的角度 ...

你可以试着把全部寄存器的值,读出来,观察下配置,还有其他加速度值,看下是否正常。如果你觉得是mpu6050的问题就换一个再试试。总要慢慢地自己去解决嘛
回复

使用道具 举报

28

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2015-5-19
在线时间
64 小时
 楼主| 发表于 2017-12-1 11:27:50 | 显示全部楼层
lliwork 发表于 2017-11-16 09:17
你可以试着把全部寄存器的值,读出来,观察下配置,还有其他加速度值,看下是否正常。如果你觉得是mpu605 ...

读的值 除了返回的addr值是对的之外 其他的全部是错的。。。又重新买了几个模块 还是一样的问题。。。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 14:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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