陀螺儀 IMU 九軸感應器

IMU-9AX

走直線、轉精準角度的關鍵:任意角度安裝都能算對航向,磁力計融合讓長距離也不飄移。

建議售價 NT$2,500

選擇版本:
9 軸陀螺儀+加速度+磁力
任意角度安裝都能用
不飄移磁力計融合航向
支援版本EV3 版、SPIKE 版、通用 I2C 版
供電由主機供電,不需電池
保固6 個月

WRO RoboMission:國小、國中、高中組皆可使用
WRO 規則對照 · 其他比賽 · 購買管道

① 選你的主機

只列出這款產品能用的主機;選好主機再選軟體,之後整頁都只講你的軟體。

互動教學

不用接主機,先在網頁上點點看:左邊選功能,右邊的程式或積木跟著長出來,還能拖拉模擬感應器看數值。

全部產品的互動教學 →

產品概述

機器人走直線、轉精準角度,全靠陀螺儀。但一般陀螺儀有兩個老問題:必須水平安裝,以及時間一久航向會慢慢飄移。

MBC 陀螺儀 IMU 結合 6 軸慣性感測(陀螺儀+加速度計)與磁力計,內建三種航向演算法:

  • 立體補償航向(Gyro3D):自動偵測安裝方向,任意角度組裝都能算出正確航向,最推薦優先使用。
  • 磁力計融合航向(GyroCompass):用磁力計校正陀螺儀的累積誤差,長距離行駛也不飄移。
  • 單軸陀螺儀+磁力計航向:傳統單軸航向,以及只靠磁力計算出的航向(相對值:開機或歸零時為 0,不是指北的方位角)。

核心優勢

  • 任意角度安裝:自動擷取安裝軸,直放、側放、倒放都能正確計算航向
  • 📉 長距離不飄移:磁力計融合航向持續校正陀螺儀誤差
  • EV3 直接當原廠陀螺儀用:在 EV3 官方軟體用原本的陀螺儀積木即可讀取
  • 🔘 按鍵校準:加速度計與磁力計各有校準按鍵,校準結果存在機身
  • 完整九軸資料:角速度、加速度、磁力三軸原始數據都能讀取

EV3 積木對應

在 EV3 官方軟體中,直接使用原廠的陀螺儀積木,各模式對應如下:

EV3 陀螺儀積木各模式對應的航向演算法
EV3 陀螺儀積木模式 對應功能 說明
角度 Gyro3D 立體補償航向 優先使用;可任意角度組裝
速率 GyroCompass 磁力計融合航向 長距離使用不飄移;遇到強磁場干擾時無效
角度與速率 單軸陀螺儀、磁力計航向 傳統單軸航向與磁力計航向(相對值,不是指北)
重置 所有角度歸零 三種航向同時歸零

警告

磁力計會受到馬達、鐵製場地、喇叭等磁場影響。在磁場干擾大的環境,請使用 Gyro3D。

注意

EV3 Classroom 的「角度」「速率」積木與上表相同(「速率」讀到的是融合航向,不是每秒幾度)。Pybricks(EV3) 的 GyroSensor.angle() 讀到的是「單軸陀螺儀」航向,speed() 讀到的是磁力計航向(相對值,不是指北);reset_angle(0) 可正常歸零;calibrate() 之後約 3.5 秒才讀得到值(原廠陀螺儀也一樣)。要角速度(每秒幾度)請用 LUMPDevice 讀模式 2(見範例 7)。ev3dev 的 speed() 讀到的是融合航向。新手範例請看 EV3 新手範例。

提示

原廠 EV3 韌體實測通過(2026-11-02):認成原廠陀螺儀、原廠歸零積木可用、7 個模式讀值正確、切模式 300 次與連續讀不斷線。ev3dev:支援。

插頭一次插到底;EV3 認錯(顯示成 NXT I2C/能量表)就拔掉重插。

羅盤模式(同一塊板子的另一種韌體)

