加速度計測量線性加速度,並可從重力推斷傾斜;陀螺儀追蹤角速度;IMU 將兩者(有時還有磁力計)封裝成一個裝置。正確的選擇取決於你是否需要測量撞擊、旋轉或完整方向,以及你是否能負擔這些裝置帶來的漂移、噪音和校正費用。
重點摘要:
- 加速度計在近靜態條件下適合傾斜,但當動力作用主導時會失效。
- 陀螺儀能乾淨追蹤快速旋轉,但當你將速率與角度積分時會持續漂移 - - 偏置誤差會加劇每個樣本。
- 六軸IMU並不會神奇地解決方向問題;你仍然需要融合演算法、校準紀律,以及對長期準確度的現實期待。
- 加裝磁力計(9軸)只有在環境沒有馬達、鋼鐵或其他磁性噪音時,才有助於調整航向。
- 規格表因遺漏而存在缺陷 - - 偏壓穩定性、溫度漂移與橫軸耦合比 ADC 中的位元數更為重要。
每個感測器實際測量的是什麼
加速度計沿三個正交軸(X、Y、Z)輸出比力,通常以 g 或 m/s² 為單位。它同時對加速度和重力都有反應。靜止在桌子上的加速度計不會讀到零 - - 它在垂直於表面的軸上讀數約為1 g,因為桌子在反推重力。
這種重力反應正是傾斜估計的關鍵。旋轉感測器,1 g 向量會重新分布到三個軸上。簡單的三角學可以提取俯仰角和滾轉角。
但問題是:數學假設只有重力存在加速度。搖晃感應器、安裝在移動中的車輛上,或讓它震動,這些動態力會破壞傾斜估計。我曾除錯過無人機加速度計在激烈爬升時報告野度變化的系統 - - 這不是因為IMU失效,而是因為前方加速壓過了演算法預期的重力訊號。
加速度計也無法感應重力向量的旋轉(水平儀的偏航)。在桌上旋轉一個平面感測器,加速度計幾乎什麼都看不到。
陀螺儀測量角速度 - - 物體繞軸旋轉的速度 - - 以度每秒(°/s)或弧度每秒計算。MEMS 陀螺儀提供三個通道,分別對應滾轉率、俯仰率和偏航率,視你的機身框架慣例而定。
陀螺儀不會輸出絕對角度。要恢復方向,需積分角速度隨時間變化:
Θ(t) = θ₀ + ∫₀t Ω(τ) Dτ
其中 θ(t) 是角度估計,θ₀ 是初始角度,ω 是測量速率。
整合會放大每個錯誤。一個殘留偏置為 0.1 °/s 的陀螺儀 - - 即使校正後也很常見 - - 每分鐘會累積 6° 的角度誤差。真實陀螺儀存在偏置不穩定性、溫度依賴性漂移及雜訊,因此未經校正的積分會在數秒到幾分鐘內無法使用,視感測器等級而定。
IMU 是一種將慣性感測器整合成一個封裝的模組。典型的六軸IMU包含三軸加速度計和三軸陀螺儀,提供六個測量通道。許多現代IMU會加入可程式化範圍、數位濾波、先出緩衝區、動作觸發中斷,甚至嵌入式處理。例如,STmicroelectronics的LSM6DSV整合了兩種感測器類型,並具備可設定的全尺寸範圍(加速時為±2至±16 g,陀螺儀則為±125至±4000 °/s)、車載濾波及感測器融合支援。
IMU 不會自動提供準確的滾轉、俯仰或偏航。這些需要校正、融合演算法,通常還需要外部參考。IMU 提供原始數據;其他的都是你的工作。

為什麼感測器融合存在
加速度計提供俯仰與滾轉的長期重力參考,但會受到動態干涉的影響。陀螺儀能乾淨追蹤快速旋轉,但整合後會漂移。感測器融合結合兩者,發揮其互補優勢。
互補濾波器是最簡單的融合方法之一:
θₑst = α(θprₑv + ωΔt) + (1 - α)θₐcc
其中 θₑst 是更新的角度估計,α 加權陀螺儀的貢獻(通常為 0.95-0.98),θprₑv 為先前估計值,ω 為角速度,Δt 為取樣區間,θₐcc 為加速度計推導的傾角。
陀螺儀主導短期反應,而加速度計則溫和地修正長期漂移。
實務上,我發現調α比較偏向試點:調高太高會讓估計值漂移;太低會讓本該平滑旋轉的動作產生雜訊。最佳數值取決於你的感測器品質、運動特性,以及你在特定操作條件下對加速度計的信任程度。
更複雜的系統則使用卡爾曼濾波器、擴展卡爾曼濾波器(EKF)或馬奇威克演算法。這些系統明確模擬感測器雜訊與動態,但 CPU 成本較高且需要更多調整。無人機飛行控制器以1 kHz運作,或許能合理使用EKF;50 Hz 的低功率穿戴取樣可能不會。

