MPU6050详解

文章目录

  • 前言
  • MPU6050简介
    • MPU6050参数
  • 硬件电路
  • MPU6050框图
    • 电荷泵的原理
  • 内部时钟生成
  • 需要使用的寄存器(常用)
    • 采样率划分器
    • 配置寄存器
    • 陀螺仪配置寄存器
    • 加速度计配置寄存器
    • 加速度计测量寄存器
    • 温度测量寄存器
    • 陀螺仪测量寄存器
    • 电源管理1寄存器
    • 电源管理2寄存器
    • 我是谁(ID号)寄存器
  • 扩展
    • MPU-6000使用SPI接口
    • 中断源


前言

本文主要介绍MPU6050的功能、原理、部分寄存器。
I2C介绍可见于:https://blog.csdn.net/qq_53922901/article/details/136430501?spm=1001.2014.3001.5501


MPU6050简介

在这里插入图片描述

MPU6050参数

要根据实际情况来选择满量程,在不会以此满量程的情况下,满量程越小,对信号的感知就越细腻
I2C从机地址两种方式:
直接转16进制表示0x68,在时序中传入从机地址表示为(0x68<<1)| 0x01,左移一位再或上是要读还是要写
先左移一位变为0xd0,在时序中传入地址0xd0 | 0x01,直接或上要读还是要写
在这里插入图片描述

硬件电路

XCL、XDA:在MPU6050进行复杂的运动时,六轴姿态传感器会造成判断误差,此时可以用这些接口接入磁力计来提供稳定的偏航角来纠正姿态传感器。或者要用于无人机时,需要定高飞行,还可以加入气压计,扩展为10轴,提供高度的稳定参考。
AD0:可以看到为弱下拉,在浮空状态就是低电平,要使其置为高电平,直接将AD0连接VCC。
在这里插入图片描述
在这里插入图片描述

MPU6050框图

在这里插入图片描述
MPU-60X0由以下关键块和功能组成:

  1. 三轴MEMS速率陀螺仪传感器与16位ADC和信号调节
  2. 三轴MEMS加速计传感器与16位ADC和信号调节
  3. 数字运动处理器(DMP)引擎
  4. 主I2C和SPI(仅MPU-6000)串行通信接口
  5. 辅助I2C串行接口为第三方磁力计和其他传感器
  6. 时钟
  7. 传感器数据寄存器
  8. FIFO
  9. 中断
  10. 数字输出温度传感器
  11. 陀螺仪和加速度计自检
  12. 偏置和LDO
  13. 电荷泵(用于扩大电压)

电荷泵的原理

在这里插入图片描述

内部时钟生成

允许产生内部时钟的内部源是:

  • 内部弛豫振荡器(内部晶振)
  • 任何X、Y或Z陀螺(MEMS±温度变化的振荡器)(陀螺仪的晶振)

允许的外部时钟源是:

  • 32.768kHz方波
  • 19.2 MHz方波

需要使用的寄存器(常用)

采样率划分器

该寄存器指定来自用于生成MPU-60X0的采样速率的陀螺仪输出速率的分频器。
在这里插入图片描述
采样频率 = 时钟源 /(1 + SMPLRT_DIV)<分频系数>
注意:DLPF禁用时陀螺仪输出速率=为8 kHz(DLPF_CFG=0或7),启用DLPF时为1 kHz

配置寄存器

此寄存器可配置陀螺仪和加速度计的外部帧同步(FSYNC)针脚采样(不使用)和数字低通滤波器(DLPF)设置
在这里插入图片描述
DLPF由DLPF_CFG配置。加速度计和陀螺仪根据DLPF_CFG的值进行过滤,如下表所示:
在这里插入图片描述

陀螺仪配置寄存器

陀螺仪自检允许用户测试陀螺仪的机械和电气部分。通过控制该寄存器的XG_ST、YG_ST和ZG_ST位,可以激活每个陀螺仪轴的自检。每个轴的自检可以独立进行,也可以同时进行。
在这里插入图片描述
自测响应 = 自测使能时的数据 - 自测失能时的数据
自测响应的最小最大值
在这里插入图片描述
FS_SEL根据下表选择陀螺仪输出的全比例范围:
在这里插入图片描述

加速度计配置寄存器

该寄存器用于触发加速度计的自检,并配置加速度计的全比例范围。(配置方法一致)此寄存器还可配置了数字高通滤波器(DHPF)。
在这里插入图片描述

加速度计测量寄存器

这些寄存器存储了最近的加速度计测量值。
在这里插入图片描述
加速度计测量寄存器,以及温度测量寄存器、陀螺仪测量寄存器和外部传感器数据寄存器,由两组寄存器组成:一个内部寄存器集和一个面向用户的读取寄存器集。

温度测量寄存器

在这里插入图片描述

陀螺仪测量寄存器

在这里插入图片描述

电源管理1寄存器

