【江科大】STM32:MPU6050介绍

文章目录

  • MPU6050介绍
    • 结构图
    • MPU6050参数
    • 硬件电路
    • 模块内部结构框图
      • 数据帧格式
      • 寄存器地址

MPU6050介绍

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

  • 3轴加速度计(Accelerometer):测量X、Y、Z轴的加速度(加速度计具有静态稳定),不具有动态稳定性。)如一个车在斜坡上,椅子和靠背都受到了力的作用,但是车是水平向前的,因此当物体运动,使用加速度计来测量,测出来的角度就会不准确。

  • 3 轴陀螺仪传感器(Gyroscope):测量X、Y、Z轴的角速度 :具有动态稳定性,不具有静态稳定性。

举个例子:游乐园的旋转飞椅,中间的旋转轴转的越快,挂在上面的椅子就会飞的越远,直接测量两个对向椅子之间的距离就可以得到,旋转轴的角速度。
如果想得到角度,只需要对角速度积分即可。 当物体静止时,角速度值会因为噪声,无法完全归0,经过积分的不断累积,就会导致产生的角速度有缓慢的飘逸。
(因为加速度计和陀螺仪是互补的,因此采用互补滤波,就可进行姿态解算(简单))。

  • 3轴磁场传感器 9轴 飞机机头的上仰和下倾 称为俯仰
  • 气压传感器 10轴 飞机机身左翻滚和右翻滚称为ROLL
    通过数据融合可以得到欧拉角(飞控算法) :互补滤波,卡尔曼滤波
    欧拉角: 飞机机身保持水平,机头向左右转向,称为偏航
    应用:姿态解算
    在这里插入图片描述

在这里插入图片描述

结构图

在这里插入图片描述

MPU6050参数

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

  • 当测量的ADC是32767则代表满量程 对应加速度计16g.

  • 32768对应加速度计满量程选择:±2、±4、±8、±16(g) 满量程选择越小,测量就会越细腻 AD值是固定的,乘相应的系数就可以得到加速度值(一一对应)

  • 陀螺仪满量程选择: ±250、±500、±1000、±2000(°/sec) (也是和AD值一一对应)

  • 可配置的数字低通滤波器 (对输出数据进行低通滤波)

  • 可配置的时钟源 (为AD内部转换和内部电路提供时钟,控制分频系数,就可控制AD的转换快慢了)

  • 可配置的采样分频

  • I2C从机地址:1101000(AD0=0)
    1101001(AD0=1)
    如果0x68 是从机地址 (代表直接把7位地址转换为16进制得到的。在实际发送第一个字节时,不要忘了先左移一位。再或上读写位)
    如果0xD0是从机地址,(融入读写位的从机地址)

  • 绕Z轴的角度,无法通过加速度计来修正偏移。9轴姿态传感器 多出来的磁力计的作用,对陀螺仪的感知方向进行纠正。
    举个例子:当坐在车里,车一直运动,短时间可以通过陀螺仪来辨别车子的方向,但是时间长了,车子转的弯多了,就对方向失去
    辨别能力,因此这个时候加个指南针就可以了,磁力计起的也是类似的作用。
    当6轴传感器不够用,需要扩展的时候,SCL和XDA就起作用。用来外接磁力计,气压计。然后由DMP单元进行数据融合,姿态解算。
    AD0:从机地址的最低位
    接低电平:1101000(AD0=0)
    接高电平:1101001(AD0=1)
    自由落体检测,
    运动检测
    0运动检测 (需要的花可以进行中断配置)

硬件电路

在这里插入图片描述
在这里插入图片描述

模块内部结构框图

在这里插入图片描述

数据帧格式

在这里插入图片描述

寄存器地址

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
所有的寄存器上电默认都是0x00,除了107号寄存器默认为0x40(睡眠)117号寄存器为0x68.

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

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

相关文章

STM32CubeMX教程27 SDIO - 读写SD卡

目录 1、准备材料 2、实验目标 3、轮询方式读取SD卡流程 3.0、前提知识 3.1、CubeMX相关配置 3.1.0、工程基本配置 3.1.1、时钟树配置 3.1.2、外设参数配置 3.1.3、外设中断配置 3.2、生成代码 3.2.0、配置Project Manager页面 3.2.1、外设初始化调用流程 3.2.2、外设中断调用流…

现货黄金做日内交易和波段交易有何差异?

在现货黄金投资中,日内交易和波段交易都是投资者常用的手段。但投资者其实搞不懂两者有何区别,有时甚至不清楚自己做的是日内交易还是波段交易,下面我们就来讨论一下这两种交易方法的异同。 两者的区别主要是在持仓的时间上。日内交易顾名思义…

Python中的`__all__`魔法函数使用详解

概要 Python是一门灵活而强大的编程语言,提供了各种机制来控制模块的导入和访问。其中,__all__魔法函数是一种用于限制模块导入的机制,可以明确指定哪些变量、函数或类可以被导入。本文将深入探讨__all__的作用、用法以及示例,以…

C++:类和对象(中)

类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成…

ES文档索引、查询、分片、文档评分和分析器技术原理

技术原理 索引文档 索引文档分为单个文档和多个文档。 单个文档 新建单个文档所需要的步骤顺序: 客户端向 Node 1 发送新建、索引或者删除请求。节点使用文档的 _id 确定文档属于分片 0 。请求会被转发到 Node 3,因为分片 0 的主分片目前被分配在 …

