基于无线控制的可变速循迹小车_第1页
基于无线控制的可变速循迹小车_第2页
基于无线控制的可变速循迹小车_第3页
基于无线控制的可变速循迹小车_第4页
基于无线控制的可变速循迹小车_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计说明书(论文)第44页共44页1绪论目前,带动生产技术不断提高的当属自动化技术,自动化将成为科学技术发展的未来方向。智能车辆的研究属于自动控制的智能机器人研究范畴,因此,研究智能小车对研究自动化电动车甚至探月车具有重大意义。就现在而言,智能车和以智能车为基础的开发产品已经为自动化运输以及各种科研调查提供了手段。早就在上世纪60年代,斯坦福研究院(SRI)的查尔斯罗森等人,就开发了被称为Shakey的人工智能移动机器人,目标是在更复杂的情况下,利用人工智能,实现智能机器人的自我演算、规划和控制[1]。至此,智能机器人越来越受到关注,数量从无到有,质量越来越先进。人们也越来越多的开始关注智能机器人的另一个分支即轮式移动机器人。本设计研究的提出正适应了这个大背景。1.1课题背景智能车辆也叫无人车辆,通常被称为轮式机器人,智能化在当今社会越来越成为一门高科技技术,智能化的程度也越来越高,应用范围也机器广泛。智能车辆是目前比较先进的科学技术,汽车电子技术的高速发展也促使这项技术越来越成熟,同时研究先进的智能车辆也推动着汽车电子的发展,智能车辆主要包括电气控制专业、远程遥控技术、传感技术、电子技术、计算机等多方面技术。而智能小车也向越来越自动化方向发展。目前智能车主要实现在复杂路段下的自动运行或者能在一些特俗情况下自动操控和驾驶,按照一地的那个的轨迹运动。智能车是将一些比较先进的智能设备加装在原有的车辆上,例如计算机处理装置,遥控感应器件以及传感器设备等。近年来,越来越多的国家开始注重智能小车的项目开发,各种类型的智能机器人大赛也开展的如火如荼,这一系列的活动旨在培养新的智能方面高科技人才,锻炼学生的动手能力,培养专业创新的精神。1.2设计研究的目的和意义目前,许多大学及研究组织都在积极参与研制开发针对特殊条件下的安全监测系统。远程和无线是其实现的两种重要方法,如远程监控和无人机、机器人等。无线传输的发展简化了测量的过程,降低了难度,而且数据的处理也是越来越快,甚至可以达到实时处理。当下,外太空资源的争夺已经成为世界各国的军事战略的第一要务,谁能占领更多的太空资源,谁就有更多的发言权。目前,对外太空资源的争夺还停留在探测采集上,如果哪个国家能在这一块有率先突破,在对外太空的争夺中将占尽先机。研究无线控制的循迹小车对外太空信息采集以至于外太空争夺站都有至关重要的影响。探月车,探测器等多种探测系统的研究,都和本课题有着密不可分的联系。通过完成自动循迹小车系统的设计,培养学生的实践动手操作能力,促进学生掌握自动化控制等相关专业的知识。在实现过程中,主要了解单片机的控制原理以及实现方法,合理搭建安装电路,设计包括检测、显示以及驱动在内的外围线路,掌握原理图的作图方法,掌握相关仿真软件的使用,熟练掌握并灵活运用模数电等相关学科的理论知识,联系实际电子系统设计的具体实现方法,从理论到实践,在实践中检验理论。在此过程中,加深对控制理论和自动化的学习和理解。1.3本设计的内容(1)无线控制模块,以红外控制技术为理论依据的短剧路无线遥控技术,按下遥控器的相关按键,智能小车能根据设定好的程序完成相关动作。(2)电源模块为7.2V,双电源供电,以两节3.6V干电池串联,组成供电模块,为各模块提供稳定的工作电压。(3)显示模块,以LCD1602液晶显示为显示模块,配合相关程序,在控制器处理完数据后,显示所需要数据。(4)直流电机驱动电路和驱动程序,编写有关程序,再配合电机驱动芯片L293D和直流电机,完成小车的动作单元。(5)循线功能电路及程序,以两组红外对管,分别检测小车两侧的道路轨迹信息,将光信号转化为电信号,再由控制器接受电信号,完成循迹。(6)复位电路模块,主要是在单片机最小模块上设计,完成电路复位的功能,方便单片机整成工作。(7)整体电路的搭建,在完成对各模块的理解和掌握后,构建整体电路,设计小车外观,将各模块合理安装在车体上,并进行相关调试。1.4本文章节安排第一章简单论述了智能小车发展背景以及研究意义等。第二章对智能循迹小车系统各模块的设计方案论证陈述,分析了各模块的功能。第三章介绍了智能小车系统的硬件电路的设计,以及相关原理的说明。第四章介绍了该系统程所需要的相关调试软件,实现系统功能所需要的辅助软件,系统流程图和部分模块的流程。第五章介绍了整体功能的调试,提出部分问题以及解决方案。最后部分是论文结束语以及致谢。