磁力計有幫助(或無效)
磁力計測量三個軸向的局部磁場向量。當它與加速度計和陀螺儀數據融合時,可以提供相對於地球磁場的航向參考 - - 因此稱為「九軸」系統。
Bosch 的 BNO055 就是一個常見例子:它整合了三軸加速度計、陀螺儀、磁力計,以及運行專有融合韌體的 ARM Cortex-M0,該韌體輸出四元數或歐拉角方向。
但磁力計是脆弱的參考。馬達、磁鐵、鋼結構、帶電流的電線、喇叭,甚至附近的筆記型電腦都會扭曲當地的磁場。我看過室內機器人,磁向會根據房間方向±30°左右,純粹是因為要建造鋼鐵和暖通空調設備。
如果你的應用程式在磁性潔淨的環境中運作,且需要絕對航向且不使用GPS,9軸配置是合理的。如果你靠近馬達、車內或室內磁場狀況不明,磁力計通常會增加更多的校正負擔而非價值。在這些情況下,六軸IMU加上外部航向來源(GPS、車輪里程計、視覺標誌)通常會更可靠。
真正重要的規格
全尺寸系列
加速度計的範圍通常為±2、±4、±8或±16 g。陀螺儀範圍範圍從±125到±2000 °/s或更高。ST LSM6DSV 提供最高 ±16 g 與 ±4000 °/s 的射程。
寬度不一定好。±16 g 加速度計的最低有效位元解析度比 ±2 g 設定更粗糙(假設相同 ADC 位元深度),且噪音規格在較高距離下常會下降。選擇最小的範圍,且在正常運作加上瞬態時不會飽和。
放在桌上的傾斜感應器需要±2 g。一架四軸飛行器在進行激烈機動時可能需要±8 g。貨櫃中的撞擊記錄器可能需要±16克*或更多。
雜訊密度與偏壓穩定性
雜訊密度(加速度計通常為 μg/√Hz,陀螺儀則為 m°/s/√Hz)告訴你單位頻寬下測量噪聲的量。越低越好,但你也需要考慮你的應用程式頻寬和過濾。
偏置穩定性描述零利率抵消隨時間的偏差程度。對於陀螺儀來說,這一點至關重要:一個偏置不穩定為 1 °/s 的陀螺儀,若積分不修正,會以每分鐘 60° 的速度漂移。高級IMU(戰術或導航級,通常為$100-$1000+)能達到低於1°/小時的偏壓穩定性。消費級MEMS陀螺儀(低於10美元)則接近10-50°/小時或更低。
我學會了不要盲目相信偏見的規格。在回流曲線後,測量系統在運作溫度下的實際偏壓行為。資料表顯示在受控條件下,通常或最大值,且不一定與現實世界相符。
溫度漂移
偏壓會隨溫度改變。陀螺儀在25°C時可能顯示0.05 °/s偏置,在60°C時顯示0.3 °/s。 如果你的系統在車內儀表板內、靠近馬達、陽光下經歷熱循環,溫度補償就變得必須。
部分IMU內建內部溫度感測器及工廠校正的補償係數。有些則要求你自己描述漂移並在軟體中進行修正。
取樣率與延遲
輸出資料率(ODR)決定你多久能獲得新樣本。頻寬決定了這些取樣所代表的頻率成分。
1 kHz 的 ODR 聽起來很厲害,但如果你的機械系統無法以超過 50 Hz 的速度切換,且你又被 IMU 內部的 100 Hz 數位濾波器限制頻寬,那就太誇張了。更快的取樣會增加 I²C/SPI 流量、中斷開銷及功耗,卻無法提升測量品質。
將ODR和頻寬與你的控制迴路速率及你需要觀察到的最快動態相匹配。無人機可能會以1 kHz進行IMU取樣,以供800 Hz姿態控制器。健身追蹤器每秒記錄一次步數,頻率在 50 Hz 或更低時也能應付。

