5_3_2_陀螺仪小球_硬件讲解|学习笔记

简介: 快速学习5_3_2_陀螺仪小球_硬件讲解。

开发者学堂课程【HaaS 物联网应用开发课程5_3_2_陀螺仪小球_硬件讲解】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/801/detail/13849


5_3_2_陀螺仪小球_硬件讲解

 

内容介绍:

MPU6050芯片硬件介绍

MPU6050 寄存器介绍

 

一、MPU6050芯片硬件介绍

1.原理图及外观

image.png

MPU6050芯片通过 I2C 接口进行通讯

支持 INT 中断功能,当数据到来时可以在该引脚上触发中断(MPU6050_INT—HaaS 1000 GPIO_P4_1).

通过AD0引脚决定了器件地址的bit0,AD0被拉低,I2C 的地址的 bit0就为0,AD0被拉高,I2C 从设备地址的bit0就为1。把 AD0 接到 VCC_3V3 ,其 bit0 为1,从地址为0X69。Bit0 为0,从地址为0X68

image.png

2.MPU6050芯片特性

MPU6050 芯片中有 I2C 接口最快接受400kHz,规定属于为快速模式。

集成3轴的 MEMS 陀螺仪、3轴 MEMS 及速度计以及一个可扩展的数字运动处理器 DMP (DigitalMotion Processor),

可用 I2C 接口扩展第三方数字传感器,比如磁力计、压力传感器等,陀螺仪和加速度计均使用16位的 ADC 进行测量

陀螺仪可测范围为±250、±500、±1000、±2000°/秒(dps)

加速度计可测范围为±2,±4,±8,±16g,片内1024节的 FIFO,有助于降低系统功耗,减少 MCU 之间的通信次数,内部内嵌了一个温度传感器和精度范围在±1%内的振荡器,芯片尺寸4×4×0.9mm,QFN封装,可承受最大10000g的冲击。

对于物体,要描述运动姿态,除了用 x,y,z 三个轴的加速度之外,还会用到三个轴的选装运动状态。

欧拉角是表达旋转的最常用的方式之一。

image.png

在 x,y,z 三个方向上旋转运动状态分别用 yaw,pitch,roll 进行测量。

电子中的旋转运动姿态通过陀螺仪传感器进行计算,而一般的陀螺仪不会直接输出 pitch、yaw、roll 三个指标,计算过程中会使用滤波算法、融合算法等,较为复杂。

MPU6050 内部就集成了 DMP 的运动引擎,全程 Digital Motion Processor,主要完成计算 pitch,yaw、roll三个指标中的滤波及数据融合,直接输出四元组。

降低了主控芯片的工作负担,提高了计算精度。Motion Driver 是 invensense 针对其运动传感器的软件包,其软件包的核心算法部分用静态链接库的形式提供。

DMP 对姿态运算频率最高是200Hz。

MPU6050内部结构图, ClOCK 表示为一个震荡期,中间 x、y、z 三个方向的加速度传感器以及三个方向上的角速度传感器,和一个温度传感器,模拟信号经过 ADC 进行转换,转换后就形成了离散的数字信号,离散的数字信号就会存在 MPU6050 的 CPU 内,主 CPU 可以通过I2C 接口将数据读出,若开启 DMP 中的小 DSP ,则会进行更高精度的计算。

MPU6050芯片可以扩展第三方 I2C 传感器,有一组I2C的 master 控制器

image.png

 

二、MPU6050 寄存器介绍

(1)MPU6050芯片的可配置选项很丰富含有配置寄存器(加速度、角速度、FIFO),

I2C主从设备控制及状态寄存器,因为MPU6050作为陀螺仪加速度传感器的时候,是从设备给主设备提供结果,而且又能扩展第三方的传感器,而扩展第三方传感器的时候是给主设备工作的,不管是主从设备,I2C 所现的各种参数是可以自行设置的,也有中断控制及状态寄存器,加速度、角速度及扩展传感器数据寄存器,低功耗设定寄存器。

跟本实验最有关的寄存器为三轴加速度寄存器、温度寄存器、三轴陀螺仪寄存器。第一列是16进制的地址,第二列是10进制的地址,第三列之后代表传感器存放对应数据值的具体位置。比如要读取X轴的加速度,可以读取3B 和3C 的寄存器,把 X 为3B 的值向左移8位和0X3C 的值相加,就为实际的结果。

image.png