在这里插入图片描述

  • 第一位:reset,置1重置
  • SLEEP:置1进入休眠模式,不工作
  • CYCLE:置1进入循环模式,开启一会关闭一会,频率由电源管理2寄存器配置
  • TEMP_DIS:置1使内部的温度传感器失能
  • CLKSEL:选择时钟源
    上电后,MPU-60X0时钟源默认为内部振荡器。然而,强烈建议将该设备配置为使用其中一个陀螺仪(或一个外部时钟源)作为时钟参考,以提高稳定性。时钟源可以根据下表进行选择。
    在这里插入图片描述
    除以下寄存器以外的所有寄存器的重置值为0x00:
  • 寄存器107: 0x40 (电源管理1寄存器),即默认睡眠模式
  • 寄存器117: 0x68 (我是谁寄存器)

电源管理2寄存器

在这里插入图片描述
LP_WAKE_CTRL:用于配置电源管理1寄存器中循环模式的频率
在这里插入图片描述
其他各位分别可以配置对应的轴是否进入待机状态

我是谁(ID号)寄存器

此寄存器用于验证设备的身份。WHO_AM_I的内容是MPU-60X0的7位I2C地址的上6位(即I2C从机地址)。MPU-60X0的I 2C地址的最不显著位由AD0引脚的值决定。AD0引脚的值没有反映在这个寄存器中。
在这里插入图片描述
默认读出为0x68


扩展

MPU-6000使用SPI接口

在下图中,系统处理器是MPU-6000的SPI主服务器。引脚8、9、23和24用于支持用于SPI通信的/CS、SDO、SCLK和SDI信号。
由于这些SPI引脚与I2 C的引脚(9、23和24)共享,系统处理器不能通过接口旁路复用器访问辅助I2 C总线,接口旁路复用器将处理器I2 C接口引脚连接到传感器I2 C接口引脚。由于MPU-6000作为I2 C主控的能力有限,并且依赖于系统处理器来管理任何辅助传感器的初始配置,必须使用另一种方法对辅助传感器I2 C总线引脚6和7(AUX_DA和AUX_CL)上的传感器进行编程。当在MPU-6000和系统处理器之间使用SPI通信时,可以通过使用I2 C Slave 0-4在任何设备上执行读写事务,并实现设备在辅助I2 C传感器总线上的注册。I2 C Slave 4接口只能用于执行单个字节的读和写事务。一旦配置了外部传感器,MPU-6000可以使用传感器I2 C总线执行单节或多字节读取。
在这里插入图片描述

中断源

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat实现java博客项目、状态页及常见配置介绍

目录 一、自建博客 1. 项目背景 2. 操作示例 二、状态页 1. 概述 2. server status 信息状态页 3. manager app 项目管理状态页 4. host manger 虚拟主机管理状态页 三、常见配置 1. 端口8005/tcp安全配置管理 2. tomcat端口号 3. 虚拟主机设置 4. Context配置 一…

R语言自定义颜色

一、创建颜色梯度&#xff08;渐变色&#xff09; 在绘热图时&#xff0c;需要将数值映射到不同的颜色上&#xff0c;这时就需要一系列的颜色梯度colorRampPalette 函数支持自定义的创建一系列的颜色梯度。 代码示例&#xff1a; library(RColorBrewer)x <- colorRampPal…

【kubernetes】关于k8s集群的pod控制器

目录 一、deployment控制器 二、statefulset控制器 1、验证数据可以持久化 2、验证删除后名称不会改变&#xff0c;数据还会一直存在 3、验证扩容的创建过程是升序串行执行&#xff0c;并且自动创建pv 4、验证滚动更新的时候也是升序执行&#xff0c;数据持久化还在 5、验…

【排序算法】深入理解归并排序算法:从原理到实现

目录 1. 引言 2. 归并排序算法原理 3. 归并排序的时间复杂度分析 4. 归并排序的应用场景 5. 归并排序的优缺点分析 5.1 优点&#xff1a; 5.2 缺点&#xff1a; 6. Java、JavaScript 和 Python 实现归并排序算法 6.1 Java 实现&#xff1a; 6.2 JavaScript 实现&…

A5自媒体wordpress主题模板

一个简洁的wordpress个人博客主题&#xff0c;适合做个人博客&#xff0c;SEO优化效果挺不错的。 https://www.wpniu.com/themes/204.html

什么是ETL?什么是ELT?怎么区分它们使用场景

在大数据处理的领域中&#xff0c;ETL和ELT是两个经常被数据工程师提到的工具&#xff0c;而有很多数据工程师对这两种工具的区别和使用和定位有一定的模糊&#xff0c;其实它们分别代表了两种不同的数据集成方法。尽管这两种方法看起来都是从源系统提取数据&#xff0c;转换数…

2024AI在医疗领域中的辅助趋势与现有进展

