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

相关文章
|
2月前
|
传感器 算法 IDE
基于Arduino的遥控自平衡小车
基于Arduino的遥控自平衡小车
89 41
|
6月前
|
传感器 数据挖掘
如何利用STM32F103实现太阳板的光线追踪
通过上述的硬件组装和软件编程,我们可以有效地实现一个基于STM32F103的太阳板光线追踪系统。此系统不仅可以提高太阳能板的能源效率,而且具有较低的成本和易于实现的优点,非常适合在个人项目或小型企业中应用。
45 1
|
3月前
|
计算机视觉
摄像头的宽度为640 巡线
【9月更文挑战第24天】
39 7
|
Go Android开发
圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架
圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架
323 0
基于三相坐标系状态方程的感应电动机起动动态计算(Matlab代码实现)
基于三相坐标系状态方程的感应电动机起动动态计算(Matlab代码实现)
|
7月前
|
人工智能 测试技术
弹簧板问题~
弹簧板问题~
346 0
|
C语言
圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车
圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车
262 0
|
算法
基于labview上位机控制的6自由度机械臂
基于labview上位机控制的6自由度机械臂
279 0
|
前端开发
canvas颗粒时钟
使用canvas做一个颗粒时钟,附带动态效果
104 0
canvas颗粒时钟

热门文章

最新文章