2智能循迹小车系统方案论证智能小车可被视为典型的机器人。可以分为三大部分:主控器件、执行器件、传感检测器件。智能小车要实现无线控制和感知导引线循迹等功能。本章节给出了各系统方案论证。2.1系统方案论证根据题目的要求,确定如下方案:在开发板的上加上单片机,控制单元首先采集各传感器或接收端信息,并将采集数据传送至单片机进行处理,然后由单片机实现电气测试数据的智能控制,再由控制器发出指令控制相关器件动作。这种方法易于实现,且能够实现系统各项要求。2.1.1控制器方案论证依据题目的要求,主控器件接受由各传感器所传送的信号,经处理后实现对电机、显示器等相关器件的控制,具体如下:路面采集器采集道路轨迹,将采集信息数据转化为主控器件能识别的电信号,主控器件接受该电信号依据事先设定好的程序控制电机的运转。主控器件一般选用单片机,单片机,是微机的一种,是将微机的中央理器(CPU)、存储器、定时/计数器以及总线制作在一块芯片上的大规模集成电路,以此为基础,根据具体要求实现对其他部件的运转控制[2]。方案一:可以采用ARM系列的控制器,该类型控制器具有功能强大的优势,片上外设集成度高、密度高、良好的稳定性、较高的系统的处理速度,但该芯在运用在较大规模项目,作为实时控制的主控器时更能体现它的优点。方案二:选用51系列单片机。51单片机算术运算功能好,软件编程灵活,自由度大,功耗低,体积小,技术成熟,成本低,适用于多种系统项目工程。51单片机应用范围较广,可适应多种调试环境,仿真效果较好,可以避免故障产生。方案三:采用PIC单片机,PIC单片机具有多任务功能的CPU,具备计算和记忆闪存功能。但这类较小的存储芯片,更适合于仪器仪表等产品。综合上述观点以及综合考虑性价比,本设计采用51类型单片机作为控制器。2.1.2无线控制方案论证方案一:采用无线红外控制,利用红外光作为传送信息的负载,无线红外的实现需要两个器件:发送端和接受端,由发射管发射红外光,将信息加载在红外光上,再由接收端接收,分析携带信息,完成信息传递[3]。由于其发射的信号是红外光,不会轻易被发现和捕获,所以其最大优点就是安全性好;另外,红外传播和接受几乎不会受到电气、天气和人为的干扰,因此抗干扰性强。红外无线也是一门相对较为成熟的技术。方案二:使用蓝牙串口通信,利用2.4GHz的ISM频段。这种频道共有两种类型:23个频道型和79个频道型,频道与频道之间间隔均为1MHz,工作方式为时分双工式,调制方式为0.5BT值的GFSK。蓝牙的数据传输率高达1Mb/S。缺点是传输距离较短。方案三:采用ZigBee串行通信,Zigbee是IEEE802.15.4协议的代名词,这种协议通俗来讲就是一种短距离、低功耗的无线通信技术协议。这种无线通信技术的特点主要是功耗地,距离较近,使用范围广。但该方式的实现程度较为复杂,且须配备专用芯片。综合考虑以上优缺点及实现难易程度,本设计决定使用红外串行通信的控制方案。2.1.3供电单元方案论证方案一:采用单电源供电,以单电源地方式同时向控制器和直流电机供电,满足运行要求。这种方案的优点是小车体积小,设计简单,易于实现。但容易存在波动。方案二:选用双电源供电的方式,即使用两个独立的供电单元分别对主控芯片和电机的驱动电路供电,此方案的优点是,减少波动,稳定性比较好,但是小车的重量相应增加,也增大小车的设计面积。综合以上的优缺点,结合实现难易程度,本设计决定采用第二种方案。2.1.4运动单元方案论证方案一:采用以L293D驱动直流电机组合的方式。该方式优点在于硬件电路的设计简单。当所施加的直流电压在额定范围内时,速度几乎是相等的。同样也适用于变速范围较宽的运动装置。这种方案实现较为简单,容易实现,电路搭建也较为简单。此方案的电路原理图如图2.1所示。图2.1直流电机配合L293D组合电路原理方案二:采用步进电机配合LM298驱动芯片。步进电机可以实现精确的旋转引脚输出,只要加以合适的脉冲,电机能根据预定的速度或方向连续动作,容易控制速度,但相对于直流电机的软件程序更复杂一点,另该芯片硬件连接电路较复杂[4]。其连接原理图如图2.2所示。图2.2LM298芯片硬件连接电路方案三:采用以L9110驱动芯片直接驱动直流电机的方案。L9110H是专为控制和驱动电机而设计的一种芯片,是一个具有两通道的推挽式功率放大专用集成电路器件,由于集成在一块芯片上,外围器件成本降低,提高了整机的可靠性。该芯片有两个电平输入端,能兼容TTL和CMOS两种电平,抗干扰性较好;同时,其输出饱和压降也比较低;由于其内部集成有钳位二极管,所以能应用于感性负载,因此,对继电器、直流电机以及步进电机的驱动上有较强优势。对比三种方案的优缺点,另考虑本设计单机驱动要求,本设计的电机驱动模块选用直流电机配合L293D芯片组合。2.1.5循迹单元方案论证方案一:用光敏电阻组成光敏探测器,周围环境光线的变化使得光敏电阻的阻值发生变化。当光线照射到白色区域时,光的反射较强,光敏电阻的阻值升高,电平降低。光线在黑色平面时,与之正好相反,阻值下降,电平升高。通过比较两组电平的变化,就能使单片机识别,做出相应动作。然而该方案容易受光照的影响,稳定性不好。方案二:使用两个红外对管组成循迹探测传感器的主要器件。红外光照射在不同平面上反射率是不同的,尤其是在黑白比较鲜明的情况下,红外对管依据这原理将反射光线的多少转化为电平值的变化。将高低电平的变化传送给单片机,根据不同的电平,做出相应的控制,完成循迹功能。综上所述,本设计采用方案二。2.1.6显示方案论证方案一:采用数码管LED显示方式,LED数码管亮度高,体积小,重量轻且应用广泛。LED显示在要显示多个或者多组信息是,需要动态显示,或者就不能正常显示,而且显示也不太人性化,智能显示不太完善。又由于本设计需要显示相关汉字等文字信息,所以放弃该设计。方案二:选用LCD液晶显示方式,LCD液晶显示能完全满足本设计的需要,显示界面清晰,显示信息丰富,操作简单,节省资源[5]。综合上述优缺点以及设计实现要求,本设计采用液晶LCD显示器显示。2.2系统总体方案综合以上各模块之间的分析和论证,本设计采用51单片机作为主控芯片,遥控方式为红外遥控,路面采集传感器件为红外对管,显示器为LCD1602,电机驱动为L293D芯片,配合其他相关电路,实现小车具体功能。系统组成框图如图2.3。车体左电机L293D电机驱动模车体左电机L293D电机驱动模块右电机右电机STC12C5A60S2单片机STC12C5A60S2无线控制时钟振荡、复位电路路面检测电路液晶显示电路时钟振荡、复位电路路面检测电路液晶显示电路图2.3系统组成框图本章节具体阐述了系统各部分的方案论证,并确定方案,将方案的具体需要的器件也确定完成,为以下章节的阐述作铺垫。

