自动循迹避障救援小车系统_第1页
自动循迹避障救援小车系统_第2页
自动循迹避障救援小车系统_第3页
自动循迹避障救援小车系统_第4页
自动循迹避障救援小车系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

编号:毕业设计说明书题目:救援小车学院:机电工程学院专业:机械设计制造及其自动化学生姓名:学号:指导教师:职称:副教授题目类型:理论研究实验研究工程设计工程技术研究软件开发2012年5月20日摘要自动循迹避障小车在工业和生产上都有广泛运用,为了培养大学生对循迹避障的运用,循迹避障机器人最近几年一直是各类全国大学生机电类比赛的主要题目。而本次题目要求小车能根据外部环境的变化而做出智能的判断并成功执行题目要求的循迹、避障和发现目标的任务。本设计采用单片机控制技术为核心,通过对各类传感器的合理运用以达到设计要求。本系统主要由单片机、红外传感器、光电接近开关、直流电机、稳压芯片组成。系统采用可充电电池作为总电源,并通过稳压芯片进行稳压分别对各部分电路进行供电。其中系统的数据采集部分采用5组红外对管对地面信息进行数据收集,并且再利用两组光电接近开关对障碍物进行数据的收集;然后将收集到的外部数据信息传输到单片机上根据程序进行相应的数据处理,从而使小车系统能准确、快速地采集处理外部环境信息并反馈到小车系统执行部分去。最后根据单片机对外部信息的处理结果对两个直流电机进行控制从而实现小车根据外部环境自动进行循迹、避障、发现目标的操作;并通过单片机对蜂鸣器和LED的控制实现光电报警。整个系统的电路机构简单,可靠性好。并且本救援小车系统具有执行效率高、反应快速和低成本等优点。根据小车调试运行情况来说,本次设计能很好地根据外部环境的变化执行预定任务。关键词:救援小车;L298N;红外对管;STC89C52;直流电机;光电开关AbstractAutomatictrackingobstacleavoidanceforcarindustryandproduction,widelyused,inordertodeveloptheuseofcollegestudentsonthetrackingofobstacleavoidance,tracking,obstacleavoidancerobotinrecentyearshasbeenthemainsubjectofthevarioustypesofNationalCollegeStudentsofmachineryandelectronicgame.Thesubjectcarchangesintheexternalenvironmentandtomakeintelligentjudgmentsandthesuccessfulimplementationofthesubjectrequirementstracking,obstacleavoidance,andfoundthetargettask.Thisdesignusesasingle-chipcontroltechnologyasthecore,throughtherationaluseofvarioustypesofsensorstomeetthedesignrequirements.Thesystemmainlyconsistsofthemicrocontroller,infraredsensors,photoelectricproximityswitches,DCmotors,voltageregulatorchip.Thesystemusesarechargeablebatteryasthetotalpowersupplyvoltageregulatorandtheregulatorchiponthepartofthecircuitpowersupply.Thesystemincludesdataacquisitionpartofgroupofinfraredtubesonthegroundinformationdatacollection,anduseoftwosetsofphotoelectricproximityswitchontheobstaclestodatacollection;thencollectedfromtheexternaldatatransmissiontotheMCUaccordingtotheproceduresthecorrespondingdataprocessing,sothatthecarsystemcanaccuratelyandquicklycollectingandprocessingtheexternalenvironmentforinformationandfeedbacktotheoperativeparttogotothecarsystem.ThelasttwoDCmotorcontrolinordertoachievethecarisautomaticallycarriedoutaccordingtotheexternalenvironment,tracking,obstacleavoidance,foundthattheoperationofthetarget;andphotoelectricalarmbuzzerandLEDcontrolbythemicrocontrolleraccordingtotheresultsofsingle-chipprocessingofexternalinformation.Circuitbodyofthewholesystemissimpleandgoodreliability.Andtherescuevehiclesystemwithhighefficiencyintheimplementation,fastresponseandlowcostadvantages.Fordebuggingandrunningunderthecar,thedesignchangesintheexternalenvironmentperformtheintendedtask.Keywords:Rescuecar;L298N;nfraredEmittingDiode;STC89C52;DCmotor;Photoelectricswitch目录TOC\o"1-3"\h\u30149引言 1123881方案的设计与论证 263051.1小车车体结构 25871.2主控系统 2240941.3电机模块 3164791.4电机驱动模块 4143031.5电源模块 5144011.6稳压模块 6321011.7循迹传感器模块 6108281.8避障模块 72752硬件设计 8115182.1总体设计思路和方案的确定 8323632.2声光报警电路设计 963472.3小车驱动部分的电路设计 10130952.4小车传感部分的电路设计 12100622.5主控电路设计 13169193软件设计 1423543.1主程序流程框图 15138023.2电机驱动 1541803.3循迹模块 15274723.4避障模块 16143044制作安装与调试 1894924.1PCB的设计制作与安装 18252154.2小车的调试 18251175结论 199935致谢 203204参考文献 211210附录 22引言随着科技的发展,机器人的运用和发展已经遍及机械,冶金,电子,交通,宇航,国防等领域。随着科技的发展,机器人的智能水平也在不断发展着,并且在不断的影响着人们的生活方式。人们探索,发展机器人技术的最终梦想是能制造出替代人们劳动并且从各方面服务人们生活的机器人,并且坚信着未来这个梦想会慢慢实现的。随着科学技术的发展和现实生产的需求,机器人的种类也越来越多,而作为机器人中重要的感觉器传感器的种类也随之越来越多,机器人中的传感器就相当于人的感觉器官,是机器人自动行动和智能完成任务的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已经相当发达,而基于图像的理解技术还很落后,机器的视觉要通过大量的运算才能识别一些简单的目标。就目前而言视觉传感器的核心器件是摄像管或CCD,目前的CCD已经能自动聚焦,但从价格,使用方式等各方面而言在机器人运用中CCD并不占优势。因此在只要求粗略感觉的机器人运用中使用普通传感器无论从编程还是价格上更有优势。作为机器人的核心技术是CPU和软件系统的执行效率和智能化程度,经过人们不断的开发和积累并随着科技和嵌入式系统的不断发展优化,现在的机器人已经具有了很大程度的智能,并且能初步具有自主学习能力,在这方面日本做的比较好,已经能生产用于生活实用的智能机器人。同时在开发机器人的同时开发出来的技术有很多也在不断被用于生活生产的各方面。本次设计的机器人要实现自动导引和避障功能就必须要感知导引线和障碍物,就相当也要给机器人一个视觉功能。循迹避障系统是救援小车的智能系统,使小车能根据传感器收集到的外部环境数据实现自动识别路线,判断并自动避开障碍物,选择正确的进行路线,并根据传感器收集到的信息完成任务。作为循迹小车,可以分为三大组成部分:传感器检测部分,执行部分,CPU。小车要实现自动循迹,自动避障等功能,要能感知引导线和障碍物。实现小车自动寻线,选择正确的路线,并在检测到障碍物时能自动避障。基于上述要求,小车传感器就不要求有清晰的图像,只要求能粗略感知。因此可考虑红外反射式传感器。在小车执行部分,由直流电机来充当,主要控制小车的行进速度和转向。单片机驱动直流电机有两种方案:第一,不占用单片机资源,选择带有PWM功能的单片机;第二,通过程序,模拟PWM输出调剂,占用一定的资源,但单片机型号比较多,利于应用。所以考虑实际情况,本次选择第二种方案。CPU选用国产的stc12C5A60S2就已经能很好完成任务了。现智能小车发展很快,从智能玩具到各行各业到有运用。其基本上功能有循迹,避障,检测,入库等。随着传感器的发展和嵌入式技术的发展,智能小车已经获得越来越多的人工智能,并且智能小车的体积也越来越小,功能趋于集成化,智能化。在人工智能方面做的比较好的是日本方面,并且有很多技术运用到了实际生活生产中了。就智能小车现状来说,虽然说运用的并不是十分多但生产中还是扮演着很重要的角色,并在一些危险工作地方一定程度上代替人的工作,去完成危险繁琐重复的工作。1方案的设计与论证根据要求,确定如下方案:在现有玩具车的基础上,加装红外光电检测器。通过传感器实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据执行预先编写好的程序以应对外部环境变化以实现对电动车的智能控制完成在相对复杂的环境下的任务。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。1.1小车车体结构方案一:四轮式。利用现成的玩具车,现在市场上有完整的车模购买,能直接拿来就可以用,能减小小车的制造时间和整个小车的制造复杂程度。小车四个轮全部采用独立驱动轮,采用四轮独立驱动虽然在控制方面比较复杂但是在路况比较复杂和要进行各种转向时比较容易做到精确操作和转向快速的特点,四轮使小车具有无可比拟的行进平稳性。方案二:三轮式。三轮式是小车常用的车体结构,后轮用两轮独立驱动,前轮用万向轮构成辅助轮,机构组成简单,可任意旋转,容易控制。小车前进的时候左右驱动轮和万向轮,构成三点结构,小车相对平稳,为防止小车重心偏移,车前的万向轮起到支撑的作用。针对本次要求,从简单,易制做和执行任务速度等的角度出发,选择方案二,车体采用现成三轮式车模,具有容易控制,编程简单的优点。1.2主控系统根据小车的设计要求,认为本次设计属于多输入量的复杂程序控制问题。考虑到对数据的处理速度和单片机所提供的片内内存和I/O接口等综合性能,据此,拟定了以下三种方案并进行了综合的比较论证:方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。另外,考虑对VHDL语言的不熟悉,若采用该方案,必须得学习VHDL语言,并且在控制上遇到许许多多不必要增加的难题。为此,本设计不采用该种方案,进而提出了第二种设想。方案二:采用Atmel公司的ATmaga32L单片机作为主控制器。ATmaga32L是一个低功耗,高性能的8位单片机,片内含32k空间的可反复擦些100,000次的Flash只读存储器,具有2Kbytes的随机存取数据存储器(RAM),32个IO口,2个8位可编程定时计数器,1个16位可编程定时计数器,四通道PWM,内置8路10位ADC。且maga系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。但考虑到我们对ATmaga32L的不熟悉,在编程和运用时会遇到很多不必要的麻烦,并且ATmaga32L相当于本设计要求来说有相当一部分性能没发挥出来,造成浪费,还有就是价格比普通51单片机贵挺多的。为此,本设计不采用该种方案,进而提出了第三种设想。方案三:采用普通51单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点:多开关量输入的控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机。根据这些分析,我选定了单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也足够了,更主要的是stc12C5A60S2单片机价格非常低廉。综合考虑后,决定采用stc12C5A60S2单片机作为主控芯片。1.3电机模块本系统为智能电动车,对于电动车来说,其驱动轮的驱动电机的选择就显得十分重要。由于本实验要实现对路径的准确定位和精确测量并考虑电机相应速度,综合考虑了一下两种方案。方案一:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,并被大多数对转动经典要求高的设备运用所以可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,但步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统,并且步进电机的价格比较贵,从性价比方面来说比较低。经综合比较考虑,本设计放弃了此方案。方案二:采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便,在市场方面容易采购到合适的直流电机,不容易受型号的限制,并且价格比步进电机便宜。而对于直流电机的速度控制我们可以通过软编程的方法可以很好的控制直流电机的转动,使之处在我们需要的状态下。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。我们所选用的直流电机减速比为1:74,减速后电机的转速为100r/min。我们的车轮直径为6cm,因此小车的最大速度可以达到V=2πr·v=2*3.14*0.03*100/60=0.314m/s能够较好的满足系统的要求,因此小车电机选择了此方案。1.4电机驱动模块方案一:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,调速范围比较狭窄,而且数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅会降低效率,而且实现很困难。方案二:对于直流电机采用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定,造成电机速度波动大,不利于电机的控制,容易造成小车碰到障碍物和增加小车的不可靠性。方案三:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良且市场上容易购买得到,在实际应用中应用广泛技术也非常成熟。本次设计选用方案三,这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点并且功耗低。因此决定使用1个功率三极管L298N作为功率放大器的输出控制2个直流电机,以达到电路的简单化和控制的简单有效性。由L298组成的H桥电路,电机平均功率满足如下关系(1)其中P为电机的平均功率,为电动机全速运转功率。A为脉宽,可见,电机的平均功率与脉宽成正比。小车行驶后其平均功率(2)单片机发出脉冲信号的比即可决定PWM放大器输出的电压平均值的大小。表1-1为L298驱动电机控制方式表,可以通过下表配合软件编程可以很好的实现对小车的有效控制。表1-1L298驱动电机控制方式IN1IN2OUT1OUT2方式111010前进110101后退111001掉头000000停止1.5电源模块从小车的体积,重量和功耗等方面综合考虑,为使小车体积小行动灵活动力充足,本系统决定采用电池供电,本设计考虑了如下几种方案为系统供电。方案一:采用6节1.5V干电池供电,电压达到9V,经7812稳压后给支流电机供电,然后将9V电压再次降压、稳压后给单片机系统和其他芯片供电。但干电池电量有限,使用大量的干电池给系统调试带来很大的不便,同时会使的小车的体积变的过于庞大和比较重,显的很笨重不利于小车的灵活性使电机的负载增加。同时因为小车的耗电量比较大,用干电池供电费用比较大。但却具有容易获得,更换电池方便的特点。方案二:采用3节4.2V可充电式锂电池串联共12.6V给直流电机供电,经过7812的电压变换后给支流电机供电,然后将12V电压再次降压、稳压后给单片机系统和其他芯片供电。锂电池的电量比较足质量轻体积小,并且可以充电,重复利用,时比较理想的供电源。因此,这种方案比较可行。但锂电池的价格过于昂贵,使用锂电池会大大超出我们的预算,因此,放弃了这种方案。方案三:采用12V蓄电池为直流电机供电,将12V电压降压、稳压后给单片机系统和其他芯片供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便,但由于我们的车体设计时留出了足够的空间,并且蓄电池的价格比较低可以重复充电利用,实用起来也比较方便。综上考虑,电源模块选择了方案一。1.6稳压模块方案一:采用两片7812将电压稳压至12V后给直流电机供电,然后采用一片7809将电压稳定至9V,最后经7805将电压稳至5V,给单片机系统和其他芯片供电,但7809和7805压降过大,使7809和7805消耗的功率过大,导致7809和7805发热量过大,因此,稳压模块放弃了这种方案。方案二:采用两片LM2596将电压稳压至12V后给直流电机供电,LM2596系列是美国国家半导体公司生产的3A电流输出降压开关型集成稳压芯片,它内含固定频率振荡器(150KHZ),和基准稳压器(1.23v),并具有完善的保护电路:电流限制、热关断电路等。利用该器件只需极少的外围器件便可构成高效稳压电路。对单片机供电时采用L7805CV将电压稳至5V,用L7805CV组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。L7805CV的输出电流最大可至3A,完全满足系统要求。综上考虑,稳压模块设计选择了方案二。1.7循迹传感器模块传感器对于本设计小车来说就相当于眼睛,是系统和外界联系的关键部件,可以说是智能小车的运行的基础。所以选择合适的传感器对于本设计来说很重要,合适的传感器能使小车达到高的分辨率,提高小车适应外部环境转变的能力,有利于小车的控制精度,以便快速准确的完成任务。方案一:采用简易光电传感器结合外围电路探测,虽然说电路简单制作方便但实际效果并不理想,对行驶过程中的稳定性要求比较高,且易受光线环境和路面介质影响,而智能小车的基本要求是能不断适应变化的环境,所以要求传感部分要有较高的稳定性,以准确获取必要的信息。并且该传感器方法在使用过程很容易出现问题,而且容易因为该部件造成整个系统的不稳定,不能满足小车的稳定性要求。方案二:采用两只红外对管,分别置于小车车身前轨道的两侧,根据两只红外光电开关接受到白线与黑线的情况来控制小车转向来调整车向,如果左边的传感器检测到黑线小车就向右转,同理右边的检测的黑线时一样。只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。该电路具有结构简单调试容易等特点但却无法检测黑线上的情况不满足本设计的要求。方案三:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。但光敏电阻受环境光线影响太大,容易产生错误信息,且要运用比较器进行高低电平比较会增加电路的设计复杂程度,增加小车系统的功耗。方案四:采用五只红外对管,三只置于轨道中间,两只置于轨道外侧,当小车脱离轨道时,即当置于中间的三个红外对管中的一只红外对管脱离轨道时,等待外面任一只检测到黑线后,做出相应的转向调整,直到中间的红外对管重新回到轨道并检测到黑线再恢复正向行驶。虽然小车在寻迹过程中有一定的左右摇摆不定并且小车行进速度较慢,并且成本和稳定性相对于方案二都较次,但方案三能检测黑线上的白点,虽说该方案有诸多缺点但却能配合软件设计完成本小车设计的基本要求。根据本设计要求,循迹传感器模块用方案四的。1.8避障模块避障和循迹传感器一样都是小车的基本,好的避障传感器能准确的识别障碍物,为小车系统提供优质的外部环境数据,以实现小车快速精准躲避障碍物,另外传感器的安装方式也影响着传感器的工作效率和编写程序的工作量和复杂程度。为此为小车提供了三种方案如下。方案一:红外对管采用一只红外对管置于小车中央。虽然电路设计和安装简易,也可以检测到前方的障碍物,并通过软件可以做出躲避行为但很难确保小车在水平方向上是否会与障碍物相撞,也不容易让小车做出精确快速的转向反应并且很难控制小车避过未知大小的障碍物,达不到自动避障回到黑线上,所以该方案并不符合设计要求。方案二:采用二个红外对管置于小车的前端左右两侧,方向与小车前进方向相同,对小车与障碍物相对距离和方位能作出较为准确的判别和及时反应。此方案过于依赖硬件、缺乏创造性,而且置于小车左方的红外对管用到的几率很小。体现不出设计的最优化。方案三:采用一只光电开关置于小车中央,一个可调光电传感器装在小车右侧,这样不但能测试到小车前方的障碍物,并可以用于测试到小车右侧的障碍物并通过调整测试距离保持小车与障碍物之间的距离,通过程序的优化小车可以智能的识别障碍物大小并选择合适的路线绕过障碍物回到循迹线上。通过测试此种方案就能很好的实现小车避开障碍物,且充分的利用资源而不浪费。能从各方面优化设计和电路的简易化并使程序编写的复杂程度有所降低。通过比较选方案三比较容易实现小车的要求。2硬件设计2.1总体设计思路和方案的确定救援小车采用四轮驱动,通过两个L298控制四个直流电机实现小车的各种运动,将红外探头装在车体下的左中右以实现循迹和发现白点的要求。电机的快慢是通过单片机根据传感器收集到的信息产生的PWM波的占空比高低来调节的,占空比高电机转慢,反之则转的快。电机的正转反转是通过L298固定的高低电平进行对电机转动的有效控制的。转向时,小转向时为一个电机转慢一个电机转快。大转向时时为一个电机正转一个电机反转。循迹基本功能是通过红外探头检测黑线来实现的,如果左边的探头检测到黑线,向右慢转,反之亦然。避障原理和循迹原理基本相同也是根据光电对管收集到的信息通过单片机来进行电机转向和调速的。经过反复论证,我们最终确定了如下方案:(1)车体直接用现成车模。(2)采用stc89C52单片机作为主控制器。(3)采用两个直流电机作为动力源驱动小车运行。(4)用RPR220型光电对管进行寻迹。(5)2个L298N作为直流电机的驱动芯片。系统的结构框图如图2-1所示图2-1电路系统的结构总框图小车硬件系统所需的基础元件如表2-1表2-1元器件件清单元件数量元件数量元件数量直流电机2个电阻若干电容若干电位器若干红外调制光电传感器2个红外探头3个单片机1个蜂鸣器1个电位器若干12M晶振1个杜邦线若干二极管若干车模1个光电开关2个2.2声光报警电路设计本设计采用蜂鸣器和发光二极管实现声光报警,根据采集到的外部环境数据的变化用单片机I/O口通过三极管输出高低电平来直接对蜂鸣器和二极管进行控制,声光报警可以很好的反映当前小车的运行状况。如下图2-2所示。图2-2声光报警原理图2.3小车驱动部分的电路设计电机驱动多数采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机相当比较简单和容易。L298N是内含二个H桥的高电压大电流双全桥式驱动器可驱动46v,2A以下电机,。L298N是一个具有高电压大电流的全桥驱动芯片,响应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。本芯片的缺点是由于工作电流比较大,发热量也比较大,所以在本芯片的散热片上又连接了一块铝合金,以增大它的散热面积。以致在运用是要注意电路的散热。引脚图如2-3所示,电机驱动电路原理图如2-4所示图2-3L298引脚图图2-4电机驱动电路原理图在小车中正在用L298N驱动小车的两个直流减速电机,其实它很好用,1和15和8引脚直接接地,4管脚VS接2.5到46的电压,它是用来驱动电机的,9引脚是用来接4.5到7V的电压的,它是用来驱动L298芯片的,记住,L298需要从外部接两个电压,一个是给电机的,另一个给L298芯片的,6和11引脚是它的使能端,一个使能端控制一个电机,至于那个控制那个你自己焊接,你可以把它理解为总开关,只有当它们都是高电平的时候两个电机才有可能工作,5,7,10,12是298的信号输入端和单片机的IO口相连,2,3,13,14是输出端,输入5和7控制输出2和3,输入的10,12控制输出的13,14。L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可以实现两个直流电机的PWM调速以及正反转等功能。2.4小车传感部分的电路设计小车的传感模块主要负责对外部环境的监测和处理。小车循迹原理是小车在画有黑线的路面上行驶,因为黑线和地面对光线的反射系数不同,可根据接收到的反射光的强弱来判断道路。我在该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。红外探测法就是利用红外线照射在不同颜色的表面具有不同的反射率的特点。在小车行驶过程中不断地通过红外探头向地面发射红外线。红外线照射到地面时发生漫反射,小车上的接收管接收到信号;红外线照射到黑线上则红外光被吸收,则小车上的接收管接收不到信号,从而实现信号的检测并通过一定的电路输送到运算核心判断路线。避障的原理和循迹的原理相同。针对红外探测法,本方案考虑并论证了两种光电对管检测及调理电路方法,并通过这两种方法的比较选出合适小车小系统的电路。电路原理图分别如图2-5和图2-6所示。图2-5光电对管检测电路1如图2.5所示电路中,R1起限流电阻的作用,当有光反射回来时,光电对管中的三极管导通,R2的上端变为高电平,此时VT1饱和导通,三极管集电极输出低电平。当没有光反射回来时,光电对管中的三极管不导通,VT1截至,其集电极输出高电平。该电路的优点是电路不叫简单,应用到的原理也比较简单。但在该电路中起到滤波整形的作用的是VT1。该电路工作性能一般,输出有杂散干扰波的成分。并且这种电路有一个比较大的缺点是用电量大,给此种传感器调理电路供电的电池压降较快。其原因是因为光敏三极管和三极管VT1导通时的导通电流较大。图2-6光电对管检测电路2如图2.6所示电路中是通过比较器采集高低电平,从而实现信号的检测。在图中,可调电阻R3可以调节比较器的门限电压,经示波器观察,输出波形相当规则,可以直接够单片机查询使用。而且经试验验证给此电路供电的电池的压降较小。电路的稳定性主要取决于比较器的稳定性和精确性,就现在市场上的比较器来说比较器的稳定性都很高所以采用该光电对管检测电路相当稳定。因此本次设计中选择此电路作为小车系统的传感器检测与调理电路。2.5主控电路设计本电路采用stc12C5A60S2作为系统电路核心。本电路主要起对传感器采集到的信号进行分析,同时产生控制电机转动速度和停止的PWM信号,是小车的硬件核心部分,实现躲避障碍物和发现白点时发出光电报警。根据要求,我们组成单片机最小系统以实现设计要求,最小系统主要由复位电路、时钟电路、电源电路和一个USB下载口组成。在开发过程中使用开发版,方便程序的调试和整机的测试,待系统调试完成后,将单片机从开发板上取下,安装在小车系统板的单片机座中,再进行实际验证。这样做能实现开放和调试的简易和快速性。其电路图如下图2-7所示。图2-7主控电路板电路图3软件设计为了在任务中完成循迹,避障和发现白点的任务,小车一方面需要具有探测周围环境的能力并完成前进、转弯、停止和发出光声报警等动作这是建立在必要的硬件基础之上的;另一方面还要具有自动循迹,自动避障并回到线上,还要在发现白点时停下并发出光声报警这一体现了小车的智能化,即软件的编写是这部分的核心,可以说软件编程是人们赋予机器智能的过程,软件的优异决定了小车的智能程度和执行任务的速度。其中前一功能依赖于硬件设计并贯穿小车运行始终,为底层任务,。后一功能是并不依赖于硬件,而是建立在硬件收集到的周围环境信息并基于这些信息上的软件设计和信息处理上。所以软件算法的优化在智能小车中扮演着很重要的角色。3.1主程序流程框图我们所设计的软件的主程序流程图如下图所示:图3-1主程序流程图3.2电机驱动本设计中对直流电机进行调速是通过软编程使单片机产生有一定占空比的PWM波。并通过配合L298芯片进行对电机的实时控制调速。3.3循迹模块循迹流程框图图3-2小车循迹流程框图3.4避障模块避障流程框图

