陀螺仪和加速度计MPU6050的单位换算方法

陀螺仪和加速度计MPU6050的单位换算方法

该文章出自圆点博士无人机www.bspilot.comspa

 

对于四轴的初学者,可能没法理解四轴源代码里面陀螺仪和加速度数据的那些数学转换方法。下面咱们来具体描述下这些转换方法。数学

咱们首先来看陀螺仪数据。在MPU6050的手册里面,提供了一个陀螺仪数据表以下:class

gyro_spec

在表格里面,列出了当寄存器FS_SEL选择不一样数值时的陀螺仪量程范围。 以四轴经常使用的FS_SEL=3为例,这时陀螺仪的量程为-2000到+2000。数据类型

因为MPU6050采用的是16位带符号数做为陀螺仪测量数据输出,即数据类型是int16。因此以16进制来表示,最小的数是FFFF,因为最高位为符号位,因此至关于-7FFFF,即-32767;最大的数是7FFF,即32767。方法

综合上述的描述,咱们能够获得,数字-32767对应-2000度每秒的陀螺仪角速度,32767对应2000度每秒的陀螺仪角速度。把32767除以2000,就能够获得16.40, 即咱们说的灵敏度。im

从上面的计算可知,把从陀螺仪读出的数字除以16.40,就能够换算成陀螺仪的角速度数值。举个例子,若是咱们从陀螺仪读到的数字是1000,那么对应的角速度数据是1000/16.40=61度每秒。数据

在四轴姿态计算中,咱们一般要把角度换算成弧度。咱们知道2Pi表明360度,那么1度换算成弧度就是:2Pi/360=(2*3.1415926)/360=0.0174532。用倒数表示就是:1/57.30img

经过上述分析,咱们就能够知道,当采用量程为-2000到+2000的范围,把咱们从陀螺仪获取的数据作以下处理,就能够用于四元数的姿态解算(用gyro_x来表明从陀螺仪读到的数据): gyro_x/(16.40*57.30)=gyro_x*0.001064,单位为弧度每秒。di

接下来,咱们看加速度计:co

acc_spec

采用和陀螺仪一样的计算方法,当AFS_SEL=3时,数字-32767对应-16g,32767对应16g。把32767除以16,就能够获得2048, 即咱们说的灵敏度。把从加速度计读出的数字除以2048,就能够换算成加速度的数值。举个例子,若是咱们从加速度计读到的数字是1000,那么对应的加速度数据是1000/2048=0.49g。g为加速度的单位,重力加速度定义为1g, 等于9.8米每平方秒。

上文详细描述了MPU6050传感器陀螺仪和加速度数据的单位换算方法,如需转载,请勿用于商业目的,并注明:

相关文章
相关标签/搜索