陀螺儀和加速度計MPU6050的單位換算方法

對於四軸的初學者,可能無法理解四軸源代碼裏面陀螺儀和加速度數據的那些數學轉換方法。下面我們來具體描述下這些轉換方法。

我們首先來看陀螺儀數據。在MPU6050的手冊裏面,提供了一個陀螺儀數據表如下:

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, 即我們說的靈敏度。

從上面的計算可知,把從陀螺儀讀出的數字除以16.40,就可以換算成陀螺儀的角速度數值。舉個例子,如果我們從陀螺儀讀到的數字是1000,那麼對應的角速度數據是1000/16.40=61度每秒。

在四軸姿態計算中,我們通常要把角度換算成弧度。我們知道2Pi代表360度,那麼1度換算成弧度就是:2Pi/360=(2*3.1415926)/360=0.0174532。用倒數表示就是:1/57.30

通過上述分析,我們就可以知道,當採用量程爲-2000到+2000的範圍,把我們從陀螺儀獲取的數據做如下處理,就可以用於四元數的姿態解算(用gyro_x來代表從陀螺儀讀到的數據): gyro_x/(16.40*57.30)=gyro_x*0.001064,單位爲弧度每秒。

接下來,我們看加速度計:

acc_spec

採用和陀螺儀同樣的計算方法,當AFS_SEL=3時,數字-32767對應-16g,32767對應16g。把32767除以16,就可以得到2048, 即我們說的靈敏度。把從加速度計讀出的數字除以2048,就可以換算成加速度的數值。舉個例子,如果我們從加速度計讀到的數字是1000,那麼對應的加速度數據是1000/2048=0.49g。g爲加速度的單位,重力加速度定義爲1g, 等於9.8米每平方秒。

上文詳細描述了MPU6050傳感器陀螺儀和加速度數據的單位換算方法,如需轉載,請勿用於商業目的,並註明:該文章出自圓點博士無人機www.bspilot.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章