摘要I摘要避障是智能小车应具备的基本功能之一,以P89C51RA芯片为核心,采集前方障碍信息并对智能小车进行控制,选用红外避障传感器检测智能小车前方的障碍物,设计了智能小车的自动避障系统,并阐述其工作原理。该系统设计简单、成本低、实时性好,在室内环境中取得了预期的实验结果,使智能小车无碰撞到达目的地。关键词:P89C51RA,智能,红外避障传感器AbstractIIAbstractTheobstacleavoidanceisoneofthemainfunctionsthatanindependentlyintelligentcarriageshouldbeprovided.UsetheP89C51RAasakeycomponent,collectingtheenvironmentalinformationandcontrollingtheintelligentcarriage,akindofobstacleavoidancesystemofintelligentcarriageisdesigned.Inthissystem,infraredobstacleavoidancesensorsareusedtodetectthebarries,whicharefrontofdistancebetweentheintelligentcarriageandthebarriers.Thesystem'sdesignissimple,andhaslowercostandbetterrealtimefeatures.Andatthesametime,thissystemhasobtainedanticipatedexperimentalresultsintheindoorenvironment.Thatis:theintelligentcarriagecanarriveatthedestinationwithoutanycollision.Keywords:P89C51RA;intelligent;infraredobstacleavoidancesensors目录I目录摘要IAbstractII目录I第一章绪论11.1小车避障系统设计的意义11.2小车避障系统11.2.1主控系统21.2.2机械系统31.2.3电机驱动模块31.2.4传感器系统41.2.5电源电路的选型51.2.6里程检测模块61.2.7显示模块6第二章主控制单元72.1整体构思72.2主控制部分82.2.1CPU介绍82.2.2CPU功能112.2.3CPU相关电路112.3主程序设计122.3.1关于定时与计数器122.3.2程序13第三章驱动单元153.1直流电机的驱动原理153.2直流电机的驱动电路15第四章躲避障碍物单元174.1避障传感器电路174.1.1近距离避障传感器174.1.2远距离避障传感器184.2避障方法194.2.1前方有障碍物194.2.2侧面有障碍物214.3避障程序22第五章显示单元235.1里程和时间显示235.2显示模块硬件235.2.1ZLG7289A介绍255.2.2ZLG7289A串行接口275.2.3ZLG7289A控制指令28第六章在系统编程336.1在系统编程(ISP)介绍336.2FLASHEPROM存储器33目录II6.3ISP设计346.4单片机与PC机的连接356.4.1连接介绍35参考文献37附录38结论49致谢50襄樊学院毕业设计(论文)报告纸1第一章绪论1.1小车避障系统设计的意义自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AVG—auto-guidevehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。1.2小车避障系统该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用P89C51RA单片机,配合软件编程实现。还有显示部分通过软件可以显示行使时间和路程。襄樊学院毕业设计(论文)报告纸21.2.1主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:方案一:仅采用CPLD作为核心部件的方案如图1-1所示:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案二:仅采用单片机作为核心部件的方案如图1-2所示:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。里程检测红外遥控障碍检测CPLD避开障碍显示行驶里程、时间等指示灯显示行驶路线图1-1以CPLD为核心的原理框图襄樊学院毕业设计(论文)报告纸3图1-2以单片机为核心的原理框图单片机里程检测红外遥控障碍检测避开障碍显示行驶里程、时间等指示灯显示行驶路线针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。根据这些分析,我选定了P89C51RA单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动、显示等诸多因素后,我们决定采用一片单片机,充分利用P89C51RA单片机的资源。1.2.2机械系统本题目要求小车的机械系统稳定、简单,而四轮运动系统具备以上特点。驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。显示部分:将显示模块放置小车前部上方,利于观察。电池的安装:将电池放置在车体的正下方,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。1.2.3电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案二:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实襄樊学院毕业设计(论文)报告纸4现很困难。方案三:使用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,成本低,加速能力强,采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型保证了简单的实现转速和方向的控制;电子管的开关速度很快,稳定性也极强,是一种广泛采用的PWM调速技术。这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。1.2.4传感器系统方案一:反射式红外发射—接收装置,只有物体反射红外光时才有信号输入,其信号强度与小车距障碍物的距离成正比。因此可利用信号强度作为避障依据。红外探测器的选型与工作方式:1、红外探测器的选型红外探测器以其发射功率大、抗干扰能力强而在工业生产中有着广泛的应用,红外探测器按其工作模式可大致分为主动式与被动式,主动式红外探测器自带红外光源,通过对光源的遮挡、反射、折射等光学手段可以完成对被探测物体位置的判别。被动式红外探测器本身没有光源,通过接受被探测物体的特征光谱辐射来测量被探测物的位置、温度或进行红外成像。直流直接驱动方式装置简单但检测距离和抗干扰能力都比较差;交流调制方式由于可以采用交流耦合方式解决了放大器的直流漂移问题从而可以大大提高检测的距离,同时由于环境光产生的干扰多数情况是信号的直流或低频分量可以由滤波器加以隔绝,因此交流调试方式抗干扰能力也比较强,缺点是系统相对复杂。在本体中我们要利用红外探测器检测障碍物的距离,显然选用主动式红外传感器比较合适,系统的造价可以降低可靠性可以提高。主动式红外传感器又可分为分立元件型、透射遮挡型和反射型(如图1-3示),分立元件型发光管与接收管相互独立,用户在使用时可以根据需要灵活的设定发光管与接受管的位置,并可利用棱镜、透镜等完成特殊的目的,缺点是装置麻烦。透射遮挡型和反射型通过塑料模具将发光管与接收管封装在一起,非常方便用户使用,在本题中对障碍物的检测我使用反射型。襄樊学院毕业设计(论文)报告纸52、主动式红外探测器的工作方式选取主动式红外探测器常用的驱动方式可分为直流直接驱动方式和交流调制方式,直流直接驱动方式装置简单但检测距离和抗干扰能力都比较差;交流调制方式由于可以采用交流耦合方式解决了放大器的直流漂移问题从而可以大大提高检测的距离,同时由于环境光产生的干扰多数情况是信号的直流或低频分量可以由滤波器加以隔绝,因此交流调试方式抗干扰能力也比较强,缺点是系统相对复杂。方案二:采用反射式超声波换能器,只有物体反射超声波时才有信号输入,测量发射接收信号间的时间差T2-T1,利用其可以得到障碍物的距离,将该信息送给单片机,单片机发出控制信号改变小车的转向,使小车不与障碍物发生接触。该方法适合较远距离障碍物检测。反射式超声波换能器成本高,电路设计复杂,因为不要求检测的很远,于是选自了反射式光电传感器,在本题中对前方障碍