当前位置: 首页 > news >正文

嵌入式学习日志————MPU6050简介

1.MPU6050简介

  • MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车、飞行器等需要检测自身姿态的场景

  • 3轴加速度计(Accelerometer):测量X、Y、Z轴的加速度

  • 3轴陀螺仪传感器(Gyroscope):测量X、Y、Z轴的角速度

加速度计具有静态稳定性,不具备动态稳定性

陀螺仪具有动态稳定性,不具有静态稳定性(角速度积分得到的角度禁不起时间的考验)

2.MPU6050参数

  • 16位ADC采集传感器的模拟信号,量化范围:-32768~32767

  • 加速度计满量程选择:±2、±4、±8、±16(g)

  • 陀螺仪满量程选择: ±250、±500、±1000、±2000(°/sec)

  • 可配置的数字低通滤波器(当输出数据抖动太厉害时可用)

  • 可配置的时钟源

  • 可配置的采样分频

  • I2C从机地址:1101000(AD0=0);1101001(AD0=1)

3.硬件电路

引脚功能
VCC、GND电源
SCL、SDAI2C通信引脚
XCL、XDA主机I2C通信引脚
AD0从机地址最低位
INT中断信号输出

4.MPU6050框图

  • 自测单元:当启动自测以后,芯片内部会模拟一个外力施加在传感器上,这个外力会导致传感器数据比平时大。(步骤:使能自测->读取数据->使能自测->读取数据。两个数据相减得到的是自测响应,这个值在芯片手册里给出了相应的范围,如果自测响应在这个范围内,就说明芯片没有问题)

  • 充电泵的升压原理:电源和电容一直快速持续地进行并联充电串联放点

  • 中断状态寄存器:可以控制内部的哪些事件到中断引脚的输出

  • 先入先出寄存器:可以对数据流进行缓存(本节暂时不用)

  • 配置寄存器:可以对内部各个电路进行配置

  • 传感器寄存器(数据寄存器):存储了各个传感器的数据

  • 工厂校准:内部的传感器校准(不用了解)

  • 数字运动处理器(DMP):是芯片内部自带的一个姿态解算的硬件算法,配合官方的DMP库,可以进行姿态解算(暂时不涉及)

  • 帧同步:用不到

  • 从机的I2C和SPI通信接口:用于和STM32通信

  • 主机的I2C通信接口:用于和MPU6050扩展的设备进行通信

  • 接口旁路选择器:就是一个开关,如果拨到上面,辅助的I2C引脚就和正常的I2C引脚接到一起,这样两路总线就合在一起了,STM32可以控制所有设备。如果拨到下面,辅助的I2C就由MPU6050控制,两条I2C总线独立分开。

5.说明书

这个芯片的系统时钟,可以由

  • ①内部晶振;

  • ②X、Y、Z轴的陀螺仪(因为陀螺仪内部需要高精度时钟的支持,所以陀螺仪内部也有独立的时钟,这三个时钟可以输出作为系统时钟);

  • ③可以通过外部的CLKIN引脚输入32.768Hz的方波,或者19.2MHz的方波(需要额外的电路,比较麻烦)

来提供

可选的中断信号(发生以下事件时,在INT引脚输出一个电平跳变,然后STM32可以用外部中断来接收这个跳变,这样中断信号就可以通往STM32的CPU了)

6.寄存器手册

(1)

(2)数据寄存器↓

(-L表示低八位,-H表示高八位)

①加速度计XYZ轴

②温度传感器

③陀螺仪XYZ轴

(3)电源管理寄存器1

(4)电源管理寄存器2

(5)陀螺仪配置寄存器(4.4)

高三位是XYZ轴的自测使能位,中间两位是满量程选择位,后面三位没用到

自测响应的范围↓

满量程选择↓

(6)加速度计配置寄存器(4.5)

高三位是XYZ轴的自测使能位,中间两位是满量程选择位,后面三位配置高通滤波器

自测响应范围↓

满量程选择↓

(7)对于所有数据寄存器

想读取相关数据时,直接读取对应的数据寄存器即可:这是一个16位的有符号数,以二进制补码的方式存储,我们读出高8位和低8位,高位左移8次,或上低位数据,最后再存在一个uint16_t的变量里,这样就可以得到数据了

(8)电源管理寄存器1

第一位:设备复位(这一位写1,所有寄存器恢复到默认值)

第二位:睡眠模式(这一位写1,芯片睡眠,不工作,进入低功耗)

第三位:循环模式(这一位写1,设备进入低功耗,过一段时间,启动一次,并且唤醒的频率由下一个寄存器(电源管理寄存器2)的第1、2位确定,这个模式比较省电)

第五位:温度传感器失能(写1之后,禁用内部的温度传感器)

最后三位:用来选择系统时钟来源

(9)电源管理寄存器2

后六位:分别控制6个轴进入待机模式

(10)注意

所有寄存器上电默认值均为0x00,除了下面这两个

距离开学还有5天!!!

加油!!!

http://www.xdnf.cn/news/1385839.html

相关文章:

  • 【微信小程序】微信小程序基于双token的API请求封装与无感刷新实现方案
  • Unity、Unreal Engine与Godot中纹理元数据管理的比较分析
  • uni-app + Vue3 开发H5 页面播放海康ws(Websocket协议)的视频流
  • 腾讯位置商业授权微信小程序距离计算
  • 有鹿机器人:用智能清洁重塑多行业工作方式
  • AI推介-大语言模型LLMs论文速览(arXiv方向):2025.04.25-2025.04.30
  • ADO 操作access
  • 选华为实验工具:eNSP Pro 和社区在线实验哪个更适合?
  • 《华为战略管理法:DSTE 实战体系》读书笔记
  • 第二章 Vue + Three.js 实现鼠标拖拽旋转 3D 立方体交互实践
  • FDTD_mie散射_项目研究(1)
  • DirectX修复工具官方中文增强版下载!下载安装教程(附安装包),0xc000007b错误解决办法
  • 【python+requests】接口自动化测试:三步用代理工具快速定位问题
  • Linux 软件编程(十四)网络编程:数据存储与 SQLite 数据库
  • 【C++】类与对象(上)
  • Python- Visual Studio Code配置Anaconda
  • Vue 实战:优雅实现无限层级评论区,支持“显示全部”分页递归加载
  • simd笔记
  • 使用生成对抗网络增强网络入侵检测性能
  • 【开题答辩全过程】以 基于Python的美食点评系统为例,包含答辩的问题和答案
  • 【数据结构与算法-Day 20】从零到一掌握二叉树:定义、性质、特殊形态与存储结构全解析
  • Hadoop(六)
  • T06_循环神经网络
  • 基于博客系统的自动化测试项目
  • Selenium无法定位元素的几种解决方案
  • C# 日志写入loki
  • 力扣452:用最少数量的箭射爆气球(排序+贪心)
  • 如何编译和使用 tomcat-connectors-1.2.32 源码(连接 Apache 和 Tomcat)​附安装包下载
  • 数据质检之springboot通过yarn调用spark作业实现数据质量检测
  • Dify 1.8.0 全网首发,预告发布