對於四軸的初學者,可能無法理解四軸源**裡面陀螺儀和加速度資料的那些數學轉換方法。下面我們來具體描述下這些轉換方法。
我們首先來看陀螺儀資料。在mpu6050的手冊裡面,提供了乙個陀螺儀資料表如下:
在**裡面,列出了當暫存器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,單位為弧度每秒。
接下來,我們看加速度計:
採用和陀螺儀同樣的計算方法,當afs_sel=3時,數字-32767對應-16g,32767對應16g。把32767除以16,就可以得到2048, 即我們說的靈敏度。把從加速度計讀出的數字除以2048,就可以換算成加速度的數值。舉個例子,如果我們從加速度計讀到的數字是1000,那麼對應的加速度資料是1000/2048=0.49g。g為加速度的單位,重力加速度定義為1g, 等於9.8公尺每平方秒。
姿態角解算(MPU6050 加速度計加陀螺儀)
本文持續更新 i2c通訊 ahrs是自動航向基準系統 automatic heading reference system 的簡稱。目前,使用四元數來進行ahrs姿態解算的演算法被廣泛採用於四軸飛行器上。imu部分 imu是慣性測量裝置 inertial measurement unit 的簡稱,通...
使用Arduino和加速度計自製計步器
目前,健身手環在人們的日常生活中變得越來越流行,它不僅可以計算人行走的步數,而且還可以記錄您燃燒的卡路里 顯示心跳 顯示時間等等。通常這些物聯網裝置已與雲平台連線同步,因此您可以在智慧型手機上輕鬆獲取所有身體活動量的歷史記錄。在前面的文章中,我們還製作了乙個基於物聯網的患者監護系統,其重要資料傳送到...
三軸加速度計 三軸陀螺儀 三軸磁力計
1.今天要做的事情 三軸加速度計 1.加速度計的原理 三軸加速度 輸出的速度是去掉重力後的整體加速度,因此,三軸加速度計可以測量物體的比力。即,去掉重力後的整體加速度,應用 測量角度 比力 通過彈簧壓縮長度來測量 在沒有外力的作用下,加速度能夠精準地測量俯仰角和滾轉角並且沒有累計誤差 mems 主要...