NYNNYY右侧光电管是否检测到障碍小车左转结束红外探头是否检测到黑线小车右转小车左转90度是否检测到障碍开始NYNNYY右侧光电管是否检测到障碍小车左转结束红外探头是否检测到黑线小车右转小车左转90度是否检测到障碍开始

4制作安装与调试4.1PCB的设计制作与安装在硬件方案确定下来后,我们通过采用DXP2004来绘制原理图与PCB板,DXP2004是一款十分强大的软件,相比较于Protel99或者protel99se它带给我们更高的绘制效率,并且能很大程度上减轻布线的繁杂。布线的过程中必须注意焊盘的大小与铜线的宽度,因为焊盘的大小直接影响的后期电子元件的安装质量和难易程度,而铜线的大小会影响到电流传送的质量进而影响小车系统的精度。我们选取的焊盘内径为0.8mm,外径2mm;铜线宽1mm。从做板的情况来看基本达到制作得要求。采用螺丝将循迹板安装在车头底盘上同时调整好它们之间的角度和位置以更好的工作。把避障板安装在车头上,主板直接安装在车模上的板上,而电机是车模自带的只要把线接好就行了。4.2小车的调试小车的调试是看看小车个硬件系统是否运转正常,并根据情况具体调整以使小车处于比较佳的状态,而调试中最重要的部分是调整传感器的传感精度等各项功能。在调整循迹传感器时通过改变循迹板滑动变阻器器的大小来调试红外对管的灵敏度以使之达到要求精度。在调整避障传感器时也是通过改变变阻器的大小来改变传感器传感器距离,这一个距离对于小车来说是个十分重要的数据,直接影响到小车是否会碰到障碍物,是否能成功完成任务。以上的基本都是针对于硬件方面的调试,而软件方面的调试是根据实际运行结果来进行调整,对速度的调整是通过改变延时程序来改变速度的大小。下表为小车的实际运行情况:表4-1小车调试情况表小车运行次数成功循迹次数成功避障次数111222332443554经过不断的调试小车已经具有不错的执行任务的可靠性。对于一个系统来说执行任务的可靠性是一个至关重要的数据,是判断一个产品的好坏的主要依据,而我们的调试的任务就是在不断试验中发现问题不断修改使之不断完美。5结论整个系统的设计是以单片机为核心,利用了多种传感器,将软件和硬件相结合的智能小系统。其中涉及到很多传感器和电子运用方面的知识,同时软件和硬件的结合也是一个很重要的方面。本系统能相当智能地实现如下功能:自动沿预设轨道行驶小车在行驶过程中,能够自动检测预先设好的轨道,实现直道和弧形轨道的前进。若有偏离,能够自动纠正,返回到预设轨道上来。当小车探测到前进前方的障碍物时,可以自动调整行进速度,自动选择合适路线躲避障碍物,从无障碍区通过。小车通过障碍区后,能够自动循迹回到预先设定好的轨道上继续前进。当检测到黑色轨道线上的白色标志时小车能停下来并发出光声报警,5秒后能继续前进。从运行情况来看循迹的效果比较好达到预期要求,避障的效果不是很好,我认为是由于电源不够稳定导致的小车的速度不好控制,也有可能是避障传感器安装配置的不够好,不能准确检测到障碍物的准确距离和位置。这也是我这次设计最大的误区,没有选取稳定的电源,没有很好的调整好避障传感器的传感精度。我相信如果实验条件和时间的允许下我肯定能解决这一问题。通过本次设计我掌握了很多以前不熟练的东西,认识了很多以前不熟悉得东西,特别是电子和单片机的运用上。以前的我对电子和单片机的运用只停留在课本的知识层面上,根本不知道在运用时会有很多的注意事项。特别是软件编程方面,在认知中课本的知识和编程都是挺简单的,但到了实际编程运用时会遇到很多从未遇到过的难题,程序的调试是一件很繁杂的事情。而传感器方面的知识,对于以前的我来说是一件空白,但通过智能小车的设计,对传感器的运用有了一定的了解。通过这次制作使我认识到很多的不足。

