I2C - MPU6050_IMU_Zero

材料準備

範例說明

介紹

本範例將示範如何對 MPU6050 IMU 進行校準。

流程

將MPU6050連接到開發板的I2C_SDA和I2C_SCL,如下圖所示。

3

在 “File” -> “Examples” -> “AmebaWire” -> “MPU6050”-> “MPU6050_IMU_Zero” 中開啟範例。

3

如果一個MPU6050:
* 是其族群中的理想成員,
* 經過適當的預熱,
* 靜止在中心位置,
* 位於地心引力恰好為1g的地方,
* 並且已經載入了最佳的偏移量,
那麼它將報告所有加速度和位移均為0,除了Z軸加速度,將報告16384(即2^14)。您的設備可能不會達到這個水平,但良好的偏移量將使所有基準輸出接近這些目標值。將MPU6050放在平坦且水平的表面上並讓其運行5-10分鐘以穩定其溫度。
編譯並運行此範例。一行「—– done —–」將表明它已完成。使用當前的準確度相關常數(NFast = 1000,NSlow = 10000),需要幾分鐘的時間才能完成。在此過程中,它將生成大約十幾行的輸出,顯示對於每個6個所需的偏移量,它是
* 首先,嘗試找到兩個估計值,一個太低一個太高
* 然後,逼近直到無法使括號數值變小。
在“done”行的上一行將看起來像[567,567] –> [-1,2] [-2223,-2223] –> [0,1] [1131,1132] –> [16374,16404] [155,156] –> [-1,1] [-25,-24] –> [0,3] [5,6] –> [0,4]。
正如在交錯的標題行中所顯示的那樣,組成此行的六個組別分別描述了X加速度、Y加速度、Z加速度、X陀螺儀、Y陀螺儀和Z陀螺儀的最佳偏移量。在上面的示例中,試驗顯示+567是X加速度的最佳偏移量,-2223是Y加速度的最佳偏移量,等等。
以下顯示了運行此範例的Serial Monitor輸出。

4

4

程式碼說明

[1] ElectronicCats 提供的 MPU6050 函式庫和範例:
https://github.com/ElectronicCats/mpu6050

請先確認已安裝QQ通訊軟體