ST集成傳感器方案實(shí)現電子羅盤(pán)功能
圖16 10面校準后的空間軌跡
5.傾斜補償及航偏角計算
經(jīng)過(guò)校準后電子指南針在水平面上已經(jīng)可以正常使用了。但是更多的時(shí)候手機并不是保持水平的,通常它和水平面都有一個(gè)夾角。這個(gè)夾角會(huì )影響航向角的精度,需要通過(guò)加速度傳感器進(jìn)行傾斜補償。
對于一個(gè)物體在空中的姿態(tài),導航系統里早已有定義,如圖17所示,Android中也采用了這個(gè)定義。Pitch(Φ)定義為x軸和水平面的夾角,圖示方向為正方向;Roll(θ)定義為y軸和水平面的夾角,圖示方向為正方向。由Pitch角引起的航向角的誤差如圖18所示??梢钥闯?,在x軸方向10度的傾斜角就可以引起航向角最大7-8度的誤差。
圖17 Pitch角和Roll角定義 圖18 Pitch角引起的航向角誤差
手機在空中的傾斜姿態(tài)如圖19所示,通過(guò)3軸加速度傳感器檢測出三個(gè)軸上重力加速度的分量,再通過(guò)式2可以計算出Pitch和Roll。
圖19 手機在空中的傾斜姿態(tài)
6.Android平臺指南針的實(shí)現
在當前流行的android 手機中,很多都配備有指南針的功能。為了實(shí)現這一功能,只需要配備有ST提供的二合一傳感模塊LSM303DLH,ST 提供整套解決方案。Android中的軟件實(shí)現可以由以下框圖表示:
其中包括:
• BSP Reference
• Linux Kernel Driver (LSM303DLH_ACC + LSM303DLH_MAG)
• HAL Library(Sensors_lsm303dlh + Liblsm303DLH) for sensors.default.so
經(jīng)過(guò)library 的計算,上層的應用可以很輕松的運用由Android定義由Library提供的航偏角信息進(jìn)行應用程序的編寫(xiě)。
評論