毕业设计(论文)-电子指南针的设计与实现.doc_第1页
毕业设计(论文)-电子指南针的设计与实现.doc_第2页
毕业设计(论文)-电子指南针的设计与实现.doc_第3页
毕业设计(论文)-电子指南针的设计与实现.doc_第4页
毕业设计(论文)-电子指南针的设计与实现.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目 :电子指南针的设计与实现专业:电子信息工程 学生: 签名: 指 导 教 师 : 签名: 摘 要指南针是中国古代四大发明之一,是古老中国贡献给世界的宝贵智慧之一,由此传入西欧,进而开启了发现新大陆,环球旅行的波澜壮阔的史诗,但是古老的指南针具有不稳定,精度低,不易携带的缺点。随着集成电路工艺的改进和发展,人们利用磁场的变化影响电感电路的原理制作出了磁阻传感器,利用磁阻传感器,人们制作出了电子指南针,使得指南针的发展进入了一个崭新的时代。本文利用Honeywell公司生产的磁阻传感器HMC5883L通过采集某一方向的磁场强度并将输出的数据上传到51单片机,单片机进行数据处理后把它直观的显示到LCM12864液晶显示屏上面。指南针精度达到小数点后一位,同时人们可以根据指针的位置判断出自己所在的方位。【关键词】磁阻传感器 51单片机 LCM12864【论文类型】设计Title:Major:Name: Signature: Supervisor: Signature: Abstract 【Key words】(小四号Times New Roman)【Type of Thesis】(小四号Times New Roman)绪论指南针是一种重要的导航工具,可应用在多种场合中。指南针的前身是中国古代四大发明之一的司南。主要组成部分是一根装在轴上可以自由转动的磁针。磁针在地磁场作用下能保持在磁子午线的切线方向上。磁针的北极指向地理的北极,利用这一性能可以辨别方向。常用于航海、大地测量、旅行及军事等方面。随着电子技术的发展,电子指南针的优势渐渐体现出来,电子指南针内部结构固定,没有移动部分,可以简单地和其它电子系统接口,因此可代替旧的磁指南针。并以精度高、稳定性好等特点得到了广泛运用。通过采集某一方向磁场强度,传至mcu对其进行处理并输出到液晶屏上显示。通过采用磁阻传感器采集地球上磁场的强度,并通过51单片机处理后显示在液晶显示屏上,有利于研究国外先进传感器工作机理,为以后做更精密的系统打下基础。指南针的始祖大约出现在战国时期。它是用天然磁石制成的。样子象一把汤勺,圆底,可以放在平滑的“地盘”上并保持 平衡,且可以自由旋转。当它静止的时候,勺柄就会指向南方。后来随着人们认识的深入,指南针越来越精巧,但其基本原理还是依靠某种支撑机械式的工作,易受到外界因素的制约影响工作,随着电子技术的不断进步,人们做出了磁阻传感器,应用在导航仪,手机等电子设备中,电子指南针内部结构固定,没有移动部分,可以简单地和其它电子系统接口,因此可代替旧的磁指南针。并以精度高、稳定性好等特点得到了广泛运用,使指南针的发展有了质的发展。目 录1 系统基本方案选择.1.1单片机的选择.1.2磁阻传感器的选择.1.3液晶显示的选择.1.4多种方案的比较.2 主要元器件的基本功能介绍.2.1 主控制器STC89S52介绍.2.2 磁阻传感器HMC5883L介绍.2.2.1 I2C通信协议.2.2.2 连续测量模式.2.2.3 数据处理.2.3 12864液晶显示器介绍.3 功能框图.3.1 单片机外围电路.3.2 磁阻传感器外围电路.4 程序流程图.5 设计思路.6 总结与致谢.参考文献.附录. 1 系统基本方案选择1.1单片机的选择51系列单片机源于Intel公司的MCS-51系列,在Intle 公司将MCS-51系列单片机实行技术开放政策之后,诸如Atmel,STC,Dallas,华邦,LG,Siemens等都以MCS-51中的基础结构8051为基准推出各种型号的兼容型单片机统称为51系列单片机。1.1.1 AVR系列简介AVR单片机是Atmel公司推出的较为新颖的单片机,特点是高性能,高速度,低功耗,取消了机器周期,以时钟周期为指令周期,实行流水作业。大部分指令为单周期指令,而单周期的指令既可以执行本指令功能,同时完成下一条指令的读取,时钟频率用4-8MHz,故最短指令执行时间为250-125ms。主要类型有以下三种:AT90s2313(简装型),AT90S8515,AT90S8535(带A/D转换)。在51系列中,所有的逻辑运算都必须在A中进行,而AVR却可以在任意两个寄存器中进行,省去了在A中的反复,这些都比51系列强。1.1.2 PIC系列简介PIC单片机系列是美国微芯公司(Microship)的产品,是当前市场份额增长最快的单片机之一。CPU采用RISC结构,分别有33,35,38条指令(视单片机的级别而定),属精简指令集。而51系列有111条指令,AVR有118条指令,都比前者复杂。采用Harvard双总线结构,运行速度快,属于指令流水线结构,在一个周期完成执行指令和从程序存储器取出下一条指令。具有低工作电压,低功耗,驱动能力强等特点。在编程过程中,少不了要与专用寄存器打交道,得反复选择对应的存储体,给编程带来了一定的麻烦。1.1.3 51系列应用最为广泛的八位单片机当属Intel的51系列,由于产品硬件结构合理,指令系统规范,世界有许多著名芯片公司购买了51系列芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系。51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,统称为位处理器,或布尔处理器它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送,置位,清零,测试等,还能进行位的逻辑运算,其功能十分完备。在一个较复杂的程序在运行工程中会遇到许多的分支,因而需要建立许多标志位,在运行过程中,需对有关标志位进行置位,清零,或者检测,以确定程序的运行方向。而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。51系列的另一个优点是乘法和除法指令,八位除以八位的除法指令,商为八位,而八位乘八位的乘法指令,其值为十六位,精度可以满足大多数的要求,用的较多。考虑到大学所开课程,曾系统的学习过51单片机原理,以及其成本低,所设计的电子指南针处理速率的要求,所以选择51单片机来做主控制器。在市场上选择了主流的STC公司的89S52来做开发。1.2 磁阻传感器的选择1.2.1 Honeywell 三轴磁阻传感器HMC5883L,见图1-1。图1-1特点(1)数字量输出:I2C数字量输出接口,设计使用非常方便。(2)尺寸小: 3x3x0.9mm LCC封装,适合大规模量产使用。(3)适用于消费类电子设备应用中通用双线串行数据接口(4)符合RoHS标准(5)可获得罗盘航向、硬磁、软磁以及制自动校准库(6)精度高:12度,内置12位A/D,OFFSET, SET/RESET 电路,不会出现磁饱和现象,不会有累加误差。(7)支持自动校准程序,简化使用步骤,终端产品使用非常方便,有相应软件及算法支持。(8)最大输出频率可达160Hz(9)内置自测试电路,方便量产测试,无需增加额外昂贵的测试设备。(10)带有设置/复位和偏置驱动器用于消磁、自测和偏移补偿。(11)功耗低:供电电压1.8V, 功耗睡眠模式-2.5微安 测量模式-0.1mA。(12)价格在7到10元之间。1.2.2 Honeywell 磁阻传感器HMC1501,见图1-2图1-2特点(1)永磁产生材料不需稀土磁钢,只要用铝镍钴或陶瓷型磁钢,价格便宜。(2)具有宽角度量程(45),0.07的最小分辨率。(3)8mm的有效线性区,多个器件时可以增加区间。(4) 绝对灵敏,不用于增量“编码”器件,HMC1501可以精确走位,无需遍索引。(5) 非接触,无磨损,不会因转动机械传感器磨损而降低讯号。(6) 小包装,8脚表面贴装,尺寸541.2mm,可以在小于6mm的空间工作。(7) 大讯号输出:在5伏电源时有120mV的满量程输出。(8) 价格在30元左右1.2.3 Honeywell HMC1001/1002 单、双轴磁阻传感器,见图1-3 图1-3特点(1) 磁场范围高至 6高斯(地磁场=0.5高斯)(2) 封装尺寸小(3) 设计成单轴和双轴可组合在一起工作从而提供3轴(xyz)传感(4) 单轴传感器封装在8针SIP或8针SOIC, 或陶瓷8针DIP内(5) 双轴传感器封装在16针或20针SOIC封装内(6) 这类小型装置相比于机械磁通门大大降低了装配成本并提高了可靠性和耐用性(7) 价格便宜,这类传感器经专门设计对于大批量的OEM应用价格合适,市场价格100到500元。1.2.4 QHS103双极锁存磁传感器,见图1-4。图1-4特点(1) 高灵敏度、高速、低功耗、高精度应用而开发的双极锁存磁传感器,集成了TMR 和CMOS 技术。(2) 采用高精度推挽半桥TMR 磁传感器和CMOS 集成电路,包括TMR 电压发生器,比较器,施密特触发器和CMOS 输出电路,能将变化的磁场信号转化为数字电压x 信号输出。(3) 通过内部电压稳压器来提供温度补偿电源,并允许宽的工作电压范围。QHS103 低电压工作、消耗电流低、响应频率高,微安级的电流消耗成为众多低功耗应用的理想选择。(4) 市场价格50元左右。 考虑到所选择的单片机为51系列,课程设计所要求的精度及成本问题,所以选择了Honeywell公司的HMC5883L磁阻传感器来做课程设计。1.3 液晶显示的选择1.3.1 LCD1602LCD1602工业字符型液晶,能够显示16*2即32个字符。即16列两行。是一种专门用来显示字母,数字,符号等的点阵型液晶。由若干个5*7或者5*11等点阵字符位组成,每个字符位都可以显示一个字符,每位之间有一个点阵的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以不能很好的显示图形(用自定义CGRAM,显示效果也不好)。见图1-5图1-51.3.2 1286412864是128*64点阵液晶模块的点阵数简称,业界约定俗成的简称。其可以良好的显示自定义的图形,字符。操作简单,应用广泛。见图1-6。 图1-6因为本课程设计要用图形界面来直观的显示指南针,并且要做欢迎界面来增加指南针的美观和实用性,所以综合考虑用带字库的12864来做显示。1.4 多种方案的比较1.4.1 采用DS89C450+PNI11096+SEN-R65传感器组合的设计方案。图 1-7 系统控制电路 此种设计方案采用了SPI接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。所选用的微处理器DS89C450内部含有较大的程序和数据存储器,其片内除了256字节RAM区,还提供片内1KB的SRAM和64KB的程序存储器,考虑到实际的应用,根本无需这么大的程序存储空间,造成了资源的浪费。因为传感器是由PNI11096+SEN-R65组成,使得电路的复杂度增加。1.4.2 采用KMZ52+89C52的方案。 此种设计方案使用的是Philips公司生产的磁阻传感器KMZ52为核心芯片,它是利用坡莫合金薄片的磁阻效应测量磁场的高灵敏度磁阻传感器。该磁阻传感器内置两个正交磁敏电阻桥、完整的补偿线圈和设置复位线圈。补偿线圈的输出与当前测量结果形成闭环反馈,使传感器的灵敏度不受地域限制。这种磁阻传感器主要应用于导航、通用地磁测量和交通检测。但是考虑到成本问题,KMZ52的实际价格高于采用HMC5883L的价格,所以不使用这种方案。1.4.3 采用HMC5883L+89S52的设计方案 此种方案整个系统由89S52单片机,HMC5883L磁阻传感器,LCM12864组成。系统启动后,单片机先对液晶进行操作,使其显示出欢迎界面,然后利用I2C协议对HMC5883L进行操作,连续读取其X轴,Y轴,Z轴的数据,通过公式运算,算出现在方位与正南之间的夹角,通过对夹角进行数据处理,最终展现给人们的是精确到小数点后一位的角度数据和始终指向正南的图形化界面。设计思路是把HMC5883测得的数据传送至单片机上,处理后再将其位置信息显示在LCM12864上面,使用的集成的指南针模块,所以硬件电路较少,集中精力放在软件上面来实现。由于采用的硬件较少,成本较低,可实现程度高,所以采用这种方案比较合适。2 主要元器件的基本功能介绍2.1 主控制器STC89S52介绍STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,兼容标准MCS-51指令系统及80C51引脚结构,高性能8位单片机AT89S52 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes的可反复擦写1000次的Flash只读程序存储器,做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。2.2 磁阻传感器HMC5883L介绍 霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。HMC5883L 包括最先进的高分辨率HMC118X 系列磁阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在12的12 位模数转换器.简易的I2C 系列总线接口。HMC5883L 是采用无铅表面封装技术,带有16 引脚,尺寸为3.0X3.0X0.9mm。HMC5883L 的所应用领域有手机、笔记本电脑、消费类电子、汽车导航系统和个人导航系统。 霍尼韦尔HMC5883L磁阻传感器电路是三轴传感器并应用特殊辅助电路来测量磁场。通过施加供电电源,传感器可以将量测轴方向上的任何入射磁场转变成一种差分电压输出。磁阻传感器是由一个镍铁(坡莫合金)薄膜放置在硅片上,并构成一个带式电阻元件。在磁场存在的情况下,桥式电阻元件的变化将引起跨电桥输出电压的相应变化。这些磁阻元件两两对齐,形成一个共同的感应轴(如引脚图上的箭头所示),随着磁场在感应方向上不断增强,电压也会正向增长。因为输出只与沿轴方向上的磁阻元件成比例,其他磁阻电桥也放置在正交方向0上,就能精密测量其他方向的磁场强度。HMC5883L引脚配置引脚名称描述1SCL串行时钟-I2C主从时钟2VDD供电端2.16V-3.6V3NC空引脚4S1与电源供电引脚相连5NC空引脚6NC空引脚7NC空引脚8SETP与S/R电容器C2相连,连驱动端9GND接地10C1与储能电容器C1相连11GND接地12SETC与S/R电容器C2相连-驱动端13VDDIOI/O口供电14NC空引脚15DRDY数据准备,中断引脚。内部拉高。可选的连接。保持250秒时,数据被放置在数据输出寄存器。16SDA串行数据I2 C主从数据HMC5883L外围电路 实际尺寸的由HMC5883L构成的传感器模块2.2.1 I2C通信 HMC5883LL 通过两线I2C 总线系统作为一个从机装置进行通信。HMC5883LL 使用是一个IIC 协议所定义的简化后的通信接口协议,通过这一文件,。数据传输速率是标准模式100kbps 或400kbps 速率,如I2C 总线规格中所规定。总线位格式是一个8 位数据/地址传送和1 位应答位。格式的数据字节(有效载荷)应区分HMC5883L 从机上的大小写的ASCII 字符或二进制数据,以及返回的二进制数据。负二进制值将是以二进制的补码形式。默认(出厂) HMC5883LL 7 位从机地址为0x3C 的写入操作,或0x3D 的读出操作。 HMC5883LL 串行时钟(SCL)和串行数据(SDA)线需要主机(通常是主机微处理器)和HMC588LL 之间装有上拉电阻(Rp)。在标称VDDIO 电压下建议负载电阻值约为10 千欧姆。其他电阻值也可以由I2C 总线规格定义后连接到VDDIO 上。总线规格的SCL 和 SDA 线可以连接到多个装置上 。总线可以是一个单一主机到多个从机,也可以是一个多个主机配置。所有数据传输均由产生时钟信号的主机发起,数据传输是8 位进行。所有装置都由I2C 唯一的7 位地址标注。在每8 位传输之后,主机装置产生一个第9 个时钟脉冲,并释放SDA 的线。接收装置(指向的从机)将SDA 线拉至低位确认(ACK)传输成功或使SDA 线处于高位表示否定确认(NACK ) 。按I2C 规格,所有SDA 线中的传输必须发生在SCL 低时。但当SCL 处于高位时,在总线上与SDA 传送时这一要求会导致两种特别的情况。主机将拉SDA 拉低,而SCL 线是高,表明开始(S)的条件;当 SDA 的线被拉高而SCL 处于高位,这是停止(P)的情况。I2C 总线协议还允许重新启动的条件,这时主机发出第二次启动条件还没有叫停。所有总线传送从主机发出启动序列开始,然后发出从机地址字节。地址字节包含从机地址;先7 位 (bits7 -1)和最低有效位(LSB 的)。如果指定的运作是一个读出(LSb 的= 1)或写入(LSb 的= 0),地址的LSb 字节会标志出来。在第9 个时钟脉冲,接收的从机装置会发出ACK(或NACK)。这些总线事件以后,主机将发送数据字节以便写入操作,或从机在读出操作时进行时钟输出。所有总线的传送在主机发出停止序列时终止。I2C通信协议2.2.2 连续测量模式连续测量模式,在客户所选择的速率下进行连续的测量,并所测量的更新数据输出寄存器。如果有必要,数据可以从数据输出寄存器重新读取,但是,如果主机并不能确保在下次测量完成之前可以访问数据寄存器,数据寄存器上的旧的数据会被新的测量数据取代。为了保存测量之间的电流,该装置被放置在一个类似闲置模式的状态,但模式寄存器没有改变成空闲模式。即MDn位不变。配置寄存器A的设置在连续测量模式时会影响数据输出速率(比特DOn) ,测量配置(bits MSn),和增益(bits GNn)。所有寄存器在连续测量模式中保留数值。 在连续测量模式下I2C总线可被网络内的其他装置启用。2.2.3 数据处理 HMC5883L能测量X,Y,Z三个方向的数据,这三个方向是正交的,对这三个方向的数据进行处理可以得到磁场的角度,每个方向拥有两个八位的数据寄存器A和B,寄存器A中储存一个测量结果中的高位数据,寄存器B中储存一个自测量结果的低位数据,这两个寄存器中的值是以二进制补码形式存在的十六位,其范围是0XF800到0X07FF。因为Z轴垂直于磁场,所里理论上等于零,只需要X,Y的值就可以算出角度来,公式为angle=arctan(X/Y)。2.3 12864液晶显示器介绍J12864 中文 汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192 个中文汉字(16X16 点阵)、128 个字符(8X16 点阵)及64X256 点阵显示RAM(GDRAM)。主要技术参数和显示特性:电源:VDD 3.3V+5V(内置升压电路,无需负压);显示内容:128 列 64 行显示颜色:黄绿/蓝屏显示角度:6:00 钟直视LCD 类型:STN与MCU 接口:8 位或4 位并行/3 位串行配置LED 背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等12864有20个管脚,管脚的功能及使用说明如下表,表2-1表2-18位串行连接时序图用户指令扩充指令集汉字显示坐标4 功能框图HMC5883采集数据STC51单片机处理数据并输出液晶1602显示方向IC通信传输数据设计思路是把HMC5883测得的数据传送至单片机上,处理后再将其位置信息显示在LCM12864上面,使用的集成的指南针模块,所以硬件电路较少,集中精力放在软件上面来实现。5 程序流程图初始化系统开始读完?IC写信号发设备地址IC停止连续读取磁场数据IC读信号发读取单元地址是否显示数据6 设计思路角度算法:angle1=arctan(2y/x)*(180/)+180指南针的角度指向正南方时为0度,指针的角度随x轴顺时针方向进行递增,角度从0度到359度。 正南0度正东270度正西90度正北180度指南针的直观显示得到的数字要转化为指针的思路由于采用的是12864液晶显示,行的个数为64行,列的个数为128列,分辨率有限,所以就限定了指针只能是粗略的显示一定角度范围,我把这个角度的误差定位6度,即把360度分为60份,从0度到360度的角度依次取0,6,12,18,24,30,36,42,48,54,60,66,72,78,84,90,96,102,108,114,120,126,132,138,144,150,156,162,168,174,180,186,192,198,204,210,216,222,228, 234,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论