当前位置: 首页 > 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.dtcms.com/a/356740.html

相关文章:

  • 2025年社交广告投放技术解析:应对CPM上涨的核心策略与实战方法
  • 元宇宙与娱乐产业:沉浸式体验与内容生态的重构
  • 前端工程化深度实践:从构建优化到CI/CD的完整解决方案
  • 基于无人机的风电叶片全自动智能巡检:高精度停角估计与细节优先曝光调控技术
  • 【Flask】测试平台开发,产品管理实现添加功能-第五篇
  • 【Flask】测试平台开发,集成禅道
  • 【Spring Cloud微服务】6.通信的利刃:深入浅出 Spring Cloud Feign 实战与原理
  • 前端-什么是Vue
  • 如何禁止网站内容被复制:技术、策略与深度思考
  • 【面试系列】谈谈你对数据库ACID的理解
  • 鸿蒙Next导航与路由指南:组件导航与页面路由的完美协作
  • Java中使用Spring Boot+Ollama实现本地AI的MCP接入
  • Dify平台:Agent开发初学者指南
  • Rust:所有权
  • Swift 解法详解:LeetCode 366《寻找二叉树的叶子节点》
  • SOME/IP-SD中”服务器服务组播端点”、“客户端服务组播端点”与“IPv4组播选项的区分
  • 记录:HSD部署(未完成)
  • 如何编译和使用 tomcat-connectors-1.2.32 源码(连接 Apache 和 Tomcat)​附安装包下载
  • CD71.【C++ Dev】二叉树的三种非递归遍历方式
  • 4.渗透-.DOS命令(文件目录操作)
  • 响应式编程框架Reactor【3】
  • Rust Web框架Axum学习指南之响应和异常封装
  • 如何备份 TECNO 手机上的短信
  • 云手机的安全性如何?
  • 云手机技术中都有着哪些局限性?
  • 国际期货Level2分时Tick历史行情数据处理分析
  • 关于 etree 的解析
  • 【c++题解】经典题目:带修改的 LIS 问题——CF650D Zip-line
  • 【修复软件】【缺少dll、ocx】加载失败报错无法运行注册老软件崩溃解决修复任何软件等通用方法
  • 中文PDF解析工具测评与选型指南