6軸與9軸:你實際得到的是什麼
| 因數 | 六軸IMU | 九軸系統 |
|---|---|---|
| 加速度計 | 3 軸 | 3 軸 |
| 陀螺儀 | 3 軸 | 3 軸 |
| 磁力計 | 沒有 | 3 軸 |
| 基於重力的傾斜 | 是的 | 是的 |
| 絕對航向(磁性) | 不 | 是的,如果環境允許 |
| 磁干擾問題 | 不是感應器問題 | 標題會腐化嗎? |
| 校正複雜度 | 加速 + 陀螺 | 加速 + 陀螺儀 + 磁力(3D 橢球體配合) |
| 典型使用情境 | 穩定化,無航向的運動追蹤 | 方向與航向參考 |
「9軸」標籤指的是九個感測器通道,而非九個機械自由度。三維空間中的剛體具有六個自由度(三個平移、三個旋轉)。你用九個資料流來測量這六個景深,其中有些是冗餘或互補的資料流。
真實應用的取捨
無人機要求低延遲、高取樣率及良好的陀螺儀性能。馬達震動是持續性問題 - - 機械隔離(橡膠支架、泡棉)和調整到馬達頻率的缺口濾波器有幫助。磁航向在無刷馬達附近通常不可靠,因此 GPS 速度或目視里程測量作為偏航參考。
穿戴裝置更重視性能、體積與內嵌動作偵測,而非純粹的精確度。許多系統直接在 IMU 上整合活動辨識演算法,以減少 MCU 喚醒。絕對方向並非關鍵;偵測步伐、手勢或睡眠姿勢才是關鍵。
機器人學(平衡機器人、萬向節、外骨骼)需要靈敏的角回饋和合理的傾斜精度。感測器與車身的對準很重要 - - 2°的安裝錯位會直接影響你的滾轉/俯仰估計。我花了好幾個小時在兩輪機器人上調試「神秘傾斜」,結果發現是 PCB 上 1.5° 的 IMU 傾斜。
智慧型手機使用 IMU 來進行螢幕旋轉、遊戲和擴增實境。它們降低了消費級MEMS感測器的成本與尺寸,但也建立了對「足夠好」準確度的期望 - - 使用者能容忍AR應用程式中因體驗頻繁重置而產生幾度漂移。
工業機械監測使用加速度計進行振動分析(軸承磨損、不平衡),傾斜計則用於傾斜或水平調整。這裡的擔憂通常是嚴苛環境(溫度、衝擊、電磁干擾),而非高速控制迴路。
為您的設計選擇合適的感測器
從動態開始,不是感測器
你想衡量什麼?傾斜?旋轉率?完整的3D導向?撞擊偵測?震動頻率?
如果你只需要知道「裝置是否傾斜超過 15°」,單軸加速度計可能就足夠了。如果你需要偵測旋轉事件但不在意絕對角度,單用陀螺儀就夠了。如果你需要穩定的俯仰/滾轉/偏航時間,你需要一個帶有融合的六軸IMU。
定義操作條件
- 運動距離: 最大預期加速度和旋轉速率,包括瞬態?
- 環境: 溫度範圍、振動頻譜、磁干擾、安裝限制。
- 電力預算: 始終開啟取樣與動作觸發喚醒。
- 延遲容忍度: 控制迴路需要全新資料;資料記錄能容忍延遲。
評估感測器規格的情境
不要只比較解析度。如果雜訊佔據底層四位元,16位元的ADC也幫不上忙。請參考:
- 你選擇的範圍和頻寬下的雜訊密度
- 零重力偏移與零速率偏壓(及其穩定性)
- 溫度係數
- 橫軸靈敏度(理想為<2%)
- 供電電壓與電流消耗
決定融合發生在哪裡
部分IMU(如LSM6DSV或BNO055)內建直接輸出方向的嵌入式處理。有些會提供原始資料,期望你的 MCU 執行融合演算法。
嵌入式融合會減輕處理器負載並降低功耗(IMU的協同處理器通常比高頻率喚醒主MCU更有效率)。但你會犧牲可配置性 - - 你只能依賴廠商的演算法和更新率。
如果你需要與其他感測器(攝影機、LiDAR、編碼器)緊密整合,或是自訂融合邏輯,原始資料IMU能讓你控制,但代價是軟體複雜度較高。
驗證介面與整合
I²C 對於多感測器匯流排和簡單接線很方便,但頻率限制在 ~400 kHz(或快速模式+時為 1 MHz)。SPI 速度更快且更具確定性,但代價是更多腳位。部分較新的IMU支援I3C以提升速度與較低功耗。
檢查你的 MCU 是否支援你需要的介面速度和時序。在 400 kHz 的 I²C 上,1 kHz ODR 對於一個小封包(大約 14 位元組)是可行的,但如果你同時輪詢磁力計、氣壓計和其他裝置,這就很有限。

