本文介绍了用两个UGN3503型霍尔器件设计制作的数字指南针的设计目的、系统结构和工作原理,以及各主要器件的使用方法。本系统包括UGN3503型霍尔器件、TLC0832 A/D转换器、单片机控制、液晶显示四部分,实现了对地磁信息的采集、放大,经过模数转换和单片机处理,最终显示出用文字表示的当前所处方位。

  现在机器人的控制有了很大的发展,尤其遥控机器人,但是还不能象人有自己的探索。基本上是放上摄像头人工控制,所以很大程度上没有独立工作能力,离开人和GPS还是不能工作。我们开发本系统是为了在一个恶劣的环境下为一个数字化系统提供一个原始的参考数据,或充当机器人的一个廉价的测控工具。

  本着这个目的,本系统主要功能有:

  1、地磁放大功能:通过内置磁铁对地磁场的反应,实现对地磁信息的放大。

  2、系统辅助定位功能:通过本设备提供的串行口,既可以嵌入系统,为系统的空间定位提供参考数据;又可以作为外设,提供临时性测算。

  本系统的输出方式可以采用液晶显示和语音输出两种方式,语音输出可为盲人提供方便。

  整个系统的方框图如上图所示。

  我们将互相垂直的两个霍尔器件固定于框架底部(如下图所示),在两个小磁铁条的N极和S极之间夹一个中空的塑料圆筒使其刚好将两霍尔器件套入而没有接触。圆筒顶部封口,从其顶部圆心处引一根塑料轴,固定于框架底部,使圆筒可绕中心轴自由转动。

  通过这种方法,小磁条便可在地球磁场的作用下指示方向,由于此两磁铁之间的磁场强度比地球磁场强很多,因此霍尔器件能够探测到其周围磁场的变化,从而实现了对地磁信号的放大。

  如右图所示霍尔器件A探测x方向的磁场,B探测y方向的磁场。设某一时刻磁场方向如右图所示,A、B探测到的磁场分别为-a和b。则单片机通过处理此二数据便可得到方位角θ的值,从而判定当前方位。右图中虚线箭头所指方向为磁场方向,即地磁南极方向,×轴正方向即为观察者面对的方向。

  目前市面上有多种霍尔器件,但大多数灵敏度较低,考虑到地磁的磁感应强度较为微弱,我们慎重选用了UGN3503型霍尔器件。此霍尔器件灵敏度较高,而且低噪输出。由于此器件采集到的信息是连续变化的模拟量,不能被单片机直接处理,必须把这些模拟量转换成数字量后才能够输入到单片机中进行处理,因此我们选用了A/D转换器TLC 0832。TLC0832是串行通讯的8脚2路A/D转换器件,在功能上和体积上都有优势。我们还可以把51改成2051进一步缩小体积。而且串行通讯可以把它跟3503做到一起,这样数据传输不受距离限制。此转换器与处理器接口兼容性较好,同时又可以单机操作。在5V电压供应下,可以输入0~5V范围内电压。TLC0831有单一输入频道;TLC0832已经具有多重输入频道。连续的输出被配置到接口标准变化寄存器或微处理器。LCD液晶显示采用LCD1602。此液晶显示模块为2行输出,每行16个字符。

  整个系统电路图如上图所示。

  考虑到在实际应用时,磁场可能会由于外界抖动而在某一时间或某一位置产生不稳定的状况,我们在数据处理时,采取了在若干个数据间段点中取其平缓过渡数据的设计方法。单片机最后通过跳线选择处理结果输出方式。系统程序流程图如下图所示。

  目前,大多数设备还不具备简单的方向识别功能。对于较复杂、较高档的设备,其所用定位设备专用性较强,一般不易于其它设备兼容,且设计结构较为复杂,费用较高。我们设计的小型方向定位器,可以满足一些小型的,对方向精度要求不高的设备需要。由于该设备开发成本较低,因此把该仪器应用于一些简单设备中后,可以在较小提高成本的条件下,为设备增加一项较为显着的功能,提高其性价比。

(转)

