MPU6050六轴传感器的原理及编程说明 您所在的位置:网站首页 加速度计范围 MPU6050六轴传感器的原理及编程说明

MPU6050六轴传感器的原理及编程说明

2023-08-23 08:48| 来源: 网络整理| 查看: 265

一.简介

MPU6050 是 InvenSense 公司推出的整合性 6 轴运动处理组件,其内部整合了 3 轴陀螺仪和 3 轴加速度传感器,并且含有一个IIC 接口, 可用于连接外部磁力传感器,并利用自带的数字运动处理器(DMP: Digital Motion Processor) 硬件加速引擎,通过主 IIC 接口,向应用端输出完整的 9 轴融合演算数据。 InvenSense 公司提供了一套基于DMP的运动处理驱动库,可大大降低单片机对动处理运算的负荷,同时也大大降低了编程难度。该模块广泛运用于飞控、计步等电子产品中。 在这里插入图片描述 MPU6050芯片及模块

二.MPU6050原理及参数 1.芯片内部框图

MPU内部自带有7路16bit的ADC转换电路,其中3路为陀螺仪、3路为加速度计、1路为内部温度传感器。ADC转换后的数据通过DMP处理后,存储在FIFO里。单片机通过对芯片内部寄存器进行读写操作,完成对MPU的控制。 在这里插入图片描述

2.芯片引脚说明

MPU6050的接线比较简单,使用3.3V的工作电源,通过IIC接口(MPU6000还可用SPI接口)与MCU通信。 在这里插入图片描述

3.模块电路图

模块原理图如下,其中使用了SPX3810M稳压芯片,将5V电源转换为3.3V电压给MPU6050芯片供电,P-MOS管Q1、Q2作为电平转换电路,将芯片的IIC电平转化为5.0V电平,可兼容51单片机和STM32单片机的控制电平(注:STM32引脚需要配置为开漏状态,且需要所用引脚能兼容5.0V电压,引脚标志为FT)。采用3.3V的单片机控制,如果不想要或者无法兼容5V电压,可将电平转换电路去掉,将IIC接口直接接单片机IIC引脚。 在这里插入图片描述

4.单片机与模块接线图

单片机IIC接口采用模拟IIC通信。 在这里插入图片描述

三.MPU6050编程及控制

因为MPU6050内部带有DMP处理单元,加上官方提供了比较完整的运动处理驱动库,大大降低了我们的编程和对数据的处理难度。我们可以将各个运动的参数计算,如旋转矩阵、四元数(quaternion)、欧拉角格式(Euler Angle forma)的融合演算数据,通过调用运动处理驱动库函数,直接读取出数据来。 如果想要使用官方提供的运动处理驱动库,需要在工程里面增加文件“inv_mpu_dmp_motion_driver.h”、“inv_mpu_dmp_motion_driver.c”、“inv_mpu.h”、“inv_mpu.c”、“dmpKey.h”、“dmpmap.h"六个文件。

以下程序是基于正点原子ATK-MPU6050模块的开发例程为例。

在完成标准的IIC驱动程序后,先实现读寄存器和写寄存器操作;

(1)读寄存器操作 //IIC读一个字节 //reg:寄存器地址 //返回值:读到的数据 u8 MPU_Read_Byte(u8 reg) { u8 res; MPU_IIC_Start(); MPU_IIC_Send_Byte((MPU_ADDR


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有