ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:828.75KB ,
资源ID:16426420      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16426420.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于mega16智能小车GPS导航系统设计毕业设计.docx)为本站会员(b****7)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于mega16智能小车GPS导航系统设计毕业设计.docx

1、基于mega16智能小车GPS导航系统设计毕业设计 毕业设计题 目: 基于mega16的GPS智能小车GPS导航系统设计专 业: 通信工程 摘 要GPS的使用现在已经非常普及,大到航空航海系统,小到个人移动设备,都有着它的身影。随着GPS的民用化与成本的降低,已经走入了人们的日常生活中,很多手机、PDA 等手持设备都配备了GPS功能。就功能而言,GPS就是在地球经纬座标系下对被测对象的方位进行测定,同时可以提供较高精度与实时的测定数据。本论文设计的系统是基于GPS智能小车导航,实现目标是使用两个单片机进行指定目标导航即一个单片机实现设定目标相应的经度和纬度另一个单片机实现避障寻址,由于成本及条

2、件限制本论文采用Mega 16单片机,测试场所仅限于学校。本论文主要研究GPS定位原理和技术,Mega 16单片机编程及相关模块应用,LCD12864显示控制,单片机无线通信研究等。关键字:GPS;Mega 16;单片机;LCD12864;无线通信Abstract The use of GPS is now very popular, big to the aviation navigation system, small to personal mobile devices, has its shadow. As the GPS MinYongHua and cost reduce, has

3、 walked into Peoples Daily life, a lot of mobile phones, PDA and other handheld devices are equipped with the GPS function. In terms of functionality, GPS is the object to be measured under the latitude and longitude earth coordinate system of the bearing were determined, and at the same time can pr

4、ovide high accuracy and real-time measurement data. This paper designs the intelligent system is based on GPS car navigation, your goal is to use two specified target navigation is a single-chip microcontroller to achieve goal setting corresponding latitude and longitude of the microcontroller is an

5、other obstacle avoidance addressing, due to the cost and conditions 16 single-chip microcomputer, this paper adopts the Mega test place only in schools.GPS positioning principle and technology, this thesis mainly study Mega 16 microcontroller programming and related module application, LCD12864 disp

6、lay control, single chip wireless communication research, etc. key words: GPS; Mega 16; Single chip microcomputer; LCD12864; Wireless communication第一章 绪论基于国内外研究结果,本论文设计一个简单系统模拟汽车智能导航,该系统实现功能有:一、实时显示小车位置即相应的经度和纬度;二、可以设定目标位置即相应的经度和纬度;三、小车寻址实现智能避障;四、实现两个单片机无线通信等。第二章 系统总体结构图本论文设计的是智能小车导航寻址系统,基于该系统要实现的功能

7、可以将系统划分两个部分:一、无线收发及显示模块如图2-1所示,该模块包括:无线模块、LCD12864、mega16最小系统,实现的功能有:实时显示小车位置即相应的经度和纬度、发送目标位置即所要寻址目标经度和纬度;二、小车导航及控制模块如图2-2所示,该模块包括:无线模块、GPS模块C3-470B、小车驱动模块L298、小车避障单元超声波避障和红外避障,实现的功能有:GPS导航、小车避障、无线接送及发射命令,下面先从总体设计再到这两个方面进行设计。图2-1 无线收发及显示模块图2-2 小车导航及控制模块 第三章 硬件模块设计 3.1 Mega 16最小系统 Mega16最小系统可分为:复位线路、

8、晶振线路、AD转换滤波线路、ISP下载接口、JTAG仿真接口、电源电路。图3-1 mega16最小系统设计原理图3.1.1复位线路的设计图3-2 mega16复位电路 Mega16复位源有五种分别为:上电复位、外部复位、看门狗复位、掉电检测复位、JTAG AVR复位。本系统设计复位电路采用上电复位这一复位源进行复位mega16 。当mega16在工作时,按下S0开关时,复位脚变成低电平,触发mega16复位。3.1.2晶振电路的设计图3-3 mega16晶振电路Mega16已经内置RC振荡线路,由于RC振荡线路不稳定,特别是在要求高的情况下,例如通信速率很高的情况就需要外部晶振,该系统使用外部

