OpenEdv-开源电子网

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

【探索者F407MPU9250MPL读取】消除yaw角漂移

[复制链接]

11

主题

66

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1028
金钱
1028
注册时间
2017-11-3
在线时间
712 小时
发表于 2019-4-19 17:16:18 | 显示全部楼层 |阅读模式
本帖最后由 Nemesis 于 2021-5-28 09:17 编辑

本人因公司项目需要,日前需要在F4系列平台上实现MPU9250传感器的MPL方式数据读取(险些被ywa漂移
逼疯)。
说来惭愧,原计划来社区寻找资源以求快速上手,调试。主观上确实是想偷懒,倒也没什么好不承认的
但也发现F4平台下9250源码帖子数量有限的同时还包含了大量的求助帖,已经实现的代码简洁高效,就实
现的效果而言,完全无可挑剔。但是作者本人的代码风格极强,学习起来不是特别方便。遂最终自行动手,
从阿波罗开发版的资料文件中获取了MPL库的文件。自行参考了网上,以及其它的开发者社区的诸多文章
之后成功实现在探索者平台通过MPL方式读取MPU9250采集的数据。在融合磁力计校准的情况下,yaw角漂
移的问题得到了极大改善。在普通办公室的环境下测试10个小时,yaw角偏移仅为0.7。相比于6050没有磁
力修正的结果已然是质的优化。

实际测试效果如下(视频较短进说明问题,详细效果请下载例程测试):
https://b23.tv/av49807289

(或直接B站搜索av号49807289)



本人所使用的9250模组如下图:
IMG_6854.JPG
即最为常见的9250模块,淘宝25块左右一个。

最后,本人认为我走过的弯路,掉过的坑。最后总结成经验如果能够帮到有需要的人实在是是非常荣幸的。
所以最后将自己的代码,修改、整理。整体风格模仿原子哥的例程代码(个人认为原子哥的代码结构清晰
注释详细,十分便于学习),在F407资料自带的6050实验基础上修改完成了9250实验代码。具体接线和一
些改动的细节均已在“Readme”文件里写明,欢迎需要的小伙伴下载学习,遇到任何问题共同交流进步。从
学生时代直到今天,学习成长的道路社区的朋友给予的无私帮助。今天希望也尽我的能力提供一些帮助给
需要的人。

最后再次感谢所有翻译手册、调试测试的开荒者。附件提供源码下载。
实验_ MPU9250九轴传感器实验.rar (5.71 MB, 下载次数: 4376)

运动唤醒.rar

2.65 MB, 下载次数: 468

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

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2020-9-11
在线时间
3 小时
发表于 2023-3-9 11:45:52 | 显示全部楼层
naiva 发表于 2022-3-25 18:10
谢谢分享,有没有遇到同样的问题:在STM32F407板子上测试的时候,读取不到ID 提示:" MPU6500:ID=255  MPU9 ...

我也遇到了这个问题,用的也是STM32F407
回复 支持 1 反对 0

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14283
金钱
14283
注册时间
2018-8-3
在线时间
1146 小时
发表于 2019-4-19 18:19:40 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2019-4-23
在线时间
13 小时
发表于 2019-4-23 14:56:48 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
400
金钱
400
注册时间
2016-10-21
在线时间
169 小时
发表于 2019-4-24 09:17:02 | 显示全部楼层
谢谢分享!!!!!
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2019-4-24
在线时间
21 小时
发表于 2019-4-24 16:11:38 | 显示全部楼层
是静止不动时的偏移仅0.7嘛?楼主有试过运动后偏移是多少嘛?
回复 支持 反对

使用道具 举报

7

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2019-1-30
在线时间
74 小时
发表于 2019-4-24 19:56:53 | 显示全部楼层
楼主好人!但在无人机这种高速振动的场合,yaw角漂移会是更加剧烈的……
回复 支持 反对

使用道具 举报

11

主题

66

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1028
金钱
1028
注册时间
2017-11-3
在线时间
712 小时
 楼主| 发表于 2019-4-25 09:32:29 | 显示全部楼层
helius 发表于 2019-4-24 16:11
是静止不动时的偏移仅0.7嘛?楼主有试过运动后偏移是多少嘛?

是的,试过,动起来的画面就有些辣眼睛了。慢速转动15度左右浮动,快的话数据就飞到不知哪里去了。路还很长
回复 支持 反对

使用道具 举报

11

主题

66

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1028
金钱
1028
注册时间
2017-11-3
在线时间
712 小时
 楼主| 发表于 2019-4-25 09:33:44 | 显示全部楼层
妙行 发表于 2019-4-24 19:56
楼主好人!但在无人机这种高速振动的场合,yaw角漂移会是更加剧烈的……

