基于单片机的智能循迹小车

基于单片机的智能循迹小车

ID:16557502

大小:2.39 MB

页数:38页

时间:2018-08-22

上传者:U-3868
基于单片机的智能循迹小车_第1页
基于单片机的智能循迹小车_第2页
基于单片机的智能循迹小车_第3页
基于单片机的智能循迹小车_第4页
基于单片机的智能循迹小车_第5页
资源描述:

《基于单片机的智能循迹小车》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

摘要摘要本系统是基于STC89C52单片机的智能循迹小车的设计。硬件模块包括单片机最小系统模块、电机驱动模块、电源模块、光电传感器模块。软件部分包括主程序、控制程序、检测程序等。采用STC89C52单片机作为小车的控制核心,使用驱动芯片L298N构成双桥控制直流电机,采用TCRT5000红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色胶带引导线,采集信号并将信号转换为能被单片机识别的数字信号,其中软件系统Keil软件来编写所需的C语言程序,本设计的电路结构简单,容易实现,可靠性高。关键词:TCRT5000红外传感器,STC89C52单片机,L298N驱动芯片,智能循迹27 AbstractABSTRACTThissystemisthedesignofintelligenttrackingcarbasedonSTC89C52mcu.Thehardwaremoduleincludesaminimumsystemmodule,amotordrivemodule,apowermoduleandaphotoelectricsensormodule.Thesoftwarepartincludesthemainprogram,controlprogram,testingprogramandsoon.UsingSTC89C52microcontrollerasthecontrolcoreofthecar,usingthedrivingchipL298NconstituteShuangqiaoDCmotorcontrolusingtcrt5000reflectiveinfraredsensorswitchasthecarofthetrackingmoduletoidentifythewhiteroadcentralblacktapeguideline,signalacquisitionandsignalconversionisidentifiedbythesingle-chipdigitalsignal.ThesystemsoftwarekeilsoftwaretocompiletheClanguageprogram,thedesignofthecircuitstructureissimple,easytoimplement,andthereliabilityishigh.Keywords:TCRT5000infraredsensor,STC89C52MCU,L298Ndriverchip,intelligenttracking27 目录目录第1章引言11.1选题背景11.2研究目标和意义11.3设计思路2第2章系统的方案选取32.1系统主要组成部分32.2单片机最小系统模块的选择32.3电源模块的选择42.4电机驱动模块的选择42.5光电传感器模块的选择5第3章系统的硬件设计63.1硬件框架构图63.2单片机最小系统设计63.3电源模块设计73.4电机驱动模块设计83.5光电传感器模块设计9第4章系统的软件设计114.1Keil软件介绍114.2系统整体流程图154.3电机驱动模块设计174.4光电传感器模块设计17第5章系统的硬软件调试195.1系统的硬件调试195.1.1单片机最小系统的调试195.1.2电机驱动的调试195.1.3光电传感器的调试205.2系统的软件调试20第6章系统测试结果与分析2227 目录6.1小车的实物系统测试结果226.2系统测试结果的分析24第7章总结26参考文献27致谢28附录29附录一:整体电路图29附录二:实物图30附录三:程序代码3127 第1章引言第1章引言1.1选题背景随着社会的不断发展,科学技术水平的不断提高,人们希望创造出一种来代替人来做一些非常危险,或者要求精度高等事情的工具,于是就诞生了机器人这门学科。世界上诞生第一台机器人诞生于1959年,至今已有50多年的历史,机器人技术也取得了飞速的发展和进步,现已发展成一门包含:机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的性尖端技术。循迹小车共历了三代技术创新变革:第一代循迹小车是可编程的示教再现型,没有装载任何传感器,只是采用简单的开关控制,通过编程来设置循迹小车的路径与运动参数,在工作过程中,不能根据环境的变化而改变自身的运动轨迹。支持离线编程的第二代循迹小车具有一定感知和适应环境的能力,这类循迹小车装有简单的传感器,可以感觉到自身的运动位置,速度等其他物理量,电路是一个闭环反馈的控制系统,能适应一定的外部环境变化。第三代循迹小车是智能的,目前在研究和发展阶段,以多种外部传感器构成感官系统,通过采集外部的环境信息,精确地描述外部环境的变化。智能循迹小车,能独立完成任务,有其自身的知识基础,多信息处理系统,在结构化或半结构化的工作环境中,根据环境变化做出决策,有一定的适应能力,自我学习能力和自我组织的能力。为了让循迹小车能独立工作,一方面应具有较高的智慧和更广泛的应用,研究各种新机传感器,另一方面,也掌握多个多类传感器信息融合的技术,这样循迹小车可以更准确,更全面的获得所处环境的信息【1】1.2研究目标和意义目前,国内外的许多大学及研究机构都在积极投入人力、财力研制开发针对特殊27 第1章引言条件下的安全监测系统。其中包括研究使用远程、无人的方法来进行实现,如机器人、远程监控等。无线传输的发展使得测量变得相对简单而且使得处理数据的速度变得很快甚至可以达到实时处理。随着我国社会经济的不断发展,网络购物已经成为人们的一种生活习惯,既然网络购物这么欣盛,那么对物流业就是很大的一种刺激,现在的物流仓库在扩大规模的同时当然管理也必须跟上节奏,我们的基于单片机的智能循迹小车的设计就对物流业的管理有很大的帮助,我们的小车可以沿着设计好的轨道上行进同时也能达到转弯的目的。这样就能帮助人们将形形色色的货物按照一定的轨迹输送到目的地。当然目前只适合于较小的范围内,仓库就是很好的一个示范地。我们的小车如果能够被人们广泛采用的话,不仅能够节约管理成本,而且可以大大减少人工成本。除此之外,我们的智能循迹小车也能在战场或工程中也能发挥其功能。在战场上。可以将智能小车用于扫除路边炸弹,寻找和销毁地雷等。这样便可以大大减少士兵伤亡发生的概率,保证士兵的安全。在民用方面,可以探测化学泄露物质,可以进行地铁救火,以及在发生地震后到废墟中被埋人员等。在工程建设领域,可以对高速公路自动循迹。进行道路质量检测和破坏分析检测,对水库堤坝、海岸堤坝、江河大坝进行安全性检测,在制造领域可用于工业管道中机械损伤,裂纹等缺陷的探寻,对输油管道和输气管道的泄露和破坏点的查找和定位等。1.1设计思路本次设计我们准备以STC89C52单片机芯片作为控制核心,采用光电传感器的红外对管来采集数据。使用两个直流减速电机配以L298N芯片来控制小车的行驶状态,运用与白色地面反差很大的黑色绝缘胶带路线来引导小车按照既定路线前进。使用Keil软件来进行小车所需程序的编写。27 第2章系统的方案选取第1章系统的方案选取2.1系统主要组成部分智能循迹小车主要由STC89C52单片机电路、电源模块、L298N驱动模块、直流电机、光电传感器模块等组成。如下图2-1所示。图2-1智能循迹小车控制系统结构框图2.2单片机最小系统模块的选择方案一:可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案.针对本设计特点——27 第2章系统的方案选取多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。根据这些分析我们选用了MCS-51单片机。51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K。对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。综上所述两种方案,我们选择方案二。2.3电源模块的选择方案一:使用干电池作为供电电源,但考虑到干电池使用时间过长后电压不稳定,以及环境和经济的影响,我们排除方案一。方案二:采用12V蓄电池为直流电机供电。将12V电压通过降压稳压后给整个系统供电,因为蓄电池具有较强的电流驱动能力以及稳定的电压输出性能,并且能够反复充电使用,节约了成本,保护了环境。综上所述,我们选择了方案二。2.4电机驱动模块的选择方案一:采用直流电机,配合LM293驱动芯片组合。优点在于硬件电路的设计简单。当外加额定直流电压时,转速几乎相等。这类电机用于录音机、录相机、唱机或激光唱机等固定转速的机器或设备中。也用于变速范围很宽的驱动装置。容易受到外部因素干扰,影响稳定的转速和转矩输出。方案二:采用L298N作为电机驱动芯片。L298N是具有大电流、高电压、响应频率高等功能的全桥驱动芯片,该电机驱动芯片有操作方便、驱动能力强、稳定性能好等优点。一片L298N可分别控制两个直流电机,它的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。并且L298N的驱动功率较大,能够根据输入电压的大小来控制输出的电压和功率,能很好的解决负载能力不够的问题。电机采用双直流电动机,只需给电机的两条控制线加上一定的电压就能使电机旋转。在正常的工作电压范围内,电压越高直流电动机转速越高。综上所述,我们选择方案二。27 第2章系统的方案选取2.5光电传感器模块的选择方案一:寻迹模块我们可以用光敏电阻组成,光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到黑线上面时,光线反射较弱,光线照射到白色地面上时,光线反射较强。因此当光敏电阻在白色路面和黑线上方时,阻值会发生明显的变化将阻值的变化值转化为高低电平的变化。但是这种方式受环境光影响较大,不能稳定的工作,因此我们考虑其他更加稳定的方法。方案二:红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,用光电发射管和接受管自己制作光电循迹传感器,红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能收到反射回的光线则检测出白线从而输出低电平,若接受不到则检测出黑线那么就会输出高电平。采用反射型光电传感器,型号为TCRT5000,采用红外对管制作循迹电路,当检测到黑线时,红外接收管导通否则红外对管截止,通过比较器LM393进行电压比较,把电平状态传给单片机然后由其处理。单片机就是通过接收到的高低电平为依据来确定黑线的位置和小车前进的路线这种方式更加的可靠稳定。综上所述,我们选择方案二。27 第3章系统的硬件设计第1章系统的硬件设计3.1硬件框架构图小车的硬件由12V蓄电池、稳压系统、TCRT5000红外反射式光电传感器系统、STC89C52RC单片机、L298N电机驱动系统、双直流电动机等组成。如下图3-1所示。图3-1智能循迹小车硬件框架构图3.2单片机最小系统设计本次设计的主控芯片选择为STC89C52。STC89C52是一种低功耗高性能CMOS8位微控制器,具有8K的系统可编程Flash存储器使用高密度非易失性存储器技术制造,与89C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。主控电路模块采用AT89C52单片机作为主控芯,CPU采用外部经稳压电路模块输出的+5V直流电源供电。27 第3章系统的硬件设计电路图如下所示:其中包括了复位模块、晶振电路和CPU控制模块。如下图3-2所示。图3-1单片机最小系统原理图3.3电源模块设计高性能的电源管理系统对于电子系统稳定运行是至关重要的。作为智能车源,电源模块为系统的控制器,执行机构,传感器等各个模块提供可靠的工作电压。设计中,除了需要考虑电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化,电源管理模块的功能是对电池进行分配和电压调节,为其他各个模块的正常工作提供可靠的工作电压。智能车控制系统中,不同电路模块需要的工作电压和电流容量各不相同。芯片需要提供5V的工作电压,而电机所需的电压为12V,我们在这次设计中用到的是12V的电源供电,然后通过三端稳压器LM2596S将电压变换为5V电压供给电路系统。我们采用的LM2596S系列是德州仪器(TI)生产的3A电流输出降压开关型集成稳压芯片,它内含固定频率振荡器(150KHZ)和基准稳压器(1.23v),并具有完善的保护电路、电流限制等。利用该器件只需极少的外围器件便可构成高效稳压电路。电源工作原理图如下图3-3所示:27 第3章系统的硬件设计图3-1电源工作原理图图3-2三端稳压器实物图3.4电机驱动模块设计电机驱动模块电路是基于一片集成电机驱动芯片L298N。L298N是一种具有高电压大电流的全桥驱动芯片,它的响应频率高,只需用一个L298N就可以控制两个直流减速电机。而且还带有控制使能端,用它来当作驱动芯片,性能优良、稳定。其中L298N的5、7引脚作为一个电机的控制信号输入端,10、12引脚作为另一个电机的控制信号输入端。2、3引脚作为一个电机的控制信号输出端,13、14引脚作为另一个电机的控制信号输出端。并通过单片机对L298N的输入端进行指令控制,就能实现直流减速电机的正转和反转,从而控制小车的前进和后退。27 第3章系统的硬件设计电机驱动的原理图如下图3-5所示:图3-1电机驱动模块原理图3.5光电传感器模块设计我们在做光电传感器模块时采用了TCRT5000,TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。TCRT5000接收管接收到红外光时,电阻变小,相当于“导通”,输入端电压变低,低于输入端,输出低电平;没接收到光时电阻变大,相当于“断开”,输入端电压变高,高于输入端,输出高电平。TCRT5000的原理图如下3-6所示。27 第3章系统的硬件设计图3-1TCRT5000原理图在此部分中我们同样采用了LM393双电压比较器。LM393的输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受VCC端电压值的限制.此输出能作为一个简单的对地SPS开路(当不用负载电阻没被运用),输出部分的陷电流被可能得到的驱动和器件的β值所限制.当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。LM393内部采用双列直插8脚塑料封装(DIP8)和微形的双列8脚塑料封装(SOP8)。检测系统:智能循迹下车能够沿着导线自主前进。它是通过车体前部的光电传感器检测引导线条,发送信号到微控制器,然后微控制器对检测信号进行处理,并控制电机校正正偏移量,从而实现循迹功能。如果前部的两个传感器都检测到引导线条,传感器将发出信号,那么后轮的两个电机继续接通运转,驱动小车前进。但是如果只有一个传感器检测到信号,那么检测到信号的传感器将发出信号,并且该侧的电机继续前进,另一侧停止运转,以便达到转向的目的。27 第4章系统的软件设计第1章系统的软件设计4.1Keil软件介绍目前,52系列单片机使用的编程语言主要有汇编语言和C语言这两种,在选择这两种语言的时候,我们也综合考虑了他们的优点与缺点。最接近机器的语言是汇编语言,其常用来编制与系统硬件相关的程序,如访问I/O口、中断处理程序等,它是一种最快而又最有效的语言,在对于程序的空间和时间要求很高的场合中使用汇编语言是最佳的选择,然而汇编语言也有其自身的缺点,比如程序开发周期较长、浮点运算处理复杂、程序移植性差等不利因素但是在程序设计过程中C语言编程设计思想被称为模块化程序设计思想。有的时候为了有效地完成任务,把所要完成的任务分割成若干个相互独立但相互又仍然有所联系的模块,这些模块使得任务变得相对简单,对外的数据交换相对简单、容易编写、容易检测,容易阅读和维护,所以我们认为还是C语言更加适合我们的这个设计。随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,KEIL软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持KEIL即可看出。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这部分组合在一起。掌握这一软件的使用对于使用51系列单片机的学者来说是十分必要的,如果使用C语言编程,那么KEIL几乎就是最好的选择,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会事半功倍。KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势【8】。27 第4章系统的软件设计KEIL软件采用一个Project工程项目管理文件来保存、记录、管理用户在系统软件开发中所使用和生成的各种文件。双击打开KEIL软件出现以下界面。如下图4-1所示。图4-1Keil软件主界面点击Project--NewProject,新建一个工程。如下图4-2所示。图4-2Keil软件新建工程界面27 第4章系统的软件设计点击会出现对话框,在对话框中选择文件的保存路径,单击“保存”后,会出现选择单片机选择界面,选择本设计所需型号AT89C52单片机后单击“确定”。如下图4-3所示。图4-1选择电路板上所用的单片机型号界面在弹出的是否添加启动代码的对话框中点击“否”后会弹出一个空白的界面。如下图4-4所示。图4-2建立空文本框界面27 第4章系统的软件设计点击File下方的空白页图标后再点击右侧的保存,会弹出一个对话框,因为程序使用C语言,所以命名文本为***.c的格式。如下图4-5所示。图4-1保存文本改写界面然后就可以进行程序的编写。编写完程序后在左边ProjectWorkspace里的SourceGroup1上右击,选择AddFilestoGroup’SourceGroup1’。在打开的对话框中,选择刚存的文件路径和对应的扩展名。将程序添加至工程内。如下图4-6所示。图4-2添加工程界面27 第4章系统的软件设计在编译完程序后,当KEIL软件下方提示:0Error(s),0Warning(s).的时候就可以生成HEX文件了。点击目标设置快捷图标,在“Output”目标栏中勾选“CreateHEXFile”后点击“确定”。再点击重新编译,就会在工程所在文件夹里生成HEX文件。如下图4-7所示。图4-1生成HEX文件界面最后就可以将程序烧录到单片机当中了。4.2系统整体流程图27 第4章系统的软件设计小车的程序主要由单片机最小系统控制程序,电机驱动模块程序,光电传感器模块程序组成。通过Keil软件来进行C语言程序的编写。其中单片机最小系统控制程序能够分配以及调用各个模块函数,它主要负责各模块间的总体协调。电机驱动模块程序主要负责小车的运行状态的控制,它能根据传感器返回的信息判定小车现在所处的位置,并做出相应的响应。光电传感器模块程序负责稳定地判定各种信息,将信息返回,以便单片机最小系统控制程序或别的程序函数能够调用处理。如下图4-8所示。图4-1系统整体流程图27 第4章系统的软件设计4.3电机驱动模块设计电机驱动模块程序被称为控制函数,它能赋予电机以思想,让电机按照单片机输出的不同的高低电平使电机能按照控制正确的方式进行正传反转以及停止。如果输入引脚INC为高电平而输入引脚IND为低电平,左电机正转;如果输入引脚INC为低电平而输入引脚IND也为低电平,左电机便停止。同理,如果输入引脚INA为高电平而输入引脚INB为低电平,右电机正转;如果输入引脚INA为低电平而输入引脚INB也为低电平,又电机便停止。如下表4-1所示。表4-1小车驱动模块程序逻辑控制表左电机右电机左电机运行状态右电机运行状态小车运行状态INCINDINAINB1010正转正转前进0010停止正转左转1000正转停止右转4.4光电传感器模块设计光电传感器模块程序被称为检测循迹函数,它的功能是将探测器检测到不同光强时所产生的不同电流信号转换为单片机能够识别的高低电平,从而让单片机能够控制小车按照检车到的路线进行前进。程序的设计是按照如果小车向前行驶时右边探测到黑线,那么右边的传感器就会产生一个高电平,右传感器亮,单片机识别到这个信号后,就会让小车左电机正转右电机停转,从而小车完成右转。同理如果小车左边探测到黑线,左边传感器产生一个高电平,左传感器亮27 第4章系统的软件设计,单片机识别到这个信号后,就会让小车右电机正转左电机停转,这样小车就能完成左转。若两个光电传感器同时输出的信号为高电平,或同时为低电平时,小车就会向前行驶。如下表4-2所示。表4-2小车光电传感器模块程序控制逻辑表左探测器右探测器左电机运行状态右电机运行状态小车运行状态11正转正转前进00正转正转前进10停止正转左转01正转停止右转27 第5章系统的硬软件调试第1章系统的硬软件调试5.1系统的硬件调试调试过程中首先要检测的就是软件电路的设计原理是否正确,能否达到预期效果以及实现方法是否简单方便等等。其次就是我们在焊接好既有线路之后,认真检查电路的焊接情况,我们采用的是分块调试的方法,单片机系统模块调试、稳压模块调试、电机驱动模块调试、光电传感器模块调试。在对每个模块进行调试的过程中又采用了由局部到整体,由简单到复杂的调试方法,最后将各个模块糅合到一个整体。5.1.1单片机最小系统的调试在对单片机最小系统进行调试时,首先我们先对单片机最小系统进行焊接。除了将AT89C52芯片进行了焊接,我们也将相应的晶振电路和复位电路进行了焊接,其中18、19脚我们接的晶振电路,9脚我们接的复位电路。我们所用到的元器件包括了电阻(100欧姆和8.2千欧姆各一个)、晶振(12MHZ)、瓷片电容(30pf两个)、电解电容(10uf一个)。在进行芯片的焊接时候我们都还可以,基本没有犯错误,但是在晶振电路的焊接时,我们将管脚找错了,管脚号码没有对应上,还好我们的讲师提前帮我们发现了,才减少了许多的后面的无用功。为了不出现虚焊的问题,我们将万用表打到蜂鸣端,将管脚之间的焊接点一一进行检测,然后确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了我们采用的方法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口的电压,看是否是高电平,如果不是高电平,那么就是因为晶振没有起振,我们就要对晶振电路改进。5.1.2电机驱动的调试我们按照原理图把整个电机驱动部分的电路焊接好之后,我们将万用表打到27 第5章系统的硬软件调试蜂鸣端,将管脚之间的焊接点一一进行检测在确定没有出现虚焊问题后能使芯片处于正常工作状态,然后将L298N的IN1,IN2端口与单片机P0.0,P0.1相连。OUT1.OUT2端口与第一个电机连接,然后我们给IN1加高电平,IN2加低电平电机能使实现正转。同理我们给L298N的IN3,IN4端口与单片机P0.2,P0.3相连。OUT3.OUT3端口与另一个电机连接同样能够实现正转。并且当我们给IN1低电平,IN2高电平时,电机能够实现反转。所以说电机驱动部分的调试还算顺利。5.1.3光电传感器的调试对TCRT5000光电传感器的调试,我们首先将其安装在小车的前部,并且安装之间的距离合适,这样才能正确的避免因为距离过大而对我们的黑色胶带检测不到。当我们布置好循迹轨道,给小车通电后,小车能够正常的运动。此时传感器的红外发射二极管不断地发射红外线,当红外线没有被反射回来时光敏三极管一直处于关闭状态,此时的模块输出为低电平,能够看到指示二极管处于熄灭状态,当被检测的到轨迹时,光敏三极管处于饱和状态,此时模块输出为高电平,二极管点亮。我们在重复多次后小车都没有出现故障,我们就可以认为循迹模块能够正常的工作。小车也能按照我们的意愿实现循迹功能。5.2系统的软件调试在软件调试中,使用Keil软件进行软件编译与调试,使用STC及其配套的STC89C52单片机对程序进行烧录。软件调试的流程可以充分借助Keil的调试工具、监控窗口、指令运行方式等来进行调试。调试检测循迹函数功能的时候,采用单步运行方式,打开Keil中端监控窗口中的P2口,并调节P2.7=P2.6=0,光标会跳到tingzhi()函数去执行。如下图5-1所示。27 第5章系统的硬软件调试图5-1调试检测循迹程序窗口调试控制函数功能的时候,打开Keil中端监控窗口中的P1口,并调节P1.3=P1.2=P1.1=P1.0=0,光标会跳到ti()函数去执行。如下图5-2所示。图5-2调试电机驱动程序窗口27 第6章系统测试结果与分析第1章系统测试结果与分析6.1小车的实物系统测试结果首先用黑色胶布在地上标出循迹小车所需的路径轨道,轨道由直线、左转、右转、直角急转,大弧度掉头组成。如下图6-1所示。图6-1小车测试轨道将通电的循迹小车放在轨道上,使小车前端的两个红外探测器探头置于黑线外两端,此时两个红外探测器探头均未探测到黑线,输出低电平。小车能够平稳的直线前进。如下图6-2所示。27 第6章系统测试结果与分析图6-2循迹小车直线前进图当小车行驶至左转弯或左大弧度掉头时,小车的左探头检测到黑线,左探测头的指示灯熄灭,输出高电平,右电机正转,右探测头未检测到黑线,右探头的指示灯亮,输出低电平,左电机停转,小车成功完成左转或左大弧度掉头。当小车行驶至右转弯或右大弧度掉头时,小车的右探头检测到黑线,右探测头的指示灯熄灭,输出高电平,左电机正转,左探测头未检测到黑线,左探头的指示灯亮,输出低电平,右电机停转,小车成功完成右转或右大弧度掉头。如下图6-3所示。图6-3循迹小车右转图当小车行驶至向左直角急转处时,小车直接驶出黑色胶带轨道,并未完成向左直角转弯。如下图6-4和6-5所示。27 第6章系统测试结果与分析图6-4循迹小车直角急转弯图图6-5循迹小车未完成直角急转弯图6.2系统测试结果的分析经过测试,智能循迹小车基本能够完成大部分预设路径的行驶功能,例如直行、左右转弯、大弧度掉头等功能都能很好的实现,但是不能进行直角急转。27 第6章系统测试结果与分析在小车行驶至左直角转弯路段时,我们发现,虽然小车的左红外探测头探测到黑线,输出了高电平,系统从而对小车发出了左转命令,但小车依然直接冲出了跑道,没有完成左直角转弯命令。我们猜测这是因为小车行驶速度过快,没有进行调速,致使小车不能在直角处减速过弯。我们准备使用PWM调速对小车速度进行控制,但是因为技术原因,我们经过几次尝试后最终失败。另外,小车的负重能力较弱,无法将蓄电池安置于小车上自由行驶,需靠人手持电池,跟随小车进行循迹,但考虑到使用干电池的用量以及干电池对环境的影响,我们并未对此进行改进。27 第7章总结第1章总结整个系统的设计以单片机为核心,利用了红外光对管传感器,将软件和硬件相结合。本系统能实现如下功能:基本能沿预设路径行驶,小车在行驶过程中,能够自动检测预先设好的路径,实现直行、左右转弯和大弧度掉头的行驶。从运行情况来看循迹的效果比较好。不足之处小车控制不稳定,运行时显得有些摇摆,并且不能实现直角急转,经过分析后我们认为这是由于小车的行驶速度太快所致,虽说可以用PWM来控制车速,但短时间内我还不能很好的处理好这个问题。现阶段小车虽然只能实现最简单的循迹功能,但我相信时间的允许下我肯定能解决这些问题。通过本次设计我掌握了很多以前不熟练的东西,认识了很多以前不熟悉得东西,我对单片机也有了更深刻的认识。27 参考文献参考文献[1]罗志增,蒋静坪编著.循迹小车感觉与多信息融合.北京:机械工业出版社,2003:1-10.[2]蔡自兴编著.中国的智能循迹小车研究.莆田学院学报,2002,9(3):36-39.[3]吴林编著.智能循迹小车主题型号工作的回顾.循迹小车技术与应用,2001:6-9.[4]欧青立,何刻忠等编著.室外智能循迹小车的发展及其关键技术研究.循迹小车,2000,22(6):519-526[5]赵振德编著.多功能遥控智能小车的制作.电子制作.2009.1[6]恒盛杰资讯编著.Protel电路板设计从入门到精通.第1版.中国青年出版社.2006:1-148[7]陈铁军著.智能控制理论及应用.第1版.清华大学出版社,2009:1-296[8]陈晓莉,张俊涛.KEILC51单片机仿真器的设计.第二版.陕西科技大学出版社,2006:19-20.[9]杨素行编著.模拟电子技术基础简明教程.第2版.高等教育出版社,2005:532-547[10]余孟尝编著.数字电子技术基础简明教程.第2版.高等教育出版社.1999:1-361[11]李全利,迟荣强编著.单片机原理及接口技术.第1版.高等教育出版社,2004:14-191[12]王守中编著.51单片机开发入门与典型实例.第1版.人民邮电出版社,2007:103-10827 致谢致谢在论文完成之际,谨向指导老师致以最诚挚的感谢。在本文的研究工作之中指导老师从始至终都给予了我们热心的指导和关心。从指导老师的身上,我不但学到了老师在课上传授的专业知识,而且也学到了怎样自学,更学到了许多做人的道理。所谓“送人一鱼,仅供一饭之需;而授之以渔,则终生受用无穷。”同时我也感谢同组成员的通力合作,是他们认真对待本次设计的认真态度,让我们能在分工合作下高效的完成本次设计中各个部分的工作。最后我也要感谢家人,是他们的支持和理解,让我能够安心完成毕业设计,他们是我最坚强的后盾。谢谢各位老师和学者能在百忙之中抽出时间评阅我们的论文论文。由于知识水平有限,在设计中难免会犯一些错误,希望各位老师能够给予批评和指正,让我能学习到更多的经验。谢谢大家!27 附录附录附录一:整体电路图33 附录附录二:实物图33 附录附录三:程序代码#include"reg51.h"33 附录/*********************第一部分*********************///以下是电机驱动芯片L298N管脚位声明sbitind=P1^0;//电机控制端sbitinc=P1^1;sbitinb=P1^2;sbitina=P1^3;sbithong1=P2^7;//传感器管脚位声明sbithong2=P2^6;voiddelay_s(inta){inti,j;for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