MPU6050的使用

6轴运动处理组件,内带3轴陀螺仪和3轴加速度传感器(自带数字运动处理器)具有DMP

PS:DMP库的作用是处理MPU6050传感器的数据,提供如四元数、欧拉角等姿态信息,从而简化了从原始传感器数据中提取有用信息的过程。

自带了一个 数据温度传感器除去加速度和陀螺仪外

image-ufhz.png

MCU代表微控制器单元(Microcontroller Unit),它是STM32系列芯片的核心部分。MCU是一种集成了中央处理器(CPU)、存储器、输入输出接口、时钟电路、模拟数字转换器(ADC)等多个模块的微型计算机系统。在STM32中,MCU负责执行程序、处理数据以及控制各种外设接口,从而实现对整个系统的控制和管理。

目前大部分MCU都带有IIC总线接口所以我们使用软件IIc便于移植

image-yldh.png

在MPU6050中Accel代表加速度 Gyro代表陀螺仪 当AD0悬空时其默认地址是0X68/ 当他是高电平时是0x69

下面我们来介绍几个重要的寄存器

1 电源管理寄存器(寄存器地址为0x6B)

一般用CLKSEL来设置时钟一般设置为001 即使用x轴陀螺仪作为参考

2陀螺仪配置寄存器(0x1B)

FS_SEL[2,0]一般只关心这两个位,其用于设置陀螺仪的满量程范围 0,250; 1,500; 2,1000;3,2000;

一般是设置为3,即+-2000

image-yilk.png

4 FIFO传感器,再简单数据处理时可以不用FIFO传感器将其设置为0即可

5 陀螺仪采样率分频寄存器(0X19)

用于设置陀螺仪的采样频率

image-fpfh.png

6配置寄存器(0x1A)

用于数字的过滤

7电源管理器2(0x6c)全部配置成0使他们无法进入待机模式

8陀螺仪输出寄存器 输出方式高字节在前,低字节在后

然后我们来了解一下MPU6050如何进行初始化

1 首先 我们需要对于IIC接口进行初始化包括与其连接的SDA和SCL数据线以及起始终止信号

2复位MPU6050,让MPU6050的所有寄存器恢复默认值,通过对电源管理寄存器1(0X6B)写1就可以实现

当设置默认之后,(电源管理器1会恢复默认值0X40),这是我们必须设置该寄存器为0X00,用来唤醒MPU6050,进入正常工作状态

3然后我们就可以设置加速度传感器(0X1C)和陀螺仪传感器(0X1B)的配置,陀螺仪的量程为+-2000 加速器为+-2g

4 我们还需要其他配置 关闭中断,关闭AUXIIC接口(因为没有磁力计)禁止FIFO

image-eqes.png

持续更新中