一、简介
MPU9250芯片是一个9轴姿态传感芯片,其中包含了3轴加速度传感器、3轴角速度传感器以及三轴磁力计。其本质上是MPU6050芯片+AK8963。
可以获取传感芯片的加速度、角速度、以及磁力值。角速度可以知芯片的转动速度,加速度可以知道芯片运动的距离、速度情况,而磁力计可以知道物芯片的运动方向。
另外MPU9250芯片内置DMP姿态融合器,可以在不涉及算法的情况下,直接读取出描述物体状态的四元数,从而得出物体的三维角度–航向角、翻滚角、俯仰角。
二、流程
1.复位,配置PWR_MGMT_1 0x80,延时一段时间。
2.启动,配置PWR_MGMT_1(一般为00,表示使用内部晶振20Mhz)。
3.设置采样频率。
4.设置量程(角速度、加速度量程)。
5.外部中断打开,并且配置成相应的工作方式开启DMP,以及FIFO。
6.通过II2C对MPU9250的寄存器进行读写操作,来获取传感器数据。
7.读取DMP FIFO,之后进行计算三维角度。
三、设计
1.iic,dmp初始化
IIC_Init(); //模拟I2C驱动的初始化,一定要先初始化I2C接口才能操作MPU9250芯片
Init_MPU9250_With_DMP();//初始化MPU9250,配置并且开启DMP,设置中断方式为加速度方式
2.函数调用
mpu9250_data(); //获取加速度,角加速度,磁力值,角度