3智能循迹小车硬件设计本设计主要包括单片机控制电路、无线控制电路、循迹电路、供电电路、LCD液晶显示电路、运动单元电路设计。其中运动单元电路和单片机控制电路是实现只能小车的关键。3.1系统硬件电路介绍51单片机是本设计的主控器件,由它完成智能运算,打开总电源开关,复位单片机,启动小车。红外接受头不断检测有无红外信号的接受,一旦接受到红外遥控信号,响应它并完成相关动作,在运动过程中由红外对管检测路面信息,比较电平变化,再由单片机控制小车左右转和前进进行循迹,在小车行驶过程中,通过接收的信号经计算后在LCD液晶显示器上显示相关数据[6]。供电电路:本设计采用双电源供电,因此运动电路的供电模块也是单电源。由于小车在不断运动,使用较大的蓄电池会影响小车速度以及稳定性,因此采用多节干电池组成供电模块。总的供电系统是由两节3.6V干电池组成的7.2V电源,实现对控制芯片和运动单元的供电。电机驱动和控制电路:通过单片机的相关控制端口控制L293D芯片驱动直流电机的停止和启动来对电机。无线控制电路:通过红海外接受端接受红外控制信号,通过51单片机,控制运动单元的动作。循迹电路:通过两组红外对管,对路面信息进行采集,传送给单片机,实现对运动单元的控制。显示电路:经单片机处理后,传输给LCD液晶显示器显示相关数据,达到相关要求。3.2单片机电路设计STC单片机是以51单片机为内核的新型单片机。是新一代51类型单片机,高速率、低功耗、抗干扰能力强是其鲜明特点,可与之前的8051单片机指令系统完全兼容,有两种类型的周期选择:6时钟/机器周期和12时钟/机器周期,两种类型可以切换,用户程序空间为8K字节,RAM大小为512字节,32个I/O口,具有在线编程功能,EERPOM和看门狗功能也能实现,工作电压稳定,工作频率范围宽。本设计采用STC89C52RC单片机,此单片机共40个管脚,单片机引脚具体分布如图3.1所示。图3.1单片机管脚分布图在对系统编写程序之前,要明白单片机的每一个管脚的作用,这样才能够对每个管脚进行定义,STC12C5A60S2表3.1单片机各管脚说明名称管脚号说明VCC40电源电压VSS20接地P032~39双向I/O口P11~8双向I/O口P221~28双向I/O口P310~17双向I/O口,P3口除作为一般I/O端口,还有其他一些复用功能。RST8复位输入。ALE30地址锁存控制信号29外部程序存储器选通信号。31访问外部程序存储器控制信号。XTAL119振荡器反相放大器和内部时钟发生电路的输入端。XTAL218振荡器反相放大器的输入端。单片机共有32个输入/输出接口,其中P3口具有第二功能,P3口的复用功能如表3.2所示。表3.2单片机P3口复用功能描述引脚号复用功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中断0P3.3外部中断1P3.4定时器0的外部输入P3.5定时器1的外部输入P3.6外部数据存储器写选通P3.7外部数据存储器读选通掌握单片机的系统设计,首先要掌握单片机最小系统,单片机最小系统是完成单片机设计的基础。本设计中单片机最小系统由复位电路、时钟振荡电路、数据采集输入输出口和电机控制接口构成,本设计单片机最小系统电路原理图如图3.3所示。图3.2单片机最小系统3.2.1单片机使用资源规划由于51单片机拥有比较丰富的系统资源,系统设计时,不仅仅要考虑系统能否实现或者系统的完整性,同时还有考虑单片机资源的最优化使用并进行合理分配。本设计所使用单片机资源分配见表3.3。表3.3单片机资源分配表系统资源类型用途备注看门狗防止系统跑飞定时器0定时喂狗P1端口电机驱动输出P0端口LCD液晶显示输出P2端口无线遥控输入P2端口路面检测输入3.2.2单片机功能模块介绍作为核心控制器件单片机,具体完成接收红外对管测得的信号,分析数据并控制电机的转动与停止的功能。两组路面信息采集器的输入有两个输入端,分别接单片机的P2.3、P2.4、P3.3和P2.0脚。另外,加一前路检测传感器,有一根信号线,接单片机的P3.7脚。当小车前下方两侧红外对管能检测到黑线时,两侧输入给单片机的都为低电平,单片机发出指令驱动两个电机以相同的转速转动,小车就会直走而不转弯;当某一侧红外对管对单片机的输入高电平时,表示相对应的一侧没有走在黑线上,单片机控制另一侧的电机停止转动,该侧的继续转动,小车就会往仍在黑线上的一侧转动;在转动过程中,红外对管一直检测路面,直到高电平变为低电平,此时说明直到两侧都走到黑线上,以此循环,不断查询,就能实现小车的循迹功能。无线控制的功能实现是基于红外无线控制来实现的,单片机P2.2和EA控制端连接一红外接受器,当外部有红外信号送达并接受到时,单片机响应,发出指令,控制电机的动作。在执行完以上动作后,启动中断程序,将以上的结果经以计算单元计算后传送给LCD1602显示。这样就能完成智能小车所有功能[7]。3.3供电单元介绍电子系统的稳定关键在于电源系统的高稳定性。供电模块,显然视为了系统各部分有条不紊的工作提供稳定的电压,要尽量做到波动不大,不能影响其他电路的工作,尤其实在稳定性要求较高的电路中。在本设计中,由于只需要对主控芯片、电机以及电机驱动以及显示等其他外围电路提供正常工作电压,不需要太多考虑电源对其他器件产生的影响。只需要在设计过程中,充分考虑系统完整性以及各部分的紧凑性就行。供电模块对小车整体运行的稳定性还是有较大影响的。考虑到小车系统的简单实用性,本设计采用两节3.6V干电池供电,同时对控制电路和运动电机供电。这样,既简化了小车的设计难度,易于实现小车功能,又减轻了小车重量。因小车本身的特性,允许控制电路在移动的范围内震荡变化,并不影响小车整体性能。3.4运动单元介绍本系统采用7.2V直流电动机作为智能小车的供电源。设计采用芯片L293D作为电机的驱动芯片。L293D芯片广泛应用于玩具汽车电机驱动、步进电机驱动等方面。在电路搭建正确的情况下,当芯片的7号管脚有高电平输入时,电机正转,当芯片的6号管脚有高电平输入是,电机反转。若来两管脚均没有电平输入或者都为低电平是,电机停止转动[8]。电路连接示意图如图3.3所示。图3.3电机驱动模块硬件电路图3.5显示单元介绍本设计中采用1602液晶显示。由于LED显示不能显示文字等,而且在某些方面显示效果不美观,LCD液晶显示刚刚好弥补这这些缺点。液晶显示器本身不发光,目前,有大多数的液晶显示其加上了背光显示,使得显示更清晰,液晶显示其工作的原理依据是液晶的扭曲向列效应,通过调节光的亮度可以显示相关信息。在本设计中使用的1602型液晶显示器属于点阵字符液晶显示器。该显示器可以显示两行,每一行能显示16个字符,即16×2,因此被成为LCD1602。LCD1602通常有14根管脚16根管脚的两种芯片封装,16管脚型比14管脚型多出来的两条引脚线是背光电源线VCC(15脚)和地线GND(16脚),两者的控制原理完全一致,只是在封装上稍有差别。16管脚型LCD1602引脚定义如表3.4所示。表3.4LCD1602引脚定义编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7DO数据15BLA背光源正极8D1数据16BLK背光源负极在本设计中液晶显示用于显示速度,里程和其他相关信息,本设计所采用16管脚的LCD1602液晶显示器,电路连接如图3.4所示。图3.4液晶显示模块硬件电路3.6循迹单元介绍本设计中采用的循迹方案是在白色的反光平面上寻黑色轨迹行走的方法。以红外对管组成红外探测器,以此运用红外探测法是最长被使用的一种方法。红外探测法利用的是红外线在不同颜色的物体表面具有不同的反射性质的原理。红外光线是一个反射特性的光线,但对于不同的对象,反射特性是不一样的,尤其是白色反光的物体,红外反射光会更多一点。但对于黑色不反光的物体,由于黑色吸收不反射红外光,所以能被接受器所接受的红外光大大减少,依据此特点,可以完成黑线与白面的判断。通过搭建正确电路,能够将接收到的红外光线变化量转化为电平的变化传送到控制芯片中。控制芯片可以根据接收到的电平进行相应控制,使小车完成自动循迹功能[9]。在小车行驶过程中,红外发射管时刻向路面发射红外光线,如果红外光照射到白色反光面时,白色平面反射红外光,反射回的红外光被接收管所接收,如果照射在黑线上,黑线吸收红外光,小车上接收管接收不到红外光。当有红外光接受时,发出高电平,当没有红外光接受时,发出低电平,单片机依据高低电平来确定黑线的位置和小车的行走路线,以此不断循环重复,从而实现小车的循迹功能。红外探测器探测距离有限,一般红外探测器与被探测物体最大距离不应超过3cm。循迹功能部分连接原理图如图3.5所示。在该电路中,331Ω电阻作用是降低发射器两端的电压和限制流过发射器的电流大小,保证发射管在正常电流下工作而不至于被大电流击穿损坏,913kΩ电阻作用是将接受端所接收到的反射红外光的变化转化为电压值的变化,从而转变成电平值的变化,将光信号转化为电信号。因发射管的功率调节不变,加上两组电位器,通过调节两组电位器的阻值变化,改变比较电压的大小,就可以改变红外对管的分辨率。图3.5循迹功能图3.7无线控制单元介绍本设计中采用的是红外无线控制,无线控制一般分为两部分,一部分是红外信号发射部分,另一部分是红外信号接受部分。在本设计中,红外接受模块随时准备接受红外遥控信号。当有红外信号输入时,启动中断,响应该信号,单片机控制相关模块动作。当该信号的所有信息全部处理完后,调用返回子程序,回到主程序继续执行。3.7.1PT2272解码芯片PT2272解码芯片引脚如图3.6所示。图3.6PTPT2272引脚说明见表3.5。表3.5PT名称管脚说明A0~A111~8、10~13地址管脚D0~D57~8、10~13地址或数据管脚Vcc18电源正端(+)Vss9电源负端(-)DIN14数据信号输入端OSC116振荡电阻输入端OSC215振荡电阻输出端VT17解码有效确认输出端PT2272解码芯片的数据输出的功能是有它们的后缀所决定的,不同的后缀就有不同的功能,PT2272的后缀有四种,它们分别是L4、L6、M4和M6,其中L表示锁存输出,M表示非锁存输出。对于锁存输出来说,只需成功接收到数据就能够一直维持相应的电平状态,一直到接收到的数据发生改变时才会改变。对于非锁存输出来说,它是一种点动控制,数据输出脚输出的是瞬时电平,并与发射端是否发射相对应。后缀6和4则表示并行控制通道有几路,若选用4路并行数据时,那么与它对应的地址编码则是8位,若选用6路的并行数据时,那么与它对应的地址编码则是6位。在日常的应用过程中,通常使用4位数据码与8位地址码。将PT2262与PT2272的1~8管脚设置为地址脚,通常可以选择的有三种状态,分别是悬空、连接电源和接地,由于有8位地址码,所以地址编码最多可以有6561组不重复。接收端与发射端的地址编码必须完全一样,这样才可以配对使用。遥控模块在出厂时,生产厂家将PT2262与PT2272的地址编码端都处于悬空状态,这样不仅能够方便厂家的生产与管理,还能方便用户根据自身的需求选择编码状态。若是用户想要更改地址编码,只需将PT2262与PT2272的1~8脚设置为一样就可以了,比如将发射端的PT2262的第2管脚接地并且第8管脚连接电源,其余引脚则悬空,那么接收端的PT2272的第2管脚必须接地并且第8管脚连接电源,其余引脚悬空则能够实现配对接收。当二者地址编码全都相同时,接收端相应的D1~D4端输出高电平控制信号,与此同时,VT端也将输出经过解码的高电平信号[7]。PT2262/PT2272具有工作电压范围宽、低功耗、地址编码多并且外部元器件少等优点,因此,它被广泛应用在遥控及防盗系统上。3.7.2红外遥控器概述在远程控制电路,通常用来实现不同机器类型的远程控制功能,这就要求通过信号发送一个特定的编码,编码是有编码电路或者编码芯片完成。对于编码芯片,通常会有相对应的解码芯片或包含解码模块的应用芯片。本设计中所使用红外编码方式为NEC制。NEC格式使用38kHz载波频率,引导码间隔是9ms+4.5ms,使用16位客户代码,使用8位数据代码和8位取反的数据代码。当按下遥控器上任一按键时,编码器即产生一串脉冲编码。一个远程控制代码信息按钮动作为一个32位的串行二进制代码。从起始标志到32位编码脉冲发完大约需80ms,此后遥控信号保持高电平状态。若按键未释放,则从起始标志起每隔108ms发出3个脉冲的重复标志。在32位的编码脉冲中,前16位码不随按键的不同而变化,这就是用户码。用户码是用来区别所受控制的接收端,防止发生误操作。之后的16位码随着按键的不同而改变,接收端就是要读取这16位按键编码,经解码得到按键信号,转而执行相应控制动作。红外遥控接收头解调出的编码是串行二进制码,包含着遥控器按键信息。但它还不便于CPU读取识别,因此需要先对这些串行二进制码进行解码。本设计采用遥控器用户码为00FFH,相应按键的遥控器按键图如图3.7所示。图3.7遥控器按键图在上图中,A键的编码为80H,B键81H,C键编码为82H,D键编码为83H。本章节对系统各部分组成做详细阐述,具体说明各部分的工作原理以及各功能模块实现的具体功能,包括介绍了各部分的详细操作等。

