OpenEdv-开源电子网

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

MPU6050 dmp读取数据溢出问题该怎么解决?

[复制链接]

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-12
在线时间
2 小时
发表于 2015-5-13 19:15:31 | 显示全部楼层 |阅读模式
5金钱
很多人卡在这里吧
if (tmp[0] & BIT_FIFO_OVERFLOW) {
            mpu_reset_fifo();
            return -2;
问题的本质就是,读取数据速度不够快导致FIFO溢出。
据说解决的方法就是,不能只用一个dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors,&more);函数。
我参考了据说“非常成功”的代码,他们使用的库都差不多,或者一样,那么玄机就在如何加快读取?
请各位大神帮帮忙,要不然我就直接读取陀螺仪加速度计原始数据自己做数据融合了,但是我觉得INVsense公司做dmp必定有它的道理吧。
还是想用DMP读取数据

最佳答案

查看完整内容[请看2#楼]

参考下我们F407的例子吧。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-13 19:15:32 | 显示全部楼层
参考下我们F407的例子吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-12
在线时间
2 小时
 楼主| 发表于 2015-5-13 19:39:00 | 显示全部楼层
我用STM32103X单片机
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-13 22:55:49 | 显示全部楼层
我们例程读DMP,效果不错啊。没死在这里。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

68

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
114
金钱
114
注册时间
2014-12-25
在线时间
2 小时
发表于 2015-5-14 09:18:34 | 显示全部楼层
读取速度上STM32完全不是问题,这个多检查一下你的程序。另外,里面的dmp算法可能静止的时候还可以,要是运动起来以后就需要结合GPS把运动加速度介入,这样才能计算出比较准确的姿态。
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-12
在线时间
2 小时
 楼主| 发表于 2015-5-21 14:57:26 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
请问在哪可以看到?
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-12
在线时间
2 小时
 楼主| 发表于 2015-5-21 15:01:27 | 显示全部楼层
回复【5楼】惯性坐标系:
---------------------------------
这个问题我以前也考虑过,不过小四轴还是云台的惯性测量单元用的都是MPU6050(6轴),那么他们是怎么在有运动加速度的时候测量出姿态的呢?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-21 23:08:15 | 显示全部楼层
回复【6楼】yummychop:
---------------------------------
论坛搜索MPU6050
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-12
在线时间
2 小时
 楼主| 发表于 2015-5-23 11:09:42 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
请问你们一般MPU6050接INT引脚么?还有就是在物体有加速度的情况下,如何通过加速度计得出物体的姿态?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-23 23:43:21 | 显示全部楼层
回复【9楼】yummychop:
---------------------------------
没用到.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

19

主题

107

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2015-3-5
在线时间
44 小时
发表于 2015-5-29 21:46:04 | 显示全部楼层
回复【9楼】yummychop:
---------------------------------
卡尔曼滤波、互补滤波、四元数融合,方法好多的
回复

使用道具 举报

20

主题

120

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2015-6-4
在线时间
5 小时
发表于 2015-8-19 21:09:15 | 显示全部楼层
回复【11楼】阿拓:
---------------------------------
那意思是说卡尔曼滤波、互补滤波、四元数融合都可以用来进行姿态解算是吗?新人,对这些不是很懂,希望可以解答一下!谢谢!
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2015-7-20
在线时间
14 小时
发表于 2016-1-27 23:36:22 | 显示全部楼层
我发现一个现象,即使用原子的代码,当你仿真的时候一步一步走程序也是肯定会卡在那里的,屏幕不会有示数;而不仿真时就能成功读出欧拉角来,屏幕也有示数。所以应该是那个什么读取速度的问题。
回复

使用道具 举报

9

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
金钱
223
注册时间
2014-5-2
在线时间
49 小时
发表于 2016-8-30 15:20:55 | 显示全部楼层
我也碰到这个问题,确实是速度问题,mpu_dmp_get_data要执行足够快,之前我是0.5s调用一次这个函数,结果死活不行,一直溢出,后来改为一直循环执行,每0.5s读取pitch,roll,yaw,就可以正常读出来,不过还是出现多次执行mpu_dmp_get_data后会出现一次溢出然后重置mpu_reset_fifo,这应该是我在while中做其它事偏多导致速度受影响
回复

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2017-4-2
在线时间
28 小时
发表于 2017-4-16 16:41:35 | 显示全部楼层
正点原子 发表于 2015-5-13 22:55
我们例程读DMP,效果不错啊。没死在这里。

用例程直接没反应,没有进入mpu_dmp_get_data()==0那个判断函数
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2023-2-21
在线时间
5 小时
发表于 2023-3-8 00:41:54 | 显示全部楼层
正点原子 发表于 2015-5-13 19:15
参考下我们F407的例子吧。

我用你的407的例子,在你们MINIFLY上做测试,原始数据读的出,DMP数据死活读不出来,是什么原因
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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