致谢本设计能够顺利完成,还承蒙李老师以及身边的很多同学的指导和帮助,特别是机器人中心的同学的鼎力支持和全力帮助。在设计过程中,李老师给予了悉心的指导,最重要的是给了我解决问题的思路和方法,为我解决了很多思路上的误区和迷惑,从原理的层面上解决设计上遇到的问题。而在设计环境和器材方面和电路设计制作方面机器人中心的同学给予了大力的帮助和支持,他们运用他们的优势在我所不是很了解的电子制作方面给予了很大帮助,一直指导着我如何去完成一个电路的设计和制作。当我们在知识的探索中,在面对不熟悉的领域时,向朋友向老师向了解的人请教是一个很重要的过程,这在我看来是一个很愉快的过程,达者为师。在此,我对李老师表示最真挚的感谢!同时感谢所有帮助过我的同学!参考文献[1]胡伟,季晓衡.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2003.[2]赵景波,王劲松,滕敦朋.Protel2004电路设计从基础到实践[M].北京:电子工业出版社,2007.[3]求是科技.单片机典型外围器件及应用实例[M].北京:人民邮电出版社,2006.[4]王晓明.电动机的单片机控制[J].学术期刊,2002,13(15):1322-1755.[5]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2003.[6]龚运新.单片机C语言开发技术[M].北京:清华大学出版社,2006.[7]PeterSpasov.微控制器原理与应用[M].北京:清华大学出版社,2006.[8]ScottMacKenzie.The8051Microcontroller[M].PrenticeHall.1998.[9]林克明,陈羽,郭从良.微控制器系统原理与应用[M].北京:科学出版社,2007.1.[10]裴亚男,付智辉.数字逻辑[M].成都:西南交通大学出版社,2005.[11]何道清.传感器与传感器技术[M].北京:科学出版社,2004.[12]白延敏.51单片机典型系统开发实例精讲[M].北京:电子工业出版社,2009,1.[13]Spasov,Peter.Microcontrollertechnology[M].PrenticeHall,2004.[14]YamatoI,etal1NewconversionsystemforUPSusinghighfre2quencylink[J]1IEEEPESC,1988:210-320.[15]ItalianConferenceonSensorsandMicrosystemsDiNatale,C.Proceedingofthe7thItalianConference:sensorsandmicrosystems:Bologna,Italy,4-6February2002[M]Singapore;RiverEdge.N.J.:WorldScientific,c2002.