4智能循迹小车软件部分本设计在软件部分主要是单片机的软件设计,即编写相应的程序来实现系统功能以及数据的处理等要求。本设计要求软件实现以下功能:(1)接受红外控制信号,单片机从P2.2管脚接受红外遥控信号,并按照设定的要求完成相关动作;(2)检测路面信号,红外对管检测路面信息,将光信号转化为电平信号输入单片机,根据电平的变化,控制小车的左转与右转;(3)驱动电机,发出指令,根据要求使小车前进,后退,左转,右转以及停止等动作;(4)显示相关信息,开启中断,中断返回时,计算相关数据,在LCD显示器上显示相关数据。4.1软件调试平台在设计过程中,需要用到个电脑辅助软件,例如:编写程序的软件、烧录程序的软件和硬件设计的相关软件。下面将对此类相关软件作陈述。4.1.1程序编写及烧录软件KeilforC51是美国KeilSoftware公司设计出品的一款专为编写单片机等控制器件控制语言的一款软件。能够在线编写程序,可编写C语言和汇编语言等多种机器语言。汇编语言更容易被机器识别,是一种能直接与机器对话的无言,但是其深奥含义以及语句的繁杂性使汇编语言并没有C语言普及使用。与汇编相比,C语言既有易学易懂,结构性较强特点,而且C语言的维护修改也比较方便。KeilC51软件功能强大,库函数丰富,调试运行简单易学,配合Windows界面,使得操作也很简单。最重要的一点是,该软件在编译后能产生所需要的目标代码,转化效率非常高。Keil软件开发平台如图4.1所示。图4.1Keilfor51开发平台截图在编写C语言代码之前,要对Keil软件设置相对应的单片机器件,否则无法正确编译,在编写过程中,也不能正常编写,因为各MCU的管脚定义都不太一致。因此,在编写程序之前,必须要选择正确的单片机器件。KEILforC51编译平台对51单片机的器件选型设置如图4.2所示。图4.2MCU选型设置选择正确的单片机,根据设计要求,编写正确的C语言代码,编写完成后,进行编译,选择生成二进制文件,将编写的C语言代码转化为二进制代码,即生成.HEX文件,经烧录器将二进制文件烧录到控制器中,完成相对应的功能。在烧录的过程中,首先应该注意选择正确的单片机,本设计使用STC89C52,在对应的MCU类型中,也应选择到该类型芯片。在使用该烧录器件的第一步就是选择正确的MCU。相对应的设置如图4.3所示。图4.3烧录器MCU选型设置其次,选择在Keil中编写正确,编译成功后的二进制文件,在打开文件的选项中正确选择想要烧录的文件,将该文件进行烧录准备。另外,在烧录程序过程中,还应注意串行口的选择,在单片机连接电脑时,会出现其连接的端口号,在上述烧录器件中的第三步中,选择正确的端口号,这直接关系到程序能否烧录到单片机中,因此这一步至关重要。波特率的选择,根据实际情况而定,一般选择最高9600,最低选择2400,只有在对波特率做特殊要求的设计中需要着重考虑此项,在一般情况先,不需要更改此选项。最后,对于该烧录器上的其他选项设置,在本设计中,不需要更改。对上述操作完成后,点击下载按钮,给MCU上点之后,当提示成功时,就说明程序已正确烧录到单片机中。Protel是一款电脑辅助的画图软件,专为绘制电路原理图生成PCB版设计,另外还能制作报表,进行电路仿真和逻辑器件的设计等。是一款较为先进的,用途较广的电脑辅助软件。另外该软件还能进行团队化工作,加快了电路设计绘制的效率。Protel基本界面图如图4.4所示。图4.4Protel基本界面图4.2主程序设计在给小车上电复位后,单片机进行初始化工作,对单片机内部寄存器和外部电路赋初值,同时对想用的标志位清零,然后,单片机检测有无无线信号输入,当单片机P3.3口有红外信号输入是,启动中断,响应红外信号的操作。若没有红外信号输入,单片机检测红外对管的电平变化,当小车左侧电平有变化是,单片机控制小车左转,当小车右侧电平变化时,单片机控制小车右转。最后启动中断,计算相关数据,由LCD液晶显示器显示相关数据[10]。4.3系统软件流程图系统软件流程图如图4.5所示。开始开始遥控信号?检测探测信号前进左转右转继续检测执行操作YN返回是否有电平变化?左侧电平变?NYNY图4.5系统流程图4.4循迹处理软件流程左轮右轮左轮右轮右Y1左轮右轮左轮右轮右Y1左X1左轮右轮右X1(a)小车右侧偏离轨道(b)小车未偏离轨道(c)小车左侧偏离轨道图4.6红外对管与黑线位置关系示意图当小车右侧偏离轨道,这样就使得右侧红外对管不在黑色轨迹上,检测到红外光反射,输出高电平,单片机控制小车右转,如图4.4(a)。当小车左右两侧红外对管都在黑色轨迹上时,两侧红外对管都检测不到反射的红外光,输出低电平,单片机控制小车正常前进,如图4.4(b)。当小车左侧偏离轨道,这样就使得左侧红外对管不在黑色轨道上,此时,红外对管接受到反射的红外光线,输出高电平,促使单片机控制小车左转,如图4.4(c)[11]。循迹处理流程图如图4.7所示。右转右转开始初始化两侧电平变?左侧电平变?左转前进(两电机同时转)结束YNNY图4.7循迹效果流程图4.5红外遥控软件流程红外遥控的主程序流程如图4.8所示。YY开始初始化有按键按下?有红外遥控信号?处理按键程序处理红外遥控程序YNN图4.8红外遥控流程图