同一塊 IMU 板子還有一版只用磁力計的「羅盤」韌體:EV3 陀螺儀積木的「角度」讀到的是磁方位角 0~359(指北的絕對方向,不是相對開機的角度),「速率」固定為 0。適合只需要「現在朝哪個方向」的應用(例如迷宮回頭、場地定向),不需要歸零。

  • 目前只有 EV3 模式;出貨時可指定燒錄「IMU 航向版」或「羅盤版」,之後也可以回廠改燒。
  • 磁力計一樣會被馬達、鐵製場地干擾,使用前請先做磁力計校準(按鍵校準,結果存在機身)。

支援平台

平台 支援方式
LEGO MINDSTORMS EV3 EV3-G(EV3 Lab,原廠陀螺儀積木)/EV3 Classroom/clev3r:原廠韌體實測通過(2026-11-02);Pybricks v4:實測通過(2026-11-02);ev3dev/EV3 MicroPython v2:支援(模式表與原廠相同)
LEGO SPIKE Prime / Robot Inventor 不提供
LEGO SPIKE Essential 不支援
Arduino / ESP32 / 樹莓派 通用 I2C(位址 0x6A);Arduino Nano 實測通過(2026-11-02)
MATRIX Mini R4 I2C;原廠函式庫實測通過(2026-11-02)

∿ 通用 I2C 暫存器(位址 0x6A)

共通規則與 Arduino 函式請看 MBC 通用 I2C 協議。所有軸向皆為感應器本體座標,航向單位 1°,開機或歸零時 = 0。

  • 航向方向: 從上往下看右轉(順時針)數值變大,會一直累加(轉兩圈 = 720),不會繞回 0359;要 0359 請自己換算 ((h % 360) + 360) % 360。超過 ±32767 會繞回。三種航向都是相對值(不是指北的羅盤角度)。
  • 開機: 放著不動約 0.5 秒,0x32 bit0(就緒)才會變 1;開機時會自動歸零。

提示

不會寫程式也能用: 看 Arduino 範例,每個範例都能直接複製上傳,每一行都有中文說明。

暫存器 方向 長度 內容
0x10 W 1 0x01 = 航向歸零(寫入後等 30 ms 再讀)
0x11 R 6 航向合併包(= 0x12 ~ 0x14)
0x12 R 2 陀螺單軸航向 int16,度
0x13 R 2 陀螺立體補償航向 (Gyro3D) int16,度
0x14 R 2 陀螺+磁力計融合航向 int16,度(相對值,歸零時 = 0)
0x20 W 1 0x01 / 0x02 加速度計校準開始/結束;0x03 / 0x04 磁力計校準開始/結束
0x21 R 18 九軸合併包(= 0x22 ~ 0x24)
0x22 R 6 角速度 X / Y / Z int16,單位 0.1 °/s(右手定則:從該軸正端看逆時針為正,所以 Z 朝上右轉時為負,跟航向正負相反)
0x23 R 6 加速度 X / Y / Z int16,單位 mg
0x24 R 6 磁力 X / Y / Z int16,單位 mG(已套用校準)
0x32 R 1 bit0 就緒、bit1 靜止、bit2 已擷取安裝軸、bit3 安裝過歪、bit4 加速度計校準中、bit5 磁力計校準中、bit6 融合已初始化、bit7 磁力自動校準收斂
0x34 R 1 磁力計信任度 0 ~ 255
0x35 R 1 磁場干擾程度(單位 0.01°/次更新,上限 255)
0x36 R 1 朝上的面(0 = +X、1 = +Y、2 = +Z、3 = -X、4 = -Y、5 = -Z)
// 讀三種航向
uint8_t d[6];
if (iicRead(0x6A, 0x11, d, 6)) {
  int16_t gyro1D = (int16_t)(((uint16_t)d[0] << 8) | d[1]);
  int16_t gyro3D = (int16_t)(((uint16_t)d[2] << 8) | d[3]);   // 建議使用:右轉變大
  int16_t fused  = (int16_t)(((uint16_t)d[4] << 8) | d[5]);   // 融合航向(相對值,不是指北)
}
iicWrite(0x6A, 0x10, 0x01);                          // 航向歸零
delay(30);                                           // 等歸零生效再讀

想購買或詢價?

個人購買、學校 / 社團大量採購、代理洽談都歡迎,工程師 3 個工作天內回覆。

LINE 詢價選購指南