微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于LSM303DLH集成传感器的电子罗盘实现方法

基于LSM303DLH集成传感器的电子罗盘实现方法

时间:09-14 来源:互联网 点击:

轨迹,从而推导出球心的位置,即固定磁场干扰矢量的大小及方向。

  

  图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 手机在空中的倾斜姿态

  

  6.Android平台指南针的实现

  在当前流行的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