基于单片机的智能小车避障循迹系统设计_第1页
基于单片机的智能小车避障循迹系统设计_第2页
基于单片机的智能小车避障循迹系统设计_第3页
基于单片机的智能小车避障循迹系统设计_第4页
基于单片机的智能小车避障循迹系统设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

-PAGEII-摘要现如今,国内外的智能电子产业发展十分迅速,智能化产品渐渐遍布各个领域。随着微电子、计算机、新材料、机械工程、通信等技术的逐渐成熟,智能电子小车的发展也是日新月异。本次毕业设计主要介绍了一种基于单片机的智能避障循迹小车的系统设计。本次设计采用STC89C52单片机作为智能小车的核心控制单元,采用红外传感器对黑色引导线的进行识别,然后将所测得数据发送至单片机,通过预先设定的控制算法实现智能小车的循迹功能;而超声波测距模块用来实时检测小车前方是否存在障碍物的及与障碍物之间的距离,然后将所测得数据发送至单片机控制单元,经过控制算法实现智能小车的障碍物规避功能。此外,该方案在软件方面采用的是C语言,这样设计的逻辑结构框架简单,省时高效,易于实现。本方案是根据预先设定的模式程序,而不是手动管理来实现循迹和障碍物规避功能。但是实际生产工作中,这两项相对基础的功能是无法满足人们需求的,可预见未来研究方向将放在智能小车的多方式远程遥控技术、全方面环境感知等方面。关键词:智能小车STC89C52单片机传感器C语言

