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

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接下来,通过具体例子来阐述ADC转换。
-
假设我们从10位ADC模块得到了以下的三个轴的数据,为了简单起见
,只写了x轴的,AdcRx = 586 ,

每个ADC模块都有一个参考电压,假设在我们的例子④中,它是3.3V
。要将一个10位的ADC值转成电压值,我们使用下列公式:
VoltsRx = AdcRx * VREF / 1023
Fig 1.4 -
矢量R是加速度计所检测的矢量(它可能是重力或上面例子中惯性力的合成)。 RX,RY,RZ是矢量R在X,Y,Z上的投影。请注意下列关系:
R ^ 2 = RX ^ 2 +Biblioteka BaiduRY ^ 2 + RZ ^ 2(公式1) 此公式等价于三维空间的勾股定理。 经过一大段的理论序言后,我们和实际的加速度计很靠近了。 RX,RY,RZ值是实 际中加速度计输出的线性相关值,你可以用它们进行各种计算。在我们运用它之前 我们先讨论一点获取加速度计数据的方法。 1.数字加速度计:通过I2C,SPI或USART方式获取信息 2.模拟加速度计:输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数 字量)模块将其转换为数字值。有些MCU具有内置ADC模块,而有些则需要外部电 路进行ADC转换。例如一个10位ADC模块的输出值范围在0 .. 1023间,请注意, 1023 = 2 ^ 10 -1。
-
陀螺仪部分
2轴陀螺仪检测绕X和Y轴的旋转。为了用数字来表达这些旋转,我们先引进一些符号。 首先我们定义: Rxz – 惯性力矢量R在XZ平面上的投影 Ryz – 惯性力矢量R在YZ平面的上投影
-
在由Rxz和Rz组成的直角三角形中,运用勾股定理可得: Rxz^2 = Rx^2 + Rz^2 ,同样: Ryz^2 = Ry^2 + Rz^2
-
到目前为止,我们已经分析了单轴的加速度计输出,这是使用单轴加速度计所能 得到的,三轴加速度计的真正价值在于它们能够检测全部三个轴的惯性力。让我们 回到盒子模型,并将盒子向右旋转45度。现在球会与两个面接触:Z-和X-,见下图:
Fig 1.3
-
在上一个模型中我们引入了重力并旋转了盒子。在最后的两个例子中我们分 析了盒子在两种情况下的输出值,力矢量保持不变。虽然这有助于理解加速度 计是怎么和外部力相互作用的,但如果我们将坐标系换为加速度的三个轴并想 象矢量力在周围旋转,这会更方便计算。见下图:

所以,可得VoltsRx = 586 * 3.3 / 1023 =~1.89V(结果取两位小数)
每个加速度计都有一个零加速度的电压值,这个电压值对应于加速度
为0g,通过计算相对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 ④
最后,我们结合以上四个公式(总要把它整合一下吧)
介绍加速度计和陀螺仪的数学模型和基本算法
讲解人:李伟
-
1.概述 2.加速度计 3.陀螺仪 4.加速度计和陀螺仪两者融合
-
1.概述
本文向大家介绍惯性MEMS(微机电系统)传感器,特别是加速度计 和陀螺仪以及其他整合IMU(惯性测量单元)设备。
① 加速度计检测什么? ② 陀螺仪检测什么? ③ 如何将传感器ADC读取的数据转换为物理单位? ④ 如何结合加速度传感器和陀螺仪的数据以得到设备和地平面之间的 倾角的准确信息?
-
R和X,Y,Z轴之间的夹角,可表示为Axr,Ayr,Azr。观察由R和Rx组成的直 角。
cos(Axr) = Rx / R , 类似的: cos(Ayr) = Ry / R cos(Azr) = Rz / R 从公式1我们可以推导出 R = SQRT( Rx^2 + Ry^2 + Rz^2) 通过arccos()函数(cos()的反函数)我们可以计算出所需的角度: Axr = arccos(Rx/R) Ayr = arccos(Ry/R) Azr = arccos(Rz/R)
本文的数学运算尽量减少到最少,大家只需知道一些数学三角函数的 基本知识,就能理解本文的中心思想。总有一些人认为IMU需要复杂的 数学运算(复杂的FIR或IIR滤波,如卡尔曼滤波,Parks-McClellan滤波 等),其实一些很简单的数学也能解决问题,越简单越可靠,另外一些 嵌入式设备并不具备能力去解决复杂的矩阵运算。
本文利用Acc Gyro + gyro imu 作为例子。
-
加速度计
Fig 1.1
Fig 1.2
上面fig1.1是一个加速度计的数学模型,相当于一个六面体的盒子,图示的小球可以想象 成模型处于无重力状态,(为了观察方便,暂时移出Y+,)这时,突然把盒子向左移动, 可以看到球会撞上X-墙。然后我们检测球撞击墙面产生的压力,X轴输出值为-1g。请注意 加速度计检测到的力的方向和它本身的加速度的方向是反的,虽然这个模型并非一个 MEMS传感器的真实构造, 但它用来解决与加速度计相关的问题相当有效。
同时注意: R^2 = Rxz^2 + Ry^2 ,这个公式可以公式1和上面的公式推
导出来,也可由R和Ryz所组成的直角三角形推导出来 R ^ 2 = Ryz ^ 2 + RX ^ 2
在这篇文章中我们不会用到这些公式,但知道模型中的那些数值间的关系 有助于理解。 相反,我们按如下方法定义Z轴和Rxz、Ryz向量所成的夹角:
Rx = (AdcRx * Vref / 1023 – VzeroG) / Sensitivity ⑤
-
现在,我们得到三个矢量,如果设备不受影响,那么我们就可以认为这个方向就 是重力矢量的方向。如果你想计算设备相对于地面的倾角,可以计算这个矢量和 Z轴之间的夹角。现在我们已经算出了Rx,Ry,Rz的值,让我们回到我们的上一个 加速度模型,再加一些标注上去:
相关文档
最新文档