陀螺仪和加速计的简要说明.ppt

上传人:李医生 文档编号:7201536 上传时间:2020-11-05 格式:PPT 页数:14 大小:552.01KB
返回 下载 相关 举报
陀螺仪和加速计的简要说明.ppt_第1页
第1页 / 共14页
陀螺仪和加速计的简要说明.ppt_第2页
第2页 / 共14页
陀螺仪和加速计的简要说明.ppt_第3页
第3页 / 共14页
陀螺仪和加速计的简要说明.ppt_第4页
第4页 / 共14页
陀螺仪和加速计的简要说明.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《陀螺仪和加速计的简要说明.ppt》由会员分享,可在线阅读,更多相关《陀螺仪和加速计的简要说明.ppt(14页珍藏版)》请在三一文库上搜索。

1、介绍加速度计和陀螺仪的数学模型和基本算法,讲解人:李伟,1.概述 2.加速度计 3.陀螺仪 4.加速度计和陀螺仪两者融合,1.概述 本文向大家介绍惯性MEMS(微机电系统)传感器,特别是加速度计 和陀螺仪以及其他整合IMU(惯性测量单元)设备。 加速度计检测什么? 陀螺仪检测什么? 如何将传感器ADC读取的数据转换为物理单位? 如何结合加速度传感器和陀螺仪的数据以得到设备和地平面之间的 倾角的准确信息? 本文的数学运算尽量减少到最少,大家只需知道一些数学三角函数的 基本知识,就能理解本文的中心思想。总有一些人认为IMU需要复杂的 数学运算(复杂的FIR或IIR滤波,如卡尔曼滤波,Parks-M

2、cClellan滤波 等),其实一些很简单的数学也能解决问题,越简单越可靠,另外一些 嵌入式设备并不具备能力去解决复杂的矩阵运算。 本文利用Acc Gyro + gyro imu 作为例子。,加速度计,上面fig1.1是一个加速度计的数学模型,相当于一个六面体的盒子,图示的小球可以想象 成模型处于无重力状态,(为了观察方便,暂时移出Y+,)这时,突然把盒子向左移动, 可以看到球会撞上X-墙。然后我们检测球撞击墙面产生的压力,X轴输出值为-1g。请注意 加速度计检测到的力的方向和它本身的加速度的方向是反的,虽然这个模型并非一个 MEMS传感器的真实构造, 但它用来解决与加速度计相关的问题相当有效

3、。,Fig 1.1,Fig 1.2,到目前为止,我们已经分析了单轴的加速度计输出,这是使用单轴加速度计所能 得到的,三轴加速度计的真正价值在于它们能够检测全部三个轴的惯性力。让我们 回到盒子模型,并将盒子向右旋转45度。现在球会与两个面接触:Z-和X-,见下图:,Fig 1.3,在上一个模型中我们引入了重力并旋转了盒子。在最后的两个例子中我们分析了盒子在两种情况下的输出值,力矢量保持不变。虽然这有助于理解加速度计是怎么和外部力相互作用的,但如果我们将坐标系换为加速度的三个轴并想象矢量力在周围旋转,这会更方便计算。见下图:,Fig 1.4,矢量R是加速度计所检测的矢量(它可能是重力或上面例子中惯

4、性力的合成)。 RX,RY,RZ是矢量R在X,Y,Z上的投影。请注意下列关系: R 2 = RX 2 + RY 2 + RZ 2(公式1) 此公式等价于三维空间的勾股定理。 经过一大段的理论序言后,我们和实际的加速度计很靠近了。 RX,RY,RZ值是实际中加速度计输出的线性相关值,你可以用它们进行各种计算。在我们运用它之前我们先讨论一点获取加速度计数据的方法。 1.数字加速度计:通过I2C,SPI或USART方式获取信息 2.模拟加速度计:输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值。有些MCU具有内置ADC模块,而有些则需要外部电路进行ADC转换。例如

5、一个10位ADC模块的输出值范围在0 . 1023间,请注意,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,通过计算相对

6、0g电压的偏移量我们可以得到一个有符号的电压值。 比如说,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) / Sensitivit

7、y ,现在,我们得到三个矢量,如果设备不受影响,那么我们就可以认为这个方向就 是重力矢量的方向。如果你想计算设备相对于地面的倾角,可以计算这个矢量和 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()的反函数)我们可

8、以计算出所需的角度: Axr = arccos(Rx/R) Ayr = 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

9、 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 VzeroRate) / Sensitivity,第三部分 融合加速度计和陀螺仪的数据,在使用整合了加速度计和陀螺仪的IMU设备时,首先要做的就是统一它们的坐标系。,接下来的步骤我会介绍一种算法,算法受卡尔曼滤波中的一些思想启发,但是它更简单并且更容易在嵌入式设备中实现。 这个我就自己讲了。,Thank you for listening !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1