5系统调试经过上述各部分的调试以及安装后,小车的整体实物已经完成,下面就是对小车的各项功能进行测试。5.1实物调试在经过上述软件调试后,小车硬件搭建正确情况下,对小车实际功能进行检测。通过市场调研,对元器件的性能价格等多方面因素的综合考虑,选用STC12C5A60S2作为主控器件,使用L293D作为电机驱动芯片,利用红外对管作为道路循迹模块,选用红外遥控器作为遥控部件,选用LCD1602液晶显示器作为显示器件,组合以相关按键,在电路板上焊接,完成实物制作。同时,在较大的白纸上粘贴黑色不反光胶带,作为小车循迹的轨道[12]。在完成上述过程后,检查电路板是否存在虚焊、漏焊等问题,检查连线是否有误,准备好相关器件后即可进行调试。实物中KS1为小车电源总开关,KS2为下载程序的开关,REST为复位开关,K1为启动开关,红外接受模块如图中所示,电路板实物图如图5.1所示[13]。图5.1小车整体电路图对于循迹部分,因红外对管检测地面信息不宜太远,所以将红外对管置于小车前下方,以更好的检测到路面轨迹信息。红外对管位置如图5.2所示。图5.2红外对管位置图将小车放在预先做好的轨道平面上,在此因注意,小车前下方的两组红外对管相距大约3cm,要保证两侧红外对管要都能在黑色轨迹之外,但也不能太过狭窄,以免小车在行走时左右摇摆幅度较大,所以,粘贴的黑色胶带的宽度应在4cm左右为最佳。开启电源并启动小车,小车就会在黑色轨迹线上循迹行驶。值得注意的是,在放置小车时,应先将小车放置在黑色轨迹的直道出,让侧红外对管都在黑色轨迹上,这样才能保证循迹功能的正常实现。小车正常前进时,L1、L2指示灯不亮,小车左转时,L1指示灯不亮,L2指示灯亮,小车右转时,L1指示灯亮,L2指示灯不亮。按下遥控器的前进、后退、左转、右转和停止识别开关,小车执行相应动作。下面给出调试结果图。图5.3为小车前进实物图,图5.4为小车左转实物图,图5.5为小车右转通过以上调试,系统能够实现在轨道与路面颜色分别较大的情况下实现循迹移动,另外,小车还能在遥控的前提下根据具体要求完成相关动作,数码管可以显示相关的动作信息,实现小车左转、右转、前进以及后退等动作。图5.3小车前进实物图图5.4小车左转实物图图5.5小车右转实物图5.2提出问题以及解决方案在本次设计中,按照课题要求,完成相应功能。但在些许过程中,也遇到过些许问题。在搭建好全部电路后,第一次的调试过程中,电机损坏,后经了解后,发现是由于启动电流过大,容易使电机过载,导致电机损坏,经查阅相关资料,得到解决办法:在电机的两接线处并联一电容,可以有效的防止这种现象的发生[14]。因为电容是一种储能器件,将它并联在电机两侧时,在通电时,电容充电,不影响电机正常工作,在断电时,电容放电,在下一次启动时,电机不会流过过大电流,因此电机不易损坏。在整体电路的搭建上,需要综合考虑各器件的排版布局,在电机安装位置的选择上,如果将电机安装在小车后方,小车转动所需要的扭转力要更大,而小车以直流电机驱动,并不能产生所需要的扭转力,因此将电机安装在小车前方,从动轮安装在后方,这样小车就能轻松转弯[15]。在实践过程中也提出相关问题,来满足更多的智能要求。首先可以在小车上加上声音控制端,有声音脉冲时,根据小车原先状态做出改变,例如小车在动作过程中,有声音脉冲信号输出,则小车立即停止;小车在停车状态是,接受以声音脉冲,小车启动。这样的设计对应用在残障认识操控智能车的方面有广阔的应用前景。另外,还可以在小车的前方加上位置感应器件,实现自动避障的功能。当前方有障碍物时,智能小车能及时调整方向,避免车体装上障碍物,这更加实现了小车的自动化控制。