9、晶振电路,C1和C2两个电容起滤波及抗干扰的作用。3.1.3 A/D转换滤波线路的设计图3-4 mega16 A/D转换滤波线路为了减少A/D转换干扰,本系统采用独立电源对A/D供电,在AVCC上串联一只10uH的电感(L1)然后接一只0.1uF的电容到地(C3),如图3-4所示。3.1.4 ISP下载接口设计ISP下载接口,无需额外添加器件仅使用双排25插座。这种情况下PB5(MOSI)、PB6(MISO)、PB7(SCK)、复位脚仍可以正常使用,不受ISP下载接口的干扰,如图3-5所示。图3-5 mega16 ISP下载接口3.1.4 JTAG仿真接口设计图3-6 mega16JTAG仿真

10、接口仿真接口类似ISP下载接口但需要上拉四个10K电阻,如图3-6所示。3.1.5 电源设计图3-7 mega16电源设计本系统设计电源时采用最常见的5V和3.3V这两种电源,而且设计了这两种电源相互却换开关,如图3-7所示,当SW打在左边电源VCC为+5V此时绿色LED灯亮,反之VCC为.V此时红色LED灯亮。其中二极管D1、D2是防止电源极性接反,损坏电路。3.1.6 按键设计基于mega16的键盘设计,键盘接口为PA口如图3-8所示。图3-8 按键原理图3.2 L298模块L298驱动模块,可以驱动一个步进电机,2个直流减速电机,原理图如图3-9所示。图3-9 L298原理图3.3 超声

11、波模块 该模块在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路 输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,该模块实物图如图3-10所示。图3-10 超声波模块实物图3.4 红外模块当模块检测到前方障碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离280cm,检测角度35,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。传感器主动红

12、外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器;连接方式:VCC-VCC;GND-GND;OUT-IO。比较器采用LM393,工作稳定,可采用3-5V直流电源对模块进行供电。当电源接通时,红色电源指示灯点亮。原理图如图3-11所示。图3-11 红外模块3.5 LCD12864模块 本系统使用该模块是为了实现的功能是显示智能小车当前位置信息及设定目标位置信息,LCD12864实物图如图3-12所示。选用的是带中文字库的LCD12864,这样可以

13、减少代码长度,提高代码效率,该模块可以使用并行或者串行接口,内部含有中文字库及ASCII字符集,方便有效。图3-12 LCD12864实物图3.6 无线模块NRF24L01模块简介:(1)2.4GHz全球开放ISM频段免许可证使用。(2)最高工作速率2Mbps,高效GFSK调制,抗干扰能力强。(3)126频道,满足多点通信和跳频通信需要。(4)内置硬件CRC检错,和点对点通信地址控制。(5)低功耗,1.9-3.6V工作,待机模式下22uA;掉电模式900nA。(6)内置2.4GHz天线,体积小巧:15mm29mm。(7)模块可软件设置地址,只有收到本机地址时才会输出数据(提供中断提示),可直接

14、接各种单片机使用,软件编程非常方便。(8)内稳压电路,使用各种电源包括DC/DC开关电源均有很好的通道效果。(9)2.54mm间距接口,DIP封闭。(10)工作于Enhanced ShockBurst具有Automatic packet handling,Auto packet transaction handling,具有可选的内置包应答机制,极大地降低丢包率。(11)与51单片机P0口连接的时候,需要加10K的上拉电阻,与其余口连接不需要。(12)其他系列的单片机,如果是5V的,请参考该系列单片机IO口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块!如果是3.3V的,可

15、以直接和RF24L01模块的IO口线连接。比如AVR系列单片机。如果是5V的一般串接2K的电阻实物图如图3-13所示。图3-13 无线模块NRF24L01实物图说明:1)VCC脚接电压范围为:1.9V-3.6V,不能在这个敬意之外,超过3.6V将会烧毁模块。推荐电压3.3左右。2)除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需转换。当然对3V左右的单片机更加适用了。3.7 GPS模块C3-470BC3-470B是一个高效能、低耗电的智慧型卫星接收模组或称做卫星接收引擎,他采用美国瑟孚SiRF star III 公司所设计的第三代卫星定位接收晶片,是一个完整的卫星定

