智能循迹避障小车设计Word版_第1页
智能循迹避障小车设计Word版_第2页
智能循迹避障小车设计Word版_第3页
智能循迹避障小车设计Word版_第4页
智能循迹避障小车设计Word版_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)课题名称智能循迹避障小车设计学生姓名XXX学号00000000000000系、年级专业XXXXXXXXXXXXXXXXXXX指导教师XXX职称讲师2016年5月18日摘要自从首个工业智能设施诞生以来,智能设施的发展已经扩展到了包括机器、刻板、电子、冶金、交通、宇航、国防等产业领域。近年来智能设施水平迅速上升,大大的改变了大多数人类的生活方式。在人类的智能化技术不断飞速进步的过程中,能够取代手动的机器人在更加人性化的同时也越来越智能化。本文主要讨论了基于单片机的智能循迹避障小车的设计。智能自动循迹制导系统在驱动电路的基础上,实现自动跟踪汽车导线,而智能避障是使用红外传感器测距系统来实现功能来规避障碍。智能寻光避障小车是一种采用了多种传感器,以单片机为核心,电力马达驱动和自动控制为技术,根据程序预先确定的模式,而不是人工管理来实现避障导航的自动跟踪高新技术。这项技术已广泛应用于智能无人驾驶、智能机器人、全自动工厂等许多领域。这个设计使用STC89C52单片机[1]作为小车的智能核心,使用红外传感器对智能小车跟踪模块识别引导线跟踪,收集模拟信号并将信号转换成为数字信号,使用C语言编写程序,设计的电路结构简单,易于实现,时效性高。关键词:智能化;单片机最小系统;传感器;驱动电路ABSTRACTFromthefirstlevelofindustrialintelligentfacilitiessincebirth,thedevelopmentofintelligentfacilitieshasbeenbroadenedtoincludemachinery,electronics,metallurgy,transportation,aerospace,defenseandotherfields.Intelligentfacilitieslevelrisinginrecentyears,andrapidly,significantlychangedthewaypeoplelive.Peopleintheprocessofthinking,improvement,learningandintelligenceofreplacethemanualmachineismoreandmore.Thispapermainlydiscussestheintelligenttrackingbasedonsinglechipmicrocomputercontrolprocessoftheobstacleavoidancecar.Intelligentautomatictrackingisbasedonthedrivingcircuitoftheguidancesystem,toachieveautomatictrackingcarline;obstacleavoidanceistheuseofinfraredsensorrangingsystemtorealizethefunctiontoevadeobstacles.Intelligenttrackingobstacleavoidancecarisausedifferentsensor,motordriveforpowerandautomaticcontroltechnologytorealizeaccordingtotheprocedurespredeterminedmode,notbyartificialmanagementcanrealizetheautomatictrackingofobstacleavoidancenavigationofhighandnewtechnology.Thetechnologyhasbeenwidelyusedinunmannedintelligentunmannedline,intelligentrobotandsoonmanyfields.Usinginfraredsensorsforcartrackingmoduletoidentifytheguidelinetracking,collectinganalogsignalandconvertsthesignalintodigitalsignal;UsingClanguagetowritetheprogram,thedesignofthecircuitstructureissimple,easytoimplement,timelinessishigh.Keywords:Intelligent;Singlechipmicrocomputerminimumsystem;TheSensor;Drivercircuit目录TOC\o"1-2"\f\h\z\u第1章绪论 11.1智能小车的发展近况与趋势 11.2课题研究的目的及意义 11.3课题研究的主要内容 2第2章方案设计 32.1系统概述 32.2硬件模块方案 32.3软件模块方案 5第3章硬件设计 63.1电源模块 63.2核心控制模块 63.3循迹模块 73.4避障模块 83.5无线遥控模块 93.6电机驱动模块 103.7拓展模块 13第4章软件模块 154.1循迹程序模块 154.2避障程序模块 164.3无线遥控程序模块 174.4寻光拓展程序模块 184.5驱动电机程序模块 19第5章系统测试与分析 205.1硬件调试 205.2软件调试 21总结 22参考文献: 23附录 24致谢 25第1章绪论1.1智能小车的发展近况与趋势1.1.1智能小车的发展近况现阶段智能汽车的发展十分的迅速,从智能玩具到其他各行各业都有实质性的结果[1]。基本可以实现跟踪和避障测试、光学信息存储等日常生活中基本能够涵盖到的功能,智能汽车的电子设计竞赛中的声音控制系统开发以及人工智能化是近几年中一个非常大的侧重点。1.1.2智能小车的发展趋势现今的智能小车的科技含量已经非常的高了,目前在研究和发展阶段的中,各种外部的传感器构成,使得小车能够通过感官系统外部环境的信息采集来进行精密的描绘外部环境的变化[2]。智能循迹小车能根据环境的转变,依靠其本身内置的程序模块知识库,在很多十分复杂多变的场景中依旧能够完成所制定的功能模块,并具有一定的决策和适应能力、自我学习能力和自我组织的能力[3]。为了让智能小车能更加完善的完成预订的功能模块,在应该所具有较高的智能化和普遍的应用化技术研究,另一方面也应该探讨多类传感器信息融合技术的发展,以获得小车途径中周围环境更准确,更全面的信息。1.2课题研究的目的及意义1.2.1课题研究目的智能化机器人的不断涌现和此技术的迅速发展,使得传统的生产发生了根本的改变,让人类的生产方式从繁重且机械式劳动进入到了机械与自动化智能的新时代。机器人技术是科学研究领域的一个极重要的焦点[4]。机器人研究集物理力学、电子、机械工程、计算机科学和自动控制为一个有机整体,是一个综合性十分强的全面化学科。1.2.2课题研究意义伴随着社会的飞速发展,科学技术水平的提高,人们都希望创造一种能够代替人类来完成部分的危险或者其他的要求且拥有高等精度的工具,于是便诞生出了智能化学科。现在所涌现出来的智能小车都发展的非常迅速,从智能化玩具到其他的各行各业都有了很大且实质性的效果。可以实现基本的跟踪循迹、避障、寻光进库、规避悬崖等功能,部分电子设计大赛的智能汽车的重点都在在语音控制系统开发上有了非常大的偏移。1.3课题研究的主要内容包括距离感应器在内的机器人传感器,使得自动化行驶成为一个机器人的重要组成部分。视觉传感器的典型应用领域就是自主智能导航系统,因为各种不同的视觉图像处理技术的发展,机器视觉技术和基于图像理解技术,需要通过大量的作业就可以知道一些简单的结构化的环境目标[6]。核心的设备是一个自动化场效应管或视觉感光传感器,视觉感光传感器已经能够基本的实现自动化对焦。但是视觉感光传感器的价格昂贵,使用得其在某些方面的优势是非常微弱的,所以在不需要一个非常清晰的图像而只需要粗略感觉下,自动化场效应管传感器的使用系统被认为是一个最为实用和有效的选择方法。机器人要达成独立导向引导效果以及避障的功能模块,就必须要规范和感知障碍,这就需要给予智能化设备一个十分精准的视觉引导线性函数。智能避障控制系统是基于自动化智能引导车辆系统(AVG-自动引导车辆),在此系统实现自动识别的基础上,让我们的智能汽车能够自动避开障碍,并且选择正确的行驶道路[5]。使用一个优秀可行的传感器以及一个接近完美无重大问题的函数算法是小车能够作出正确的判断和相应的步骤的一个至关重要的点。智能汽车已经可以说成为了智能机器人的一个十分典型的重要代表。它可以在结构上大致的分为三个部分:传感器检测部分、执行部分和中央智能处理器。机器人如果基本达成了自动避让障碍物的效果模块,还能够将此功能应用到感知轨道、远离干扰物等其他方面。第2章方案设计2.1系统概述根据实际的所需要求,所以使用以下解决方案:基于现有的电动智能化玩具汽车,配备基础并精准的光电传感器,实现电动智能小汽车的运行速度、位置都能够进行实时检测,将数据传输到单片机中进行处理,然后根据所检测到的不同的测试数据,反馈到单片机以实现智能控制此智能化电动小汽车。这个方案可以实现在进行实时运动的过程中同时使得电气控制具有灵活、可靠、精度高的特点[6]。由单片机作为整个系统的控制核心来控制的汽车性能指标。一个完整的分析系统,关键是要意识到汽车的自动控制,在这一点上,单片机将显示其优势,其控制方便简单,迅速快捷。因此,可以充分利用其丰富的资源和更加强大的控制功能,可以解决其他控制核心出现的操作功能,价格等缺点。2.2硬件模块方案2.2.1硬件模块系统结构使用简洁明了的系统设计方案。在智能循迹模块中,使用红外感应以及高精度光电二极管来判断所设置路径,并进行跟踪功能的工作;在智能避障模块中,使用超声波测距模块检测前方障碍。在获得传感器数据后,然后再由单片机通过IO口控制驱动模块改变两个直流电机的工作状态,最终实现自动跟踪。如图2.1所示:图2.1智能循迹小车控制系统结构框图2.2.2各模块功能概述整体模块可以分为以下几个部分:核心控制模块:使用STC89C52单片机芯片作为主要控制单元。此单片机优点十分的多,也是我们在大学时使用频率最高的一款单片机型号,因为其所具有的操作简便,成本低廉,抗干扰能力十分强的特点而受到广大电子技术者的喜爱。循迹模块:使用了红外传感器,因为其的信号稳定性以及波形制式等原因,可以有效的减少外界的干扰因素所带来的影响。信号采集部分相当于是智能循迹避障小车的眼睛,黑色引导线的识别和执行的高电平和低信号传送到控制单元中,控制驱动模块和单片机指令生成控制两个直流电机的工作状态,完成自动跟踪。避障模块:采用反射式超声波测距换能器,只要有物体反射超声波时就能有信号输入,再将接受信号的计时器值减去发送信号时计数器的值,就可以得出小车至所测量到的干扰物的距离。将此距离信息发送给核心控制模块,单片机将会根据程序设定使小车的行驶发生偏移,从而达到规避干扰物的目的。红外遥控模块:采红外模块分为一个红外接受元器件与一个红外发射元器件(即红外遥控器),通过红外发射元器件发射对应频率的红外接受元器件中。使得红外接受元器件的信号发生改变,再将这个信号传送到单片机中,单片机开始输出控制指令,从而实现红外控制。驱动模块:采取电机驱动芯片L293D作为智能循迹避障小车的驱动。这是一款具备有稳定的H桥电机驱动系统的智能化芯片。L293D能够同时对两个直流电机进行控制。L293D可以使用外部核心进行控制,也可以使用单片机控制软件,满足各种复杂的电路。此外,L293D驱动的功率较大,可以根据不同的输入电压和输出电压的大小和功率选择不同的负载能力[7]。直流电机:分为左右两个直流电机。相比异步电动机,直流电机的控制方法更为简单,只需要添加适当的电压电就可以使电机旋转,在正常工作电压范围内,电压越高直流电机的旋转速度越快。电源模块:由四节的1.5V的干电池作为电源。2.3软件模块方案现今,52系列单片机编程所使用的主要语言有两种即汇编语言和C语言。汇编语言是最接近机器语言,也是真正的面向对象的一种机器语言。它广泛的应用于程序相关的系统硬件,如访问I/O端口,中断处理程序等等,是最快速和最具有效力的语言之一,在有一定的空间和时间需求的情况下使用汇编语言程序是最好的选择,但汇编语言也有其自身的缺点与局限性,如项目开发周期长,浮点运算处理缓慢,复杂的和糟糕的应用程序的可移植性等等。在程序设计过程中,设计C语言的思想是:模块化编程思想。在很多时候为了有效地完成任务,该语言将任务分为几个相互独立但仍然有着一定连接的一些个模块。这些模块中,每一个模块的任务相对简单,其模块对外部数据交换也相对轻松,易于编写,容易检测,易于阅读和维护。而且C语音编程的可移植性强,便于更多的人来进行修改和编写。具体流程图如下图2.2所示:图2.2系统主程序流程图第3章硬件设计3.1电源模块电源模块只需所有器件采用统一的一种单一电源(即4节AA电池)。这样供电简单快捷、电压稳定,成本低廉。3.2核心控制模块本次设计中所采用的控制中心为STC89C52RC。该模块主要分为供电部分、晶振电路部分、复位电路部分、下载接口部分、控制部分五大块。其中供电部分给予单片机电源能量动力;晶振电路部分相当于是单片机的心脏,给予单片机一个稳定的时钟,让单片机能够在此时钟的基础上制造一定的时序;复位电路部分是将单片机进行初始化的过程中所需要的,在本次设计中并未使用;下载接口是用来给单片机进行程序下载的;控制核心即单片机,相当于是人类的大脑,整个设计的控制中心。具体输入输出口配置如图3.1所示:图3.1单片机系统简单原理图3.3循迹模块红外感应器的传输方式因为其抗干扰能力强、发射功率十分的巨大,已普遍应用于智能化生产[8]。红外感应器根据其工作形式的不同大体上可以分为主动红外探测器和被动红外探测器,这两种工作模式都是通过光的阴影以及光学方法如反射、折射来检测对象至目标的位置。被动红外探测器本身是不发射光源的,它只能被动的利用其他光源,通过接受目标其所被发现的特殊性特征光谱辐射来测量并探测物体本身至目标的位置、温度或红外成像。此工作模式下电机驱动系统十分的方便迅速,不过同时其功能精准性以及模块抗干扰能力也相对来说比较差,主动红外探测器由于其调制模式的连接通信问题,可以解决了交换耦合直流放大器漂移问题,这样就可以大大的提高探测精度。与此同时,大部分的时间信号干扰由于环境光直流或低频分量可以用所预先设计的过滤器加以隔离开来,所以抗干扰能力十分的强大,缺点是具有相对被动红外探测器来说更为复杂的系统。具体原理图如图3.2所示。图3.2循迹模块设计原理图根据方案选择采用了被动式红外循迹检测方法,这种方法根据使用所发射信号的在具有差异的对象的不同光谱中有不同的曲射特性,智能小汽车在地面中驾驶的连续过程中不断的发射一定的特征红外感光光线,特征红外感光光线漫反射在地板上的白光再转换为反射光,被安装在小车底部的红外自动接收管;而我们预先设置好的黑色引导线会将特征红外感光光线吸收,不可能会让一个自动红外接收管所接收到。根据核心控制模块所接收到的信号反馈来实现对引导线的距离以及小车的前进方向进行调整。红外探测器探测范围也是有一定局限性的,一般来说是不会超过3厘米的。但由于我们是将红外探测器安装在小车底部,从地面近距离的漫反射到传感器的距离十分的近,所以在此设计中红外探测器的使用是足以实现跟踪功能的。3.4避障模块本次设计中采用的是反射式超声波测距换能器,相比红外传感器,反射式超声波测距换能器的设计模块系统更加简单方便,同时因为其超声波的特性,在不同的介质中传输速度更为稳定,而红外避障模块的整体设计更为复杂,抗干扰能力也相对反射式超声波测距换能器来说更差,所以使用反射式超声波测距换能器更为合适。原理图如图3.3所示。超声波测距的原理是利用单片机持续的输出一个频率为40KHZ的输出触发电平信号,将之前所发出的输出触发电平信号通过三角针输入至超声波测距模块,再通过发射器的一个方向发射超声波,超声波测距模块在单片机软件定时器时钟电路的开始时刻开始进行计数计时。超声波在空气中进行传播,遇到障碍物之后将会在进行返回[9]。超声波测距模块接收到遇到障碍之后返回的反射波之后,接收到回波信号之后生成的响应将会反馈到单片机,在这个时候单片机就会立即停止计时。如下图是超声波模块的电路原理图,由于超声波的传播速度为已知,故可以根据计时器开始记录的时间,以及遇到一个障碍物之后返回时单片机收到的反馈时间就可以计算的距离。为使得超声波模块能够更加的精确,故将其独立设置一个电源模块,下图3.4为超声波模块电源原理图。图3.3超声波模块原理图图3.4超声波模块电源原理图3.5无线遥控模块无线遥控模块根据方案论证是使用红外遥控来实现的。一般来说常用的红外遥控系统通常是由一个红外发射器件(即红外电子遥控器)以及红外接受两个模块构成的,使用已经高度集成的专业编码芯片运行程序所需的指令。放射模块一般都包括有:外设键盘矩阵、编码调制解读器、红外发送器件等,而接受部分包括光电数模放大稳压器件、解码电路、解调电路等部分构成的。具体流程图如图3.5所示。图3.5红外无线遥控系统示意图在红外发射器(即遥控器)发射红外信号时,首先得根据信号的不同选择相应的矩阵按键,根据命令的不同,所需的按键遥控编码也是不相同的。其具体的波形图如图3.6所示。图3.6红外遥控解码波形图红外接受器件可以选择使用集成了光电放大器一级红外接收器于一体的红外接受器件,不在需要外加任何的外部器件。十分的简洁方便。且能够正常的完成由接受到的红外信号到转换为数字信号的过程中的所有工作,同时体型相当的小巧,相应的电路也更加简单。3.6电机驱动模块3.6.1直流驱动电机的原理直流驱动电机是根据一个稳定的直流稳压电源的能量输入,再根据输入的电压以及所设置的电路来输出不同机械能的机械。如下图所示为常用的驱动电机原理内部设计图。一般来说我们称呼这个电路为“H桥驱动电路”,因为此电路的整体外形像是英文中的大写字母的“H”[10]。一共有四个稳压电源的三极管环绕在驱动电机的四周。要使得驱动电动机能够正常的工作,必须要让所处与对角线上的两对稳压三极管同时导通。根据所需要求的不同,在不同的条件下稳压三极管的传导电流的方向可变,可以是从左到右穿过电动机,也可以是从右到左穿过驱动电动机。根据传导电流方向的不同从而控制驱动电机的转向。如下图3.7所示。图3.7“H”桥驱动电路原理图如上所述,要使得驱动电动机能够正常的工作,必须要让所处与对角线上的两对稳压三极管同时导通。举个例子:当左上角的稳压三极管与处于其对角线的右下角稳压三极管同时进行工作,这个时候电机的电流就会从电源的正极经过左上角稳压三极管从左至右穿过我们的驱动电机,之后再经过右下角稳压三极管回到驱动电机电源的负极,此时电机将会向右偏移。这种状态下,驱动电机将会顺时针转动。同理当左下角稳压三极管与处于其对角线的右上角稳压三极管同时导通,这个时候电机的电流就会从电源的负极经过左下角稳压三极管从右至左穿过我们的驱动电机,之后再经过右上角稳压三极管回到驱动电机电源的正极。这种状态下,驱动电机将会逆时针转动。3.6.2直流电机驱动电路在本次设计中,直接使用封装好的电机驱动电路,即使用电机驱动芯片L293D。如下图3.8为L293D的电路图:图3.8L293D电路图可以看出此芯片其内部电路就是H桥驱动电路。下图3.9为L293D的引脚图:图3.9L293D引脚图相比于普通的直流驱动电机电路,使用L293D芯片是通过控制脉冲负载比算法来实现速度控制。这种方式具有更加良好的调速特性、平和调整速度、可调速度更大、装载能力也更加强大。由于在本次设计中,驱动电机是靠单片机来控制的。所以说我们最终是靠单片机的I/O的脉冲来控制H桥中稳压三极管的导通与短路,从而控制直流驱动电机封装L293D进行左转、右转、前进或后退等不同的指令。下表为L293D芯片的四个输出口在不同的导通情况下所执行的状态指令。其中“1”指此I/O口输出高电平,“0”指此I/O口输出低电平。out1out2out3out4状态1001前行0110后退1010左转0101右转根据如上所示的原理即设计,便可得出如图3.10所示的电路原理图。图3.10电机驱动模块原理图3.7拓展模块在本次设计中,除了必要的循迹功能模块以及避障功能模块外,还加入了一些可拓展模块。此类模块功能更为复杂,所以完成难度更高。3.7.1智能寻光模块智能寻光模块中,寻光性的收集信息来源是使用光敏电阻的电气特性,将电压比较器的原始信号和处理信号输入到单片机中,利用此信号就能够对光线的强弱进行比较,从而得出光强的多少来完成相应的模块功能。利用软件程序来代替冗长的硬件原理模块,这样还可以使系统更加的灵活,使系统硬件更加的简洁,更容易实现各种各样的功能[11]。使用光敏电阻的电气特性寻光有两种方法:采用光敏二极管的感光特性来实现对光源的检测,在这种方法下,二极管响应快,制作十分简洁,同时用到的材料还环保,但是一般灵敏度比光敏电阻低,而且稳定性差;而利用光敏电阻的高灵敏感光特性,除了所得到的信号具有光谱特性一致性等优点以外,在外部环境十分恶劣的情况下,也能够十分稳定的保持其功能模块的可靠性;即使是在完全黑暗的环境里,它的电阻值依旧很高,而当其受到光线照射时,其电阻成线性函数关系改变。下图3.11为智能寻光拓展模块原理图。图3.11智能寻光拓展模块原理图在此模块中使用的电压比较器是否适合是寻光模块是否能够运行,运行结果是否精准的重点,在本次设计中我使用的是电压比较器LM393。如下图3.12为LM393电压比较器内部结构图。图3.12LM393内部结构图它可与光敏二极管的输入端相连,接收由电阻值变化产生的光,将模拟信号转换为输入电压比较器的输入电压,该电压信号的变化与电压比较器的反相输入端的基准电压相比,电压比较器的输出电压高于电压比较器的输出电压,这个时候同相电压将会大于反向侧电压,当相同的相电压小于反向电压时,电压比较器的输出端将输出一个低电平电压,并且将电压信号发送给单片机。从而能够实现寻光的目的[12]。下图3.13中为电压比较器的引脚图。图3.13LM393电压比较器引脚图第4章软件模块4.1循迹程序模块智能循迹模块流程图如下图4.1所示:图4.1智能循迹模块流程图当单片机进行初始化之后,智能循迹避障小车将会先前进一小段,之后将会让左前灯指示左前红外探测状态,即如果左侧红外探头检测到黑色引导线,探头正常工作,则智能循迹避障小车前方左侧指示灯就会发光。同理右前灯指示右前红外探测状态。同时,蜂鸣器根据红外探头的状态开始发出声音。在初始化之后,单片机根据红外探头的状态检测,与其对应的I/O进行扫描。再根据所得到的扫描结果检测红外探头是否检测到黑色引导线。假设右侧红外探头没有信号但左侧红外探头有信号时,即黑色引导线在向左侧偏移,此时开始电机开始左转,在经过十分短暂的延时之后,再次判断是否还需继续左转,直至角度正确为止。同理,假设左侧红外探头没有信号但右侧红外探头有信号时,即黑色引导线在向右侧偏移,此时开始电机开始右转,在经过十分短暂的延时之后,再次判断是否还需继续左转,直至角度正确为止。4.2避障程序模块智能避障程序流程图如下图4.2所示:图4.2智能避障程序流程图智能避障程序主要是根据小车前方的避障模块是否有接收到所发出的信号来决定的。当小车前方检测到前方出现不明干扰物的时候,蜂鸣器将会开始鸣叫发声,提示小车开始准备避开障碍物。在这个时候小车开始停止运行,为了防止稳压电机的反向冲击电压进入单片机中,导致单片机系统开始初始化复位,从而使得程序坏死,故在此设置一个短暂的延时程序。在小车停止之后,为避开障碍物,小车将会开始向后行驶短暂的距离,使得障碍物与小车保持一定的空间。在成功避开障碍物后,驱动电机开始左向偏转,小车左转。待调整到一个合适的角度,小车继续向前行驶,直至其再次遇到其他障碍物。4.3无线遥控程序模块无线红外遥控程序模块流程示意图如下图4.3所示:图4.3无线红外遥控解码程序流程图首先需要开始并且初始化定时器,关闭外部中断,防止再有信号到达红外接收器中导致程序出现运行死掉的情况,之后需要设置一个短暂的延时程序,用以进行红外发射器的按键消除抖动。接着判断红外发射器的发射信号是否消失,如果消失则可能只是按键的抖动,则程序不需要进行执行,这个时候可以再次打开外部中断,并返回到程序开始。在能够检测到红外发射器的发射信号依旧持续存在的情况下,将会对接受到的红外信号进行一个相应的采集,如上图流程图中,其实都只是按照相应的编码进行一定的采集,从而确定红外发射器所发出的指令信号具体是哪一个。原理图如下图4.4所示。图4.4无线红外遥控原理图程序所设置的管脚以及无线红外遥控整体原理图如上图所示,可以看出红外接受器件十分的简洁。在单片机接受到红外发射器所发出的红外信号,经过红外接收器件的信号接受之后,根据之前所述的程序解码流程图,单片机将会得到一个清晰明确的由红外发射端所发射出的命令。根据这个命令,单片机将进行相应的指令。目前由于驱动电机的选择,故单片机能够接受到的指令为驱动电机的五种状态,即:前进、后退、左转、右转、停止。在单片机接受到这五个指令中的其中一种之后,将会开始调用驱动电机程序模块的子程序,来使小车进行相应的状态改变。4.4寻光拓展程序模块寻光拓展模块是根据安装在小车两侧的光敏电阻的阻值,经过电压比较器之后转换为数字信号,再由单片机根据此数字信号来进行相应处理的。所以单片机将会一直读取两边光敏电阻的输出电压是多少。在两侧的光敏电阻同时检测到光源时,即小车整体都处于光线的照射下,这个时候驱动电机将会保持直线前进。然而,当左侧光敏电阻检测到光线时且右侧光敏电阻未检测到光线时,单片机将会使得驱动电机开始停止前进,并向左侧方向偏转,此时小车将会左转;当左侧光敏电阻未检测到光线时且右侧光敏电阻检测到光线时,单片机将会使得驱动电机开始停止前进,并向右侧方向偏转,此时小车将会右转。当左右两侧的光敏电阻都没有检测到光线时,驱动电机停止运行,小车将会停下。寻光拓展程序流程如图4.5所示。图4.5寻光拓展模块程序流程图4.5驱动电机程序模块驱动电机程序模块主要是根据下表来进行配置单片机对应的输入输出端口:M1AM1BM2AM2B状态0000停止1010前进0101后退0110左转1001右转其程序输入输出端口的输出电平情况是由单片机控制执行的,当电机M1的A、B两个端口以及电机M2的A、B两个端口输出都为0时,电机停止运行,小车禁止不动;当电机M1和电机M2的A端为1,且电机M1和电机M2的B端为0时,小车向前行驶;当电机M1和电机M2的A端为0,且电机M1和电机M2的B端为1时,小车后退,向后行驶。当电机M1的B端和电机M2的A端为1,且电机M2的B端和电机M1的A端为0时,小车向左行驶;当电机M1的B端和电机M2的A端为0,且电机M2的B端和电机M1的A端为1时,小车向右行驶。第5章系统测试与分析依照本次论文的计划选择,总体体系调试分析大体上可分为硬件测试分析和软件测试分析两大类。由于硬件设计所使用的元器件种类及个数较为繁杂,故需先将元器件的原理图脉络整理清晰。5.1硬件调试在整体方案及模块原理确定下来之后,还需对整体的原理图以及单片机的各个输入输出端口进行合理的分配。还要完整全面的对整体设计进行思考,是否有哪些地方存在不足,有哪些地方还能有所改进。最终确定了如下图5.1所示的原理图:图5.1智能循迹避障小车原理图在原理图设计好之后开始整理元器件,根据所设计的原理图对小车进行相应的焊接工作。焊接时要细致、仔细同是要对照原理图检查清楚,尽量的避免出现断线、虚焊、假焊等问题。待焊接完成之后还需再次对电路板进行一次检查,在检查无误之后可以使用万用表进行相应的检测。首先使用用万用表测量主观意识上认为容易出现问题的地方,之后对电路图整体进行测量检测,要特别值得注意的是电源和地是否存在短路的问题,一旦短路将会导致整个电路无法工作,严重的还会烧毁电路中的元器件。在用万用表检查清楚确认无误之后才能对电路板上电进行检查,当给电路板加电时,要事先查看电子元器件的电源耐压值是不是处在元器件的额定合理值,上电后再用万用表的电压档查看关键点电压是不是处在所需范围内。上电之后开始测试各个模块的功能是否正常。如出现问题则对出现问题的模块进行隔离,排查出现的问题可能是由哪些原因导致的,查找出原因后开始解决问题。在测试各个模块的功能都正常时,还需要经过调整循迹模块功能板上的滑动变阻器的阻值来调节红外探测器的灵敏程度。灵敏度太大的话,会导致小车在环境不稳定的情况下容易受到干扰,灵敏度太小的话可能导致小车无法正常的工作使用。需要多次实验调整到一个合适的值。在小车各个模块的功能能够完美实现的情况下,对小车的器件以及连接的螺母,焊点等进行加固,防止小车在行驶的过程中部件模块掉落等情况的出现。5.2软件调试系统软件模块部分的调试的流程为:首先编写各个模块的独立子程序,要注意的是不能够出现全局变量导致模块与模块之间的变量冲突,编写各个模块的独立子程序完成之后还需检查清楚,程序是否每一步都是按照程序流程图所绘制的走向,程序是否出现错误,出现了错误的问题能否解决。等各个模块的独立子程序编写完成之后还需对整体程序进行整合汇总。在汇总的过程中需要注意的是整体程序的流程指向,在调用子程序时是否合理,有没有考虑不周全的地方,各个输入

温馨提示

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

评论

0/150

提交评论