结束语白驹过隙,四个月的毕业设计接近尾声,从初选题时的好奇彷徨到现在的充实坚定,这四个月让我在美好的大学生活上浓墨重彩地画上了一个句号。这段时间,让我对之前所学的专业知识有了更深层次的理解,在查阅资料的同时,更丰富了知识层面,锻炼了动手能力,开拓了视野。本设计主要包括硬件设计部分和软件设计部分,硬件部分主要包括电源电路、电机驱动电路、单片机控制电路、循迹电路、、无线控制电路和液晶显示电路。软件部分主要包括红外信号的发送和接受、路面信息采集和计算、信号处理和数据输出显示。在指导老师们和同学们的帮助下,在不断查找资料的过程中,基本完成了任务指导书上的要求,红外控制,循迹小车。另外除完成任务书的要求外,外加声音控制和报警电路,使得设计更加接近生活。设计过程中,遇到过不少问题。首先是器件的选择,在市场调查和资料查询的前提下,再保证预算足够的情况,尽量买到实用性好、质量有保障的器件。接着是焊接电路板,这一块,也是检查动手能力的重要一项,由于器件的多样性,使得焊接有一定的难度,更不能错在错焊、漏焊等现象。实物完成后,进行第一次调试,发现不能循迹,后来在软件调试帮助下,发现是小车前下方左侧的红外对管损坏,后在更换新的红外对管后,循迹功能正常实现。四个月的时间说短不短,说长也不长。这次毕业设计的过程让我明白理论必须和实践相结合,唯有实践才是检验真理的唯一标准。这对我在以后的工作和生活中分析问题、解决问题提供了行之有效的办法。

