EDN China > 设计实例 > 消费电子设计 > 便携设备 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

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

意法半导体 涂仲轩(Travis Tu)魏鸣(William Wei)?? 2010年12月06日 ?? 收藏0

?  4.2? 立体8字校准方法

  一般情况下,当带有传感器的设备在空中各个方向旋转时,测量值组成的空间几何结构实际上是一个圆球,所有的采样点都落在这个球的表面上,如图13所示,这一点同两维平面内投影得到的圆类似。

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

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

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

固定磁场干扰矢量的大小及方向

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

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

  ?4.2? 十面校准方法

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

图15 10面交准法步骤

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

10面校准后的空间轨迹

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

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

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

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

Pitch角和Roll角定义

图17 Pitch角和Roll角定义

Pitch角引起的航向角误差

图18 Pitch角引起的航向角误差

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

手机在空中的倾斜姿态

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

三轴数据

  6.Android平台指南针的实现

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

Android中的软件

  其中包括:

  · BSP Reference

  · Linux Kernel Driver (LSM303DLH_ACC + LSM303DLH_MAG)

  · HAL Library(Sensors_lsm303dlh + Liblsm303DLH) for sensors.default.so

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


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

集成传感器? 电子罗盘? Android?

上一篇: (多图) 2.4 GHz无线鼠标键盘接收器的设...
下一篇: Windows CE.Net下的矩阵键盘开发设计
相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
今日头条
精彩图集
有问题请反馈