【基于单片机自动寻迹小车控制系统设计13000字(论文)】_第1页
【基于单片机自动寻迹小车控制系统设计13000字(论文)】_第2页
【基于单片机自动寻迹小车控制系统设计13000字(论文)】_第3页
【基于单片机自动寻迹小车控制系统设计13000字(论文)】_第4页
【基于单片机自动寻迹小车控制系统设计13000字(论文)】_第5页
已阅读5页,还剩35页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

I基于单片机自动寻迹小车控制系统设计智能化是现代工业发展的主流方向,在汽车行业,智能车凭借着安全、节能等优点受到本文主要阐述自动寻迹小车的研究与设计方案。首先论述了智能车辆的发展历程,提出了自动寻迹小车的硬件方案设计,通过硬件方案的论证,确定自动寻迹小车的控制核心采用机,使用S178红外对管检测黑线,通过HC-SR04超声波传感器检测路面上的障碍物,利用红外遥控器配合VS1838B红外接收头完成对小车的红外遥控。再根据所选的器件设计了小车主控模块、电机驱动模块、循迹模块、避障模块、红外遥控模块的硬件电路。通过C语言编写本文通过运用红外光在黑色与白色的物体表面上其反射程度不同的光学原理和超声波测 41.1研究背景及意义 4 51.2.1国外研究状况 51.2.2国内研究状况 52系统方案 62.1系统设计要求 6 62.3方案比较与选择 62.3.1车体的选择 62.3.2主控芯片的选择 72.3.3电源模块的选择 72.3.4驱动模块的选择 72.3.5寻迹模块的选择 82.3.6避障模块的选择 82.4最终方案的确定 83系统硬件设计 83.1主控系统 93.1.1STC89C52RC单片机简介 3.1.2时钟电路设计 3.1.3复位电路设计 3.3电源模块设计 3.3.1L7805稳压器简介 3.3.2电源模块电路设计 3.4.2L298驱动芯片工作原理 3.4.3驱动电路设计 3.5寻迹模块设计 3.5.2LM339N电压比较器工作原理 3.5.3循迹电路设计 3.6.1HC-SR04超声波传感器介绍 3.6.2超声波测距的原理 3.6.3超声波电路设计 3.7.1红外遥控器的原理 3.7.2红外接收电路设计 4.1主程序流程图 4.2电机驱动程序设计 4.3循迹模块程序设计 4.4避障模块程序设计 2 245.1小车制作 245.2循迹功能的调试 245.3避障功能的调试 255.4红外遥控功能的调试 25 26 271.1研究背景及意义随着社会经济的不断发展,传统的制造业逐渐向智能化的方向转型。在汽车行业,我国的私人汽车数量达到了惊人的24393万辆,相比于上一年增加了1758万辆。汽车的给社会大众带来便利的同时,汽车的尾气排放也给自然环境带来严重的污染,不仅对空气质量造成严重损害,同时加速了全球的温室效应。在燃料使用方面,汽车由于发动机技术问题,不能把燃料完全利用,很多燃料都白白的浪费掉,汽车的燃油是从石油中提取出来的,用一点就会少一点,随着时间的推移,燃油资源会越来越紧张。汽车数量增多带来的另一个严重的问题是交通道路的拥堵和交通事故数量的增多,据统计,单单2019年度,我国发生的交通事故为24.8万起,其经济损失达到了惊人的13.46亿元,而根据有关部门的统计,交通事故发生的重要原因,通常都是驾驶人操作汽车的时候,操作不当所引起的。在自动化逐渐成为工业发展主流方向的背景下,传统汽车的突破创新已经是社会普遍关注的热点话题。如何解决汽车的燃料消耗严重情况、减少汽车尾气的污染问题、减轻交通拥堵情况、减少由驾驶人操作失误造成的交通事故,打造新一代的智能汽车已经是世界各国都在研究的课题了。对星空的向往一直存在于人类的心中,前苏联的月面步行者计划,美国的阿波罗计划,我国的中国探月工程,都标志着人类对于月球的不懈探索,在这些月球探索计划中,有一个重要的探索工具一一月球车,月球车是由航天科研人员研制的用于在月球地表进行探索的智能车辆。负责收集和分析月球的星体物质如土壤、气体等研究样本。月球车分有自动驾驶月球车和人工驾驶月球车两种类型,月球车的结构主要由进行地面行驶的轮式底盘和装有精密器件的仪器舱两大部分构成,月球车安装多个传感器,负责收集各种外部环境数据和自身动作姿态、位置等相关数据,在通过车内装置的分析,从而勾画出行驶路线。可以说,月球车已经实现了高度的智能化,在对月球探索的历程中,月球车行驶在月球表面上,分析并采集月球的各种土壤物质和气体,收集月球运转的各种数据,为人类对月球探索之路提供了多种宝贵数据,是人类在月球探索历程中的“重要功臣”。除了在传统汽车领域和在航天航空领域的应用,在其他领域,智能车辆也有着很广泛的应用,在工厂里面,智能小车也有着很广泛的应用,在人类文明的不断发展下,人工的成本越来越昂贵,特别在21世纪,制造业的成本输出大都是花费在人工上面的,人工成本的昂贵使得人们思考应该如何减低成本,智能车辆凭借着方便快捷、载货量大、可以不间断的工作等优点,逐渐被应用到工厂里面,为工厂解决了效率低下的问题,智能车辆不仅在工厂应用很广泛,在一些危险性很高的行业上,也得到了广泛的应用,在发生火灾时,人们可以采用智能车辆进行灭火,智能车辆能够实现自动化行驶,当火灾发生在一些消防人员无法进入的空间内,智能车辆可以进入其中,凭借着高度自动化的优势,能准确的识别火灾源头,从而进行灭火。智能车辆还可以扮作“导盲犬”的角色,智能车能够识别路面上的各种信息,可以帮助盲人进行道路的识别,减少了盲人外出的危险性。在军事领域,部队常常要执行侦察、物资运输等任务,其危险性很高,使用智能车辆执行侦察、物资运输等高风险任务,能够有21世纪是智能化的时代,智能化已经成为社会各个领域中的重要发展方向,无论是在汽车领域和航天航空领域中,还是在其他领域中,智能车辆都得到了广泛的应用,在汽车领域在航天航空领域,智能车辆更是扮演着先驱者的角色,为人类对其他星球的探索提供着宝贵1.2国内外研究状况从20世纪20年代起,就有关智能车辆的研究,但是直到80年代才取得一定的成果。美国的卡内基●梅隆大学在1984年率先研制出具有一定程度自动化的车辆,该车辆Navlab1采用雪佛兰厢式货车车体,内部配置有多个计算机硬件,并有视频硬件和卫星导航接收器,以及WARP超级计算机。该车的最高时速可到达32千米每小时。日本对于智能车辆的研究可以说是走在世界前列的国家之一,在1985年左右,日本在汽车安全驾驶和道路交通信息方面取得了重大的突破,研制出了安全车辆系统和交通信息通讯系统。到了2010年,日本的多家汽车制造企业都先后研发出新一代的智能车载装置,该车载我国对智能车辆的研究相比于国外,其研发时间较晚,但在科研人员的努力钻研下,我国对于智能车的研究有了一个质的突破。1988年,清华大学在国家的大力支持下,成功研制出自动驾驶汽车,到2003年,该系列的智能车THMR-V,其技术含量已经处于国际领先水平。该车装有DGPS互补定位、车辆控制等系统,在多个系统的配合下,THMR-V车辆成功实现了车道线自动跟踪、自动避障等功能。到2018年,宇通客车已经成功研制出具有自动驾如道路识别规划技术、多目标预测和跟踪技术,在这些技术的结合下,客车成功实现了自动本论文的主要任务是设计出具有寻迹能力,能够实现避障功能并能进行红外遥控的自动寻迹小车。自动寻迹小车的总体设计由硬件设计和软件设计构成,硬件设计共有六大模块。图2-1给出了系统框架图。主控模块2.3方案比较与选择2.3.1车体的选择作为自动寻迹小车的主体结构,小车车体的设计关系着小车各个模块的布局合理与否。小车前行、后退、转向等行驶动作是否流畅,也是小车车体设计的重点。为此,我提出了两种小车车体设计的方案,具体如下:方案1:采用传统电动玩具车的车体。传统的电动玩具车车体符合力学标准,拥有完整的电机,在小车的设计制作上可以省去许多麻烦。在经过对电动玩具车车体进行研究后,发现传统的电动玩具车车体空间过小、底盘过低,不利于各个模块的安装,例如在安装用于采集路面信息的光电传感器时,由于车体底盘过低,无法进行光电传感器的安装。其次,市场上的电动玩具车在驱动小车运动时,都是采用后轮驱动的方式,难以实现大幅度角度的转向。最后,其自带的电机驱动性能偏低,不容易实现转弯操作。在价格上,电动玩具车价格较高,经济开销过大。方案2:制作简易的小车车模,在通过反复的比较论证后,选择了前面两轮驱动,在后面安装万向轮的车体驱动方式,该车模的结构非常简单,稳定性高,能够提供大量的安装空间,非常便于小车各个模块的安装调试。其直流减速电机拥有方向性好、力矩大、转速快、转弯灵活的优点,满足了自动寻迹小车的驱动要求。通过两个方案的对比,方案1车体过于狭小,不利于各个模块的安装,其自带的电机性能偏低。方案2车体结构简单,稳定性高。故选择方案2作为自动循迹小车的车体制作方案。2.3.2主控芯片的选择主控模块是构成自动循迹小车的核心模块之一,在小车的运动控制中有着重要的作用。控制器是主控模块中最核心的部分,控制器在小车运动控制中担负着“大脑”的作用,控制器的选取合适与否影响着自动循迹小车的整体性能。方案1:采用STM32单片机,STM32微控制器性能强悍,数字信号处理,能耗低的优点。其外部的接口相比于51系列单片机更加丰富,但是在价格方面上,STM32和51系列单片机相比,其价格更高,其入门门槛更高。方案2:使用STC89C52RC单片机。STC89C52RC微处理器具有诸多优点,如能耗低、性能强悍、稳定性高等。其工作性能完全满足本设计的需要,单片机的内核和51单片机内核一样,都是MCS-51内核,但是做出了一定改动,增加了更多的功能,在市面上的价格非常便宜。在通过两个方案的比较后,方案1所使用STM32单片机虽然拥有良好的工作性能,已经完全满足小车的性能需求,但是相比于STC89C52RC单片机,后者的价格也更加便宜,在性能上也满足小车的性能需求。从开发的难度上讲,STC89C52RC单片机更加容易实现功能,所以本设计采用方案2作为主控模块的设计方案。2.3.3电源模块的选择自动循迹小车采用电池供电的方式,为此,本文提出了两种不同的方案作为电源模块的设计方案。方案1:采用大容量锂电池作为小车的电源。锂电池有着诸多的优点,其电池容量大,充电方便快捷。拥有良好的电压输出能力,可以充分的满足小车的用电需求,但是锂电池通常价格都比较贵,相比于干电池,其电压的转化也不易实现。不适合作为小车的供电电源。方案2:采用6节电压为1.5V的南孚电池作为小车的供电电源。在经过充分的试验后,由6节干电池组成的供电电源已经满足小车的供电需求,在接入L7805稳压芯片后,其输出的5V电压非常平稳,非常适合作为小车的供电电源。通过两个方案的对比,方案1采用的锂电池供电,其电池容量相比于干电池更大,在持续供电性能上更加的优秀。但是由于方案1开发成本更高,方案2已经满足小车的供电需求,在开发成本上更加低廉,故选择方案2为本设计的供电方案。2.3.4驱动模块的选择方案1:使用SM6135W驱动芯片作为电机的驱动芯片。SM6135W驱动芯片是专门用来控制遥控车的电机驱动芯片,具有超强的电机驱动能力,所需外部元件少的特点,拥有5个按键控制小车的行驶方向和速度。但是SM6135W驱动芯片的控制方式是由编码信号进行控制的。在程序上不易实现。方案2:使用多个电阻组合成电阻网络,通过电阻网络可以实现分压的原理来驱动电机。但是采用电阻网络有诸多问题,比如无法实现无极调速,并且电阻网络分压的方式不容易实方案3:采用L298N电机驱动芯片驱动电能够接收高低电平信号,通过单片机发出的电平信号,就能够实现电机的正反转控制,在电路的搭建上也较为简单。通过3个方案的对比,选择方案3相比于方案1和方案2在设计上更加容易实现,方案3在驱动性能上也更加优秀,控制方式也更加容易实现。故选择方案3作为电机驱动方案。2.3.5寻迹模块的选择传感器是自动循迹小车实现寻迹避障功能的重要元器件之一,传感器能够将路面上的各种信息,按一定规律,转换为数字信号传输给控制器。方案1:采用外围电路和光电传感器相互配合的方式进行黑线的探测。但是经过实际运用,对道路黑线的探测存在较大偏差。极易受到周围不良环境的影响。所以没有使用此方案。方案2:采用红外对管进行路面的探测。该方案使用5个红外对管一字排列开,以保证在行驶中,小车偏离轨迹时,即原本一直检测到黑线的一只红外对管检测出现偏差时,通过另外5只红外对管的检测,让小车及时的返回轨道,通过实践检验后,小车对于路面黑线的检测非常稳定,大大提高了小车循迹的稳定性。在经过反复比较后,方案1稳定性太低,容易受到外部光线影响,不适合用作小车的寻迹方案,方案2检测性能优良,稳定性高。故选择方案2作为寻迹模块的设计方案。2.3.6避障模块的选择方案1:使用红外传感器。使用红外传感器搭建的电路结构简单,程序编写简单。红外传感器在靠经障碍物时检测迅速灵敏。稳定性强,价格较低,但是容易受到其他外部光线的干方案2:使用HC-SR04超声波传感器。凭借着测距的距离远、精度高、检测稳定性高的优点,超声波传感器在各个领域都得到了应用,在程序上容易设计,非常适合用于小车的避障检测。比较两种方案后,方案虽然电路结构简单、检测灵敏、但是容易受到外部光线的影响,稳定性差。方案2相比于方案1稳定性更好,不易受到外部环境干扰,检测精度高。故选择方案2作为避障模块方案。2.4最终方案的确定经过不同方案的比较后,最终采用以下方案作为小车的硬件设计方案:(1)采用简易的小车底盘结构作为自动寻迹小车的车体。(2)使用STC89C52RC微处理器作为小车控制芯片。(3)采用6节干电池作为小车的供电电源。(4)采用L298N驱动芯片作为小车的。(5)使用红外对管作为寻迹模块的传感器。(6)使用超声波测距传感器进行障碍物的检测。 3.1.1STC89C52RC单片机简介STC89C2052RC是由宏晶科技研发出的微处理器。拥有能耗低、性能强悍的优点,且不容易受到外部干扰,单片机的正常工作电压是5.5V-3.3V,单片机的内部拥有TO、T1、T2总共3个16位的定时器。单片机的数据存储器(RAM)存储空间大,可达到512字节,在单片机运行过程中,可以达到48MHz的工作频率,在正常工作时,其能耗为4Ma-7mA。图3-1为P2.6(A14)P2.1(A9)P2.0(A8)单片机任何有关于时间的操作,都需要时钟信号,没有时钟信号单片机都无法正常的运通过对单片机进行扩展,就能构成简单的时钟电路。本次设计中,利用反向放大器和一个无源晶振和两个电容构建出自激振荡器,从而产生时钟信号,本设容规格为20PF,通过计算得出单片机的机器周期是lus。图3-2给出了单片机时钟电路。3.1.3复位电路设计单片机需要复位信号才能让单片机内部的各个部件回归初始状态。复位的原理是:当复位电路输出一个2us的电平信号到单片机的复位引脚(RST)上,单片机执行复位操作,图3-3为复位电路。本次设计的复位电路是由10uf的电容、10k的电阻和按键构成的。[1]单片机上电启动时,C1两端的电压就会升高,电阻两端的电压就会减少,单片机的RST引脚为高电平输入,单片机进行复位。从单片机上电开始,C1电容就不断的充电,电阻的电压逐渐降低,产生低电位的电平信号输入到单片机RST引脚上,单片机正常工作。如果需要复位单片机时,只需要按下复位按键,C1电容两边被接通,电容开始放电,电阻两端的电压就会慢慢的升高,当电压逐渐升到1.5V以上时,单片机复位引脚检测到高电平信号,单片机执行复位操作。3.3电源模块设计3.3.1L7805稳压器简介L7805稳压器是一种三端的正电压调节器,使用方法为:输入端负责接入需要转换的直流电压,输出端则是负责输出5V的直流电压,接地端接地。利用L7805稳压芯片设计的电源电路,达到的稳压效果非常好,该芯片还拥有保护电路的作用,其内部有限流保护、过热保[13]芯片可以输入高达35V的电压,能够输出不超过1.5A的电流。在器件的使用过程中,需要注意的是:需要转换的电压和输出的电压,差别不能太大,否则芯片的电压转化会受到影响,器件也容易烧坏。其输入输出电压相差过小也会引起稳压效率的降低,如果需要输出大电流,器件的发热情况会变得严重,在散热器的选取上,不能选择规格较小的散热片,否则芯片容易被烧坏或者是触发芯片的过热保护,L7805稳压器引脚如图3-4所示。图3-4L7805稳压器引脚图小车的电源使用6节1.5V的干电池,在接入SW1开关后,先引出9V的电压供电机驱动模块使用,然后接入芯片的输入端,在经过L7805芯片的电压转化后,输出稳定的电压供小车使用。在电路中,两个电容起到过滤杂波的作用,LED灯为电源指示灯。图3-5给出了电源模块电路。±C4.DNG23图3-5电源模块电路图3.4驱动模块设计L298N驱动芯片内部有2个桥式驱动器,能过驱动46V以下的电机。工作电压为5V。驱动电机时,电流能够达到2A,芯片L298N芯片各个引脚的功能定义如图3-6,芯片的逻辑输 SUPPLYVOLTAGEVsL298N驱动芯片内部有4个简单的H桥式驱动电路,图3-7是一个用来控制电机的桥式电三极管Q2,电机就会实现反转。通过导通H桥电路的对角三极管就可以完成电机的驱动。从图3-7可以看出,如果同时导通Q3和Q4,电流从Q3直接流向Q4而没有经过电机,那么其流过的电流值会很大,有可能会造成三极管的损坏。为了避免这种情况,再实践运用中,构建与非门加到电上。非门负责提供导通信号,防止H桥式电路同一侧导通,与门与使能信号小车电机驱动电路是基于H桥式电路设计出的,驱动电路如图3-8所示。将两个直流电机接入L298N的4个输出引脚端,将芯片的四个输入端IN1、IN2、IN3、IN4和使能信号端连接到单片机上,当需要控制J1电机时,将芯片的IN1端接入高电平信号,将低电平信号接到IN2端上。J1电机就可以实现正转操作,但需要J1电机实现反转操作时,只需要将IN低电平,在IN2端上接入高电平。如果需要停止电机,将两个输入端同时接入同等电位的电平。具体控制逻辑详见表3-1。9P22二6584小车状态小车进行前进电机正转电机正转1010小车进行左转电机正转电机反转1001小车原地顺时针旋转电机正转停1011小车进行右转电机反转电机正转0110小车原地逆时针旋转停电机正转11工0小车进行后退电机反转电机反转01013.5寻迹模块设计3.5.1S178红外对管检测原理本次设计是用S178红外对管检测道路的信息,S178红外对管由两大部分构成,分别是红外光线的发射管和红外光线的接收管。图3-9分别为S178实物图(a)和内部电路图(b)。S178红外对管的检测距离为4-10mm。底视图内部电路图3-9S178红外对管图S178红外对管的工作原理:在红外对管接入电压正常工作后,发射管就会不断的发出特定频率的红外光线。在自然界中,光都是会被反射的,通过这一原理,红外光线在照射到物体后,就会被反射回来,被接收管接收到,当照射到黑色胶带等反光率低的介质上时,大部分的红外光线就会被黑色胶带吸收到,无法被反射,接收管没有红外光的充分照射,就会处于截止状态。如果红外光照射到其他反光率高的介质上时,红外光的反射率就会很高,红外光线反射回来,充分的照射到接收管,就会处于通路的状态,在经过寻迹电路的转化后。就可以输出高、低两种电平信号,从而实现循迹功能。端的电位使用范围广,对于比较信号源的内阻要求不高,图3-10为LM339引脚图。图3-10LM339引脚图LM339N比较器工作原理:LM339N共有四个比较器,每一个比较器两个输入端,通过符号“+”“-”就能辨别出来,带有“+”符号的是同相端,“-”符号的则是反相端。当需要进行电压的比较时,选取任意一个输入端,输入一个不变的电压值,剩下的一个输入端接入要比较的电压。如果两个输入端中,“+”号同相端的输入电压比较高,“-”号反向端的输入电压比较低,信号输出端就会输出高电位信号,当“-”号反相端输入电压高于“+”号同相端输入电压,输出端就会输出一个低电位信号。3.5.3循迹电路设计电路小车的循迹电路是以S178红外对管和LM339N电压比较器为主要元器件构建出的电路,本次设计的小车有五对红外对管,LM339N内部的比较器只有四个这里就不多加阐述了,循迹电路图如3-11所示。循迹电路以5V直流电压作为电源,以一组比较电路为例,电路中电阻R4和R3作为限在接通电源后,S178红外对管不断的发出红低值,比较器通过电压的比较后,就会输出一个低其他光反射率高的颜色时,光线被放射回来,接收管接收到后,其状态处于饱和状态,比较3.6避障模块硬件设计HC-SR04超声波传感器探测的范围是2cm到4m,工作电压为5V,拥有检测灵敏,精度高、能耗低、检测稳定性高的优点,可以应用在多个领域上。图3-12给出了HC-SR04实物图。HC-SR04引脚定义如表3-2所示:图3-12HC-SR04实物图名称定义电源端GND引脚接地端TRIG引脚信号输入端ECHO引脚信号输出端超声波是由物质的振动而产生的。具有两个振动方向,能够在不同的物质中传播,例如水,木材,空气等,超声波在扩散过程中,会出现不同程度的损耗。超声波传感器内部主要由压电元件组成,超声波传感器的时序图如图3-13所示。触发信号模块内部发出信号输出回响信号图3-13超声波时序图通过时序图可以看到,只要向传感器输出时间为10us的高电位信号,传感器内部就会持续不断的发出40000Hz的方波,当超音波遇到物体时,超音波折射回传感器,传感器检测到返回的超音波后,持续不断的输出电平信号,电平信号的时间长只要记录超声波发射到回传的时间,通过超声波距离公式(3-1)的公式换算,就能得出传感器和物体之间的距离。v=超声波在空气中的速度(340m/s)t=定时器的记录时间3.6.3超声波电路设计本设计通过单片机P1.6、P1.7□连接传感器的输入端和输出端,但需要发射超声波时,单片机通过P1.6□向传感器输出高电位信号,信号保持的时间为10us。超声波传感器在接收到单片机发出的高电平信号后,会立即发出方波信号,发出的方波频率为40KHz,总体数目为8个。同时单片机的TO定时器会启动,开始记录方波发射的时间,在遇到障碍物后,当超音波被反射回来时,定时器停止,不再记录超音波发射时间,传感器的输出端会不断的输出一个高电位信号。高电平信号的时间是TO定时器的计时时间。在通过测距公式(3-1)的计算,最终得出障碍物离小车的距离。图3-14给出了超声波接口电路。J4J4JP443213.7红外遥控模块3.7.1红外遥控器的原理按下红外遥控器的任意一个按键,红外发射端就会发送出一段载波信号,载波信号的频率为38kHz,,这段信号的本质是由0和1组成的编码,也被称为一帧数据,图3-15给出了一帧数据的构成情况,引导码代表着代码开始发送,数据码是为了防止不同的遥控器之间出现干扰现象。用户反码其实是用户码的取反,通过两个相反的代码之间的比较,就能识别出其发出的遥控指令是否是正确的。键数据码和键数据反码是操作码,在红外接收头接收到代码,单片机的解码程序成功解码后,就会执行相应的操作,图3-16为遥控器实物图。引导码引导码用户码用户反码键数据码键数据(8位)(8位)(8位)(8位)3.7.2红外接收电路设计本设计采用VS1838B红外接收头,具有抗干扰强、长距离接收信号的优点,该接收头有3个端子,图3-15为红外接收电路。在该电路中,接入5V电源到红外接收头的电源端(VSS),信号输出端(OUT)接到单片机的P3.2□,将接地端接入公共端。在接收头没有受到信号时,其输出端输出高电平信号,当收到红外信号时,则输出代码到单片机上,图3-17为红外接收4软件设计4.1主程序流程图小车的程序是采用C语言编写成的,在小车行驶过程中,各模块的传感器收集路面的信息转化为电平信号传到单片机I/O□。单片机接收到传感器提供的信号后,结合相关的程序对数据进行处理。最后将结果反馈到各个模块上,小车软件部分的构成为:循迹子程序、避障子程序、红外遥控程序等,还有延时调用、外部中断程序等。本文的程序设计是通过不同模块所要实现的功能来设计不同的子程序,通过这样的编程结构,在调试的时候更加的简单。主程序流程如图4-1所示。YN4.2电机驱动程序设计电机驱动程序负责实现小车的前进、转向等行驶功能。通过单片机输出电平信号给电机驱动电路中的L298驱动芯片,结合电机驱动电路就能实现对电机的驱动。在设计驱动程序时,应对单片机连接L298芯片的I/O□进行定义。在再将小车的前进、左转等功能定义函数,方便其他子程序的调用。下面为小车前进功能的部分程序,在程序中,通过对L298驱动芯片的4个信号输入端接入不同的电平信号,即可控制2个电机的正反转,具体控制逻辑见表3-//左边电机信号输入端IN2//右边电机信号输入端IN24.3循迹模块程序设计小车循迹功能是通过红外传感器检测路面信息,采集到的信息通过循迹电路转化为电平信号传输到单片机上,再通过单片机程序进行处理,最终实现小车的寻迹功能,在循迹程序的设计时,将循迹电路连接单片机的5个I/O□进行定义,在通if语句的形式来判断位置,然后调用驱动子程序,从而实现小车的循迹,循迹流程如图4-2所示。车从左到右的五个红外传感器。寻到黑线为0,白线为1。从程序中可以看到,当中间的传感器检测到黑线而其他传感器没检测到黑线时,说明小车处于黑线的正上方。不需要调整小车的行驶轨迹。满足if语句的执行条件,执行小车的前进子程序,小车实现前进功能。当小车在寻黑线行驶中需要进行转弯时,通过五个传感器检测情况的不同,从而判断出小车是否需要转向,将需要右转的情况统计出来,作为if语句的执行条件,当条件满足时,执行右转子if((xun_ll==1)&&(xun_l==1)&&(xun_z==0)&&(xun_r==1)&if(((xun_ll==1)&&(xun_l==1)&&(xun_z==0)&&(xun_r==0)&((xun_ll==1)&&(xun_l==1)&&(xun_z==1)&&(xun_r==0((xun_ll==1)&&(xun_l==1)&&(xun_z==1)&&(xun_r==0)((xun_ll==1)&&(xun_l==1)&&(xun_z==1)&&(xun_r==1YN4.4避障模块程序设计小车在行驶过程中通过传感器发出超音波,同时89C52RC单片机的定时器开始记录时间,在超音波遇到物体后,被反射回传感器上,同时定时器停止记录时间,此时传感器会持续输出高电平,其持续时间为定时器所记录的时间,再通过测距公式(3-1)进行距离的计算。得出障碍物的距离。在程序中,当计算出小车与障碍物的距离后,通过if语句来判断小车是否件成立,执行下面的程序。可以看到,小车先停一下,让车体稳定下来,然后右转90度后前再左转后前进,让小车回到黑色轨道上,继续寻迹行驶。总的来说,小车的避障行驶轨迹为半个正方形。if(distance<20)right_90();/小车右转90度go();/小车前进left_90();//小车左转90度stop();/I小车停止left_90();//小车左转90度while((xun_1==1)&&(xun_r==1);//等待回到轨道right_s_90_while();//右转90度,让小车回到黑线上图4-3避障流程图4.5红外遥控程序设计红外接收头接收到引导码,然后判断1和0,当解码成功后,红外遥控程序执行条件满足,就可以通过按下不同的按键来进行小车的遥控。红外遥控流程如图4-4所示。红外遥控的部分程序如下。if(flag_jiema_en==1)//解码成功//停下go();5.1小车制作在制作小车前,首先检查各个元器件是否能正常工作,其规格是否正确,在元器件检查无误后,先进行电路元器件的排版,元器件排版如图5-1所示。电路制作完毕后,使用万用表检查电路是否有虚焊、短路的现象,检查各个模块的芯片电压是否正常,如检查LM339N电压比较器时,用万用表红表笔和黑表笔分别接LM339N电路有问题。应断开电源检查电路。在修改电路后再进行上电检测,直到LM339N电压比较器上有电压为止。以类似的方法检查其他模块的电路。在电路检查无误后,即可烧写程序到单片机程序上,进行各个模块功能的调试。5.2循迹功能的调试循迹模块是用红外传感器进行黑线的检测,先做出贴有黑色胶带的跑道,将小车放到黑色胶带上,调整红外传感器与黑线之间的位置,以2cm左右合适,再通过改变电位器的阻值来改变比较器的基准电压,调试过程如图5-2所示,当比较器输出低电平信号,红色指示灯亮起,代表红外传感器检测到黑线。通过反复的调试,让小车能稳定的进行黑线检测,从而使小车能够稳定的寻黑线行驶。5.3避障功能的调试在对小车的避障功能进行调试时,在小车寻迹行驶道路上放一个障碍物,观察小车的避障反应速度,根据小车避障反应的快慢,修改程序中的避障程序执行条件参数,如在避障过程中,小车没有成功绕开避障物,调节延时参数,调试过程如图5-3所示,通过不断的修改,最终使小车合理的进行避障操作。right_s_90_while();5.4红外遥控功能的调试声当红外遥控器发出指令后,如小车没有接收到代码,利用万用表检查外部硬件,当外部硬件没有问题时,检查程序是否出现错误,如程序的红外遥控I/O□是否定义错误,当发现错误时,在修改程序后,重新烧入单片机内,经过不断调试,最终实现小车的红外遥控功能。当遥控器按下“+”按钮,小车前进,当按下“-”按钮,小车后退。当按下快进键,小车实现转向。当按下MENU按钮,小车切换为自动寻迹模式,当按下电源键,小车关闭自动寻迹模随着社会的不断发展,智能车辆的应用越来越广泛,在汽车行业,智能车辆能够保障社会大众的出行安全,在航天航空领域,能够对其他星球进行探索,在其他领域也有着广泛的应用。本文正是基于此背景,展开对自动寻迹小车控制系统的研究和设计。将红外对管检测黑线的原理、超声波传感器测距原理和红外通讯原理成功的运用在本次

温馨提示

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

最新文档

评论

0/150

提交评论