致谢大学生活即将结束,毕业设计也接近尾声,回想这四年的大学时光,有辛酸,有泪水,但更多的是快乐,充实。毕业设计是大学中最后一项也是最重要的一项任务。毕业设计培养动手能力,查阅文献、检索资料和团队合作是设计过程中必须要掌握的技能。同时,毕业设计还是对之前学习知识的凝练,对新知识新技能的学习。感谢学校给了我们这次机会。我的毕业设计是在沙涛老师和王昊老师的指导下完成的,和蔼可亲,勤勤恳恳是他们的工作作风,严谨细微,脚踏实地是他们的工作态度。这些优点让我受益匪浅。从刚开始的外文翻译,到后来的开题报告、中期检查,到最后的设计制作和论文写作,老师们给了我悉心的指导。无论在哪个环节,出现任何问题,只要及时找到指导老师,老师都会在第一时间解答。毕业设计的完成,是指导老师们辛勤教导的结果。在此,再次感谢我的指导老师们,谢谢。大学,离不开的是同学,在这里我要感谢我的同学们,在毕业设计过程中,同学们给予很多的帮助,共同学习、齐头并进引领着我更上一层楼。谢谢同学们。大学,同样也离不开教导老师,是老师每节课的不厌其烦的讲解,给毕业设计奠定基础,是老师以德育人的引导,为走向工作岗位树立正确思想丰碑。老师们,谢谢。最后,我要感谢我的父母,十几年的学习生活,父母提供给我们的不仅仅是经济上的支持,在生活上和思想上,同样也给予了更大的帮助。是他们的帮助与支持,让我能顺利完成毕业设计。整个毕业设计不断产生问题、解决问题的过程中完成,总之相信自己,做最好的自己,这是唯一不变的真理。