ABSTRACTNowadays,thesmartelectronicsindustryathomeandabroadisdevelopingveryrapidly,andintelligentproductsaregraduallyspreadingallovertheworld.Withthegradualmaturityofmicroelectronics,computers,newmaterials,mechanicalengineering,communicationsandothertechnologies,thedevelopmentofsmartelectroniccarsisalsochangingwitheachpassingday.Thisgraduationdesignmainlyintroducesasystemdesignofintelligentobstacleavoidancetrackingcarbasedonsinglechipmicrocomputer.ThisdesignadoptsSTC89C52single-chipmicrocomputerasthecorecontrolunitofthesmartcar.Theinfraredsensorisusedtoidentifytheblackguideline,andthenthemeasureddataissenttothesingle-chipmicrocomputer,andthetrackingfunctionofthesmartcarisrealizedthroughapresetcontrolalgorithm.Theultrasonicrangingmoduleisusedtodetectwhetherthereisanobstacleinfrontofthetrolleyandthedistancebetweentheobstacleandtheobstacle,andthensendthemeasureddatatothecontrolunitofthesinglechipmicrocomputer,andrealizetheobstacleavoidingfunctionofthesmartcarthroughthecontrolalgorithm.Inaddition,theprogramadoptsClanguageinsoftware,sothelogicalstructureofthedesignissimple,time-savingandefficient,andeasytoimplement.Itcanbeseenthattheschemeimplementsautomatictrackingandobstacleavoidanceaccordingtoapresetmodeprograminsteadofmanualmanagement.However,intheactualproductionwork,thesetworelativelybasicfunctionsareunabletomeetpeople'sneeds.Itisforeseeablethatthefutureresearchdirectionwillbeplacedonthemultiplemodesremotecontroltechnologyofsmartcarsandallaspectsofenvironmentalawareness.Keywords:Thesmartcar;STC89C52single-chipmicrocomputer;Thesensor;TheClanguage目录TOC\o"1-2"\f\h\z\u第1章绪论 11.1智能小车的发展近况与趋势 11.2课题研究的目的及意义 31.3课题研究的主要内容 4第2章方案设计 52.1系统概述 52.2硬件模块方案 5第3章硬件设计 93.1总体方案设计 93.2电源模块 93.3核心控制模块 103.4循迹模块 113.5避障模块 133.6电机驱动模块 14第4章软件模块 184.1循迹子程序模块 184.2避障子程序模块 194.3驱动电机子程序模块 20第5章系统软件部分设计 215.1软件调试平台 215.2Proteus仿真软件 22第6章系统测试与分析 236.1硬件调试 236.2软件调试 24总结 25致谢 26参考文献 27--PAGE26-第1章绪论1.1智能小车的发展近况与趋势1.1.1智能小车的发展近况随着电子应用设计技术,计算机新技术和智能化核心控制技术的迅速发展,智能化产品和小型化产品渐渐地受到了人们广泛的关注。各中各样的智能小汽车在智能玩具的市场中拥有很大的占比。这几年来,传统手工玩具的市场已经出现逐渐萎缩的现象,基于高新科技的智能电子玩具渐渐占据了市场的主导地位。因而,对于智能电子汽车的研究具有巨大的潜在市场价值和非常深远的现实意义。智能小车国内外研究现状:世界上许多国家在智能微型车领域进行了大量的研究,并在许多领域得到了应用,尤其是在探测和军事应用领域。近年来,我国也开展了大量的研究工作,以满足不同用途的需要。自第一个智能电子汽车问世以来,全球对于行星车辆探测系统的开发已有很长的历史。在20世纪60年代后期,美国与前苏联已经先后开始了月球表面环境信息的探索。从1966年到1968年,美国成功地向月球发射了两艘无人驾驶飞船。索杰纳号(Sojourner)是美国宇航局喷气推进实验室研制的火星探测车,于1997年抵达火星。它向人们展示了小型探测车在火星表面的表现,并完成了一系列环境检测。2004年1月,美国的"勇气号"火星探测器火星表面成功着陆。1959年至1976年间,苏联成功发射了两枚月球探测器。2014年7月24日,百度推出了无人驾驶汽车的研发计划。根据计划,无人驾驶汽车将自动识别交通标志和交通信息,配备雷达,摄像头和全球卫星导航系统等电子设备,并安装同步传感器。只要驾驶者将目的地输入到导航系统,汽车就会自动行驶到目的地。在行驶过程中,通过车辆上的传感器装置加载的道路状况信息,对汽车进行实时定位,并对行驶方向和速度进行实时调整。已证实,无人驾驶系统已发展到应用视觉,听觉等识别技术,并在未来作进一步的深度探索。2014年12月21日,谷歌宣布其第一个完全成型的无人驾驶汽车已经制造成功并于2015年在道路上进行测试。此次测试,外形与普通汽车看起来并没有太大的不同,只是有一些细微的变化,即在车顶装配了一个更加复杂的激光扫描系统来检测路况。智能小车现如今可以说成为了智能化机器人领域的一个突出代表。它从基本结构上可以大致的分为三个部分:中央智能处理器、传感器检测部分和实时执行部分。1.1.2智能小车的发展趋势智能设备的发展前景十分广泛,已经涉及到了包括机电、钣金、冶钢、交通、航天、军事等产业领域。近年来,智能设备的功能也逐渐多样化,极大地提高了人民的生活水平并使人们的生活方式发生了可喜的变化。在这个高科技新型技术飞速发展进步的时代,可以代替人工的机器设备在更加智能化的同时也变得越来越人性化。随着微电子技术的不断发展,不仅能将CPU,存储器,定时器/计数器,并行和串行接口,A/D转换器,D/A转换器和其它电路集成在一个芯片上,而且体积越来越小,功耗越来越低,这体现了基于计算机技术与自动控制技术研发的智能化控制系统逐渐趋于完善。单片机的应用越来越广泛,在生活和生产中,单片机都无处不在。其中的STC89C52微控制器可以说是微控制器领域的主流产品。STC89C52微控制器可广泛应用于计算机外围设备,工业实时控制,仪器仪表,通信设备,家用电器等领域。作为测控技术与仪器的学生,有必要学习微控制器以满足实际产品开发的需要,同时也是顺应电子机器智能化和自动化的趋势。当今的智能汽车集成了环境感知以及自动驾驶系统,是一个将计算机,传感器,信息,通信,导航和自动控制技术整合应用的高科技综合体。基于原有的车辆系统,智能汽车增加了一些高科技的智能设备,如:1)传感器,即智能车辆的眼睛用于获取实时路况信息;2)计算机处理系统,用其识别和分析从外部传感器获取的道路信息并实现预处理等。在实际应用过程中,以微控制器作为核心控制单元,辅以车辆驱动模块和实时路况检测的外部电路,并利用适合的控制算法来实现车辆的智能自动控制。灵活合理地对所学相关学科的基础理论知识加以运用,并同实际设计的电路相结合,实现理论知识与亲身实践的综合、统一。只有真正历经这样的过程中,才能让我们加深对基础理论知识的理解并加以运用。此次毕业设计是具有现实意义的,将其功能进行延伸就可应用于古代文物,智能机器设备,大众娱乐等产业中。特别是10年后出生的孩子们对于新兴玩具的追求,使智能电子玩具的发展研究,具有十分可观的发展前景。如今,智能单片机芯片拥有了渐渐广泛的应用领域,可以预见未来无论在生产生活中,还是在工作学习中,单片机都将会扮演着不可或缺的角色。由于视觉图像处理技术,智能机器视觉技术和图像分析技术的发展,包含视觉传感器的智能化设备,使自动驾驶变成了智能化机器设备极其重要的组成部分。然而,视觉传感器的造价十分高昂,并且其在某些方面的能力相对薄弱。因此,在一些不需要非常清晰的图像而只需要粗浅的形象意义的状况下,自动场效应晶体管(AFT)传感器系统被普遍认为是实用性最高的选择。为了实现智能小车循迹和避障功能,为了实现智能汽车车及时地识别障碍物体并且选择准确的行驶路径,而研发的智能小车避障控制模块,即自动智能引导车辆系统(AVG-自动引导车辆)具有很强的功能实用性[5]。而使用一个较好、可行的传感器和一个接近完美、没有较大问题的函数算法是使得智能小车对路况做出准确判断并实现相对应功能的关键所在。目前,在智能小车研发阶段,各种外部传感器通过采集感知系统外部环境的信息,使汽车能够准确感受到外部环境的变化[2]。一方面,为了使智能汽车更加完美的地完成预先设定的功能,需要进行智能化和通用性更高的应用技术研究。另一方面,还应探索钻研多传感器之间的信息融合技术,以获取准确性更高、更全面的汽车行驶道路周边环境信息[3]。1.2课题研究的目的及意义1.2.1课题研究目的说实话,无论是国内还是国外,有关智能小车的研究已然达到了一个很高的层次,那么为什么还要以循迹、避障这两项基础的功能作为研究课题呢?从主观角度总结以下几点:面对即将毕业的大学生,较为简单的研究课题易于激发其学习兴趣,增强其自信心,进而满怀希望地面对今后的生活;在相关专业中,若提到像“智能小车”,“智能机器人”这样的字眼,大家都会觉得并不新鲜;然而在平常生活中,若对家人、亲戚、周围不了解这方面的人提起,大家会有层次很高的感觉,这会让人与人之间形成潜在的隔阂。但是当课题研究者真正理解了智能小车的理论知识及未来发展趋势,那么就会不知不觉地将智能设备将会走进大众生活的思想感染给身边的人,促进消费,为拉动智能产业发展添砖加瓦;如同建造房屋一样,只有稳固坚实的地基,才能支撑起高楼大厦。越基础,越简单的理论知识越值得将其深刻地记忆在脑海里,并用充足的实践使其兼容性逐渐完善,无论未来在这个基础上添加何种功能,都能得心应手。1.2.2课题研究意义随着智能机器人的不断出现和这项技术的快速发展,传统的生产方式发生了根本性的变化,人类生产方式从繁琐的机械劳动步入了智能和机械自动化的全新的纪元。智能机械设备的研究是一门综合性特别强的学科,它包含了物理学、工程学、力学、电学、机械学、计算机新技术和自动检测控制技术等等。如今,机器人高新技术已经成为了新型科学技术研究及探索领域具有深远意义的拓展方向与研究焦点[4]。本次课题研究与实际紧密结合,拥有极强的现实主义意义。如今,外部环境识别分析,机械自动化和无人驾驶等技术被集成在微电子计算机中使用。与此同时,遥感技术,通信技术,信息整合技术,制导技术,人工智能技术和自动化系统等典型的高科技综合体的发展取得了里程碑式的成绩。随着汽车工业的快速发展,对于汽车的研究越来越受到人们的重视。全国电子竞赛和省级电子竞赛几乎每次都有智能汽车这方面的课题,全国各高校也都十分重视这一课题的研究。由此可见,其研究意义重大,本设计就是在这样的背景下提出的。这项设计可以应用到很多领域,如考古,机器人,医疗设备等,尤其是足球机器人的研究具有良好的发展前景。因此,本设计与实际相结合,具有很强的现实意义。在实践过程中,通过以微控制器作为核心控制单元,辅以车辆驱动模块和实时路况检测的外部电路,并利用适合的控制算法来实现车辆的智能自动控制。灵活合理地对所学相关学科的基础理论知识加以运用,并同实际设计的电路相结合,实现理论知识与亲身实践的综合、统一。只有真正历经这样的过程中,才能让我们加深对基础理论知识的理解并加以运用。随着社会和科学技术的快速发展与进步,人们都渴望创造一种可以替代人类完成危险工作的高精度工具,从而产生了智能学科。如今,社会上有关智能小车的产业链发展十分迅猛,对小到智能玩具,大到其他许多行业都有很大的实质性的影响。人们已不再满足实现基本跟踪、避障、寻光入库等功能,全国各大高校电子智能小车设计比赛的重点逐步拓展到智能小车的语音控制系统,远程控制软件开发以及智能模块的多元集成化与人性化。从最基本的循迹和避障功能,发展到光学信息识别与存储等日常工作生活中应用需求能够涵盖到的功能,在有关智能小车的设计竞赛中,多方式远程遥控系统设计,声控系统开发以及模块智能化是全国大多数高校这几年中努力寻求突破的方向。1.3课题研究的主要内容本次设计采用STC89C52单片机作为智能小车的核心控制单元,采用红外传感器对黑色引导线的进行识别,然后将所测得数据发送至单片机,通过预先设定的控制算法实现智能小车的循迹功能;而超声波测距模块用来实时检测小车前方是否存在障碍物的及与障碍物之间的距离,然后将所测得数据发送至单片机控制单元,经过设计好的控制算法实现智能小车的障碍物规避功能。此外,该方案在软件方面采用的是C语言,这样设计的逻辑结构框架简单,省时高效,易于实现。第2章方案设计2.1系统概述依照本设计实际所要求达到的功能,再三考虑决定使用如下解决方案:基于现有的单片机最小系统,装配红外感光传感器作为智能循迹模块,加以超声波测距模块,电机驱动模块,电源模块构成智能小车整体硬件结构,进而实现对于电动智能小汽车的路线信息进行实时检测,之后将所测得数据传输到单片机中,根据预先编写的控制算法将合理地控制指令反馈到各功能模块,从而实现智能化电动小汽车的各种自动控制功能。这个方案能够赋予智能机械小车在进行正常的实时运动进程的同时使得其在控制方面具有更高的灵活性、可靠性[6]。整个系统是由单片机作为控制核心,从而控制汽车的各项性能指数。汽车的自动控制是一个完善的智能分析系统中需要关注到的、极其重要的一点,在这方面上,单片机的优势就显得尤为突出,其控制系统十分简单方便,快速迅捷。其次,我们可以充分地利用其极其丰富的资源条件以及较其他系统更为强大的控制功能,进而解决其他控制核心具有的操作控制功能单一,造价不可承受等缺点。2.2硬件模块方案2.2.1硬件模块系统结构对于硬件模块控制方面,再三思量后决定使用相对简单明了的系统设计方案。在智能循迹模块方面,使用具有高精度的光电二极管的红外感光传感器来判断预先设置的路径,同时进行具有追踪行为的动作;在智能避障模块方面,使用超声波测距模块检测沿路径方向是否存在障碍。当最小单片机系统接受到外部传感器反馈回的数据后,经过预先编写的控制算法的处理,再由单片机控制系统通过其本身的IO数据交换口将指令反馈给电动机驱动模块,进而实现两个直流电机工作状态的转换,进而达到课题所要求的目标,即实现智能机械小车的循迹追踪及自动躲避障碍干扰物。如图2.1所示:图2.1智能循迹小车控制系统结构框图2.2.2各模块功能概述智能小车的整体模块分成如下六个小部分:1)核心中枢控制模块:采用STC89C52RC单片机芯片作为整个系统的核心控制单元。这款单片机的优点非常突出,也是我们在大学时,实验与课程设计中使用频率首屈一指的一款STC生产的单片机型号,因其所拥有的操作简单方便,造价成本低廉,较强的抗干扰能力等特点而讨得到广大电子发烧友的欢心。2)智能循迹模块:采用基于红外感光的光电传感器作为控制模块,由于其信号极强的稳定性以及特殊的波形制式等因素,从而能够十分高效的削弱外界环境干扰因素为模块侦测所带来的负面影响。信号采集部分无疑相当于是智能避障循迹小车的眼睛,首先将对于黑色引导线的识别和所执行的高电平和低点平信号传送到核心控制单元中,通过单片机预先设定的指令程序以及反馈信号控制驱动模块,进而改变两个直流电机的工作状态,最终完成自动追踪功能。3)智能避障模块:使用反射式超声波测距传感器作为控制模块,只要路径前方有障碍物体反射超声波时就会产生信号输入,之后将返回接受信号时计时的器值减去发送信号时计数器的值,进而能到得到小车实时位置到所侦测到的干扰障碍物之间的距离。将得到的距离数值信息发送至核心控制单元,单片机将会根据预先设定的算法使小车的行进运动发生改变,以至达到躲避干扰性障碍物的目标。4)电机驱动模块:使取L298N电机驱动芯片作为智能避障循迹小车的驱动单元。L298N智能化电机驱动芯片拥有着稳定的H桥电机驱动系统。L298N可以在同一时间对两个直流电机进行单独控制,并且L298N既能够采用外部核心来进行控制,也能够采用单片机芯片控制,可见其满足多种多样的电路系统。此外,L298N驱动的负载范围较大,我们能够根据实际不同的输入电压和输出电压的大小和功率选择相对应的负载能力,进而满足我们不同的需求[7]。5)直流电机:基于本次设计共需两个直流电机,我将它们分为左右各一个直流电机。如果将直流电动机与异步电动机作比较,可以得出,直流电动机仅仅需要施加适当的电压就能够使电机转动,并且所需设计的控制算法也显得更为简单方便,并且具有在不超过正常工作电压范围的前提下,对电动机所施加的电压越高,那么直流电机的转动速率也就越高。6)电源模块:采用四节普通的1.5V的干电池作为系统的供电单元。