2024 年 AI 辅助研发趋势随着人工智能技术的持续发展与突破&#xff0c;2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计&#xff0c;从软件开发到材料科学&#xff0c;AI正逐渐渗透到研发的各个环节&#xff0c;变革着传统的研发模式。在这一背景下&am…

rabbitmq 基本总结

rabbitmq 的基本概念 vhost、broker、producer、 consumer、 exchange、 queue、 routing key rabbitmq 常用的队列类型&#xff0c;工作队列&#xff08;简单队列&#xff09;,pub/sub, routing key&#xff0c; topic 模式 <dependency><groupId>com.rabbitmq&l…

启动项目报502怎么处理呢?

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

蓝桥杯练习系统(算法训练)ALGO-982 最小距离

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 最小距离 问题描述 数轴上有n个数字&#xff0c;求最近的两个数&#xff0c;即min(abs(x-y)) 输入格式 第一行包含一个整数n。   …

Redis的Lua脚本

Redis提供了Lua脚本功能&#xff0c;在一个脚本中编写多条Redis命令&#xff0c;确保多条redis命令执行时的原子性。&#xff08;让判断线程标识和释放锁原子执行&#xff09; 1.下载lua插件 2.创建lua文件 3.调用lua脚本 public void unlock() {//调用lua脚本原子性的判断线…

CSS中元素的层叠顺序

层叠顺序&#xff0c;英文称作 stacking order&#xff0c;表示元素发生层叠时有着特定的垂直显示顺序。下面是盒模型的层叠规则&#xff1a; 对于上图&#xff0c;由上到下分别是&#xff1a; &#xff08;1&#xff09;背景和边框&#xff1a;建立当前层叠上下文元素的背景…

【Qt】四种绘图设备详细使用

绘图设备有4个: **绘图设备是指继承QPainterDevice的子类————**QPixmap QImage QPicture QBitmap(黑白图片) QBitmap——父类QPixmapQPixmap图片类&#xff0c;主要用来显示&#xff0c;它针对于显示器显示做了特殊优化&#xff0c;依赖于平台的&#xff0c;只能在主线程…

Linux系统——web服务拓展练习

目录 一、实验环境搭建 1. Centos 7-5——Client 2. Centos 7-1——网关服务器 3. Centos 7-2——Web1 4. Centos 7-3——Web2 5. Centos 7-4——Nginx 二、在Nginx服务器上搭建LNMP服务&#xff0c;并且能够对外提供Discuz论坛服务&#xff1b;在Web1、Web2服务器上搭建…

数据集下载汇总

国家数据网 https://data.stats.gov.cn/ 国家数据是国家统计局发布统计信息的网站&#xff0c;包含了我国经济、民生、农业、工业、运输、旅游、教育、科技、卫生等多个方面的数据&#xff0c;并且在月度、季度、年度都有覆盖&#xff0c;较为全面和权威&#xff0c;对于社会…

【数据库-黑马笔记】基础-函数和约束

本文参考b站黑马数据库视频,总结详细全面的笔记 ,可结合视频观看27~36集 MYSQL 的基础知识框架如下 目录 一、 函数 1、字符串函数 2、数值函数 3、日期函数 4、流程函数 5、小结: 二、约束 1、概述 2、 约束演示 3、外键约束 4、外键删除更新行为 5、小结: …

如何查看自己电脑显卡的内存

ctrlaltdelete 打开任务管理器&#xff0c;然后打开性能页面,你会看到一个GPU内存&#xff0c;这个是自己GPU的内存&#xff0c;也叫专用GPU内存&#xff0c;而那个共享GPU 内存是不够用的时候借用电脑的内存。 下面是专用GPU内存和共享GPU内存的具体区别 专用GPU内存和共享GPU…

HarmonyOS 数据持久化 关系型数据库之 增删改逻辑编写

好 上文 HarmonyOS 数据持久化 关系型数据库之 初始化操作 我们讲了 关系型数据库初始化 那么 本文 我们来编写 增删改 相关代码 打开我们的项目 打开到 我们之前写的这个 relationalClass 类 然后 我们在 initTaskDB 下面再定义一个函数 叫 addTask 的函数 用来执行添加逻辑 …

【论文笔记】Mamba: Linear-Time Sequence Modeling with Selective State Spaces

原文链接&#xff1a;https://arxiv.org/abs/2312.00752 1. 引言 基石模型&#xff08;FM&#xff09;的主干网络通常是序列模型&#xff0c;处理任意的输入序列。但现代FM主要基于Transformer这一序列模型&#xff0c;及其核心的注意力。但是&#xff0c;自注意力仅能在上下…

EVMProxyInspect:一款功能强大的多链EVM代理检测工具

关于EVMProxyInspect EVMProxyInspect是一款针对以太坊EVM代理的检测工具&#xff0c;该工具可以帮助广大研究人员在多链生态中检测EVM代理。 该工具能够展示类似etherscan这样的工具是如何检测代理的&#xff0c;并且允许我们自行进行代理检测。需要注意的是&#xff0c;该工…