stm32驱动mpu6050、mpu6500、mpu9250心得

您所在的位置:网站首页 mpu6050和51单片机接线图 stm32驱动mpu6050、mpu6500、mpu9250心得

stm32驱动mpu6050、mpu6500、mpu9250心得

2023-08-04 09:01| 来源: 网络整理| 查看: 265

浅谈自己使用mpu陀螺仪的一些心得。

mpu6050/mpu6500驱动

在这里插入图片描述 这里是用的原子哥的用虚拟IIC驱动mpu6050代码,之前我一直是用硬件IIC驱动,但是听大神说虚拟IIC比硬件IIC要稳定,尝试之后发现确实比较稳定。而且个人觉得由于虚拟IIC可以在任意IO口开设,所以相较于硬件IIC更加方便。 在这里插入图片描述 另外贴出我使用MPU9250的驱动程序,也是使用了原子哥的,MPU9250是集合了MPU6500和磁力计AK8963为一体的传感器。值得注意的一点是,MPU9250初始化完成后,需要重新设置量程参数,不然会造成初始化失败。

使用dmp进行姿态解算

陀螺仪例如mpu6050用本身自带的dmp进行姿态解算的使用的比较广泛,原子哥也有详细的教程。这里贴出来的也是原子哥的代码。但是个人多次的情况来看,dmp有两个缺点: 1.dmp容易损坏。因为dmp很容易受到高温的影响,例如我需要用热熔胶固定陀螺仪,会导致dmp损坏,多表现为dmp的自检无法通过。 在这里插入图片描述 在这里插入图片描述 会发现自检函数会一直报错。 2.dmp不稳定。此处不稳定并不是指dmp解算出来的数值不稳定,而是dmp会容易受到外界因素的干扰,例如温度,气压等等。(无事实根据,个人经验猜测),因为我多次去往外地比赛,在家还好好工作的dmp到了比赛的城市就失效了,自检始终无法通过,最后不得不放弃,全程手动操控小车。

不使用dmp

那么mpu可以离开dmp工作吗?当然完全可以!我们做到代替dmp的滤波和姿态解算,我使用的是无人机飞控常使用的butterworth滤波,先将原始数据进行滤波,再进行姿态解算。 在这里插入图片描述 在这里插入图片描述 获取原始数据之后,进行滤波得到滤波后的角速度,再转换为角度制的值,这里得到的角速度数据是可以直接使用的。 butterworth滤波设计方法贴出大神:http://blog.csdn.net/u011992534/article/details/73743955



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3