(2)Power Management 1 寄存器为控制寄存器,比如 Bit7 写入1,代表芯片复位,Bit6 写入1,代表芯片进入低功耗模式,在 SLEEP 为0的时候,CYCLE 设置为1,代表让设备进入周期性工作模式,可以通过对 Power Management 2进行配置来控制器设定其工作周期。

Bit3 写入1,代表关闭芯片的测温功能,CLKSEL 作用为选择芯片工作使用的时钟源。

image.png

(3)Power Management 2 寄存器的 Bit6 和 Bit7 是设定 wake-up frequency 配合 pragma once psycho 控制芯片周期性工作,bit5 到 bit0 分别是对应x,y,z三个轴方向的角速度,例如写入1,就代表 x 轴加速度传感器进入 standby 模式

Gyroscope Configuration 计算器用于配置陀螺仪传感器的参数,bit7、bit6、bit5 写入1的时候,分别是让 x,y,z三个轴的传感器进入自测模式,bit3和 bit4是设置陀螺仪传感器的满量程范围

image.png

(4)Accelerometer Configuration 计算器是用来设定加速度 g 的参数,bit7、bit6

Bit5写入1,即代表 x,y,z 加速度传感器进入自测模式,bit3和 bit4 是设置加速度传感器的满量程范围

image.png

(5)Sample Rate Divider 计算器是用来设定传感器的采样频率,陀螺仪传感器的采样频率是通过公式 Sample Rate = Gyroscope Output Rate/(1+ SMPLRT_DIV)。

对于加速度传感器,输出频率固定是1k,如果想要设定采样频率为50,计算方式为 SAMPLRT_DIV =1000/50-1

image.png

Config Register 计算器适用于设定外部帧同步引脚的采样频率及数字低通滤波器的,通过低通滤波器对测量结果进行滤波,会增大测量延迟,不同滤波器的测量延迟不同

image.png

相关文章
|
前端开发 开发者 容器
|
11月前
|
人工智能 前端开发 API
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
Gemini Coder 是一款基于 Google Gemini API 的 AI 应用生成工具,支持通过文本描述快速生成代码,并提供实时代码编辑和预览功能,简化开发流程。
825 38
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
|
11月前
|
机器学习/深度学习 人工智能 缓存
基于英特尔平台加速 AI 应用及 LLM 推理性能介绍|龙蜥大讲堂第115期
本文摘自龙蜥大讲堂英特尔 AI 软件工程师黄文欢的分享,主要包括以下三个方面的内容: 1. 第五代英特尔至强处理器 2. LLM 推理加速框架 xFast Transformer 及其优化策略 3. 性能数据及 Demo 展示
320 0
|
Web App开发 测试技术 持续交付
Selenium 跨浏览器和跨平台
Selenium 跨浏览器和跨平台
|
机器学习/深度学习 测试技术 计算机视觉
注意力机制汇总,包括SE、CBAM、ECA等
注意力机制汇总,包括SE、CBAM、ECA等
1625 1
|
负载均衡 API 微服务
深入浅出:使用Python构建微服务架构
本文旨在为读者提供一个清晰、易懂的指南,介绍如何使用Python语言构建微服务架构。微服务架构作为一种现代软件开发实践,能够提高大型应用的可维护性和可扩展性。通过本文,我们将探索微服务的基本概念、优势以及如何利用Python的强大生态系统进行微服务的设计与实现。我们会通过一个简单实例,演示从零开始构建微服务的全过程,包括服务的划分、通信机制、以及如何利用容器技术(如Docker)进行部署。此外,文章还将讨论在微服务架构下的常见挑战和最佳实践,旨在为读者提供一份全面而深入的实用指南。
|
安全 物联网 云栖大会
2023云栖大会 | 阿里云无影升级2.0,云电脑解决方案时代到来!
10月31日,杭州云栖大会上,阿里云宣布无影全新升级2.0:从云电脑到云上解决方案,帮助中小企业更便捷地构建云上办公,并开放无影产品及解决方案能力,为生态合作伙伴提供企业云平台,帮助其打造定制化的云电脑产品及解决方案。
1469 0
|
网络协议 算法 网络架构
嵌入式 STM32 通讯协议--MODBUS
嵌入式 STM32 通讯协议--MODBUS
|
机器学习/深度学习 传感器 存储
基于工业大数据的生产设备部件故障诊断 附完代码+论文(上)
基于工业大数据的生产设备部件故障诊断 附完代码+论文
1515 0
基于工业大数据的生产设备部件故障诊断 附完代码+论文(上)