【AI绘画】stablediffusion图生图教程!!

**手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取) ** 目录 一、图生图 1.图生图原理 2.图生图三个步骤 ①图生图基本三步法 ②提示…

Leetcode—2859. 计算 K 置位下标对应元素的和【简单】

2023每日刷题&#xff08;九十一&#xff09; Leetcode—2859. 计算 K 置位下标对应元素的和 内置函数__builtin_popcount方法实现代码 class Solution { public:int sumIndicesWithKSetBits(vector<int>& nums, int k) {int n nums.size();int ans 0;for(int i …

mac电脑安卓文件传输工具:Android File Transfer直装版

Android File Transfer&#xff08;AFT&#xff09;是一款用于在Mac操作系统上与Android设备之间传输文件。它允许用户将照片、音乐、视频和其他文件从他们的Android手机或平板电脑传输到Mac电脑&#xff0c;以及将文件从Mac上传到Android设备。 下载地址&#xff1a;https://w…

怎样编写高性能C/C++程序

本文主要讨论高性能编程&#xff0c;而且是那种“极致性能需求”。按照本人的粗浅认识&#xff0c;应该已经覆盖了绝大多数技术要点&#xff0c;但缺点是不够详细&#xff08;篇幅有限&#xff09;。本文共分为4个部分&#xff1a;总体论述、高性能网络编程、高性能数值计算、常…

【揭秘】ForkJoinTask全面解析

内容摘要 ForkJoinTask的显著优点在于其高效的并行处理能力&#xff0c;它能够将复杂任务拆分成多个子任务&#xff0c;并利用多核处理器同时执行&#xff0c;从而显著提升计算性能&#xff0c;此外&#xff0c;ForkJoinTask还提供了简洁的API和强大的任务管理机制&#xff0c…

常规的管理系统除了适用该有的范儿一定要有!气质上不能输

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验&#xff01;希望我的分享能帮助到您&#xff01;如需帮助可以评论关注私信我们一起探讨&#xff01;致敬感谢感恩&#xff01; 常规的管理系统除了适用该有的范儿一定要有!气质上不能输 在现今快速发展的商业环境中…

Android音量调节修改

前言 今日公司&#xff0c;安卓设备的音量显示不正常&#xff0c;让我来修复这个bug&#xff0c;现在已修复&#xff0c;做个博客&#xff0c;记录一下&#xff0c;以后碰到类似一下子就好解决。 Android音量调节相关 路径 frameworks\base\services\core\java\com\android…

NIO-Selector详解

NIO-Selector详解 Selector概述 Selector选择器&#xff0c;也可以称为多路复⽤器。它是Java NIO的核⼼组件之⼀&#xff0c;⽤于检查⼀个或多个Channel的状态是否处于可读、可写、可连接、可接收等。通过⼀个Selector选择器管理多个Channel&#xff0c;可以实现⼀个线程管理…

Spring boot + Azure OpenAI 服务 1.使用 GPT-35-Turbo

Azure OpenAI 服务使用 GPT-35-Turbo 先决条件 maven 注意 beta.6 版本 <dependency><groupId>com.azure</groupId><artifactId>azure-ai-openai</artifactId><version>1.0.0-beta.6</version></dependency>问答工具类 pack…

C++的关键字,命名空间,缺省参数,函数重载以及原理

文章目录 前言一、C关键字(C98)二、命名空间命名空间介绍命名空间的使用 三、C输入【cin】& 输出【cout】四、缺省参数缺省参数概念缺省参数分类缺省参数的使用小结一下 五、函数重载函数重载介绍函数重载类型 六、C支持函数重载的原理--名字修饰(name Mangling)【重点】 前…

二分算法模版

二分算法模版 实数二分算法模版实数二分模版题 整数二分算法模版向上取整二分模版向下取整二分模版二分模版的注意点二分模版中check函数的实现能够使用二分的条件 二分主要分两类&#xff0c; 一类是对实数进行二分&#xff0c;一类是对整数进行二分 对整数二分又分成2种&…

python-自动化篇-运维-监控-简单实例-道出如何使⽤Python进⾏系统监控?

如何使⽤Python进⾏系统监控&#xff1f; 使⽤Python进⾏系统监控涉及以下⼀般步骤&#xff1a; 选择监控指标&#xff1a; ⾸先&#xff0c;确定希望监控的系统指标&#xff0c;这可以包括 CPU 利⽤率、内存使⽤情况、磁盘空间、⽹络流量、服务可⽤性等。选择监控⼯具&#x…

Java实现加权平均分计算程序WeightedAverageCalculator

成绩加权平均分计算程序&#xff0c;带UI界面和输入保存功能。 因为本人对成绩的加权均分有所关注&#xff0c;但学校的教务系统查分时往往又不显示个人的加权均分&#xff0c;加之每次手动敲计算器计算很麻烦就花了点时间写了一个加权均分计算程序自用&#xff0c;顺便开源。…

STM32标准库——(5)EXTI外部中断

1.中断系统 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行 中断优先级&#xff…

《WebKit 技术内幕》学习之十五(6):Web前端的未来

6 Chromium OS和Chrome的Web应用 6.1 基本原理 HTML5技术已经不仅仅用来编写网页了&#xff0c;也可以用来实现Web应用。传统的操作系统支持本地应用&#xff0c;那么是否可以有专门的操作系统来支持Web应用呢&#xff1f;当然&#xff0c;现在已经有众多基于Web的操作系统&…