STM32入门学习笔记之MPU6050传感器解析实验1

发布时间:2024-06-11  

19.1 MPU6050简介

19.1.1 芯片概述

MPU6050是InvenSense公司推出的一款6轴运动处理芯片,内置3轴陀螺仪及3轴速度传感器,内置两组I2C接口,其中一组用于通信,另一组则用于连接外部磁力传感器,采用自带的数字运动处理器DMP(Digital Motion Processor),通过主I2C接口,直接读取完整的9轴融合演算数据。MPU6050检测轴及其检测方向如下图所示。

图片


19.1.2 引脚介绍

图片

MPU6050采用QFN-24封装,端口描述如下表所示。

引脚编号 引脚名称 功能
1 CLKIN 外部参考时钟输入,如果不使用直接接地
2 NC 空引脚
3 NC 空引脚
4 NC 空引脚
5 NC 空引脚
6 AUX_DA 从I2C接口数据口,用于连接磁传感器的SDA组成九轴传感器
7 AUX_CL 从I2C接口时钟口,用于连接磁传感器的SCL组成九轴传感器
8 VLOGIC IO口逻辑电平,最低可以设置1.8V,默认连接VDD
9 AD0 I2C接口地址控制端,端口为高电平默认地址0x69,端口为低电平默认地址0x68
10 REGOUT 外接稳压器的滤波电容
11 FSYNC 帧同步数字输入,如果不使用直接接GND
12 INT 中断信号输出(可以配置为开漏输出)
13 VDD 电源正极,供电范围0.5V~6VDC
14 NC 空引脚
15 NC 空引脚
16 NC 空引脚
17 NC 空引脚
18 GND 电源地
19 RESV 保留
20 CPOUT 外部电荷泵电容
21 RESV 保留
22 RESV 保留
23 SCL 主I2C接口时钟
24 SDA 主I2C接口数据

19.1.3 硬件电路

图片

由于MPU6050内部是可以自动计算X,Y和Z轴的方向及加速度的,使用者可以不考虑实际的数据转换问题,但是为了详细的了解MPU6050的计算过程,使用者最好还是应该具备了解原始数据如何转换为我们需要的角度与加速度值。

19.2 姿态解算与融合算法基础概念

19.2.1 方向矩阵

设有一个三位直角坐标系Oxyz,如下图所示。

图片

19.2.2 方向余弦矩阵

图片

19.2.3 欧拉角

欧拉角是用于确定定点转动缸体位置的3个1组的独立角参量,由章动角θ,旋转角(进动角)ψ和自转角φ组成,欧拉角有多种取法,下面是比较常见的一种。

图片

如上图所示,由定点O做出固定坐标系Oxyz以及固定连在刚体的坐标系Ox’y’z’,以轴Oz和Oz’为基本轴。其垂直面Oxy和Ox’y’为基本平面,由轴Oz量到Oz’的角度θ称为章动角,平面zOz’的垂线ON称为节线,同时ON又是基本平面Ox’y’和Oxy的交线,在右手坐标系中,由ON的正端看,角θ应按照逆时针方向计算,由固定轴Ox到节线ON的角度ψ称为进动角,也叫作旋转角,由节线ON到动轴Ox’的角度φ称为自转角,有Oz和Oz’正端看,进动角ψ与自转角φ也应该按照逆时针方向计算。

从上面的描述过程可以发现,欧拉角实际是可以分解成三步来计算的:

第1步:绕z轴旋转α,使得x轴与N轴重合

第2步:绕x轴旋转β,使z轴与旋转后的z轴重合

第3步:绕z轴旋转y,是坐标系与旋转后的完全重合

根据上面的三个步骤,我们来通过以下实例来说明欧拉角与方向余弦矩阵的转换过程。

图片

19.2.4 四元数与欧拉角的转换

四元数是一个简单的超复数,是由实数加上三个虚数单位i,j,k组成,每个四元数都是1,i,j,k的线性组合,四元数是爱尔兰数学家哈密顿在1843年发明的数学概念,四元数的乘法不符合交换律。

四元数姿态表达式是一个四参数的表达式,它的基本思路是一个坐标系转换到另一个坐标系可以通过绕一个定义在参考系中的矢量μ的单次转动来实现,四元数用符号q表示,是一个具有4个元素的矢量,这些元素是该矢量方向和转动大小的函数。定义四元数如下所示。

图片

这里直接给出结论,不作证明。会用即可。四元数与欧拉角的转换公式为:

图片

用方向余弦表示欧拉角,这里欧拉角不允许等于90度。

图片

用四元数表示欧拉角

图片

在姿态解算中常用的算法由欧拉角法,方向余弦法和四元数法,欧拉角在求解姿态时存在奇点,无法用于全姿态结算,方向余弦没有奇点,但是计算量大,无法满足实时性要求,四元数法,计算量小,无奇点可以满足飞行器运动过程中姿态的实时解算,姿态解算的原理是对于一个确定的向量,用不同的坐标系表示时,他们所表示的大小和方向一定是相同的。但是由于这两个坐标系的旋转矩阵存在误差,那么当一个向量经过一个有误差存在的旋转矩阵后,在另一个坐标系中肯定和理论值是有偏差的,我们通过这个偏差来修正这个旋转矩阵。这个旋转矩阵的元素是四元数,我们修正的就是四元数,以此来修正姿态。

19.3 实验例程

实验内容:利用MPU6050采集到数据获取欧拉角显示在TFTLCD上。

19.3.1 MPU6050内部相关寄存器

(1) 电源管理寄存器1 (地址0x6B)

7 6 5 4 3 2 1 0
DEVICE_RST SLEEP CYCLE - TEMP_DIS CLKSEL[2:0]

Bit 7:软件复位

0:不复位MPU6050

1:复位MPU6050

Bit 6:休眠模式

0:正常工作模式

1:睡眠模式

Bit 5:循环模式

0:默认状态

1:睡眠模式与唤醒模式交替运行

Bit 3:温度传感器使能

0:使能温度传感器

1:禁用温度传感器

Bit 2~Bit 0:选择系统时钟源

000:内部8M RC时钟源

001:PLL,使用X轴陀螺作为参考

010:PLL,使用Y轴陀螺作为参考

011:PLL,使用Z轴陀螺作为参考

100:PLL,使用外部32.768kHz作为参考

101:PLL,使用外部19.2MHz作为参考

110:保留

111:关闭时钟,保持时序产生电路复位状态


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>