2.3软件模块方案通过长时间的学习工作,发现汇编语言和C语言是52系列单片机在编程时所运用到的两种最主要的语言。众所周知,汇编语言目前最接近机器语言,也是一种真正的面向对象为机器的语言。在汇编语言中,用Mnemonics代替机器指令的操作码,用Symbol或Label代替指令或操作地支。它是现如今最迅捷和效力最高的语言之一,在限定了空间与时间需求的状况下采用汇编语言程序是相对优质的选择,但是汇编语言同时也具有其自身的局限性和缺点,例如,易产生Bug,浮点运算处理缓慢,项目开发周期冗长单调,糟糕的可移植性和复杂的调试过程等等。对于此次系统程序设计,C语言的设计思想应为:模块化编程思想。在很多时候,运用C语言将任务整体分为许多相互独立但是仍旧存在着一定连接的小模块,这样就能够更加高效地完成任务需求。对于这些模块,每一个模块所需完成的任务相对简单,其模块对于外部数据的交换也相对轻松,便于编写,易于检测,阅读及维护。与此同时C语音编程拥有更强的的可移植性,方便后期维护人员来进行修改和拓展。基础的系统主程序流程图如下图2.2所示:图2.2系统主程序流程图

第3章硬件设计3.1总体方案设计根据题目的要求,确定如下方案:在现有单片机芯片的基础上,加装红外光电传感器、超声波测距传感器、直流电机驱动电路,将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据进行反馈实现对电动车运动状态的智能控制。本方案理论上足以实现对智能小车的运动过程进行实时控制,并且具有灵活性高、可靠度高,处理精度高等特点,系统可满足课题的各项基本要求。系统整体方框图如图3.1所示:图3.1系统总体设计框图3.2电源模块基于本次设计的要求与实际情况,我认为对于电源模块的选择要满足简单快捷、电压稳定,成本低廉等特点,除电机驱动模块需用12V电源供电外,剩余其他所有模块只需使用统一的4节1.5V干电池作为电源即可。图3.2电池盒与电池实物图3.3核心控制模块经过慎重考虑使用STC89C52RC智能化芯片作为本次毕设的核心控制中枢。就此模块的结构而言,主要分为电源、晶振电路、复位电路、下载接口、控制块五个部分。在这里面电源部分的功能是为单片机提供能源与动力;晶振电路部分对于单片机本身而言十分重要,它的存在是为了给单片机提供一个稳定的时钟,使单片机可以基于这个时钟制造一定的时序,无疑可以说是单片机的心脏;复位电路部分在此次毕设中并未涉及,故不在此做介绍了;下载接口部分可以让我们把预先设定好的程序下载到单片机。单片机是系统设计的核心控制核心,也好比于人类的大脑,可称为整个设计的重中之重。具体的输入输出口配置及单片机系统简单原理图如图3.3所示:图3.3单片机系统简单原理图图3.4STC89c52芯片实物图引脚特殊功能符号功能说明1(89C52)P1.0/T2定时/计数器T2计数输入端2(89C52)P1.1/T3T2的捕捉/重新加载的触发输入10P3.0/RXD串行数据输入端11P3.1/TXD串行数据输出端12P3.2/INT0外部中断0申请信号13P3.3/INT1外部中断1申请信号14P3.4/T0定时器/计数器T0计数输入端15P3.5/T1定时器/计数器T1计数输入端16P3.6/WR外部数据RAM写控制信号17P3.7/RD外部数据RAM读控制信号这里重点说明一下P3口(21脚~28脚)的两种使用方法:作为普通I/O口使用,无须外接上拉电阻;作为扩展外部储存器时的高8位地址总线(A8~A15)。表3-1P3口的特殊功能3.4循迹模块通过查阅资料了解到因为红外传感器的传输方式拥有较强的抗干扰能力、较大的发送功率,所以在社会的很多方面,如智能化生产上已得到了普遍的应用[8]。从红外传感器工作形式不同的角度,概念上我们可以分为两个种类,分别为主动式红外传感器与被动式红外传感器,两种传感器的工作模式相仿,都是根据光学方法如反射、折射以及光的阴影来检测对象本身与目标之间的距离。但值得注意的是,被动式红外传感器自身是不具备发射光源的功能的,它仅仅可以被动的利用周围环境的光源,然后根据接收到的被发现的具有特殊性特征光谱辐射的目标来分析并判断到目标的距离以及目标本身的温度或者是红外成像。虽说在这种工作模式下较为简单方便的设计出所需的电机驱动系统,但是我们不能对其较差的功能准确性和抗干扰能力视而不见。基于环境光直流或低频分量可以使用所预先设定好的的过滤器隔离大部分的时间信号干扰,所以其具有强大的抗干扰能力。不可忽视的是放大器漂移很大程度上会影响测量的精度,而主动式红外传感器因为其调制模式拥有特殊的通信连接方式,能够解决交换耦合直流放大器漂移的问题,测量精度也就随之提高了。与此同时,主动式红外传感器缺点也是显而易见的,即系统比被动式红外传感器的来说更加复杂。具体设计原理图如图3.5所示:图3.5循迹模块设计原理图根据预设方案与实际情况来说使用被动式红外循迹探测方法是更优质的选择,这种方法所使用的根据就是从系统发射出的信号,射向存在有不同光谱差异的环境对象中,出现不同的曲射特性的现象,智能小车在地面上的驾驶过程中不断连续的发射具有一定特征的红外感光光线,特征红外感光光线通过地板上的漫反射,将白光再转换为反射光,由安装在小车底部的红外接收管接收;而我们预先设置好的黑色引导线是会将特征红外感光光线吸收的,这样自动红外接收管就不会接收到反射光线。核心控制模块会将接收到的信号进行反馈,通过其他模块相互之间的配合来实现对黑色引导线的追踪和对小车的行进方向进行适当的调整。实际硬件设计过程中不能将红外探测器安装得太高,因为其探测范围是有一定局限性的,通常情况下是不会超过3厘米的。由于我们是将红外探测器安装在小车底部,从地面上进行的漫反射经过很近的距离就会被传感器所接受,所以在本次设计中红外探测器的实际使用情况理论上是满足所期盼的跟踪功能的。图3.6红外传感器实物图3.5避障模块采用反射式超声传感器设计避障模块,与红外传感器相比,反射式超声波传感器的模块系统设计更简单,更方便,同时由于超声波的特性在不同介质中传播速度更稳定。与此同时,红外传感避障模块的总体电路设计相对反射式超声避障模块来说是更复杂的,并且与抗干扰能力也相对薄弱。因此,采用反射式超声传感器更为合适。原理图如图3.7所示。超声波测距的原理是使用单片机恒定功率输出触发电平为40KHZ的频率信号,超声波测距模块微控制器软件定时器时钟电路的时间开始计算时间,超声波在空中传播并在遇到障碍物后返回[9]。在超声波测距模块遇到障碍物后接收到反射波后,接收到回波信号后产生的响应将反馈给MCU,MCU立即停止计时。下图是超声波模块的电路原理图。由于超声波传播速度已知,那么与障碍物之间的距离可以基于定时器开始记录的时间和当它遇到障碍物返回微控制器接收反馈时间来计算。为了使超声模块更准确地,功率模块被独立地设定。下图3.8为超声模块功率示意图。图3.7超声波模块原理图图3.8超声波模块电源原理图表3-2常见介质的密度、声阻抗与声速(环境温度为0℃)材料密度ρ/103kg•m-1声阻抗z/10MPa•s-1纵波声速cL/km•s-1横波声速cs/km•s-1钢7.8465.93.23铝2.7176.33.1铜8.9424.72.1有机玻璃1.183.22.71.2甘油1.262.41.9—水(20℃)1.01.481.48—油0.91.281.4—空气0.00120.00040.34—图3.9HC-SR04超声波测距传感器实物图3.6电机驱动模块3.6.1直流驱动电机的原理直流电动机是根据稳定的直流稳压器电源的输入,再根据输入电压和电路组输出不同的机械能的机器。下图为一般型号驱动电机的的内部设计原理图。因为从视觉角度直观来看这个电路的总体形状好似英文中的大写字母“H”,所以一般来说,我们将这种电路称为“H桥驱动电路”[10]。由图可见总共有四个稳压晶体管围绕在驱动电机的四周。为了使驱动电机正常工作,必须同时在对角线上导通两对稳压晶体管。根据不同的要求,稳定晶体管的导电电流方向在不同的条件下是可变的。它可以从左到右或从右到左通过电机,根据导通电流方向的不同控制驱动电机转向。参见下面的图3.8:图3.8“H”桥驱动电路原理图如上所述,为了使驱动电机正常工作,需要同时导通对角线上的两对稳压三极管。例如:当左上角的稳压三极管和其对角线上右下角的稳压三极管同时导通时,此时驱动电流从电源正极流经左上角稳压三极管从左到右穿过驱动电动机,然后通过右下角稳压三极管流回驱动电动机电源的负极,电机将向右侧偏转。此状态下,驱动电机将顺时针旋转。同时,左下角稳压三极管与对角线上右上角的稳压三极管同时导通时,电动机的电流将从电源的负极流经左下角的稳压三极管从右到左通过驱动电动机,然后通过右上角的稳压三极管回到驱动电动机电源的正极。此状态下,驱动电机将逆时针旋转。3.6.2直流电机驱动电路在本次设计中,采用的是直接封装好的电机驱动电路,即L298N电机驱动芯片。如下图3.9为L298N的电路图:图3.9L298N电路图从上图中这款芯片的内部电路分布可以看出其具有H桥驱动电路的特征。下图3.10为L298N的引脚图:图3.10L298N引脚图与普通直流驱动电机电路相比,速度控制方面采用L298N芯片控制脉冲负载比算法实现。该模式具有较好的调速特性,平调速、可调速、承载能力更强。由于本设计采用单片机控制驱动电机。因此,我们最终依靠单片机的I/O脉冲来控制H桥稳压晶体管的导通和短路,从而控制直流驱动电机封装L298N执行左、右、前、后命令。下表为L298N芯片的四个输出口在不同的导通情况下所执行的状态指令。表3-3状态指令表out1out2out3out4状态1001前行0110后退1010左转0101右转(其中“1”指此I/O口输出高电平,“0”指此I/O口输出低电平。)根据如上所示的原理即设计,便可得出如图3.11所示的电路原理图。图3.11电机驱动模块原理图图3.12L298N电机驱动电路实物图第4章软件模块如果说硬件部分是智能小车的躯干,那软件部分无疑是智能小车的大脑,它控制硬件针对不同的状况做出不同的反应。本课题要求小车的软件部分支持小车作出循迹、避障的动作,所以软件模块可以分为循迹子程序模块、避障子程序模块和电机驱动子程序模块三个部分。4.1循迹子程序模块循迹子程序模块流程图如下图4.1所示:图4.1循迹子程序模块流程图首先,单片机初始化,智能小车进入设定路径后,左前照灯指示左前方红外探测状态。也就是说,如果左红外探头检测到黑色制导线,探头工作正常,那么智能跟踪避障避障循迹小车前的左指示灯就会发光。同理,右侧传感器指示灯会显示右侧的红外检测状态。在系统进行初始化状态后,单片机控制系统根据两侧红外探头反馈回的道路探测信息。根据所得到的结果,即两侧红外检测探头是否检测到黑色引导线作出适当的动作。如果右红外探头没有检测到黑色引导线信号,而左红外探头检测到黑色引导线信号,则这时黑色的导向线的方向是向左边偏移的。这时,马达开始向左转。在非常短的延迟之后,再次判断是否需要左转,直到角度正确。同样的,如果左边的红外探头没有信号,而右边的红外探头有信号,也就是黑色的导向线偏移到右边。这时,马达开始向右转。在非常短的延迟之后,再次判断是否需要左转,直到角度正确。4.2避障子程序模块避障子程序模块流程图如下图4.2所示:图4.2避障子程序模块流程图智能避障系统主要依赖汽车前置的超声波避障模块是否接收到返回的发送信号。当汽车在正常行驶过程中,突然检测到自身前方出现不明障碍干扰物时,汽车将障碍信息反馈给单片机,依据预设的控制算法做躲避障碍物的动作。首先,汽车将会停止行动,因为对于这种情况预设了一个简短的延迟程序,目的是为了防止调压器电机的反向脉冲电压进入单片机,单片机系统作出初始化复位的动作,进而导致程序坏死。停车后,为了预留出足够的空间来躲避障碍干扰物,汽车会首先向后行驶一小段距离。驱动模块对直流电动机发出左转指令,汽车向左侧转弯,调整到合适的角度后,直到前方未出现障碍信号后,汽车成功避障继续前进。