参考文献[1]田裕鹏.红外检测与诊断技术[M].北京:化学工业出版社,2006.6.[2]戴仙金.51单片机及其C语言程序开发实例[M].北京:清华大学出版社2008.2[3]毛学军.液晶显示技术[M].北京:电子工业出版社,2008.9.[4]李建忠.单片机原理及应用[M].西安:电子科技大学出版社,2008.2.[5]安岩.自动循迹智能小车的设计[J].苏州科技学院学报,2004,1(2):24~27.[6]张双奇.数字电子技术及应用[M].西安:电子科技大学出版社,2005.[7]郭亮,谭立伟.基于单片机的新型智能小车研制设计[J].西南交通大学学报,2003,9(3):47~49.[8]刘颖.模拟电子技术[M].北京:清华大学出版社,2004.[9]董涛蒋苏.基于单片机的智能小车的设计与制作[J].计算机测量与控制,2009,2(1):23~25.[10]林立.单片机原理及应用[M].北京:电子工业出版社,2007.[11]何希才.传感器及其应用电路[M].北京:电子工业出版社,2001.[12]何政.单片机原理与应用[M].上海:上海科学技术出版社,1992.[13]李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2004.[14]李庭贵.单片机技术及项目训练[M].成都:西南交通大学出版社,2009.[15]游雨云,丁志勇.智能小车单片机控制直流电机方案与设计[J].技术研发,2006,8(2):45~48.

附录A整体电路图附录B程序清单#include<at89x51.h>#include<STC12C5A//和前面不同的是,本头文件使用定时器T0的溢出率作为时钟源#include<intrins.h>#defineForward_L_DATA80//当前进不能走直线的时候,请调节这两个参数,理想的时候是100,100,最大256,最小0。0的时候最慢,256的时候最快#defineForward_R_DATA80 //例如小车前进的时候有点向左拐,说明右边马达转速过快,那可以取一个值大一点,另外一个值小一点,例如200190//直流电机因为制造上的误差,同一个脉宽下也不一定速度一致的,需要自己手动调节。/*****按照原图接线定义******/sbitL293D_IN1=P1^5;sbitL293D_IN2=P1^6;sbitL293D_IN3=P1^1;sbitL293D_IN4=P1^0;sbitL293D_EN1=P1^3;sbitL293D_EN2=P1^4;/*****左传感器和右传感器接线定义***/sbitLeft_InSen=P3^3;sbitRight_InSen=P2^0;/***蜂鸣器接线定义*****/sbitBUZZ=P1^7;voidForward(unsignedcharSpeed_Right,unsignedcharSpeed_Left);//申明一个“前进函数”voidStop(void);//申明一个“停止”函数voidDelay1ms(unsignedinti);voidForward(unsignedcharSpeed_Right,unsignedcharSpeed_Left)//Speed_Right,Speed_Left为左右电机对应的速度参数0-255之间,255最快,0最慢。{ L293D_IN1=1; L293D_IN2=0; L293D_IN3=1; L293D_IN4=0;PWM_Set(255-Speed_Right,255-Speed_Left);}voidTurn_Left(unsignedcharSpeed_Right,unsignedcharSpeed_Left){L293D_IN1=1; L293D_IN2=0; L293D_IN3=0; L293D_IN4=1; PWM_Set(255-Speed_Right,255-Speed_Left);}voidTurn_Right(unsignedcharSpeed_Right,unsignedcharSpeed_Left){L293D_IN1=0; L293D_IN2=1; L293D_IN3=1; L293D_IN4=0; PWM_Set(255-Speed_Right,255-Speed_Left);}voidStop(void) //刹车{L293D_IN1=0; L293D_IN2=0; L293D_IN3=0; L293D_IN4=0; PWM_Set(0,0);}voidmain(void){ unsignedchari;PWM_ini();//PWM初始化 B: for(i=0;i<50;i++)//判断S6是否按下 { Delay1ms(1); //1ms内判断50次,如果其中有一次被判断到S6没按下,便重新检测 if(P3_7!=0||P3_6!=0||P3_2!=0)//当S6按下时,启动小车, gotoB;//跳转到标号B,重新检测 }//蜂鸣器响一声 BUZZ=0; //50次检测S6确认是按下之后,蜂鸣器发出“滴”声响,然后启动小车。 Delay1ms(50); BUZZ=1;//响50ms后关闭蜂鸣器 while(1) { while(Left_InSen==1&&Right_InSen==1) Forward(Forward_R_DATA,Forward_L_DATA);//前进 while(Left_InSen==1&&Right_InSen==0)//如果右边传感器检测到物体,小车右转。 { Turn_Right(80,80);//右转 Delay1ms(1);//在此增加一个延时,每隔1ms判断一次,效果更好。 } while(Left_InSen==0&&Right_InSen==1) { Turn_Left(

温馨提示

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

评论

0/150

提交评论