16、位接收器具备全方位功能,能满足专业定位的严格要求与个人消费需求。特色:(1) 采用SiRF第三代高效能晶片高灵敏度、低耗电量晶片STAR III ,内建ARM7TDMI CPU 可符合客制需求。(2) 具备快速定位及追踪20颗卫星的能力。(3) 体积超小,仅 25.4 25 7公u91d0。(4) 晶片内建200,000个卫星追踪运算器,大幅提高搜寻及运算卫星讯号能力。(5) 内建RTCM SC-104 DGPS和WASS/EGNOS解调器。(6) 低耗电量, 具备有省电模式(Trickle-Power)功能,以及在设定的时间才启动的定时定位(Push-to-Fix)功能。(7) 支援NMEA

17、-0183 v2.2版本规格输出。如图3-14所示结构图,GPS模块只有4个端口与单片机连接,其中VCC、GND为供电部分,TXD、RXD为串行通信部分。由于C3-470B属于独立模块,所以在系统原理图、PCB中未加入其封装,而是采用从PCB中的单片机串行口以及VCC、GND分别引出4条线,采用引线的方式与GPS相连接。第四章 软件设计4.1 软件平台AVR开发环境介绍AVR的集成开发环境有很多,首当其冲的应该还是IAR,为什么呢,因为当初AVR 还在ATMEL 胎中酝酿的时候,IAR 公司参与了AVR 的设计,因此可以认为IAR 有更为正统的血液,它最了解AVR,它的编译器编出来的代码应该最

18、优秀。好比你生的孩子还是你最了解至少相当长一段时间是这样的。事实上,IARfor AVR 确实展现了这个实力,它的功能确实最为强大,无论是源代码编写还是软件乃至硬件仿真,编译出来的代码也十分优秀。但是事物总是相对存在的,优点有时就意味着缺点。IAR 功能全面而强悍,代价就是它的软件界面比较复杂,设置选项多,网上的资料也比较少,最要命的是这个软件非常的贵,好吧你说你有破解版,但是破解文件一般并不通用,而且破解方法一般都稍显繁琐。以上几条,对于新接触AVR 的人来说,几乎是迈不过的坎。 AVR studio,官方出品,因为它本身不支持C 语言,一般没有人用这个软件来做开发环境,一般我们只用它的仿真

19、功能搭配其他C 编译器来用。 WINAVR,又称GCC AVR。GCC AVR 应该是目前使用率最高的AVR 开发环境了,软件体积小,界面简单易用,教程资料很多,代码效率高,最重要的是,它是完全免费的。但是它几乎没有仿真调试的功能。所以使用GCC AVR+AVR studio 搭建AVR IDE。WinAVR-20060421 GCCAVR编译器,GCCAVR是一款免费的编译器,编译功能也挺强的。总得来说还是一款很好的开发软件。 4.2 软件总体设计系统软件设计包括两部分:一是:接收显示及发送命令程序软件设计流程图如图4-1所示;二是:接送和发送及避障程序,实现智能小车导航避障功能,软件设计流

20、程图如图4-2所示。图4-1 显示主机程序框图 N Y图4-2 执行主机程序框图第五章 系统实现及测试5.1 原理图及PCB绘制该系统原理图设计采用altium designed设计原理图及PCB,本章节叙述该系统怎样设计包括硬件及软件设计。5.1.1 altium designed简介Altium Designer 是Altium公司Protel系列软件基于Windows平台的最新产品,是Altium公司总结了多年的技术研发成果,是对Protel 99 SE以及Protel DXP不断修改、扩充新设计模块和多次升级完善后的产物。Altium Designer 6是完全一体化的电子产品开发系统

21、下的一个版本。Altium Designer 是将设计流程、集体化PCB设计、可编程器件设计和基于处理器设计的嵌入式软件开发功能整合在一起的电路设计系统。5.1.2 原理图及PCB设计由于本系统所涉及器件太多,原理图在第二章就分别列出在此就不再赘述,下面列出PCB图及3DPCB图,如图5-1、5-2。图5-1 系统PCB图图5-2 系统PCB3D效果图5.2硬件焊接及组装 根据需要购置了所需材料,如图5-3、5-4所示。按照电气要求进行组装完成的效果图如图5-5所示。图5-3 电路板及所需器件图5-4 小车底盘图5-5 完成后效果图5.3 实际测试该系统实际测试在铜陵学院内进行,测试如图5-6