用UGN3503霍尔器件制作的数字指南针_电路图的更多相关文章

  1. BZOJ_1833_[ZJOI2010]count 数字计数_数位DP

    BZOJ_1833_[ZJOI2010]count 数字计数_数位DP 题意: 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 分析: 数位DP f[i][ ...

  2. Vijos_1218_数字游戏_(划分型动态规划+环状动态规划)

    描述 https://vijos.org/p/1218 给出n个数围成一个环,将其划分成k个部分,每个部分求和再对10取模,最后将每个部分的值相乘,求其最大值与最小值. 描述 丁丁最近沉迷于一个数字游 ...

  3. Day2_数字类型_字符串类型_列表类型_元组_字典_集合_字符编码_文件处理

    数字类型: 作用:年纪,等级,薪资,身份证号等: 10进制转为2进制,利用bin来执行. 10进制转为8进制,利用oct来执行. 10进制转为16进制,利用hex来执行. #整型age=10 prin ...

  4. Day2_数字类型_字符串类型_列表类型

    数字类型: 作用:年纪,等级,薪资,身份证号等: 10进制转为2进制,利用bin来执行. 10进制转为8进制,利用oct来执行. 10进制转为16进制,利用hex来执行. #整型age=10 prin ...

  5. C# 中的数字分隔符 _

    编写 C# 代码时,我们时常会用到很大的数字,例如下面定义的变量: const long loops = 50000000000; 您能快速读出这是多少吗?是不是还是会有很多人把光标定位到最后一位,然 ...

  6. BZOJ_1833_[ZJOI2010]_数字计数_(数位dp)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1833 统计\(a~b\)中数字\(0,1,2,...,9\)分别出现了多少次. 分析 数位dp ...

  7. java实现登录的验证码和猜数字游戏_图形化界面

    实验任务四 1,出现设计思想 (1)先定义文本框.密码框和验证码框的组件 (2)定义面板和按钮的个数 (3)定义公有的虚构方法,通过对象实例化来调用 (4)利用Random类来实现生成0-9的随机数 ...

  8. java实现多个数字求和_图形化界面

    一,设计思想 1,通过简单的窗口实现多个数字的输入与输出. 2,可通过用户输入数字的数量来实现多个数字的求和. 3,定义整型数组变量number和字符串型数组变量integer,将输入的字符串变量赋给 ...

  9. 1.2python基础_数字类型_数字(Number)类型

    一.整型(int型.整数) 整型 等价于C中的有符号长整型(long) 与系统的最大整型一致(如32位机器上的整型是32位,64位机器上的整型是64位), 可以表示的整数范围在[-sys.maxint ...

随机推荐

  1. VMware linux与windows文件共享

    将要共享的文件做成一个iso文件,然后打开VMware

  2. 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】08-基本运算

    计算机的基本能力就是计算,所以一门程序设计语言的计算能力是非常重要的.C语言之所以无所不能,是因为它不仅有丰富的数据类型,还有强大的计算能力.C语言一共有34种运算符,包括了常见的加减乘除运算.这讲就 ...

  3. jstack(查看线程)、jmap(查看内存)和jstat(性能分析)

    公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令.供大家参考 1.Jstack 1.1 ...

  4. 每个QWidget都有contentsMargins函数,善用QMargins

    m_pSearchLineEdit = new QLineEdit(); QPushButton *pSearchButton = new QPushButton(this); pSearchButt ...

  5. Android 通过 Intent 传递类对象

    Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...

  6. thinkphp框架 中 ajax 的应用

    在thinkphp中,内置了ajax的方法,即: ajaxReturn("data","info","status"); data:传递的数 ...

  7. 【HDOJ】2388 Playground Hideout

    优先级队列直接AC. /* 2388 */ #include <iostream> #include <sstream> #include <string> #in ...

  8. C#中this在构造函数时的使用

    今天编程的时候,想要用this来处理构造函数,想了半天没有想起来 后来找了自己以前记录的 http://www.cnblogs.com/chucklu/p/4842766.html public Cu ...

  9. c语言编程风格

    关于c语言的编程风格,不同的书上有不同的推荐,不同的公司有不同的要求.这里,做了一下基本规范说明. 1.变量定义 在定义变量时,前缀使用变量的类型,之后使用表现变量用途的英文单词或单词缩写,且每个单词 ...

  10. Ruby准备工作

    解释性语言,自上而下执行,纯面向对象,跨平台,动态绑定,没有多重继承.NetBeans sun公司开发irb指令可快速实时输入并返回结果 quit 或者exitrdoc hello.rb 生成html ...