是的,也是类似的运动姿态解算。已经自闭3天了
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-9-29
在线时间
8 小时
发表于 2019-4-25 15:52:05 | 显示全部楼层
太感谢了,急需啊
回复 支持 反对

使用道具 举报

7

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2019-1-30
在线时间
74 小时
发表于 2019-4-25 19:29:48 | 显示全部楼层
Nemesis 发表于 2019-4-25 09:33
是的,也是类似的运动姿态解算。已经自闭3天了

可以把原始的16位数据过一个低通滤波器,然后再去四元数结算。(初步的想法)
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2019-4-25
在线时间
22 小时
发表于 2019-4-25 22:35:22 | 显示全部楼层
非常感谢了!、
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2019-4-25
在线时间
22 小时
发表于 2019-4-26 11:26:15 | 显示全部楼层
感谢。。。。。。。。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2019-12-23
在线时间
2 小时
发表于 2020-1-6 11:40:35 | 显示全部楼层
收藏了,谢谢楼主!
回复 支持 反对

使用道具 举报

11

主题

66

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1028
金钱
1028
注册时间
2017-11-3
在线时间
712 小时
 楼主| 发表于 2020-1-7 09:28:35 | 显示全部楼层
李向阳 发表于 2020-1-6 11:40
收藏了,谢谢楼主!

有帮助就好,不用客气
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2019-12-22
在线时间
91 小时
发表于 2020-3-10 00:17:35 来自手机 | 显示全部楼层
不自检吗
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-4-27
在线时间
5 小时
发表于 2021-7-18 16:23:26 | 显示全部楼层
楼主你好,不知道为什么我用了这个程序之后,出现了一点问题。问题的详情描述如下:在调用mpl库里面的mpu_mpl_get_data(&pitch,&roll,&yaw)函数来获得yaw角时,无论是我在未进行8字校准和完成了8字校准之后,我沿Z轴转动传感器约90°,但是通过蓝牙发到串口助手上的yaw显示只变化了5~6°,请问大家有没有碰到这种情况?
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2020-5-7
在线时间
22 小时
发表于 2021-7-30 11:00:34 | 显示全部楼层
大哥知道为啥我在中断里读程序就无法运行吗?
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2020-5-7
在线时间
22 小时
发表于 2021-7-31 16:20:04 | 显示全部楼层
大哥,如果9250抖动的话YAW角会逐渐增加啊,请问你有这个问题吗
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2021-10-18
在线时间
2 小时
发表于 2021-10-19 09:27:40 | 显示全部楼层
带师,F411读取9250设备ID读出来是0x70,0x71是正确的
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2022-3-7
在线时间
0 小时
发表于 2022-3-7 09:15:22 | 显示全部楼层
谢谢分享~~
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2022-3-22
在线时间
2 小时
发表于 2022-3-25 15:31:09 | 显示全部楼层
2022.03.25 MPU6050 MPU9250 ICM20948
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2022-3-22
在线时间
2 小时
发表于 2022-3-25 18:10:05 | 显示全部楼层
谢谢分享,有没有遇到同样的问题:在STM32F407板子上测试的时候,读取不到ID 提示:" MPU6500:ID=255  MPU9250Error"
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2022-4-21
在线时间
1 小时
发表于 2022-4-22 21:39:19 | 显示全部楼层
探索者LYL 发表于 2021-7-18 16:23
楼主你好,不知道为什么我用了这个程序之后,出现了一点问题。问题的详情描述如下:在调用mpl库里面的mpu_m ...

你好,请问你问题解决了没有,我这边遇到同样的情况
回复 支持 反对

使用道具 举报

0

主题

286

帖子

0

精华

高级会员

Rank: 4

积分
949
金钱
949
注册时间
2018-4-21
在线时间
264 小时
发表于 2023-2-7 21:59:06 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2020-9-24
在线时间
14 小时
发表于 2023-2-25 17:57:07 | 显示全部楼层
感谢大佬分享
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2022-1-17
在线时间
14 小时
发表于 2023-7-1 16:05:51 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2024-10-22
在线时间
2 小时
发表于 2024-11-5 15:39:14 | 显示全部楼层
Abc20171005 发表于 2023-3-9 11:45
我也遇到了这个问题,用的也是STM32F407

我也是,想请问一下是如何解决的呢?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2024-10-22
在线时间
2 小时
发表于 2024-11-5 15:40:47 | 显示全部楼层
naiva 发表于 2022-3-25 18:10
谢谢分享,有没有遇到同样的问题:在STM32F407板子上测试的时候,读取不到ID 提示:" MPU6500:ID=255  MPU9 ...

我也遇到了,请问你现在解决了吗,可以分享一下是怎么解决的
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 06:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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