附录以下是本次设计的小车执行的程序:#include<reg52.h>intdr; //标志位intflag1=0;intflag2=0;intflag3=0;intflag4=0;intstop=0;intstop2=0;sbitguangdian3=P2^5;sbitguangdian1=P2^6; //光电管接口sbitguangdian2=P2^7;sbitleft2=P2^0; //循迹接口sbitleft1=P2^1; sbitmiddle=P2^2; sbitright1=P2^3;sbitright2=P2^4;sbitfengming=P0^5; //蜂鸣器接口sbitled=P0^4; //LED接口sbitmotor_left=P0^0; //电机接口sbitmotor_left_gnd=P0^1; sbitmotor_right=P0^2;sbitmotor_right_gnd=P0^3; voiddelay(unsignedintx) //延时毫秒程序{inti,j; for(i=x;i>0;i--) { for(j=110;j>0;j--); }}voiddelay1(unsignedintx) //延时辅助程序{ for(x;x>0;x--) { ; }; }voidmain(){ inti,j; //初始化 fengming=0; led=1;guangdian1=1; //光电管接口guangdian2=1;TMOD=0X01; TH0=0XF8; //1ms定时 TL0=0X30; TR0=1; ET0=1; EA=1; delay(100); motor_left_gnd=0; motor_right_gnd=0; while(1){ if(flag1==0) //正常循迹{if(middle==0&&left2==1&&right2==1) { motor_left=0; motor_right=0; led=0; //灯闪烁,蜂鸣器叫 fengming=1; delay(1000); led=1; fengming=1; delay(1000); led=0; fengming=1; delay(1000); led=1; fengming=1; delay(1000); fengming=0; while(1) { motor_left=0; motor_right=0; //检测到人时,停止} } switch(dr){case0: motor_left=0,motor_right=0,motor_left_gnd=0,motor_right_gnd=0; delay1(40); motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0;//直走 delay1(60); break;case2:motor_left=1,motor_right=0,motor_left_gnd=0,motor_right_gnd=0; delay1(60); motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0; delay1(2); motor_left=0,motor_right=0,motor_left_gnd=0,motor_right_gnd=0; delay1(10); break; //右转 case1:motor_left=0,motor_right=1,motor_left_gnd=0,motor_right_gnd=0; delay1(60);motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0; delay1(2); motor_left=0,motor_right=0,motor_left_gnd=0,motor_right_gnd=0; delay1(10);break; //左转}}if(flag1==1)//壁障过程{ for(i=200;i>0;i--) { for(j=110;j>0;j--) { motor_left=0; motor_right=0; motor_left_gnd=0; motor_right_gnd=0; } } while(right1==0) { if(guangdian3==1) { motor_left=1,motor_right=1,motor_left_gnd=0,motor_right_gnd=0; //右转 delay1(20); motor_left=1,motor_right=0,motor_left_gnd=0,motor_right_gnd=0;

温馨提示

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

评论

0/150

提交评论