




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
海南软件职业技术学院综合实训报告目录绪论11系统方案选择21.1任务要求21.1.1 设计任务21.1.2 设计要求21.2总体设计方案21.3方案选择与分析31.3.1控制器分析与比较31.3.2电动车车体的选择31.3.3电机的选择与分析41.3.4电机驱动电路方案选择41.3.5轨迹探测模块设计与比较41.3.6火源检测设计与比较51.3.7电源模块51.3.8避障模块设计与分析51.3.9灭火模块61.4最终方案62硬件实现及单元电路设计62.1 STC89C52单片机系统概述及其引脚功能介绍62.1.1 STC89C52单片机系统概述62.1.2 单片机引脚功能72.2光电对管电路的设计92.3火焰传感器及应用102.4电机驱动电路的设计112.5灭火模块设计132.6避障功能的实现方法133软件系统设计133.1编译语言及编译环境133.1.1汇编语言的概述133.1.2 C语言概述133.1.3 编译语言及编译环境综述143.2程序解析143.2.1各函数功能143.2.2程序流程图184测试结果19结束语20致谢21参考文献22附录A:程序清单23绪论现在,随着科技的快速发展,国内外对小型智能系统的应用越来越广泛,种类也越来越多。本题目就是结合有关科研项目而确定的设计类课题,所设计的智能寻迹灭火小车应能够实现自动发现火源、自动寻迹、自动前进接近火源并完成灭火任务的功能。根据题目的要求,智能寻迹灭火小车控制系统采用一片STC89C52单片机作为本控制系统的主控芯片,硬件包括以下几个模块:驱动电机模块、寻迹传感器模块、单片机控制模块、火源传感器模块、风扇模块、电源模块。本设计采用了STC89C52单片机为智能小车核心控制部分,通过查询方式实现对小车的智能控制。小车由主控制板、传感系统、风扇系统和车身四部分组成。主控制系统由主控CPU电路、传感器接口电路、直流电机驱动电路等组成;传感系统采用红外传感器检测黑白线,火源传感器检测火源;行进直流电机驱动采用PWM调制技术,可灵活方便地对车速、行进方向进行控制。本设计通过采用STC89C52单片机为控制核心,实现对小车的智能控制。该控制系统不仅在智能小车中有很强的实用价值,在汽车应用、智能机器人等方面都有很强的实用价值,尤其是在机器人研究方面具有很好的发展前景。所以本设计与实际相联系,具有重要的现实意义。1系统方案选择1.1任务要求1.1.1 设计任务设计制作一个智能灭火小车模型,能到指定区域进行抢险灭火工作。以蜡烛模拟火源,随机分布在场地中,模拟灭火场地如图1-1所示。图1-1模拟火场示意图1.1.2 设计要求(1)智能灭火小车手动启动后,自动寻找到火源的位置。(2)智能灭火小车必须按照固定的路线行进(黑白线)。(3)扑灭火源后自动检测周围环境是否还有其他火源。(4)若有则继续灭火,若无则停止工作。1.2总体设计方案总体方案为:整个电路分为驱动电机模块、寻迹传感器模块、避障模块、单片机控制模块、火源传感器模块、风扇模块、电源模块七个模块。首先利用红外对路面信号进行探测,利用火源传感器检测火源信号,两种信号经过处理之后,送给单片机控制模块进行实时运算,输出相应的信号给驱动电机模块驱动电机转动,从而控制整个小车的运动。系统方案框图如图1-2所示。图1-2 方案设计框图1.3方案选择与分析1.3.1控制器分析与比较方案一:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处理速度高,尤其适用于语音处理和识别等领域。但是当凌阳单片机应用语音处理和辨识时,由于其占用的CPU资源较多而使得凌阳单片机同时处理其它任务的速度和能力降低。方案二:采用STC89C52单片机作为主控制器。STC89C52是一个低功耗,高性能的51内核的CMOS 8位单片机,片内含8k空间的可反复擦写1000次以上的Flash只读存储器,具有256 bytes的随机存取数据存储器(RAM),32个IO口,2个16位可编程定时计数器。且该系列的51单片机可以不用烧写器而直接用串口或并口就可以向单片机中下载程序。从方便使用和综合性能的角度考虑,选择了方案二。1.3.2电动车车体的选择方案一:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,这种电动车一般都是前轮转向后轮驱动,不能适应该题目的方格地图,不能方便迅速的实现原地保持坐标转90度甚至180度的弯角。而且这种电动车一般都价格不扉。因此放弃了此方案。方案二:自己制作电动车。经过反复考虑论证,我们制定了左右两轮分别驱动,后方万向轮转向的方案。即左右轮分别用两个直流电机进行驱动,后面装一个万向轮。这样,当两个电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的转弯。对于车架材料的选择,经过比较选择了硬塑板。用硬塑板做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。故选择了方案二。1.3.3电机的选择与分析方案一:采用直流电机直流电机速度快,价格便宜,通过调节电流来改变速度,驱动电路简单,调速范围广,调速特性平滑。方案二:采用步进电机步进电机是一种能将电脉冲转化为角位移的机构,通过控制脉冲个数来控制角位移量,通过控制脉冲频率来控制电机转动的速度和加速度,其精确度高,但控制相对较繁琐。由于本系统对电机速度控制要求不高,采用方案一。1.3.4电机驱动电路方案选择方案一:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;电路简单,使用比较方便。方案二:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。通过比较,使用L298N芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,采用方案一。1.3.5轨迹探测模块设计与比较方案一:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作。因此要考虑其他更加稳定的方案。方案二:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,所以也放弃了这个方案。方案三:用RPR220型光电对管。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。RPR220采用DIP4封装,塑料透镜可以提高灵敏度,内置可见光过滤器能减小离散光的影响,体积小,结构紧凑。当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调理电路简单,工作性能稳定。因此本设计采用了方案三。1.3.6火源检测设计与比较火焰检测有温度传感器、烟雾传感器、红外传感器、紫外传感器以及CCD图像传感器。综合论证了这几种传感器,制定了如下几种方案。方案一:用温度传感器如热电偶,热电偶在工业应用上十分广泛。但是热电偶感应的范围太广,而且由于火焰只是周围温度稍高且范围较窄。实验验证用热电偶检测火焰精度不高,故放弃了此方案。方案二:用烟雾传感器。烟雾传感器广泛应用与火警检测。但是由于此题目的火源是用蜡烛模拟的,没有太大的烟雾,因此用烟雾传感器作为此小型电动车的火焰传感器也不够实用,因此放弃了此方案。方案三:用紫外传感器检测火焰。紫外火焰传感器主要应用于火灾消防系统,尤其是一些易燃易爆场所,用来监测火焰的产生。紫外线火焰传感器的灵敏度高,相应速度快,抗干扰能力强,对明火特别敏感,能对火灾立即作出反应。但是紫外传感器检测的范围太大,不适用于本系统。方案四:用CCD图像传感器。用CCD图像传感器可以检测各种被检测量,适用于各种量的检测。但是用CCD图像传感器需要处理的信号量太大,且体积较大,不使用与本系统。方案五:用远红外传感器。经试验验证,远红外火焰传感器检测距离远,线性度好,检测准确,且体积较小。很适用于本题目的要求。因此本设计采用了方案五。1.3.7电源模块由于本系统需要电池供电,我们考虑了如下集中方案为系统供电。方案一:采用12V蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。方案二:采用6节1.5V锂电池分别3节串联,分别供单片机和电机驱动使用,单片机和传感器工作稳定,电机工作互不影响,且电池体积较小,能够满足系统要求。综上考虑,采用了方案二。1.3.8避障模块设计与分析方案一:用超声波传感器进行避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。然后将这信号放大后送入单片机。超声波传感器在避障的设计中被广泛应用。但是超声波传感器需要40KHz的方波信号来工作,因为超声波传感器对工作频率要求较高,偏差在1内,所以用模拟电路来做方波发生器比较难以实现。而用单片机来作方波发生器未免有些浪费资源。因此考虑其他的方案。方案二:用红外光电开关进行避障。光电开关的工作原理是根据投光器发出的光束,被物体阻断或部分反射,受光器最终据此作出判断反应,是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均能检测。光电开关E3F-DS10C4操作简单,使用方便。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。考虑到本系统只需要检测简单障碍物,没有十分复杂的环境。为了使用方便,便于操作和调试,最终选择了方案二。1.3.9灭火模块方案一:用风扇将蜡烛吹灭,检测并确定火源在课吹灭的范围内后由单片机控制风扇开启,吹灭蜡烛。经实验确定当采用5V电源给风扇电机供电时,火源在20cm以内都可被吹灭。能达到要求,并且简单方便各方面的实现都比较简单,工作也比较稳定,调试快捷。适合应用。方案二:用水管喷灭,由于整个系统是电子系统,如用水则有可能发生断路或出现危险,并且小车还要承载水的重量,对小车电机驱动要求比较高,故排除这种方案,选择方案一。1.4最终方案经过反复论证,最终确定了如下方案:(1)手工制作车体。(2)采用STC89C52单片机作为主控制器。(3)用直流电机实现小车行驶与灭火。(4)用6节锂电池分别给单片机和电机供电。(5)用RPR220型光电对管进行寻迹。(6)远红外火焰传感器作为本系统的火焰传感器。(7)L298N作为直流电机的驱动芯片。(7)用红外光电开关进行避障。2硬件实现及单元电路设计2.1 STC89C52单片机系统概述及其引脚功能介绍2.1.1 STC89C52单片机系统概述STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。参数:(1)增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051.1(2)工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机)(3)工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz(4)用户应用程序空间为8K 字节(5)片上集成512 字节RAM(6)通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片(8)具有EEPROM 功能(9)具有看门狗功能(10)共3 个16 位定时器/计数器。即定时器T0、T1、T2(11)外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒(12)通用异步串行口(UART),还可用定时器软件实现多个UART(13)工作温度范围:-40+85(工业级)/075(商业级)(14) PDIP 封装2.1.2 单片机引脚功能STC89C52是一个有40个引脚的芯片,引脚配置如图2-1所示:图2-1 STC89C52引脚配置STC89C52单片机各个引脚功能如表2-2所示。表2-2 STC89C51RC/RD+引脚示意图2.2光电对管电路的设计实验中设计并论证了两种光电对管检测及调理电路,电路原理图分别如图2-3和图2-4所示。图 2-3 采用三极管检测电路原理图图2-3所示电路中,R1起限流电阻的作用,当有光反射回来时,光电对管中的三极管导通,R2的上端变为高电平,此时VT1饱和导通,三极管集电极输出低电平。当没有光反射回来时,光电对管中的三极管不导通,VT1截至,其集电极输出高电平。VT1在该电路中起到滤波整形的作用。经实验和示波器验证,该电路工作性能一般,输出还有杂散干扰波的成分。如果输出加施密特触发器就可以实现良好的输出波形。但是这种电路用电量比较大,给此种传感器调理电路供电的电池压降较快。究其原因,是因为光敏三极管和三极管VT1导通时的导通电流较大。因此考虑用比较器的方案。图2-4 采用电压比较器检测电路原理图在图2-4中,可调电阻R3可以调节比较器的门限电压,经示波器观察,输出波形相当规则,可以直接够单片机查询使用。而且经实验验证给此电路供电的电池的压降较小。因此我们选择此电路作为我们的传感器检测与调理电路。在寻迹传感器的设计中,我们在车体底盘的前端装有四个传感器,用来起到寻迹的作用。安装在前端的四个传感器直接将信号送给单片机,当中间两个传感器中一个传回低电平,则为踩线,既调整车头方向,当四个传感器均为高点平时认定为一个交点,并且2个交点间距离约为25cm。因为地图为方格,所当小车转向时会出现四个传感器中不定时离开黑线,为保证能准确转弯。再因RPR220检测到黑线返回高电平,否则为低电平,利用这一原理。当小车右转时,位于小车最右端传感器会由黑线转到白色区域,这时会产生一个下降沿,将下降沿接至单片机外部中断用于判断是否已经完成转向,左转原理同上。经实验证实此方法能使小车稳定转向。2.3火焰传感器及应用火焰传感器的好坏对于该系统的功能能否实现十分重要,火焰传感器及其调理电路如图2-3-1所示。图2-5 火焰传感器原理图图2-5中,可调电阻RV1可以调节比较器的门限电压,本电路还能输出模拟和数字两种信号,非常适合本次系统的条件。火焰传感器能够探测到波长在700纳米1000纳米范围内的红外光,探测角度为60,其中红外光波长在880纳米附近时候的灵敏度达到最大。远红外火焰探头将外界红外光的强弱变化转化为电流的变化,通过A/D转换器反映为0255范围内数值的变化。外界红外光越强,数值越小;反之则越大。利用四个火焰传感器,调节其中两个传感器门限电压,使得传感器能检测到整张地图距离的火焰,再调节另两个传感器使得只能检测一个方格距离的火焰。这四个传感器分别两两置于小车两侧距离地面约10cm(相当于火焰的高度),一远一近配合使用。我们将能检测整张地图的传感器称为“远视”,只能检测一格的称为“近视”。当远视传感器检测到火焰信号,执行灭火程序,小车向检测到火源的方向前行。当“近视”传感器检测到信号,说明火焰处于当前所在方格,触发转向开启风扇。2.4电机驱动电路的设计直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。采用电机驱动芯片L298N作为电机驱动,管脚图如图2-6所示,原理图如图2-7所示。L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。图2-6 L298N管脚图2-7 电机驱动原理图L298有两路电源分别为逻辑电源和动力电源,上图中6V为逻辑电源,12V为动力电源。J4接入逻辑电源,J6接入动力电源,J1与J2分别为单片机控制两个电机的输入端,J3与J5分别与两个电极的正负极相连。ENA与ENB直接接入6V逻辑电源也就是说两个电机时刻都工作在使能状态,控制电机的运行状态只有通过J1与J2两个接口。由于我们使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。2.5灭火模块设计如图2-8所示,灭火风扇的驱动由5v电源供电。利用三级管的开关应用,实现单片机控制风扇转停。当单片机给低电平时,风扇开始转动吹灭火焰,否则不转。图2-8 灭火风扇原理图2.6避障功能的实现方法由于火源为不确定位置,所以小车还属于前进并还未检测到火焰而遇到障碍物,首先让小车先后退,在遇到黑线交点时先右转,因为地图是有限的,所以如果转的方向不是正确的火焰方向,则当小车行驶到地图边缘时就180度转,就能正确的判断出火源的具体位置。3软件系统设计3.1编译语言及编译环境3.1.1汇编语言的概述为了克服机器语言的缺点,用英文字条来代替机器语言,这些英文字符被称为助记符,用助记符表示的指令称为符号语言或汇编语言。汇编语言是面向机器的语言,程序设计人员必须对单片机的硬件有相当深入的了解。助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用的存储空间小,运行速度快,因此用汇编语言能编写出最优化的程序。汇编语言程序能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。但是,汇编语言和机器语言一样,都脱离不开具体机器的硬件,因此,这两种语言均是面向机器的语言,缺乏通用性。3.1.2 C语言概述C语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写系统软件。它的特点如下:(1)语言简洁、紧凑,使用方便、灵活。(2)运算符丰富,数据结构丰富,具有现代化语言的各种数据结构。(4)具有结构化的控制语句用函数作为程序的模块单位,便于实现程序的模块化。(5)语法限制不大严格,程序设计自由度大。(6)C语言允许直接访问物理地址。(7)生成目标代码质量高,程序执行效率高,用C语言写的程序可移植性好。3.1.3 编译语言及编译环境综述兼于以上两种编译语言的优缺点,我选择了Keil软件。Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令事情变得事半功倍。3.2程序解析3.2.1各函数功能电机的正反转:void DC_LEFT(void)DC1_1 = 1;DC1_2 = 0;void DC_RIGHT(void) DC2_1 = 1;DC2_2 = 0;void DC_CLOSE_LEFT(void)DC1_1 = DC1_2 = 0;void DC_CLOSE_RIGHT(void)DC2_1 = DC2_2 = 0;void DC_LEFT_BACK(void)DC1_1 = 0;DC1_2 = 1;void DC_RIGHT_BACK(void) DC2_1 = 0;DC2_2 = 1;其中DC1为左轮,DC2为右轮。此函数分别控制两个电机正反转,通过左右两轮正反转的配合能实现各个方向的转弯。寻迹功能:if(!NEAR_LEFT_F & !STOP & !NEAR_RIGHT_F)if(!Back_Flag & !BACK)if(left !=0 & right != 0)DC_LEFT();DC_RIGHT();if(left = 0 & right != 0)DC_LEFT();DC_CLOSE_RIGHT();if(right =0 & left != 0)DC_RIGHT();DC_CLOSE_LEFT();else if(!NEAR_LEFT_F & !NEAR_RIGHT_F)BACK = 1;根据寻迹模块传回的信号,判断小车是否超出黑线,左右都没有超出,则执行前进函数;当左轮超出,执行右转函数;当右轮超出,执行左转函数;当小车回到黑线上,继续前进。通过不断的查询实现寻迹功能。火焰位置判断:if(first & last)if(!IR_RIGHT)CORNER_RIGHT = 1;else CORNER_RIGHT = 0;if(!IR_LEFT)CORNER_LEFT = 1;elseCORNER_LEFT = 0;if(!IR_RIGHT | !IR_LEFT)BACK = 0;if(CORNER_RIGHT)DC_CLOSE_RIGHT();DC_LEFT();if(BACK)PASS = last;elsePASS = left;if(CORNER_LEFT)DC_RIGHT();DC_CLOSE_LEFT();if(BACK)PASS = first;elsePASS = right;void EX1_ISR (void) interrupt 0CORNER_RIGHT = 0;CORNER_LEFT = 0;if(!IR_RIGHT | !IR_LEFT)if(first & last)BACK = 0;根据小车两侧火焰传感器信号判断火焰位置,当火焰出现在小车右侧,将右转变量置1,当火焰出现在小车左侧,将左转变量置1;再通过判断两个变量的值来实现不同的转向。因为这里为90度转弯,所以配合寻迹模块的黑线传回高电平,超出黑线低电平特点,当小车转过90度后,寻迹模块边缘两侧的传感器必将由黑线到白色区域。利用这个下降沿触发外部中断,在中断中将转向信号清零,使其能继续前进。其中PASS为外部中断端口。灭火功能:if(!NEAR_LEFT)NEAR_LEFT_F = 1;if(NEAR_LEFT_F)DC_LEFT_BACK();DC_RIGHT();if(!NEAR_RIGHT)NEAR_RIGHT_F = 1;if(NEAR_RIGHT_F)DC_RIGHT_BACK();DC_LEFT();if(!IR_S)NEAR_RIGHT_F = 0;NEAR_LEFT_F = 0;STOP = 1; DC_S = 1;DC_CLOSE_RIGHT();DC_CLOSE_LEFT();elseDC_S = 0;当小车两侧的近火焰传感器传回低电平,则说明火焰处于小车当前所在的方格内。当火焰在小车左侧,则让小车左轮反转右轮正转,实现小车原地左方向打转;右侧则让左轮正转右轮反转,让小车右方向打转。再当置于小车前端的火焰传感器传回低电平,说明小车车头正对着火焰,开启风扇,当火焰吹灭后,风扇停止转动。完整程序见附录A。3.2.2程序流程图图3-1程序流程图4测试结果1测试仪器模拟跑道、计算机、开关电源、示波器、数字万用表等。2测试方法完全按照要求模拟实验环境,用地板革(150cmX150cm)制作模拟场地,在地板革上用黑胶带做成网格,黑胶带宽1.5cm,跑道长度宽度均为150cm,反复使小车在模拟环境中进行实验,并记录各项数据。3测试数据及测试结果分析测试显示,当蜡烛位置不是位于方格中间时,小车不能稳定的实现转向。问题分析:由于转向的触发必须是在小车在黑线交点的同时检测到火焰,由于传感器位置不合理,使当小车到黑色交点的时候不能准确的检测到火焰,而不能稳定的发出转向信号。问题解决:调整火焰传感器的位置。结束语小车的特点能实现自动寻路找到火源,但由于火焰传感器的检测角度为60度,并不能在安全区检测到整张地图,所以对于火源的位置有一定的局限。解决这一问题可以使用多个远红外火焰传感器排列成一定角度,实现对全地图的检测。灭火全程均为自动,不需要人员干扰、遥控。出现的一些问题,由于寻迹模块安装位置不是很合理,所以偶尔会出现在黑线交点处越出轨道的现象,后经过对模块的调整和程序上配合这一现象有所好转。这一问题给了我一个深刻的教训,在设计系统前就应考虑到可能会出现的问题,而不能只一味的追求美观。通过这几天的设计,我们不但增强了实践能力和协作精神,而且懂得了联系实际的重要性,这对我们以后的学习和工作不无裨益。当然,我们的设计还存在着一些缺陷,有待于在将来的设计中进一步提高,在此恳请各位老师批评指正。致谢在此,我首先要衷心地感谢我的指导老师,在这次设计中遇到的每个问题都是老师给予解答,详细设计等整个过程中都给予了我悉心的指导,给我提出了许多极具价值的建议。在生活上两位老师同样给予了我极大的支持和关心,在为人处世上也对我进行谆谆的教导,这些都将对我今后的学习和工作产生深刻的影响,使我获益匪浅。除了敬佩老师的专业水平和综合素养外,严谨的治学态度和科学的研究精神也是我永远学习的榜样,必将对我今后的学习和工作产生深远的影响,老师传授给我的知识也必然会在我人生的学习阶段乃至各个阶段发挥重要的作用。参考文献1何玲.蔡莉莎.曾维鹏.单片机最小系统的设计与制作.北京:电子工业出版社,2012.12谭浩强.C程序设计.北京:清华大学初版社,2005.3翟玉文.梁伟.艾学忠.电子设计与实践M.北京:中国电力出版社,2005.256-257.4张景元.基于单片机的多用途定时器的设计与实现J.电子工程师,2000年第8期22-31.5张专成.赵怀勋.单片机测控系统中的监视定时器J.武警技术学院学报,Mar 1997.6冯成龙.传感器应用技术项目化教程.北京:清华大学出版社;北京交通大学出版社,2009.7附录A:程序清单#include #define uchar unsigned char#define uint unsigned intvoid DC_LEFT(void);void DC_RIGHT(void);void DC_CLOSE_LEFT(void);void DC_CLOSE_RIGHT(void);void DC_LEFT_BACK(void);void DC_RIGHT_BACK(void);void EX0init(void);void RUN_DC(void);void IR_Rev (void);sbit DC1_1 = P14;sbit DC1_2 = P15;sbit DC2_1 = P16;sbit DC2_2 = P17;sbit IR = P12;sbit first = P23;sbit left = P22;sbit right = P21; sbit last = P20;sbit PASS = P32;sbit IR_RIGHT = P11;sbit IR_LEFT = P10;sbit NEAR_LEFT = P30;sbit NEAR_RIGHT = P31;sbit IR_S = P13;sbit DC_S = P00;bit NEAR_LEFT_F = 0;bit NEAR_RIGHT_F = 0;bit BACK = 0;bit CORNER_RIGHT = 0;bit CORNER_LEFT = 0;bit STOP = 0;bit Back_Flag;void main(void)EX0init();while(1)IR_Rev();RUN_DC();/*- 左轮前进驱动-*/void DC_LEFT(void)DC1_1 = 1;DC1_2 = 0;/*- 右轮前进驱动-*/void DC_RIGHT(void) DC2_1 = 1;DC2_2 = 0;/*- 左轮停止-*/void DC_CLOSE_LEFT(void)DC1_1 =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广元市中石油2025秋招笔试模拟题含答案行测综合英语
- 小学语文最易误读的32个文史常识
- 国家能源保山市2025秋招笔试言语理解与表达题专练及答案
- 中国联通泸州市2025秋招半结构化面试模拟30问及答案
- 国家能源铜仁市2025秋招面试专业追问及参考财务审计岗位
- 南京市中储粮2025秋招面试专业追问题库信息技术岗
- 四川地区中石化2025秋招笔试模拟题含答案行测综合英语
- 南阳市中石化2025秋招面试半结构化模拟题及答案炼化装置操作岗
- 中国联通青海地区2025秋招笔试模拟题及答案
- 2025年健康农业考试试题及答案
- 2025年健康管理师试题及答案
- 2026年中考数学压轴题专项练习-四边形中的新定义问题(学生版+名师详解版)
- 乌兹别克语自学课件
- logo安装施工方案
- 四川能投合江电力有限公司员工招聘考试参考题库及答案解析
- 2025年山西省政府采购评审专家考试真题库(带答案)
- 宿管员业务知识培训内容课件
- 安全生产例会会议记录以及会议内容
- 眼视光技术介绍
- DB64T 2146-2025 工矿企业全员安全生产责任制建设指南
- 间歇充气加压用于静脉血栓栓塞症预防的中国专家共识解读
评论
0/150
提交评论