版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能灭火小车的设计与实现I智能灭火小车的设计与实现摘要随着人类文化的发展,越来越多的自然灾害降临人间,火灾已严重威胁人类的生命,为此人类发明智能机器人(小车)去代替我们从事危险工作。所以人们开始重视研究智能生命的运用。此设计,设计制作了一款通过红外光电传感器检测路径信息、红外火焰传感器检测火源的智能寻迹灭火小是运用51单片机为控制系统。加以电源电路、电机驱动、超声波传感器、灭火风扇以及其他电路等构成。电源电路能够为系统提供所需要的工作电源,循迹和避障由光电对管完成,用超声波传感器感受的火源的所在方位,能够动作迅速且准确的找到位置,风扇电机启动风扇,最后达到现场灭火的目的。关键词:单片机,小车,引导控制,传感器智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第1页。Thedesignofthefire-fightingrobortAbstractConfrontedwithsomanybadworkingenvironment(suchasfirefighting,rescueetc),inordertoeffectivelyavoidcasualties,needtouseintelligentgobycarscenetocompleterelevanttasks.Therefore,theresearchanddevelopmentofintelligentcarguidecontrolsystemhastheextremelyvitalsignificance.ThissystemusesSTC89C51asthecorecontrolchip,designandmakeanewelectricsensordetectionbyinfraredsensorinformation,infraredflamepathofintelligenttracingtestfireextinguishingcar.Thesystemiscomposedofsingle-chipmicrocomputercontrolmodule,tracingsensormodule,drivemotormodule,ignitionsensormodule,fanmodule,powersupplymodule.Thepracticalapplicationindicatesthatthecarcanbeinaspeciallydesignedfieldonfire,torealizetheindependentfoundautonomousrecognitionroute,independentsourcesandmarchingclosetothefireextinguishing,finallycompletetask.Keywords: Microcontroller,Car,Controlsystem,Sensors智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第2页。目录1绪论 11.1论文研究目的及意义 11.2本课题要研究或解决的问题和拟采用的研究手段(途径) 12方案设计与论证 32.1.1设计要求 32.1.2创新设计 42.2总体设计方案 42.3小车的方案设计与论证 52.4驱动电机模块的选定 52.5单片机控制模块的选定 62.6火源传感器模块的选定 62.7风扇模块的选定 72.8电源模块的选定 72.9最终方案 83硬件设计 93.1系统工作原理及功能简介 93.2电路模块简介 93.3电源 223.3红外寻迹传感器 223.4采用PWM调速的直流电机 243.4.1PWM的简介 243.4.2H型电机驱动 243.4.3小车原理图 253.5红外火焰传感器 263.6风扇模块 273.7智能小车整体设计 28智能灭火小车的设计与实现全文共48页,当前为第3页。3.7.1CPU引脚的设定 28智能灭火小车的设计与实现全文共48页,当前为第3页。3.7.2整体设计 294软件设计 314.1智能灭火小车系统总体流程 314.2程序流程图 324.3部分功能代码 345测试结果与总结 395.1测试结果 395.2总结 39参考文献 41致谢 43附录 45智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第4页。1绪论1.1论文研究目的及意义就现在而言由于环境的破坏自然灾害不断,火灾,地震,海啸等频频不断。有些是人力可以解决的,而有些却是人类无能为力的。人们想到了用智能机器人来代替人类去完成一些危险的工作。现如今,由于人们重视科学文化所以科技也是发展很快,就近而言智能小车这个课题在很多院校和电子比赛中很受欢迎,可见其研究意义的重大。智能小车应用的范围是很广泛,比如,军事侦察和环境探测、探测危险与排除险情、安全检测与受损评估和智能家居等。火灾是三大自然灾害之一,消防人员总是冲到第一线,所以为了降低其危险程度智能灭火小车从而产生。智能灭火小车主要是由单片机进行控制的,单片机的用途有很多,应用在各个领域,工业,航空等等。智能寻迹灭火小车的控制系统我主要是运用,方便简单易操作的51单片机。至于硬件部分则是用:驱动电机模块、寻迹传感器模块、单片机控制模块、火源传感器模块、风扇模块、电源模块。该设计流程由51单片机作为控制系统从而进行控制执行指令,用温度传感器进行探测搜索信号传递给单片机同时用PWM直流电机控制速度,小车是本体,灭火我则选择了风扇作为灭火方式。1.2智能小车的现状和前景目前,国内外的许多大学及研究机构投入大量的人力、财力和物力进行对智能机器人的研究,而智能小车又是智能机器人的典型代表,因此,对智能小车的研究也是很火热的。在技术时代的发展过程中,智能小车在人类的生活和技术领域中会占据一席之地且越来越重要。智能灭火小车的设计与实现全文共48页,当前为第5页。智能小车的发展背景自第一台工业机器人诞生以来,机器人的民展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人工作的机器一直是人类的梦想。其中智能小车可以作为机器人的典型代表。其需要实现自动导引功能和避障功能就必须要感知导引线和障碍物,实现自动识别路线,选择正确的行进路线,使用传感器感知路线并作出判断和相应的执行动作。智能小车设计与开发涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科。它可以分为三大部分:传感器检测部分,执行部分,CPU。现智能小车发展很快,从智能玩具到各行业都有实质成果,其基本可实现循迹、避障、检测贴片,寻光入库等基本功能,有向声控系统发展的趋势。比较出名的飞思卡尔智能小车更是走在前列,我们此次的设计主要实现避障灭火智能灭火小车的设计与实现全文共48页,当前为第5页。智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第6页。2方案设计与论证2.1任务要求2.1.1设计任务制作一个只能灭火小车的灭火场景模式如图2.1所示。图2.1模拟灭火场地示意图2.1.2设计要求智能灭火小车的设计与实现全文共48页,当前为第7页。1.当小车收到信号启动后,小车可以自己找到智能灭火小车的设计与实现全文共48页,当前为第7页。2.当小车扑灭火源后它可以自动检测周围是不是还有其它的火源。3.如果小车找到火源就继续灭火,如果没有火源那就就停止工作。2.1.3创新设计1.小车车身结构比较合理恰当,各个功能模块分别可以规划自己空间位置摆放。2.小车所需的电力电子器件,车身,风扇电机等都是参考实际价格买的。3.灭火小风扇我是采用三极管放大电路进行供电的,它可以使电机的转速率得到最大的提高。2.2总体设计方案总体方案为:整个电路分为驱动电机模块(Drivemotormodule)、单片机控制模块(Single-chipmicrocomputercontrolmodule)、火源传感器模块(Firesensormodule)、风扇模块(Thefanmodule)、电源模块(Powersupplymodule)五个模块。第一路信号,利用红外探测,火源传感器检测火灾信号源的使用,处理后的两个信号,单片机控制模块的实时运算,输出相应的信号给驱动电机旋转电机驱动模块,控制整个小车的运动。系统方案框图如下图2.2。图2.2系统设计方案框图2.3小车的方案设计与论证智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第8页。方案1:小车车身自己制作装配合适的电机和电机驱动板,自制的探测器,并用开发板为控制驱动汽车。但如果是自己做的小车,车体是比较粗糙的,车体的重量,平衡,还有小车电路设计,这些都是很难很好的实现。方案2:购买的电车都带有车轮和车架,甚至是一个完整的小车装配和电机驱动板比较方便。使用自制的检测器或购买完整的检测模块,并使用开发板来控制小车运动。特殊工具装配紧凑,所需的电路安装非常方便,看起来更漂亮。此外,由于特殊的电动机装配完成后,电机驱动,它消除了电机驱动和电机驱动的设计与实现难的问题。鉴于以上2种方案的比较,我最后选择方案2。2.4驱动电机模块的选定方案1:采用步进电机作为系统电机驱动,电机散步到性能确定性地偏转方向控制和实施,并能准确测量速度,距离和时间,简化了编程和硬件连接的工作量。但对步进电机的转矩输出为低,随着转速的增加而减小,在高转速时急剧下降,转速低,不适用于汽车有一定速度系统等。方案2:一般情况下直流控制的驱动电机比较容易控制只用适当的电压控制线路电机就能转动,电机的速度和电压成正比。正负极的变化从而容易改变电机的旋转方向,方便更换小车行驶的状态。对直流电机的转速,可通过改变电压的方法,也可采用PWM控制方法。PWM调速进行方波直流电机电压的两侧,通过改变电机的转速调节方波的占空比。与其它调速系统相比,PWM调速系统有下列优点:1.因为PWM的控制形式是数字控制,所以不需要模拟信号转换为数字信号。2.PWM能比较好的抵抗噪音3.小车中的电子元器件只有开关两种形式可以更好的减少能耗。4.因为所需实现功能少所以易操作。5.本身车速稳定易调而且精度高。根据以上分析我们采用方案22.5单片机控制模块的选定智能灭火小车的设计与实现全文共48页,当前为第9页。因为本身我的设计的系统简单所以采用STC89C51单片机作为主控制芯片,该芯片有很大的储存空间足够我们使用,可以很容易地在线ISP下载程序,能够满足系统需求的软件,芯片提供了两个计数器中断,足够为这个工作系统,利用芯片各个模块控制芯片更灵活的选择,能够准确地计算时间,具有良好的实时性能。智能灭火小车的设计与实现全文共48页,当前为第9页。2.6火源传感器模块的选定方案1:使用两个热敏电阻作为传感器的核心,但是在实验中已经显示出一定的距离气温变化却很小,而热敏电阻也几乎没变化。方案2:利用两个光敏电阻为核心的传感器,使用不同距离、不同光照强度,光敏电阻光敏性能能很好的把光信号转变为电信号,提供相关信号让单片机判断操作。我们发现,该方案具有很多缺点,抵抗外界干扰能力比较差,误差也很大,不能准确定位火源的位置。方案3:通过红外接收二极管和红外接收二极管的外部红外光线的变化的电流的变化,通过A/D转换器的模拟信号反射0~1023内的数字信号的范围。外部红外光越强,该值越小,根据值的变化来判断红外光线的强度,可大致相同的距离判别出火。红外火焰传感器可以用来检测火灾或其他的波长在760nm到760nm范围内的热源,60度角的检测,近红外波长在940nm,最大灵敏度。实验发现,如果红外干扰少的环境时,该方案能更精确地检测火源的位置。鉴于以上3种方案的比较,我们选择方案3。2.7风扇模块的选定我选择的灭火方式是用小电机带动风扇进行灭火。这种方案有两个子方案。方案1:采用芯片控制的方式,这种方式对于风扇的转速不需要控制而且效率较低不能更好的减少能耗。智能灭火小车的设计与实现全文共48页,当前为第10页。方案2:对于三极管放大电路该方案电路简单,易于实现,不仅可以减少道路上的不必要的麻烦,很多电传动效率大大提高,不仅如此,可维护性强,在失败的情况下快速维修时间。智能灭火小车的设计与实现全文共48页,当前为第10页。综合考虑,本设计采用了方案2。2.8电源模块的选定在本设计系统里我采用的电源其中单片机电压为的5V,L298N芯片(L298Nchip)的电源5V电压和电机的电源7-25V电压。所以对于电源的选择很重要必须是稳定可靠的。方案1:采用UT-3W提供的电源方案为电机供电,采用UT-3W提供的电源接口为单片机提供电源。优点:简单方便。方案2:采用干电池为整个系统中的电量来源,再经过转换变成驱动电机和单片机所需的电压。基于系统的稳定性考虑,我选择了方案2。2.9最终方案经过反复论证,我们最终确定了如下方案:1.车体是购买专用电动车。2.采用STC89C51单片机作为控制核心。3.用干电池作为整个系统源能。4.火源传感器的原理只用红外接收管来实现的。5.驱动风扇模块是用三极管放大电路(Transistoramplifiercircuit)实现的。智能灭火小车的设计与实现全文共48页,当前为第11页。系统的结构框图如图2智能灭火小车的设计与实现全文共48页,当前为第11页。图2.3系统结构框图智能灭火小车的设计与实现全文共48页,当前为第12页。
3硬件设计智能灭火小车的设计与实现全文共48页,当前为第12页。3.1系统工作原理及功能简介本系统是采用51单片机来作为主控模块,利用红外传感器进行信号搜索然后传递给单片机进行处理最后发出信号指令驱动小车电机寻找火源,到达火源地点风扇转动从而灭火。系统工作原理框图如图3.1所示。图3.1系统工作原理框图3.2电路模块简介智能灭火小车的设计与实现全文共48页,当前为第13页。基于51单片机的开发系统,为STC89C52,主控芯片集成了AT24C02,DS1302实时时钟,四个LED,AD转换,4路1路DA转换,8路伺服控制器,直流电机驱动的两条路,一个风机电机驱动,4路超声波接口,8路光电二极管的接口,一个1602屏幕,4键遥控器,无线收发器接口的计算机,一个单独的按钮,复位按钮,等等。(1)电源转换部分:电源控制系统的电源转换部分,以及舵机驱动系统的电源,有两条路1117-5,5V电源供应的所有方式为主的电源控制系统,也有一个5V的伺服驱动电源。电源芯片,因为对舵机的最大能提供800毫安的电流大的电流,如果总电流超过舵机的范围,请外部5
智能灭火小车的设计与实现全文共48页,当前为第13页。图3.2电源转换部分电路如图所示,其中的0欧姆电阻可以将两路电源连接到一起,如果舵机需求电流太大,可以焊接0欧姆电阻,但是原则上不建议这么做。主电源通过接线端子输入,电压范围可以是8V24V,这个电压主要取决于电机电压,本小车电压为9V,我们可以选择两节锂电池供电,电池接入如图所示:图3.3电池在电池盒中的安装方式智能灭火小车的设计与实现全文共48页,当前为第14页。图3.4智能灭火小车的设计与实现全文共48页,当前为第14页。图3.5将电池接入控制板(2)单片机最小系统:单片机最小系统包括了单片机,电源,晶振,复位电路组成电路图图3.6单片机最小系统智能灭火小车的设计与实现全文共48页,当前为第15页。智能灭火小车的设计与实现全文共48页,当前为第15页。图3.7单片机串口电路(4)EEPROM存储芯片(EEPROMmemorychips)AT24C02:AT24C02是ATMEL公司生产的一款EEPROM芯片,其可以将数据存储起来,避免重要数据的丢失,通信方式为IIC:图3.8AT24C02芯片智能灭火小车的设计与实现全文共48页,当前为第16页。(5)实时时钟芯片DS1302:这是一款具有充电能力的功耗比较低的一种实时时钟电路、工作原理及其在实时显示时间中的应用。其电路图如图所示:智能灭火小车的设计与实现全文共48页,当前为第16页。图3.9时钟电路(6)AD和DA转换电路,AD和DA转换电路采用pcf8591芯片,AD转换,并可提供4路DA转换。f8591是单片集成,单电源,低功耗,CMOS8位数据采集装置。PCF8591有四模拟输入,模拟输出和一个串行I2C总线接口。PCF8591三个地址引脚A0,A1和A2可编程的硬件地址,在同一个I2C总线访问八PCF8591设备允许的,无需额外的硬件。在PCF8591设备的输入和输出地址,数据和控制信号通过双向的I2C总线,在串行传输的形式电路图如图所示:图3.10AD/DA转换电路智能灭火小车的设计与实现全文共48页,当前为第17页。智能灭火小车的设计与实现全文共48页,当前为第17页。图3.11外扩端子电路AD转换它的功能在于能把把火焰信号转换成数字信号,接口位置下图所示:图3.12AD转换的接口电路其中,“+“好代表了5V电源,”-“号代表了地端,A1代表了模拟输入转换端口1。其他输入端口依次类推。智能灭火小车的设计与实现全文共48页,当前为第18页。智能灭火小车的设计与实现全文共48页,当前为第18页。图3.13光电传感器接口光电扩展在控制板上的位置,如图所示:图3.14光电扩展智能灭火小车的设计与实现全文共48页,当前为第19页。(8)舵机控制电路:舵机控制电路用74HC595扩展,电路如图所示智能灭火小车的设计与实现全文共48页,当前为第19页。图3.15舵机控制电路舵机控制端口扩展如图所示:图3.16舵机控制端口扩展智能灭火小车的设计与实现全文共48页,当前为第20页。智能灭火小车的设计与实现全文共48页,当前为第20页。图3.17舵机安装接口(9)蜂鸣器接口:三极管来驱动蜂鸣器,P37为控制端口,当IO是低信号时三极管可以导通,同时蜂鸣器就可以发出声音来。图3.18蜂鸣器接口电路智能灭火小车的设计与实现全文共48页,当前为第21页。智能灭火小车的设计与实现全文共48页,当前为第21页。图3.19四键遥控器接口电路图3.20四键遥控器接口智能灭火小车的设计与实现全文共48页,当前为第22页。(11超声波模块提供了四个输入,5V电源,输入脉冲和脉冲输出,控制面板延伸的四个以上的超声波界面,只需要把相应的端口对接就行了,智能灭火小车的设计与实现全文共48页,当前为第22页。图3.23超声波模块图3.24超声波模块接口智能灭火小车的设计与实现全文共48页,当前为第23页。(12)液晶模块的接口:在控制面板上另外加一个智能灭火小车的设计与实现全文共48页,当前为第23页。图3.25液晶模块接口扩展电路(13)主电机驱动电路:主电机采用L298N作为驱动芯片,外部通过光耦隔离,电路图如图所示:图3.26光耦隔离输入智能灭火小车的设计与实现全文共4智能灭火小车的设计与实现全文共48页,当前为第24页。图3.28电机接口(14)发光二极管:发光二极管当做电机转换方向指示作用,其电路如图所示:图3.29发光二极管电路3.3电源六节干电池供电的系统。一三端稳压管为电机和单片机电压。供应链管理需要5伏电压,所以用7805的电源,采用9V电压电机,6系列干电池直接供电。单片机与电机能够正常工作,供电形势是一个重要的方面。为了防止电力电子电路的调试和程序的调试,采用六充电电池供电的系统。3.4采用PWM调速的直流电机3.4.1PWM的简介智能灭火小车的设计与实现全文共48页,当前为第25页。脉宽调制的全称为:PulseWidthModulator,简称PWM,由于它的特殊性能,常被用于直流负载回路中、灯具调光或直流电动机调速智能灭火小车的设计与实现全文共48页,当前为第25页。脉宽调制(PWM),控制方式就是采用脉冲宽度调制技术(Pulsewidthmodulationtechnology),其工作原理是:通过改变“接通脉冲”的宽度,使直流电机电枢上的电压的“占空比”改变,从而改变电枢电压的平均值,控制电机的转速,它显著优点就是对电压谐波频谱的改变,除了基波电压以外,几乎不再含有低次谐波,仅存在高次谐波。这样使得谐波高频化从而很便于滤除,即只要很小的滤波器就可以得到很好的基波分量。PWM控制可分为单极性调制和双极性调制两种方式,为了实现直流伺服系统的H型单极模式同频PWM可逆控制,一般需要产生四路驱动信号来实现电机的正反转切换控制。3.4.2H型电机驱动直流电机驱动电路采用H型PWM电路,用单片机控制驱动电路,使其在开关状态的占空比可调的工作,准确地调节电机的转速。H电路能实现速度和方向的控制,使用PWM直流电机调速,实际上是波形对电机驱动电路使用,因此下面对电机驱动电路进行介绍。驱动电路如图3.31所示。图3.31电机驱动电路图2.3是直流电路控制电路的简单电路。电路里,H桥式电机驱动电路包括有四个三极管还有一个电机。为了使电机工作,那必须得有一个场效应管导通对角线上的。根据不同的场效应管的情况下的电流传导,可以从左到右或从右到左的电机,从而控制电机。智能灭火小车的设计与实现全文共48页,当前为第26页。如图2.3所示,当智能灭火小车的设计与实现全文共48页,当前为第26页。3.4.3小车原理图小车原理图如图3.32所示,通过l293f芯片(L293fchip)控制方向和速度的旋转电机。Speed1和速度两端口通过PWM控制电机的速度控制,IN1和IN2的控制对电机旋转方向的左侧,3和4控制对电机的旋转方向的右侧。通过对六端口的控制,使小车能够按照预定的轨迹。图3.32小车原理图3.5红外火焰传感器智能灭火小车的设计与实现全文共48页,当前为第27页。红外火焰传感器(Infraredflamesensor)能够探测到的波长范围是在700纳米~1000纳米的红外光,红外火焰传感器探测角度为60,它的红外光波长大概在880纳米附近时,其灵敏度可以达到最大。远红外火焰探头将外界红外光的强弱变化转化为电流的变化,通过A/D转换器反映为0~255范围内数值的变化。外界红外光越强,数值越小;红外光越弱,数值越大。红外火焰传感器原理图如图3.33智能灭火小车的设计与实现全文共48页,当前为第27页。图3.33红外火焰电路原理图下面为火焰传感器实测数据,一根蜡烛为火源,室内正常日光灯环境实测结果如表3.1所示。表3.1火焰传感器实测结果无火源时,对着日光灯0.35V-0.12V10cm4.98V20cm4.88V30cm4.72V40cm3.77V50cm2.89V60cm2.34V70cm1.92V80cm1.45V90cm1.15V100cm0.96V智能灭火小车的设计与实现全文共48页,当前为第28页。红外火焰传感器的电流变化会对外部红外反射,通过A/D转换为0~1023)的范围内的值。在外部强大的红外光,较小的值。系统越接近热源的小型机器人,表演,阅读。根据变化的函数的返回值来确定强度的红外光,可以大致相同的距离判别出火源。此外,远红外火焰探头探测角度为60°智能灭火小车的设计与实现全文共48页,当前为第28页。3.6风扇模块灭火电机风扇所需驱动电压为+5V,为了提高输出效率使动力足够,我选择了三极管8550让他来提高驱动能力。灭火风扇驱动电路如图3.34所示。图3.34灭火风扇电路原理图在Uin处接单片机的IO口,通过IO口输出高低电平来控制灭火风扇的启动和停止。3.7智能小车整体设计3.7.1CPU引脚的设定如图所示,CPU的P1.0、P1.1控制小车的左侧电机,P1.4、P1.5控制小车的右侧电机;P3.1输出PWM信号,控制小车电机的转速;P2.4—P2.7为火焰传感器输入信号,分别为前、后、左、右侧的火焰传感器的信号,P2.0—P2.2为循迹传感器输入信号。下面是各引脚在含义:1.循迹传感器:左—P2.2 中—P2.1 右—P2.02.火焰传感器:前—P2.4 后—P2.6 左—P2.5 右—P2.73.电机控制:左—P1.0/P1.1 右—P1.4/P1.54.风扇控制:P3.4智能灭火小车的设计与实现全文共48页,当前为第29页。引脚设定图如图3.35智能灭火小车的设计与实现全文共48页,当前为第29页。图3.35引脚设定图电机转动由电机控制端口P1控制,其中,P1.0/P1.1控制左侧电机转动,P1.4/P1.5控制右侧电机转动,电机转动表如表2.2所示。表3.2电机转动表左电机右电机P0.1P0.0含义HEXP0.5P0.4含义HEX00000001前转101前转110后转210后转211停止311停止33.7.2整体设计智能灭火小车的设计与实现全文共48页,当前为第30页。小车有三个轮,前边两个是动力作用后边起到支撑作用。同时左右两个轮用两个完全相同的直流减速电机进行驱动,小车后边装有一个万向轮。小车的整体设计图如图3.36智能灭火小车的设计与实现全文共48页,当前为第30页。图3.36小车整体设计图总共有4个火焰传感器,在试验中分别可以感应四个方向的火源信号分别是前后左右,如果在传感器左侧探测火源,是推进车的左边;如果传感器右边探测火源,小车转向右边,如果传感器检测到火源前,车子向前;如果传感器检测火灾后车向后转180°。通过检测两套传感器的信号,单片机根据程序输出相应的反应信号,控制两个电动机的转动,以使小车相互协调工作,完成灭火的任务。4软件设计在一般时候我们会用C语言来编程来完成单片机,因为这样我们易学,操作简单它具有低端和高端语言的优点。4.1智能灭火小车系统总体流程智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第31页。此部分是小车运行的核心部分,起着控制小车所有运行状态的作用,具有导向和决策的功能。程序控制流程图如图4.1所示。图4.1控制流程图系统的总体流程是:小车得电运动传感器找到信号传递给单片机,单片机发出指令小车去那个方向,然后到一定距离小车停下风扇转动进行灭火。智能灭火小车的设计与实现全文共48页,当前为第32页。
4.2程序流程图智能灭火小车的设计与实现全文共48页,当前为第32页。1.小车灭火的主程序软件流程图如图3.2所示,小车启动寻找火源,传感器探测信号传递给单片机然后,单片机发出指令,小车运动到相应位置,风扇转动灭火。主程序流程图如图4.2所示。智能灭火小车的设计与实现全文共48页,当前为第33页。图4智能灭火小车的设计与实现全文共48页,当前为第33页。 图4.4判断火源位置模块4.3部分功能代码1.小车转向代码voidrun()//电机启动{ P1=0x11;}voidleft() //左转{ P1=0x13;}智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第34页。voidright() //右转{ P1=0x31;}voidbig_right() //右大转{ P1=0x21;}voidbig_left() //左大转{ P1=0x12;}voidstop() //停止{ P1=0x33;}voidback() //后退{ P1=0x22;}2.小车寻迹代码voidtrack(){unsignedcharNum;智能灭火小车的设计与实现全文共48页,当前为第35页。智能灭火小车的设计与实现全文共48页,当前为第35页。PWM_ON=4;//高电平时间档,共10个档位while(1){Num=P2;Num=Num&0x07;P0=Num|0xf8;//指示灯switch(Num){case0x02: //前进{run();STATE_LAST=Num;}case0x04: //左转{left();STATE_LAST=Num;}case0x06: //左大转{big_left();STATE_LAST=Num;}case0x01: //右转{right();STATE_LAST=Num;}case0x03: //右大转智能灭火小车的设计与实现全文共48页,当前为第36页。智能灭火小车的设计与实现全文共48页,当前为第36页。big_right();STATE_LAST=Num;}case0x07://停止{stop();}case0x00://检测不到黑线时查看上一个状态,并做出判断{if(STATE_LAST==0x04||STATE_LAST==0x06) //左轮后退{P1=0x02;}elseif(STATE_LAST==0x01||STATE_LAST==0x03) //右轮后退{P1=0x20;}elseif(STATE_LAST==0x00){left(); //左转寻线}else{stop();}}default:智能灭火小车的设计与实现全文共48页,当前为第37页。智能灭火小车的设计与实现全文共48页,当前为第37页。left();}}}}3.PWM调速代码voidtim(void)interrupt1{staticunsignedcharcount;TH0=(65536-100)/256;TL0=(65536-100)%256;//定时0.1mSif(count==PWM_ON){PWM=1;//高电平}count++;if(count==10) //分为10个档{count=0;if(PWM_ON!=0){PWM=0;//低电平}} }智能灭火小车的设计与实现全文共48页,当前为第38页。
5测试结果与总结智能灭火小车的设计与实现全文共48页,当前为第38页。5.1测试结果1.测试仪器在一定的空间模拟一个灭火场地,设置一个点着的蜡烛为火源。2.测试方法把小车放在模拟空间中让它找到蜡烛并且吹灭。3.测试数据及测试结果分析测试显示,在小车的直线运行过程中,小车会出现左右摇摆的现象,如下所示。(1)小车有时候会迟钝找不到可能距离有点远。(2)PWM电机可以调节,调快了小车就会不稳定,当调慢了就比较稳定。5.2总结这个设计我用了两个月的时间完成,中间去寻求胡老师帮助还有问一些同学,老师不耐其烦的给我讲解,很感谢老师。中间选择车身,驱动电机,传感器,风扇,轮胎等都是慢慢筛选的,让这个设计中的配件契合。大学四年生活匆匆而过,在大学里自己学到了很多知识也交了很多朋友。大一时候的懵懂,大二时候的活泼,大三时候的成熟,和大四最后一年的不舍,种种回忆不断在脑海闪现。我爱这个学校我的老师,还有我的同学们。你们在我大学生涯中给我微笑给我信心,给我帮助。毕业设计可能还有不足敬请各位老师们给予指正,万分感谢。智能灭火小车的设计与实现全文共48页,当前为第39页。
参考文献智能灭火小车的设计与实现全文共48页,当前为第39页。[1]曹明扬,单片机发展动向及市场预测[M],计算机世界,1996.No.1[2]吴炳胜,王桂梅等编著,80C51单片机原理与应用[M],冶金工业出版社,2001[3]陈光东,赵性初,单片微型计算机原理与接口技术[M],武汉:华中理工大学出版社,1993[4]何立民,单片机技术的现状与未来[J],中国计算机报,1995.No.30[5]王新贤,实用计算机控制技术手册[M],济南:山东科学技术出版社,1994:691-752[6]余永权,江明慧,黄英.单片机在控制系统中的应用[M],北京:电子工业出版社,2003.10[7]靳桅,潘育山,邬芝权.单片机原理及应用—C51编程技术[M],西南交通大学出版社,2004.3[8]陈汝全,电子技术常用器件应用手册第二版[M],北京:机械工业出版社,2000.10[9]杨建宁,单片机对步进电机升降速控制[M],中小型电机,1997[10]雷海波,用微机和单片机控制步进电机的走动[M],微计算机信息,2000.[11]魏庆福,全新的工控机标准化平台——CompactPCI[J],计算机世界,1999.No.7[12]吉雷,Protel99—从入门到精通,西安电子科技大学出版社[J],2000,10[13]高鹏年、安涛、寇怀成,电路设计与制版[M],人民邮电出版社,2000[14]韩飞鹏,单片机的开发方式[M],中国计算机报,1995.No.30[15]尹勇、王洪成,单片机开发环境uVision2使用指南及USB固件编程与调试[M],北京:北京航空航天大学出版社,2004[16]V.Yu.Teplov,A.V.Anisimov.ThermostattingSystemUsingaSingle-ChipMicrocomputerandThermoelectricModulesBasedonthePeltierEffect[J],2002
[17]YeagerBrent.Howtotroubleshootyourelectronicscale[J]..PowderandBulkEngineering.1995
[18]MeehanJoanne,MuirLindsey.SCMinMerseysideSMEs:Benefitsandbarriers[J]..TQMJournal.2008智能灭火小车的设计与实现全文共48页,当前为第40页。[19]BehzadRazavi.DesignofAnalogCMOSIntegratedCircuits[M]..2001
[20]RheeW.Designofhigh-performanceCMOSchargepumpsinphase-lockedloops.IEEEInternationalSymposiumonCir-cuitsandSystems.1999[3]ToddCha智能灭火小车的设计与实现全文共48页,当前为第40页。智能灭火小车的设计与实现全文共智能灭火小车的设计与实现全文共48页,当前为第41页。附录以下是小车的完整源代码/*名称:循迹小车作者:张飞龙日期:2013.6.10晶振:12m内容:光电二极管检测黑线,远红外火焰传感器检测火源,通过STC89C51单片机控制电机的转速改变方向,并控制风扇灭火。说明:光电检测元件:5通道灰度检测传感器 单片机:STC89C51 小车:UT-CAR-3W-01 电机驱动元件:L293D P1口控制电机转动 P2口检测路线、火源 P3.1口PWM调速 P3.3口风扇开关*/#include<reg52.h>unsignedcharPWM_ON;//定义高电平时间unsignedcharSTATE_LAST;//最后的状态unsignedcharFIRE;//火源的位置1,2,3,4分别代表前,左,后,右sbitPWM=P3^1;//定义调速端口sbitsign_outfire=P3^3;//定义风扇开关,1为关,0为开/*voiddelay_1ms(unsignedintn)//软延时1ms函数 1ms*n{智能灭火小车的设计与实现全文共48页,当前为第42页。智能灭火小车的设计与实现全文共48页,当前为第42页。 while(n--) for(i=0;i<75;i++);}*//************************************************************//*以下为转向控制函数*//************************************************************/voidrun() //电机起动{P1=0x11;}voidleft() //左转{P1=0x13;}voidright() //右转{P1=0x31;}voidbig_right() //右大转{P1=0x21;}voidbig_left() //左大转{P1=0x12;}voidstop() //停止{P1=0x33;}voidback() //后退{P1=0x22;}智能灭火小车的设计与实现全文共48页,当前为第43页。智能灭火小车的设计与实现全文共48页,当前为第43页。voidgo_forward(unsignedcharLine_sign){switch(Line_sign){ case0x02: //前010 { run(); break; } case0x04: //左转 100 { left(); break; } case0x06: //左大转110 { big_left(); break; } case0x01: //右转 001 { right(); break; } case0x03: //右大转011 { big_right(); break; } case0x07://停止111 { stop(); break; } case0x00://检测不到黑线时原地向后转动,直到找到黑白线. { big_left(); } default: {智能灭火小车的设计与实现全文共48页,当前为第44页。智能灭火小车的设计与实现全文共48页,当前为第44页。 }}}//原地寻线voidfind_line(){unsignedcharLine_P2;while(1){Line_P2=P2;Line_P2=Line_P2&0x07;if(Line_P2==0x02){stop();break;}}}//原地检测火源,返回1代表有火源,返回0代表没有火源intfind_fire(){unsignedcharCount;unsignedcharFire_P2;big_right();//首先原地右转发现火源while(1){Fire_P2=P2; //将P2口赋值给Num_P2Fire_P2=Fire_P2&0xF0; //取P2.4-P2.7的值if(Count>500){big_left();find_line();return0;// break;}if(Fire_P2==0x10||0x20||0x40||0x80){stop();return1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论