22、,测试范围在图书馆及教学楼。图5-6 测试示意图测试结果:发送第六章 总结及致谢 在撰写本论文过程中遇到了很多困难也得到很多人的帮助,在此给予我帮助的同学老师表示对他们感谢,在撰写论文过程中我做了以下工作: 2013年3月我选定论文课题为基于mega16智能小车GPS导航系统设计,我选定这个题目是因为未来汽车会朝向智能化方向发展,所以我打算用一个简单的模型模拟智能汽车导航系统,由于AVR单片机我是第一次接触,我买了一块mega16开发板,学习了mega16各个模块的操作,深入了解了mega16这款单片机,还有GPS技术,也是我比较陌生的一个知识,我阅读了相关文献,为以后论文撰写奠定基础。 4月

23、开始着手系统总体设计,绘制原理图及PCB图,由于绘制原理图我以前使用过altium designed这款软件所以决定使用这款软件绘制原理图及PCB图,在这个过程中我遇到的好多困难,特别是PCB图绘制,同样这次论文撰写我也学会了好多知识,明白了以前不明白的知识,例如:我在学习PCB图绘制时老师说要将模拟地和数字地两个分开我一直不明白,这次论文撰写我明白了为什么及怎样分开,这个过程是最辛苦的也是同学老师给我最多的帮助的过程,在此我由衷表示对他们的感谢。 5月是对硬件电路的调试及软件的编写,我将我做好的PCB板发到工厂做出一块样板,做好之后开始对硬件的安装和调试,焊接PCB板时我使用到各种封装的电子

24、器件,为此我请教了我们学校实验室丁老师,在她的悉心教导下我很快掌握了各种封装的电子器件的焊接要领,焊接完毕,就是对PCB板的测试,首先,使用万用表测试,测试有没有虚焊等问题。幸运的是焊接很好没有问题,接下来就是软件的编写,我参考了书本及网上资料编写了各个模块的程序,同时学习了AVR单片机软件开发平台;下面就是测试阶段,我选择的测试地点是图书馆到教学楼,测试很成功这是是我欣慰。 转眼间论文的撰写就要结束,也就意味着大学学习即将结束,感谢四年给我帮助的老师和同学,由于我的学术水平有限,有不妥之处希望指出。参考文献附录论文部分程序/*函数名:void delay(unit i)函数功能:延时函数*/

25、void delay(unit i) while(-i);/*函数名:void Read_busy()函数功能:读忙函数*/void Read_busy() uchar temp; uchar flag=1; while(flag=1) DDRA=0X00;/A口设为输入,准备读数据 /PINA=0XFF;/C口设为输出 delay(10); RS_L; /RS=0 delay(10); RW_H; /RW=1 delay(10); EN_H; /EN=1 delay(100); temp = PINA; /读端口A delay(100); DDRA=0XFF; /端口A改为 delay(10

26、); EN_L; /EN=0 delay(10); if(temp&0x80) flag = 0; /*函数名:void write_LCD_command(uchar CMD)函数功能:写命令函数*/void write_LCD_command(uchar CMD) Read_busy(); delay(10); RS_L; /RS=0 delay(10); RW_L; /RW=0 delay(10); LCD_databus=CMD; /输出指令 delay(10); EN_H; /EN=1 delay(10); EN_L; /EN=0 delay(10);/*函数名:void write

27、_LCD_data(uchar value)函数功能:写数据函数*/void write_LCD_data(uchar value) Read_busy(); delay(10); RS_H; /RS=1 delay(10); RW_L; /RW=0 delay(10); LCD_databus=value; /输出指令 delay(10); EN_H; /EN=1 delay(10); EN_L; /EN=0 delay(10);/*函数名:void Set_page(uchar page)函数功能:设置页*/void Set_page(uchar page) page=0XB8|page; write_LCD_command(page);/*函数名:void Set_line(uchar startline)函数功能:设置显示的起始行*/void Set_line(uchar startline) startline=0XC0|startline; write_LCD_command(startline);/*

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2