




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、介绍加速度计和陀螺仪的数学模型和基本算法讲解人:李伟1.概述2.加速度计3.陀螺仪4.加速度计和陀螺仪两者融合1.概述 本文向大家介绍惯性MEMS(微机电系统)传感器,特别是加速度计和陀螺仪以及其他整合IMU(惯性测量单元)设备。 加速度计检测什么? 陀螺仪检测什么? 如何将传感器ADC读取的数据转换为物理单位? 如何结合加速度传感器和陀螺仪的数据以得到设备和地平面之间的倾角的准确信息? 本文的数学运算尽量减少到最少,大家只需知道一些数学三角函数的基本知识,就能理解本文的中心思想。总有一些人认为IMU需要复杂的数学运算(复杂的FIR或IIR滤波,如卡尔曼滤波,Parks-McClellan滤波
2、等),其实一些很简单的数学也能解决问题,越简单越可靠,另外一些嵌入式设备并不具备能力去解决复杂的矩阵运算。 本文利用Acc Gyro + gyro imu 作为例子。加速度计 上面fig1.1是一个加速度计的数学模型,相当于一个六面体的盒子,图示的小球可以想象成模型处于无重力状态,(为了观察方便,暂时移出Y+,)这时,突然把盒子向左移动,可以看到球会撞上X-墙。然后我们检测球撞击墙面产生的压力,X轴输出值为-1g。请注意加速度计检测到的力的方向和它本身的加速度的方向是反的,虽然这个模型并非一个MEMS传感器的真实构造, 但它用来解决与加速度计相关的问题相当有效。Fig 1.1Fig 1.2 到
3、目前为止,我们已经分析了单轴的加速度计输出,这是使用单轴加速度计所能得到的,三轴加速度计的真正价值在于它们能够检测全部三个轴的惯性力。让我们回到盒子模型,并将盒子向右旋转45度。现在球会与两个面接触:Z-和X-,见下图:Fig 1.3 在上一个模型中我们引入了重力并旋转了盒子。在最后的两个例子中我们分析了盒子在两种情况下的输出值,力矢量保持不变。虽然这有助于理解加速度计是怎么和外部力相互作用的,但如果我们将坐标系换为加速度的三个轴并想象矢量力在周围旋转,这会更方便计算。见下图:Fig 1.4 矢量R是加速度计所检测的矢量(它可能是重力或上面例子中惯性力的合成)。 RX,RY,RZ是矢量R在X,
4、Y,Z上的投影。请注意下列关系: R 2 = RX 2 + RY 2 + RZ 2(公式1) 此公式等价于三维空间的勾股定理。经过一大段的理论序言后,我们和实际的加速度计很靠近了。 RX,RY,RZ值是实际中加速度计输出的线性相关值,你可以用它们进行各种计算。在我们运用它之前我们先讨论一点获取加速度计数据的方法。1.数字加速度计:通过I2C,SPI或USART方式获取信息2.模拟加速度计:输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值。有些MCU具有内置ADC模块,而有些则需要外部电路进行ADC转换。例如一个10位ADC模块的输出值范围在0 . 1023间
5、,请注意,1023 = 2 10 -1。 接下来,通过具体例子来阐述ADC转换。 假设我们从10位ADC模块得到了以下的三个轴的数据,为了简单起见,只写了x轴的,AdcRx = 586 , 每个ADC模块都有一个参考电压,假设在我们的例子中,它是3.3V。要将一个10位的ADC值转成电压值,我们使用下列公式: VoltsRx = AdcRx * VREF / 1023 所以,可得VoltsRx = 586 * 3.3 / 1023 =1.89V(结果取两位小数) 每个加速度计都有一个零加速度的电压值,这个电压值对应于加速度为0g,通过计算相对0g电压的偏移量我们可以得到一个有符号的电压值。比如
6、说,0g电压值 VzeroG= 1.65V。 DeltaVoltsRx = 1.89V - 1.65V = 0.24V 我们只得到了加速度的电压值,还需转化为加速度,这时候就要知道灵敏度的值,取为 Sensitivity= 478.5mV / g = 0.4785V /g。 所以 RX = DeltaVoltsRx /Sensitivity RX = 0.24V / 0.4785V / G =0.5g 最后,我们结合以上四个公式(总要把它整合一下吧) Rx = (AdcRx * Vref / 1023 VzeroG) / Sensitivity 现在,我们得到三个矢量,如果设备不受影响,那么我
7、们就可以认为这个方向就是重力矢量的方向。如果你想计算设备相对于地面的倾角,可以计算这个矢量和Z轴之间的夹角。现在我们已经算出了Rx,Ry,Rz的值,让我们回到我们的上一个加速度模型,再加一些标注上去: R和X,Y,Z轴之间的夹角,可表示为Axr,Ayr,Azr。观察由R和Rx组成的直角。 cos(Axr) = Rx / R , 类似的: cos(Ayr) = Ry / R cos(Azr) = Rz / R从公式1我们可以推导出 R = SQRT( Rx2 + Ry2 + Rz2)通过arccos()函数(cos()的反函数)我们可以计算出所需的角度: Axr = arccos(Rx/R) A
8、yr = arccos(Ry/R) Azr = arccos(Rz/R)陀螺仪部分 2轴陀螺仪检测绕X和Y轴的旋转。为了用数字来表达这些旋转,我们先引进一些符号。首先我们定义:Rxz 惯性力矢量R在XZ平面上的投影Ryz 惯性力矢量R在YZ平面的上投影在由Rxz和Rz组成的直角三角形中,运用勾股定理可得: Rxz2 = Rx2 + Rz2 ,同样: Ryz2 = Ry2 + Rz2同时注意: R2 = Rxz2 + Ry2 ,这个公式可以公式1和上面的公式推导出来,也可由R和Ryz所组成的直角三角形推导出来 R 2 = Ryz 2 + RX 2在这篇文章中我们不会用到这些公式,但知道模型中的那些数值间的关系有助于理解。相反,我们按如下方法定义Z轴和Rxz、Ryz向量所成的夹角: AXZ - Rxz(矢量R在XZ平面的投影)和Z轴所成的夹角 AYZ - Ryz(矢量R在YZ平面的投影)和Z轴所成夹角 陀螺仪测量上面定义的角度的变化率。换句话说,它会输出一个与上面这些角度变化率线性相关的值。角度变化率按下面方法计算: RateAxz = (Axz1 Axz0) / (t1 t0).和加速度计部分一样,陀螺仪也可以整合 RateAxz = (AdcGyroXZ * Vref / 1023 Vzero
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市雕塑招标打造艺术作品3篇
- 公证处委托书出具流程3篇
- 戒烟保证书的模板范文3篇
- 安全责任时刻警惕3篇
- 小产权转让有效简单协议书3篇
- 外业勘察分包合同样本模板范例3篇
- 买房委托书撰写3篇
- 电缆的热稳定性与热失控预防措施考核试卷
- 电信企业服务创新与业务增长策略考核试卷
- 育种中激素信号网络的调控考核试卷
- 广州市黄埔区教育局招聘事业编制教职员考试真题2024
- 国际经济学(下册国际金融)克鲁格曼-中文答案
- 2025年宁夏银川市唐徕中学南校区中考一模英语试题(原卷版+解析版)
- 乡村民宿开发管理运营手册
- 殡葬服务笔试题库及答案
- 2025年光大银行校园招聘笔试参考题库(带答案)
- 中医康复理疗师职业指导试题及答案
- 研究生教育高质量发展新动能推动方案
- 宁波十校2025届高三3月联考语文试卷(含答案解析)
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- T-SDHIA 11-2024 4-72 离心风机标准
评论
0/150
提交评论