4.3驱动电机子程序模块该子程序的输入和输出端口的输出电平被控制,并通过微控制器执行。当M1电机A和B端口的输出为0,而M2电机A和B端口的输出都为0时,电机停止运行即车辆停止移动。当电机M1和电机M2的A端为1,电机M1和电机M2的B端为0时,小车向前行驶。当电动机M1和电动机M2的A端为0,电机M1和电机M2的B端为1时,汽车倒车开始向后行驶。当M1电机的A端和M2电机的B端为0,M1电机的B端和M2电机的A端为均1时,小车向左行驶。当电机M1的B端和电机M2的A端是0,电机M2的B端和电机M1的A端均为1时,则小车向右行驶。电机驱动模块主要根据下表来配置所述直流电动机的输入和输出端口电平:表4-1状态电平表M1AM1BM2AM2B状态0000停止1010前进0101后退0110左转1001右转如上所述,循迹子程序模块相当于智能小车的眼睛,保证小车在行驶过程中不偏离预设黑色引导线;避障子程序模块确保小车与障碍物之间预留出充足的空间来进行避障动作;电机驱动子程序模块相当于小车的双腿,由大脑来控制它的运动方向。三个子程序模块需要各司其职,相互配合才能使智能小车完成预期的循迹、避障功能。第5章系统软件部分设计本次课题研究除了必要的硬件外,程序的开发还依赖于其他软件。为了使所编写的程序可以烧入单片机控制单元,所以使用软件KEIL作为此系统软件部分的开发调试平台。同时,考虑到如果先将各硬件组装到一起,而在之后的调试过程中出现问题的话,就会需要反复更改硬件,这无疑造成了不必要的负担。所以可以使用Proteus仿真软件进行硬件仿真,再将由KEIL所生成的.hex文件输入到仿真中,然后进行系统调试。5.1软件调试平台一般情况下,我们使用机器组装将编写的源代码转换成C51可以执行的机器代码。还有一种更麻烦的方法,那就是手工装配。随着C51开发技术的不断完善,现在不再使用汇编语言进行开发,而是开始使用高级语言进行开发。目前,针对最流行的C51开发项目,我们开发了KEILfor51软件平台和支持在线调试的串口转换器。KEILforC51是由KEIL软件公司开发的C语言软件开发系统。在功能、结构、可读性、可维护性,与汇编程序相比,C语言有明显的优势,所以容易学习和使用,其为我们提供了一个完整的开发环境,包括C语言编译器、宏汇编、连接器、图书馆管理、和一个功能强大的仿真调试器,通过一个集成开发环境(μVision)将这些零件整合到一起。如果你用C语言编程,具有简单方便的软件仿真环境和强大的集成调试功能的KEIL将是你最好的选择。图5.2KEILμVision4开发软件5.2Proteus仿真软件Proteus软件是英国LabCenterElectronics电子公司出版的EDA工具软件。它具有强大的EDA工具软件仿真功能,还具有单片机等外围设备仿真功能。近年来,Proteus软件在中国得到了广泛的推广,受到了社会各界人士的喜爱。Proteus具有以下优点:1)丰富的设备库:27000多个组件可以轻松创建新组件;2)智能搜索设备:通过模糊搜索,我们可以快速找到我们需要的设备;3)智能连接功能:自动连接功能,使连接线简单快捷,大大节省绘图时间;4)支持母线结构:采用母线装置和母线接线,使电路设计简单明了;5)完善的电路仿真功能,单片机协同仿真功能,实用的PCB设计平台等。图5.1Proteus软件仿真图如上面仿真图所示,若仿真系统可以完成预期的功能,那么运行仿真时,当将代表左侧传感器的开关闭合时,即模拟左侧传感器有低电平输入时,左电机不动,右电机顺时针旋转,模拟小车左转,右侧同理。当将代表反转和急停的开关闭合时,即模拟小车检测到障碍物时,左右电机同时逆时针旋转,然后迅速急停。之后根据左右两侧传感器的检测信号重复之前的流程。Proteus仿真器件的变化可以反映相对应硬件在实际情况下的状态,方便在出现问题时,只需调整器件之间的连线;而程序无法完成相应功能时,可在KEIL中修改后,迅速输出.hex文件,再将程序输入仿真中,进行再次调试。第6章系统测试与分析根据以上所述的系统计划,整个系统调试分析可以分为两大类:硬件调试分析和软件调试分析。由于硬件设计中使用的元器件类型较多并且内部原理复杂,需要对各个元器件的原理图进行简要明了的注释。6.1硬件调试确定总体方案和模块原理后,合理分配单片机的总体原理图和各输入、输出端口。我们还需要对整体设计进行全面全面的思考,看看是否有不足之处,还有什么可以改进的地方。最终确定了如下图6.1所示的原理图:电机驱动障模块超声波避障模块红外循迹模块电机驱动障模块超声波避障模块红外循迹模块图6.1整体原理图设计完原理图后开始对零件进行分类,根据设计的原理图对小车进行相应的焊接工作。焊接时应仔细,仔细与原理图进行对照检查,尽量避免出现断线、假焊、假焊等问题。焊接完成,确认无误后,应重新用万用表检查电路板。首先用万用表测量容易出现主观意识类问题的电路区域部分,然后对整体电路图进行一步步的测量和调试。尤其值得注意的是电源和地面是否有短路,这将导致整个电路无法工作,甚至在严重的情况下烧毁电路中的元件。在线路板上加电时,要事先检查电子元器件电源的电压值是否在元器件的合理范围。开机后,我们开始测试各个模块的功能是否正常。如果出现问题,将问题模块隔离,并研究问题的可能原因,找到原因后再解决问题。当各模块功能正常时,通过调节红外循迹传感器与地面之间的距离来调节其系统的灵敏度。如果灵敏度太高,车辆在正常行进过程中容易受到干扰。如果灵敏度太低,车辆可能无法正常工作。要经过多次试验才能调整到合适的值。在充分实现汽车各模块功能的情况下,加固汽车零部件及连接螺母、焊点等,防止零部件和模块在汽车行驶过程中脱落。6.2软件调试模块的系统软件调试过程:首先,编写单独的子程序模块时应注意不能出现全局变量,那将导致模块和模块之间的变量冲突,编写模块独立的子程序后仍然需要仔细检查,以确保程序的每一步都是根据程序流程图的步骤来进行的,若程序出现错误,要按照顺序一步步来解决。每个模块独立的子程序编写完成后,需要对整个程序进行集成和总结。在总结过程中,要注意整个程序的流向,调用子程序是否合理,是否缺少考虑,每个输入和输出引脚的分配是否合理。确保没有这些问题后,运行程序并测试整个程序。程序确定没有问题后,开始编译并使用KEIL软件生成.hex文件,写入单片机之后上电观察小车是否正常工作。通过软件调试来检查编写的程序的过程中确实出现的各种问题。例如,中英文符号错误,逻辑语序错误等等,之后经过对每个独立模块子程序的一次次修改,一点一点地完善整个程序。最终,编写出了一套相对稳定的程序。总结本设计的整个软硬件系统以STC89C52单片机芯片作为核心控制单元,采用红外光电传感器、超声波测距传感器、直流电动机驱动电路等模块,在软硬件

温馨提示

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

评论

0/150

提交评论