常見問題與解決方法
即使靜止,方向也會緩慢漂移: 陀螺儀偏差。啟動時收集幾秒鐘的靜態數據,平均讀數,然後從後續樣本中扣除該偏移量。這只修正了恆定偏壓 - - 不穩定性和溫度漂移依然存在。
加速裝置時傾斜角度會改變: 動態加速度與重力在加速度計輸出中混合。提高輔助濾波器的時間常數(下1到α),讓陀螺儀在移動時更可靠,或加裝加速度等監控來偵測加速度計是否不可靠。
IMU 讀數過於雜訊: 檢查機械安裝(鬆動的螺絲會傳導振動),檢查 IMU 寄存器的頻寬和濾波器設定,並檢查電源供應器的噪音。我追蹤到「雜訊 IMU」問題是因為感測器 VDD 腳位上的解耦電容不足。
動態飽和在固定值下: 你已經達到全尺寸極限。增加射程。接著再檢視是否真的需要測量那個極端運動,還是該事件是異常現象,應該另外偵測(例如,使用專用高重力閾值的跌落偵測)。
軸向反轉或互換: 座標框架不匹配。在你的PCB上畫出感測器的方向,確認X/Y/Z絲印或資料表的機身圖,並明確對應到你的車輛/機器人/裝置框架。這裡的符號錯誤會讓你的控制系統自我對抗。
磁航向隨機旋轉: 附近的馬達、磁鐵或鋼鐵。如果可能,移動磁力計、改善校準,或關閉磁航向並使用GPS、里程計或其他來源。
時序抖動會導致角度跳躍: 如果你將陀螺率與標稱 Δt 積分,但實際取樣間隔卻以毫秒相差,角度誤差會累積。將每個取樣(來自 IMU 內部計數器或 RTOS 週期)都標記時間戳,並在積分中使用實際的區間。
這對你下一個設計意味著什麼
在近靜態條件下的傾斜感測 - - 例如建築層、平台調平或消費性裝置的方向偵測 - - 單靠加速度計通常有效且成本較低。接受運動和震動會干擾它。
若用於旋轉追蹤且無法長期角度精確度 - - 如攝影機萬向節中的速率陀螺儀、轉盤速度感測 - - 使用陀螺儀。除非你經常重置或修正,否則不要積分到角度。
在動態環境中的短時間定向(數秒至數分鐘)中 - - 無人機穩定、VR 頭戴裝置、手持萬向節 - - 配備輔助或卡爾曼濾波的六軸 IMU 能帶來實用效果。啟動時校準陀螺儀偏壓,並調整濾鏡以符合你的動態設定。
若需長時間導航或定向,需在數分鐘至數小時內進行,將IMU與外部參考結合:GPS速度、車輪編碼器、視覺里程計或固定地標。IMU在較慢的絕對測量之間提供高速運動更新。
感測器不是系統本身。機械安裝座、熱環境、校正過程、融合演算法和外部參考決定了你是能取得可用的方向還是漂移混亂。選擇符合你動作範圍和誤差預算的感測器,然後投入心力正確整合。
常見問題
加速度計能測量旋轉嗎? 不。它測量線性加速度,並可從重力向量在近靜態條件下推斷傾斜,但無法測量角速度或繞重力軸的旋轉。
為什麼要結合加速度計和陀螺儀? 它們彼此互補。陀螺儀追蹤快速旋轉,但整合後會漂移。加速度計提供俯仰與滾轉的長期重力參考,但在動態運動時會失效。融合修正了每個感測器的弱點。
「6軸」或「9軸」是什麼意思? 六軸IMU擁有三個加速度計軸和三個陀螺儀軸。九軸系統則增加了三個磁力計軸。這些是感測器通道,不是機械的自由度。
IMU會給我沒有GPS的職位嗎? 只是短暫的。雙重積分加速度計的數據誤差累積得非常快,除非有外部校正(如方向盤編碼器、視覺里程計等),否則位置估計數在幾秒內就無法使用。
為什麼我的校正過的IMU還是會漂移? 校正能減少偏壓與比例誤差,但無法消除雜訊、溫度效應或隨時間變化的不穩定性。陀螺儀整合放大了所有剩餘的誤差。感測器融合與外部參考是長期穩定性的必要條件。
什麼時候該加裝磁力計? 當你需要絕對航向時,請在磁性潔淨的環境中操作,並能應付校準的複雜度(3D 橢球體擬合,通常需要使用者以 8 字形擺動裝置)。如果附近有馬達、鋼鐵或磁鐵,磁力計通常會造成更多麻煩而非解決。