TURBOYAN博客-https://turboyan.com

TURBOYAN博客
https://turboyan.com
  1. 首页
  2. 开源源码
  3. 正文

【底层】MPU9250(电子指南针+六轴)通用底层(模拟IIC)

2024 年 5 月 18 日 348点热度 4人点赞 0条评论

项目 地址(选中复制到浏览器打开或发送至电脑) 备注
底层 https://github.com/TURBOyan/MPU9250.git
例程 https://github.com/TURBOyan/MPU9250_Example.git
百度网盘 链接:https://pan.baidu.com/s/1sq9QN1b6RG6lJ_c780nBYQ 提取码:oly7
文件总大小 1.40MB
时序 MPL频率 最高200Hz,默认100Hz
读取一次数据所需时间 约2.5ms Refresh_MPUTeam函数

说明

1、实测MPU9250在芯片Z轴垂直于水平面初始化(必须),并开启10秒左右后,融合了电子罗盘的偏航角10分钟漂移不超过0.1度,稳定性高于MPU6050。

2、如果芯片周围有强磁,看到Yaw角迟迟不能稳定的话,则需要八字校准电子罗盘,即开启后将模块做八字回旋动作,直到看到Yaw角稳定输出。

代码下载

一、GitHub方式(推荐,便于后续更新和代码管理)

可移植底层链接👇

https://github.com/TURBOyan/MPU9250.git                                        

例程链接👇

例程内已有的移植好的单片机有:1、LPC54606

https://github.com/TURBOyan/MPU9250-Example.git                                   

点击查看Github下载教程👇

使用GitHub来团队协作和管理你的代码

二、百度网盘下载

链接:https://pan.baidu.com/s/1sq9QN1b6RG6lJ_c780nBYQ
提取码:oly7
复制这段内容后打开百度网盘手机App,操作更方便哦

代码移植

一、克隆代码

这里我拿LPC546XX例程举例

在你的工程文件夹内,任选一个位置,这里我选择了../USER/

这个文件夹是专门放用户自己写的代码和底层用的

在文件夹内右击git bash将代码克隆进去,具体办法点击这里查看教程

二、添加C文件和H文件路径到工程内

这部分比较容易

如果有不会的同学可以自行百度

三、修改配置文件

!!!!最关键的一步!!!!!

这里要修改的非常少

需要修改的文件只有

MPU9250_Config.h

内部包含了传入的平台GPIO操作函数

具体做法详见这个头文件

都有详细注释

三、调用函数读取模块数据

1、在需要读取MPU9250数据的头文件内包括MPU_ForUser.h文件

2、查看MPU_ForUser.h内函数,并阅读调用说明

需要调用的函数有:

(1)MPU_Init_ForUser();用于MPU9250初始化

(2)Refresh_MPUTeam(DMP_MPL);用于读取三态角值,实测在正确调用的情况下,执行一次需要2.5ms

3、执行一次Refresh_MPUTeam后,相对应的数据将刷新在结构体MPU_Data内,此结构体可在任何包括了MPU_ForUser的地方使用,是全局结构体。

其他具体用法详见MPU_ForUser和MPU9250_Config内说明

备注:单片机和模块连接除了IIC的SCL、SDA引脚以外,还需连一根线从模块的INT到单片机的外部中断引脚,用作数据准备好的信号,中断触发的周期将由MPU9250_Config.h文件内的DEFAULT_MPU_HZ决定,也就是MPL的刷新频率,一般最高200Hz,这里默认是100hz

P.S.

个人主页:https://turboyan.com

GitHub:https://github.com/TURBOyan

Email:turboisyan@foxmail.com

公众号:特博工坊

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 传感器
最后更新:2024 年 5 月 22 日

turboyan

这个人很懒,什么都没留下

点赞

文章评论

您需要 登录 之后才可以评论

归档

  • 2024 年 5 月

分类

  • 开源源码
  • 科普

COPYRIGHT © 2024 turbo-blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang