目录

  • 一、相关介绍
  • 二、相关图解
    • 2.1模块电路图
    • 2.2系统结构图
  • 三、MPU6050初始化
  • 四、寄存器配置
    • 1、电源管理寄存器1(0x6B)
    • 2、电源管理寄存器2(0x6C)
    • 3、陀螺仪配置寄存器(0X1B)
    • 4、加速度传感器配置寄存器(0X1C)
    • 5、FIFO使能寄存器(0X23)
    • 6、陀螺仪采样率分频寄存器(0X19)
    • 7、配置寄存器(0X1A)
    • 8、加速度传感器数据输出寄存器(0X3B~0X40)
    • 9、陀螺仪数据输出寄存器(0X43~0X48)
    • 10、温度传感器数据输出寄存器(0X41~0X42)
  • 总结

一、相关介绍

MPU-60X0是世界上第一款集成 6 轴MotionTracking设备。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP( DigitalMotion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其 I2C或SPI接口输出一个9轴的信号( SPI接口仅在MPU-6000可用)。 MPU-60X0也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。

二、相关图解

2.1模块电路图

2.2系统结构图

三、MPU6050初始化

  1. 初始化I2C接口。

  2. 复位MPU6050(电源管理寄存器1-0x6B)。

  3. 设置角速度传感器和加速度传感器的满量程范围(陀螺仪采样率——采样率分频寄存器0x19;设置数字低通滤波器——配置寄存器0x1A)。

  4. 设置系统时钟(电源管理寄存器1-0x6B)。

  5. 使能角速度传感器(陀螺仪)和加速度传感器(电源管理寄存器2-0x6C)。

四、寄存器配置

1、电源管理寄存器1(0x6B)



DEVICE_RESE=1,复位MPU6050,复位完成后,自动清零
SLEEP=1,进入睡眠模式;SLEEP=0,正常工作模式。
TEMP_DIS,用于设置是否使能温度传感器,设置为0,则使能CLKSEL[2:0],用于选择系统时钟源。

2、电源管理寄存器2(0x6C)



该寄存器的LP_WAKE_CTRL用于控制低功耗时的唤醒频率剩下的6位,分别控制加速度和陀螺仪的x/y/z轴是否进入待机模式,全部设置为:0 (全部都不进入待机模式)。

3、陀螺仪配置寄存器(0X1B)


只需要关心FS_SEL[1:0]这两个位;一般设置为3(即±2000°/S),因为陀螺仪的ADC为16位分辨率,所以得到灵敏度为:65536/4000=16.4LSB/(°/S)。

4、加速度传感器配置寄存器(0X1C)



只关心AFS_SEL[1:0]这两个位;一般设置为0(即±2g),因为加速度传感器的ADC也是16位,所以得到灵敏度为:65536(2^16)/4000(2000*2)=16384LSB/g。

5、FIFO使能寄存器(0X23)


该寄存器用于控制FIFO使能,在简单读取传感器数据的时候,可以不用FIFO,设置对应位为:0,即可禁止FIFO,设置为1,则使能FIFO。
注意:加速度传感器的3个轴,全由1个位(ACCEL_FIFO_EN)控制,只要该位置1,则加速度传感器的三个通道都开启FIFO。陀螺仪的各自控制(位4-6)。

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


该寄存器用于设置MPU6050的陀螺仪采样频率,计算公式为:
采样频率 = 陀螺仪输出频率 / (1+SMPLRT_DIV)
这里陀螺仪的输出频率,是1KHz或者8KHz,与数字低通滤波器(DLPF)的设置有关,当DLPF_CFG=0/7的时候,频率为8KHz,其他情况是1KHz。而且DLPF滤波频率一般设置为采样率的一半。采样率,我们假定设置为50Hz,那么:SMPLRT_DIV=1000/50-1=19。

7、配置寄存器(0X1A)


重点看数字低通滤波器(DLPF)的设置位,即:DLPF_CFG[2:0],加速度计和陀螺仪,都是根据这三个位的配置进行过滤的,如下表:

设置:带宽=1/2采样率

DLPF_CFG为4时较为合理。

8、加速度传感器数据输出寄存器(0X3B~0X40)


该寄存器总共由6个寄存器组成,输出X/Y/Z三个轴的加速度传感器值,高字节在前,低字节在后。

9、陀螺仪数据输出寄存器(0X43~0X48)

该寄存器总共由6个寄存器组成,输出X/Y/Z三个轴的陀螺仪传感器数据,高字节在前,低字节在后。

10、温度传感器数据输出寄存器(0X41~0X42)


通过读取0X41(高8位)和0X42(低8位)寄存器得到,温度换算公式为:
Temperature = 36.53 + regval/340
其中,Temperature为计算得到的温度值,单位为℃,regval为从0X41和0X42读到的温度传感器值。

参考自1、。

总结


学习笔记5-MPU6050模块相关推荐

  1. 好程序员web前端分享Nodejs学习笔记之Stream模块

    好程序员web前端分享Nodejs学习笔记之Stream模块 一,开篇分析 流是一个抽象接口,被 Node 中的很多对象所实现.比如对一个 HTTP 服务器的请求是一个流,stdout 也是一个流.流 ...

  2. node.js学习笔记5——核心模块1

    node.js学习笔记5--核心模块1 Node.js核心模块主要内容包括:(1)全局对象 (2)常用工具 (3)事件机制 (4)文件系统访问 (5)HTTP服务器与客户端 一: 全局对象 Node. ...

  3. python学习笔记4(模块

    python学习笔记4(模块) 一.模块 1.1 import语句 1.2 __name__属性 1.3 dir()函数 1.4 包 2.1 导入特定模块: 二.输入与输出 2.1 format使用 ...

  4. STM32F407学习笔记——MG90S舵机模块(基本控制)

    STM32F407学习笔记--MG90S舵机模块(基本控制) 一.基本原理: 通过改变PWM占空比来实现舵机进行不同角度转动,下面给出旋转角度与脉冲时间及对应占空比的关系(时基脉冲=20ms). 旋转 ...

  5. Apollo学习笔记3-定位模块配置

    Apollo学习笔记3-定位模块配置 环境介绍 导航设备参数配置 导航设备配置 (1)杆臂配置 (2)GNSS 航向配置 (3)导航模式配置 (4) USB 接口输出设置 (5)网口配置 (6) PP ...

  6. Python学习笔记__5章 模块

    # 这是学习廖雪峰老师python教程的学习笔记 1.概览 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,在Python中,一个.py文件就称之为 ...

  7. Webpack4 学习笔记二 CSS模块转换

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 打包css模块 webpack是js模块打包器, 如果在入口文件引入css文件或其它的less.sass等文件,需要 ...

  8. python3常用模块_Python学习笔记三(常用模块)

    Python 学习笔记三 (常用模块) 1.os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称( ...

  9. CANoe学习笔记(9) 发送模块CAN IG图解

    参考官方教程,整理的个人自学笔记,方便日后查阅. CANoe是德国Vector公司出的一款总线开发环境,全称叫CAN open environment,主要用于汽车总线的开发而设计的.CANoe的前期 ...

  10. libgdx 学习笔记七 Libgdx模块概述

    简介 LibGDX 包括几个模块,对每一个典型的游戏架构步骤提供服务. Input - 对所有平台提供一个统一的输入模块并处理.支持键盘,触摸屏,传感器,鼠标等 Graphics - 开启屏幕上图像的 ...

最新文章

  1. linux smart服务,RAKsmart Linux美国服务器常用信息命令
  2. python3 性能提升_整理下Python性能语法,非常有效的提高性能的tips
  3. js的with语句使用方法
  4. 2016年4月 TIOBE 编程语言排行榜
  5. MyBatis:事务回滚
  6. laravel mysql视图_php-动态更新Laravel视图
  7. 跟 05 后拼年龄?算了,11 岁的他都成比特币专家了
  8. python交换两个值原理_python交换两个变量的值方法
  9. mysql 5.7.26 linux安装_mysql-5.7.28 在Linux下的安装教程图解
  10. 云课堂让职业院校软件开发教学更简单
  11. 与iPhone5国行A1429的故事:越狱、降级刷机、完美电信3G、不完美电信4G、撸油管
  12. 深度linux如何装win系统,在深度deepin系统中使用deepin-wine自定义安装win程序的方法...
  13. L2范数-欧几里得范数
  14. S3C2440-GPIO和jlink配置
  15. 跨境物流的主要操作流程是怎样的?
  16. msys2在windows10系统的安装
  17. 电子商务网站:SEO优化的15个基本技巧!
  18. 外观数列(Look-and-say sequence)
  19. 在vue中使用element-ui 里面的按钮点击后显示加载中,防止重复提交
  20. SpringBoot报错Field userService in XXTestController required a bean of type 'XX' that could not be...

热门文章

  1. 我眼中的OpenTracing
  2. 行政管理专业如何选择合适的毕业论文题目?
  3. 2019-10-19-dotnet-给MatterMost订阅RSS博客
  4. Word怎么批量删除空行和空格?有技巧很简单!
  5. 2023远程控制软件排行榜
  6. 03-通过代理服务器访问myeclipse官方网站的方法
  7. Verilog HDL 语言基础
  8. SpringBoot-Undertow应用waitting状态线程异常增加的问题探究
  9. 《NJUPT》网络信息安全_期末PPT整理笔记
  10. java 连接solrcloud_Java操作SolrCloud