c17 发表于 2022-8-31 23:55

stm32小四轴之MPU6050的DMP库移植

前些天,根据原子哥和火哥的MPU6050例程,自己仿写了一个IIC读MPU6050的程序,因为我要做的是小四轴,要姿态融合解算,只是单纯的原始数据没有实际价值,所以一开始我仿照crazepony的程序写DMP程序。但是,crazepony的DMP是自己写的,不是用官方的DMP库,我仿写起来很吃力,昨天花了7、8个小时也没有写出了。到了今天,突然醒悟,百度一下,发现大部分DMP都是移植官方的库,简单又方便,可怜我一直以为crazepong的写法才是简便的,转变思想后,立马移植官方的DMP库。
       以下就是移植过程:
       1、把官方DMP库即下图的eMPL和我自己的mpu605、myiic文件复制到文件夹中。

2、打开MDK工程,双击,把3个文件都添加进去。

       3、添加完之后,在main函数文件包含头文件。

   4、在inv_mpu.c文件,将官方定义的i2cwrite,i2cread,delay_ms,get_ms函数换成自己的函数。

    5、在inv_mpu.c文件的底部,添加MPU_DMP初始化函数mpu_dmp_init()和读DMP函数mpu_dmp_get_data(),并将获得的四元素转换成欧拉角。

    6、到此就移植完,然后在main函数中把获得的数据打印出来。

    到这一步,已经获取好数据了,下一步就是学习姿态控制算法了。

c17 发表于 2022-8-31 23:55

版权声明:本文为CSDN博主「qq_34586266」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_34586266/article/details/54986319

burgessmaggie 发表于 2022-9-5 14:29

DMP可以计算角度吗

foxsbig 发表于 2022-9-6 21:37

这是什么?

caigang13 发表于 2022-9-6 23:35

很久以前搞了个小四轴。

hellosdc 发表于 2022-9-7 16:08

可以计算运动的距离吗?

ingramward 发表于 2022-9-8 10:35

使用的是硬件iic控制的吗

sanfuzi 发表于 2022-9-8 11:01

可以AHRS计算角度

mituzu 发表于 2022-9-8 14:03

这个自己开发的代码吗

Henryko 发表于 2022-9-11 21:49

可以计算距离吗

claretttt 发表于 2022-11-3 20:45

MPU6050如何计算欧拉角度呢?

SantaBunny 发表于 2022-11-4 09:54

好厉害的样子

MessageRing 发表于 2022-11-4 18:30

iic是硬件控制的吗?

Jacquetry 发表于 2022-11-5 18:25

可以计算运动的距离吗?

Stahan 发表于 2022-11-6 18:49

MPU6050如何计算欧拉角度呢?

mikewalpole 发表于 2022-11-6 19:56

DMP可以融合MPU6050和HMC5883的数据吗?

Henryko 发表于 2022-11-6 21:06

可以计算运动的距离吗?

loutin 发表于 2022-11-10 12:57

MPU6050的水平漂移的数据太大了,怎么才能修正呢?

pmp 发表于 2022-11-10 14:19

dmp是内部集成算法还是需要自己写入的算法?

jackcat 发表于 2022-11-10 16:25

使用四元数可以计算mpu6050的角度么?
页: [1] 2
查看完整版本: stm32小四轴之MPU6050的DMP库移植