数字罗盘的设计.docx
- 文档编号:30678980
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:30
- 大小:201.13KB
数字罗盘的设计.docx
《数字罗盘的设计.docx》由会员分享,可在线阅读,更多相关《数字罗盘的设计.docx(30页珍藏版)》请在冰豆网上搜索。
数字罗盘的设计
目录
0前言..........................................................................................................................................1
1总体方案设计..........................................................................................................................2
1.1电子罗盘测量基本原理...............................................................................................2
1.2课题分析.......................................................................................................................2
1.3系统方案论证...............................................................................................................3
1.3.1数据采集模块....................................................................................................3
1.3.2主机控制模块.......................................................................................................3
1.3.3结果显示模块......................................................................................................4
2硬件电路设计..........................................................................................................................5
2.1单片机系统....................................................................................................................5
2.2按键电路........................................................................................................................6
2.3GY—26模块电路2.3GY—26模块电路....................................................................6
2.4液晶显示模块电路........................................................................................................7
3软件设计..................................................................................................................................8
3.1主程序设计.......................................................................................................................8
3.2GY-26模块程序设计.......................................................................................................9
4调试分析................................................................................................................................10
4.1硬件调试...................................................................................................................10
4.2软件调试..................................................................................................................11
5结论及进一步设想................................................................................................................11
参考文献......................................................................................................................................11
课设体会......................................................................................................................................13
附录1电路原理图...................................................................................................................14
附录2程序清单.......................................................................................................................15
数字罗盘的设计
王某某沈阳航空航天大学自动化学院
摘要:
本文设计了一种基于单片机控制的精确定向数字罗盘系统。
使用GY—26罗盘模块作为传感器,并详细介绍了其测向原理。
系统采用8位STC89C52单片机作为主控芯片,LCD1602液晶显示作为主输出设备,外加几个按键进行人机交互式操作。
设定以正北方向为0º的一周。
单片机获取传感器信息,经过分析后通过液晶屏显示模块箭头所指的正前方与地理北极的夹角,角度以顺时针方向累加,实现0—360以0.1度的精度显示。
由按键控制模块进行校准或者是恢复出厂设置,由程序设定磁补偿角度的大小。
该系统低功耗体积小,反应时间短,抗干扰能力强,便于携带,适用于各种应用场合。
关键词:
STC89C52单片机;GY—26模块;LCD1602液晶显示;磁补偿
1前言
现在应用最为广泛的导航仪器主要有两种:
陀螺仪和磁罗盘。
能对地磁场测量偏离角度的仪器叫做磁罗盘。
我国古代的四大发明之一指南针就是一个简易的磁罗盘,它对整个人类社会发展做出了巨大贡献,直到现在依然具有深远的意义。
到20世纪初,随着工业的发展,罗盘制造工艺也得到了飞速的发展,材料的选择和机械制造使得罗盘的性能有了显著地提高。
尤其是是机械式磁罗盘,现在某些情况下依然使用机械式磁罗盘。
到了20世纪末,陀螺罗盘的问世,对于罗盘导航又是一场革命。
罗盘感应着地球的自转,磁性物质对其几乎没有影响。
使得陀螺罗盘的标度盘非常稳定,读取数据更加精确。
当代GPS虽然有广泛的应用,但是信号经常被物体所遮挡,使其精度大打折扣。
有效性也大大降低。
据有关资料统计,在高楼林立城区和植被茂密的林区,GPS信号的有效性仅为60%。
并且在静止的情况下,GPS也无法给出航向信息。
因此迫切需要研究出一种低功耗,便于携带,内置磁场感应器,系统稳定,并且能完成精确定向的微系统,而本课题设计就是研究出一个数字电子罗盘,采用地磁场的工作原理,由于地磁大小和方向随地点不同而不同,无论何时何地磁场的水平分量都严格的指向地磁北极,所以环境适应性好,可以对GPS信号进行有效补偿,保证导航定向信息100%有效,即使是在GPS信号失锁后也能正常工作,做到“丢星不丢向”。
本设计系统基于单片机开发平台,选取GY-26型号的平面数字罗盘模块,使用以51为内核的超低功耗控制器STC89C52RC单片机作为控制系统,设计出低功耗数字罗盘系统,实现角度实时显示的软硬件设计方法。
未来科技发展更加快速,相对磁场技术也会越来成熟,电子罗盘系统将朝着先进性、经济性、实用性、功能型的成熟完善的系统而发展!
总体方案设计
1.1电子罗盘测量基本原理
磁场是一种看不见,而又摸不着的特殊物质,它具有波粒的辐射特性。
磁体周围存在磁场,磁体间的相互作用就是以磁场作为媒介的。
电流、运动电荷、磁体或变化电场周围空间存在的一种特殊形态的物质。
由于磁体的磁性来源于电流,电流是电荷的运动,因而概括地说,磁场是由运动电荷或电场的变化而产生的。
而地球本身及其周围空间存在着磁场,其主要部分是一个偶极场.地心磁偶极子轴线与地球表面的2个交点叫地磁极,地磁的南(北)极实际上是地心磁偶极子的北(南)极。
地磁极与地理极相近但不重合,二者夹角约为11.5º。
地磁场的强度为0.5至0.6高斯,其大小和方向随地点(甚至随时间)而异,无论何地磁场的水平分量永远指向磁北,这是所有电子罗盘的制作基础。
通过测量物体相对于地磁北的方位实现定向。
早期利用地磁北定向的是机械式指南针,随着数字技术的发展和磁传感器研制水平的提高,电子罗盘获得了较快发展。
本次设计所用的电子罗盘通过磁传感器中两个相互垂直轴同时感应地球磁场的磁分量,从而得出方位角度。
图1地球磁场分布图
1.2课题分析
本次设计利用51单片机开发板及电子指南针模块实现一数字罗盘的设计。
要求掌握电子指南针模块及其方位角度测量的工作原理,设计LCD显示电路及指南针模块的接口电路。
在LCD显示器上实现方位角度的实时显示。
另外,需要添加必要数量的按键进行人机交互操作。
1.3系统方案论证
1.3.1数据采集模块
传感器是本系统信号采集的关键部件,因此传感器的选择变的尤为重要。
目前的电子罗盘传感器主要分为磁通门、磁阻式和霍尔元件三种。
磁通门传感器是由一套环绕磁芯的线圈组成,该磁芯配有励磁电路,能够提供低成本的磁场探测方法,但它们体积偏大、易碎、响应时间慢。
霍尔效应磁传感器的优点是体积小,重量轻,功耗小,价格便宜,接口电路简单,特别适用于强磁场的测量。
但是,它又有灵敏度低、噪声大、温度性能差等缺点。
虽然有些高灵敏度或采取了聚磁措施霍尔器件也能用于测量地磁场,但一般都是用于要求不高的场合。
磁阻传感器现在已经可以做成标准的集成芯片,并且产品也形成了系列。
而使用磁阻传感器的电子罗盘克服了磁通门罗盘的不足,具有体积小、重量轻、精度高、可靠性强、响应速度快等优点,是未来电子罗盘的发展方向。
所以选择磁阻传感器。
方案一:
GY-26是一款低成本平面数字罗盘模块。
输入电压低,功耗小,体积小。
具有高性价比串口及IIC输出格式。
其工作原理是通过磁传感器中两个相互垂直轴同时感应地球磁场的磁分量,从而得出方位角度,此罗盘以RS232协议,及IIC协议与其他设备通信。
该产品精度高,稳定性高。
并切具有重新标定的功能,能够在任意位置得到准确的方位角,其输出的波特率是9600bps,有连续输出与询问输出两种方式,具有磁偏角补偿功能,可适应不同的工作环境。
方案二:
HMC5883磁阻传感器。
HMC5883是霍尼韦尔公司推出的三轴数字罗盘传感器,专门为带有一个数字接口的低场磁传感器而设计,应用于诸如低成本罗盘和测磁学领域。
采用三轴磁阻传感器进行地球磁场矢量测量,双轴加速传感器可以传感地球重力场中测量载体的姿态,然后通过姿态坐标变换将磁阻传感器沿载体坐标的测量信号变换到地平坐标系。
其输出为3路的差分模拟电压值,差分值大约为几毫伏,信号经过调理电路把信号进行放大,再由模数转换器进行放大和模数转换。
方案三:
霍尼韦尔HMR3300。
霍尼韦尔HMR3300拥有三轴磁场测量,两轴加速度传感器进行倾斜角补偿,通过中央处理器实时解算航向,可以在任何方向上提供精确的航向信息,具有补偿硬磁干扰,铁磁物体干扰和离散磁场的功能,输出校准后的高精度测量值,使得在极其恶劣的环境下也能提供准确的航向数据。
另外其具有体积小、工作电压范围大,多种输出方式,功耗低,高性价比等特点,可以将其安装固定在多种方向和位置。
根据设计要求,低成本,功耗小,体积小,控制起来比较简单的平面数字罗盘GY-26更适合,所以选择方案一。
1.3.2主机控制模块
现在的控制系统非常多,通常根据我们的实际需要,选择控制系统。
控制器是设计数字电子罗盘的核心部分,MCU负责对传感器采集的信号进行实时分析、处理,可以得到载体的姿态参数,一般计算量较大。
单片机是一种微型的控制器,是一个完整控制体系。
单片机主要优点有:
控制功能强大、稳定性好、价格便宜,在各行各业应用都很普遍,单片机推动了各行各业的发展,使工业控制方法更加先进。
有几种不同系列型号的单片机可供选择。
方案一:
AT89C52为系统控制器。
兼容MCS—51指令系统,8kB可反复擦写(大于1000次)FlashROM;32个双向I/O口;256x8bit内部RAM;3个16位可编程定时/计数器中断;时钟频率0-24MHz;2个串行中断,可编程UART串行通道;2个外部中断源,共8个中断源;2个读写中断口线,3级加密位;低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;单片机处理数据能力强,编程自由,方便,可用实现算法和逻辑方面的控制,并且由于其低功耗、尺寸小、性能稳定、价格便宜,使其在各个领域应用广泛。
方案二:
飞思卡尔的MC9S12XS128单片机。
MC9S12系列MCU是以高速CPU12内核为基础的微型控制器系列简称S12系列。
典型的HC12总线频率为25Hz。
16位S12系列可以提供512KB的第三代FLASH存储技术提供快速编程能力灵活的时钟保护和安全性帮助客户保护软件编码中的知识产权。
集成度高,片内资源丰富。
片内资源包括8KBRAM,128KBFLASH,2KBEEPROM,接口模块包括SPI、SCI、IIC、A/D和4路8位或2路16位PWM。
方案三:
采用MSP430作为系统的CPU。
MSP430系列单片机是一个16位单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址),简洁的27条内核指令以及大量的模拟指令,大量的寄存器以及片内数据存储器都可参加多种运算,还有高效的查表处理指令,高速度的处理能力。
本设计为了做到精致小巧低功耗,而又不浪费主控芯片的资源,需要一种低功耗的功能一般的单片机。
51单片机完全能够满足设计要求,而且编程简单,I/O资源丰富,所以选择了方案一。
1.3.3结果显示模块
方案一:
7段式数码管。
采用7段数码管作为系统的输出显示。
数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管模块化设计,安装维护方便,显示稳定,成本低,但是存在亮度一致性的问题。
显示清晰可靠,价格便宜,使用时间长,只是只能显示出一些简单的数字,无法满足本设计中可能用到的字符串显示。
方案二:
LCD1602显示模块。
液晶显示器简称LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特性显示信息的。
液晶显示器具有体积小、重量轻、数字式接口、功耗极低、显示内容丰富等特点,在单片机应用系统中得到了日益广泛的应用。
液晶显示器按其功能可分为三类:
笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。
前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果。
字符型液晶显示器模块是一种专门用于显示字母、数字、符号等的点阵式液晶显示模块。
它是由若干个5*7或5*11等点阵符位组成的,每一个点阵字符位都可以显示一个字符。
点阵字符位之间有一定点距的间隔,这样就起到了字符间距和行距的作用。
考虑以上两种方案,数码管虽然显示清晰可靠,价格便宜,使用时间长,但是只能显示出一些简单的数字,无法满足本设计中可能用到的字符串显示。
所以选择方案二。
整个电路的工作原理是传感器感应地磁场转变成电信号经过传送到达主控机,然后主控机把传回的数据进行算法处理,输送到显示模块上显示出来。
2硬件电路设计
2.1单片机系统
该系统是由STC89C52芯片构成单片机最小系统,是数字罗盘系统的核心部分,主要对各种信号及信息进行处理,并对电路进行控制。
单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。
单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态。
我们采用按键复位电路,如图2所示,按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平。
而且由于电容的充电,会保持一段时间的高电平来使单片机复位。
单片机系统里都有晶振,全称叫晶体振荡器。
它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率之上。
如图2所示,STC89C52使用11.0592MHz的晶体振荡器作为振荡源。
由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。
电路中采用22pF的瓷片电容。
图2STC89C52复位及时钟电路
2.2按键电路
如图3所示,有四个按键接在单片机的P3口上,分别为P3.2、P3.3、P3.4、P3.5,当第一个按键按下时,单片机检测到P3.2口为低电平,此时,向GY—26模块发出校准命令。
第二个按键按下时,发出停止校准命令,第三个按键按下时,发送恢复出厂命令,第四个按键按下时,发送设定的磁偏角补偿。
图3按键电路图
2.3GY—26模块电路
GY—26平面数字罗盘模块可以进行地磁场感应,其工作原理是通过磁传感器中两个相互垂直轴同时感应地球磁场的磁分量,从而得出方位角度,此罗盘以RS232协议,及IIC协议与其他设备通信。
该产品精度高,稳定性高。
并且具有重新标定的功能,能在任意位置得到准确的方位角,其输出的波特率是9600bps,有连续输出与询问输出两种方式,具有磁偏角补偿功能,可适应不同的工作环境。
在这里使用其RS232协议,通过串口实现数据的传送。
之后将信号经过单片机处理后送给1602液晶显示器显示出来。
如图4所示,是GY—26模块的引脚图。
其中VCC均接到+5V电源上,GND均接到单片机的地上,TX接到单片机上的P3.0RXD上,RX接到单片机上的P3.1TXD上,作为串口数据的传送线,SCL与SDA是IIC的数据口,CAL接一按键至电源负极(GND),当第一次按下按键时,进入校准状态,LED常亮起。
保持模块水平,缓慢旋转1周(旋转1周时间大约1分钟)。
再次按下按键LED灭,校准结束。
图4GY-26数字罗盘模块
2.4液晶显示模块电路
如图5所示,LCD1602液晶显示器与单片机的接口电路,其中P0口为液晶显示器的数据输出口,en是液晶的使能端由P1.6控制,给高电平的时候液晶显示器使能。
dula与wela是P2.6与P2.7口,这两个是开发板内部定义的数码管段码和位码锁存器的锁存端,由于要液晶显示,所以为了防止数码管出现乱码影响整个罗盘系统的角度显示,特意在程序中关闭了数码管的位锁存端,这样就相当于关闭了所有的数码管,即使P0口持续不断的输送数据,数码管也不会有任何显示。
图5LCD1602液晶显示器电路图
3软件设计
3.1主程序设计
在主程序大循环中,首先进行各种初始化,其中包括串口初始化,设置为工作方式1,发送接收数据允许,定时器1设置为工作方式2,初值高8位低8位均设定为0xfd,波特率设定为9600bps。
工作方式2是8位自动重装初值模式,不需要在中断服务函数里重新赋给初值,甚至于在本设计中就没有添加定时器的中断服务函数,串口中断定时器中断都打开,总中断允许。
然后,主控制器向模块发送采集数据的命令,在接收到模块采集的数据后进行分析处理,送给LCD1602实时显示出来,之后进行按键扫描,如果有按键按下时,进行相应的操作,主要是判断是否进行校准,若是需要校准就需要把模块水平放置,缓慢的旋转一周,时间大概是一分钟,这期间串口指示灯常亮,表明没有数据发送,显示器也没有示数。
旋转一周校准结束后,模块内部自动给定相应的磁补偿量,把新的值送于LCD显示。
如果对应恢复出厂设置的按键被按下,就会发送恢复出厂设置的命令给模块,给出新的补偿量,否则继续进行循环检测数据。
图6主程序流程图
3.2GY-26模块程序设计
程序一开始,先对模块初始化,其实就是打开串口中断和总的中断。
然后通过按键控制发给模块的命令字节。
模块通过串口与主机通信,每帧数据包含8个字节,其中包括N个校验位,8个数据位以及1个停止位。
输出格式如下:
①Byte0:
0x0D(ASCII码回车)
②Byte1:
0x0A(ASCII码换行)
③Byte2:
0x30—0x33角度百位(ASCII0—3)
④Byte3:
0x30—0x39角度十位(ASCII0—9)
⑤Byte4:
0x30—0x39角度个位(ASCII0—9)
⑥Byte5:
0x2E(ASCII码小数点)
⑦Byte6:
0x30—0x39角度小数位(ASCII0—9)
⑧Byte7:
0x00—0xFF校验和(仅低8bit)
它的命令字节,由外部控制器以十六进制发送至模块,其格式如下:
①0x31:
进行一次角度测量
②0xC0:
校准磁场开始
③0xC1:
校准磁场结束
④0xA0-0XAA-0XA5-0XC5:
恢复出厂设定
⑤0xA0-0XAA-0XA5-IIC_ADDR:
模块的IIC地址修改
⑥0x03+磁偏高8位:
磁偏角设定,正北方向设定
⑦0x04+磁偏低8位:
磁偏角设定,正北方向设定
图7GY—26模块程序流程图
4调试分析
4.1硬件调试
硬件调试过程中遇到的最大的困难就是液晶显示器不显示,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 罗盘 设计