微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 传感器 > ST集成传感器方案实现电子罗盘功能

ST集成传感器方案实现电子罗盘功能

时间:10-29 来源:意法半导体 涂仲轩(Travis Tu) 魏鸣(William Wei) 点击:

的表面上,如图13所示,这一点同两维平面内投影得到的圆类似。

图13 地球磁场空间旋转后在传感器空间坐标内得到球体

这种情况下,可以通过足够的样本点求出圆心O(γx, γy, γz), 即固定磁场干扰矢量的大小及方向。公式如下:

8字校准法要求用户使用需要校准的设备在空中做8字晃动,原则上尽量多的让设备法线方向指向空间的所有8个象限,如图14所示。

图14 设备的空中8字校准示意图

4.2 十面校准方法

同样,通过以下10面校准方法,也可以达到校准的目的。

1

2

3

4

5

Face me

Heading up

Face down

Heading front

Face me

Head down

Face me

Heading Left

Face me

Heading up

6

7

8

9

10

Face up

Heading front

Face Front

Heading down

Face front

Heading right

Face front

Heading up

Face down

Head front

图15 10面交准法步骤

如图16所示,经过10面校准方法之后,同样可以采样到以上所述球体表面的部分轨迹,从而推导出球心的位置,即固定磁场干扰矢量的大小及方向。

图16 10面校准后的空间轨迹

5.倾斜补偿及航偏角计算

经过校准后电子指南针在水平面上已经可以正常使用了。但是更多的时候手机并不是保持水平的,通常它和水平面都有一个夹角。这个夹角会影响航向角的精度,需要通过加速度传感器进行倾斜补偿。

对于一个物体在空中的姿态,导航系统里早已有定义,如图17所示,Android中也采用了这个定义。Pitch(Φ)定义为x轴和水平面的夹角,图示方向为正方向;Roll(θ)定义为y轴和水平面的夹角,图示方向为正方向。由Pitch角引起的航向角的误差如图18所示。可以看出,在x轴方向10度的倾斜角就可以引起航向角最大7-8度的误差。


图17 Pitch角和Roll角定义
图18 Pitch角引起的航向角误差

手机在空中的倾斜姿态如图19所示,通过3轴加速度传感器检测出三个轴上重力加速度的分量,再通过式2可以计算出Pitch和Roll。

图19 手机在空中的倾斜姿态

式2

式3可以将磁力计测得的三轴数据(XM,YM ,ZM)通过Pitch和Roll转化为式1中计算航向角需要的Hy和Hx。之后再利用式1计算出航向角。

式3

6Android平台指南针的实现

在当前流行的android 手机中,很多都配备有指南针的功能。为了实现这一功能,只需要配备有ST提供的二合一传感模块LSM303DLH,ST 提供整套解决方案。Android中的软件实现可以由以下框图表示:

其中包括:

BSP Reference Linux Kernel Driver (LSM303DLH_ACC + LSM303DLH_MAG) HAL Library(Sensors_lsm303dlh + Liblsm303DLH) for sensors.default.so

经过library 的计算,上层的应用可以很轻松的运用由Android定义由Library提供的航偏角信息进行应用程序的编写。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top