iPhone / iPad 上的電子羅盤(Compass)是怎麼工作的?為什麼 iPad 上的磁鐵不會造成干擾?
01-08
iPhone: How does the compass on the iPhone work? - Quora | http://www.quora.com/iPhone/How-does-the-compass-on-the-iPhone-work
你好,題主
-------------------------------------------------------IPhone電子羅盤的工作原理可以通過硬體(感測器)和軟體(演算法)兩個方面來說明。包括iPhone在內的絕大多數自能手機都內置多種環境感測器,比如磁力計、加速度計、陀螺儀、氣壓計等等,電子羅盤就是通過磁力計完成對地磁信息的採集,並通過加速度計、GPS等其他的環境信息,結合定向、姿態解算等演算法,最終完成對方向的顯示。
-------------------------------------------------------硬體以iPhone6為例,內置磁力計是AKM公司AK8963C。以及兩顆慣性感測器,一顆是Invensense的六軸加速計與陀螺儀MPU-6700,另一顆是Bosch的三軸加速計BMA280。這是首次在使用雙加速計。至於霍爾感測器是如何運作的,簡單的說一下(答主也只是大致了解,記得大學物理實驗里有個就是測試霍爾感測器)。霍爾效應即當電流垂直於外磁場通過導體時,在導體的垂直於磁場和電流方向的兩個端面之間會出現電勢差。通過檢測電壓的大小來得出磁場的大小。由於地球磁場強度較小,一般霍爾元件的感測面上裝有高導磁係數的坡莫合金。
這樣看來只用磁力計就夠了,然而實際場景中使用手機時手機姿態是不可能水平的,傾斜的姿態必然會影響磁力計的輸出,加速度計就是專門檢測手機姿態並進行傾角補償的,是的,就是加速度計,它除了可以檢測運動中的動態加速度,也可以通過檢測重力加速度的軸向分量來解算出手機的俯仰角、橫滾角等姿態信息。加速度感測器的工作原理理解起來很簡單,現代感測器工藝中廣泛採用MENS(微電子機械系統)技術,顧名思義就是將傳統的機械式感測器的結構與微電機技術相結合,體積和尺寸大大縮小。而電子加速度計的原理和機械式及速度計原理相似,運動帶動滑塊運動,通過檢測滑塊的 運動狀態來檢測加速度計,而現在只是將這個滑塊做到了微米級而已。茫然若失說的沒錯,針對於磁干擾來說我們一般分為硬磁干擾和軟磁干擾,硬磁干擾就是題主說的磁鐵這樣的固有的磁場干擾,這也就是為什麼,如果要準確的話,所處環境有大的變化需要電子羅盤做校正的原因,還有一就是軟磁干擾,就是一些本身不帶磁性的物質,被磁化後對於羅盤的影響,這個規律不好找,校正也不好做,但針對消費費的產品一般沒有做這一塊的,畢竟影響沒有那麼大。
沒有記錯的話,應該是:內置陀螺儀+一個很有趣的演算法 + GPS位置修正 = 羅盤
理論上說,要指示方向有多種方法,其中利用地磁場是最常用,也是最成熟的方法,所以電子羅盤中也有這種原理的晶元,比如意法半導體的LSM303DLH,利用霍爾效應(和磁有關)。至於題主提到的干擾問題,在設計晶元的時候,強烈考慮到這個問題,而且在感測器驅動演算法中也對一些已知的外部干擾進行了修正(比如揚聲器的磁鐵),同時對一些外部磁場干擾也有一些修正,所以看起來覺得沒有影響。不過值得提出的一點是,除了磁場,還能用對轉動方向累加的方法來確定現在的方向,類似於老祖宗的指南車。在今天的電子羅盤上,應該就是有人回答的陀螺儀(或角加速度,傾角感測器等感測器這類慣導感測器的集成體)對轉角進行累加,再加上GPS等方法的定期修正累計誤差,但是目前的慣導感測器技術還沒那麼完美,而且方法比較複雜,所以電子羅盤還主要以利用磁類感測器加上一些傾角感測器等為主。
因為使用動態校正演算法.磁力計理想情況下可以理解為原點出發的一個向量,旋轉手機時各個方向上的向量可以組合成一個球. 外界干擾可以看做一個矢量,使上面說的向量的起點偏移起點,前面說的球球心偏移原點,變成橢圓.
磁鐵靠近時,雜訊矢量不斷變化,使用加速度計等感測器和演算法可以不斷計算這個矢量.這個演算法中比較基礎普遍的就是畫8字,簡單粗暴地估算這個矢量.再高級點的就是前幾年的研究內容了.
辰星給出的答案對原理說得已經很全面了,我就來說說對另一個問題自己的判斷,就是為什麼ipad的磁鐵沒造成干擾。我沒生產過類似產品,所以只能說是猜測。磁鐵肯定是有干擾的,只是干擾的程度是不是可以接受。假如磁鐵的磁場干擾弱到可以忽略那就不用考慮了。那要是不能忽略呢?也有辦法,就是補償。補償的道理也簡單,磁強計固定安裝在ipad里,那麼pad上的磁鐵對於磁強計來說是一個不變的磁場,所以可以使用標定補償的方法在出廠時將這一磁場補償掉。比如在一個已知磁場的地方進行測量,得到結果是這個已知磁場與干擾磁場的和,再把已知磁場去掉,就得到了不變的干擾磁場,在以後的測量中把干擾減掉就行了。
推薦閱讀: