您的位置 首页 方案

根据ARM9渠道的电子指南针的规划

基于ARM9平台的电子指南针的设计,摘要:针对指南针精度与显示界面的问题,在ARM9的开发平台上,设计了一款界面美观且能够实时显示方位、温度和时间的电子指南针。该系统采用了灵敏度和精度高的磁力传感器M

摘要:针对指南针精度与显现界面的问题,在ARM9的开发渠道上,规划了一款界面漂亮且能够实时显现方位、温度和时刻的电子指南针。该体系选用了灵敏度和精度高的磁力传感器MAG3110检测方位,选用了智能型温度传感器DS18B20检测温度,并挑选了Linux Qt作为电子指南针图形界面的开发渠道。试验结果表明,指南针方位精度达±2°,温度精度达±0.5℃,能够运用在一般导航范畴上。

0 导言

指南针在我国已有悠长的前史,作为一个重要的导航东西,广泛的运用在日子各范畴。跟着半导体技能的飞速开展,现在的指南针不只体积小,灵敏度和精确度都已得到很大的进步,而舒适明晰,简略方便的人机交互界面更是日益寻求的方针。本文选用一款小体积、低功耗的数字磁力计MAG3110收集地磁场,它选用规范IIC串行接口,输出数据速率达80 Hz,而且可自我消除差错,并运用数字温度传感器S18B20,它具有线路简略,体积小,测温规模为-55~+125℃,精度为±0.5℃。挑选这两款数字芯片,可满意灵敏度和精度的要求,挑选Linux Qt作为电子指南针GUI界面的规划可到达舒适明晰,漂亮精巧的界面作用。

1 指南针图形界面的挑选

现行比较盛行的GUI有MiniGui,MicroWindows,OpenGUI,Qt/Embedded。MiniGuI是国内开发的图形界面体系,图形设备层次过于笼统,图形功用不行完善。MicroWindows源码敞开,但其许多图形引擎算法低下,控件或构件的完成还不是很齐备,体系全体不行完善。Open GUI比较合适X86渠道,内核选用汇编完成,移植性欠好,不支持多进程,现在开展较缓慢。Qt/Embedded也是开源的,其库选用C++封装,彻底面向对象。Qt/Embedded开发简练,界面漂亮、颜色配比好,具有丰厚的API,运用与Qt/Windows和Qt/X11彻底一致的API接口,许多根据Qt的程序能够十分方便地移植到嵌入式设备上。本文挑选Qt作为指南针GUI界面的开发渠道。

2 指南针丈量原理

本文规划的是二维电子指南针,其数学模型如图1所示。x轴与指南针向前移动方向重合,y轴与指南针横向方向重合,在不考虑磁倾角的情况下,地球磁场水平面散布,即只要图中h磁北方向,因而z轴感测到的磁场为0。Hx,Hy别离为水平面两个轴感测到的磁场强度重量。

界说指南针向前移动的方向(x轴方向)与磁北方向的夹角为地磁航向角β,其与地舆北极的夹角为地舆航向角ψ,由图1可知ψ=β±γ,γ为磁偏角,已知磁偏角,求出地磁航向角β即可求得指南针的地舆航向角。运用磁传感器检测到的Hx,Hy按公式:

β=arctan(Hx/Hy)

可求得地磁航向角。

根据ARM9渠道的电子指南针的规划

3 体系硬件规划

3.1 硬件结构规划

本规划体系的硬件规划结构如图2所示,选用ARM9作为处理器,运用MINI2440作为试验板,外加温度传感器DS18B20和磁力传感器MAG31 10模块电路,可凭借ARM9开发渠道丰厚的外围接口资源进行开发与调试。如其LCD接口作为显现模块,JTAG接口作为调试模块,USB接口作上传或下载程序模块等。

根据ARM9渠道的电子指南针的规划

3.2 接口电路

3.2.1 磁力传感器MAG3110接口电路

MAG3110是款数字芯片,选用规范I2C串行接口,其电路如图3所示,SCL和SDA为I2C串行接口的时钟和数据线。MAG3110内部集成了信号处理电路,A/D转化电路,比较其他模仿芯片,其精度更高,差错更小。

根据ARM9渠道的电子指南针的规划

3.2.2 温度传感器DS18B20接口电路

DS18B20是单线器材,接口电路很简略,数据输入输出就一根线,其电路如图4所示,DQ为数据输入输出线。

根据ARM9渠道的电子指南针的规划

4 体系软件规划

4.1 软件结构

如图5所示为体系的软件结构,在底层驱动添加了温度传感器DS18B20和磁传感器MAG3110的驱动,在应用层,别离翻开两个驱动的设备节点收集它们的数据,在Qt环境下将DS18B20和MAG3110的数据处理并显现。

根据ARM9渠道的电子指南针的规划

4.2 软件模块的完成

4.2.1 温度传感器模块完成

温度传感器底层选用字符驱动结构完成,其读写操作在体系调用函数read,write中完成。应用程序翻开其设备节点,就能够读取底层温度传感器的数据,其完成流程如图6所示。

根据ARM9渠道的电子指南针的规划

4.2.2 磁传感器模块完成

磁传感器底层驱动选用I2C驱动结构。其读写操作在体系调用函数read,write中完成,应用层翻开其设备节点就可读取数据,其完成流程见图6。

4.3 界面规划

4.3.1 QWT5.0.2库移植

如图7所示为指南针的界面。

根据ARM9渠道的电子指南针的规划

Qt开发环境下没有这样的控件,需求移植包含此控件的库(QWT5.0.2)。本规划需求移植到X86和ARM9渠道。如图8所示,Qwtwidgets为移植到X86渠道上的库,其间包含许多常用的外表控件,其间QwtCompass控件便是图7所示的控件。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/297867.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部