欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式
概要
当今社会,火灾在现实生活中普遍存在,被称为自然界三大灾害之一。当火灾发后,灭火工作坏境恶劣时,人工不能完成一些灭火任务,此时便可以使用智能灭火小车去完成相应的任务。本文设计了一个以单片机为核心的智能灭火小车。本设计是利用单片机作为灭火的控制中心,检测火源用火焰传感器,小车行驶由直流减速电机驱动行驶。电机驱动电路部分使用L293D芯片,小车行驶使用舵机控制方式。实现的功能是:从安全区出发,沿着路线前进,火焰传感器检测到火源之后,启动水泵进行灭火。
关键词:STC89C52;舵机控制;吹灭火源
一、整体设计方案
1.1 整体设计任务
本设计是制作一个智能灭火小车,使其能够沿着指定路线进行灭火工作。其工作原理如下图:
图1.1 灭火实验场地
1.2 整体设计要求
综合考虑实际工作的要去提出下列的设计目标:
(1)在启动以后能够自动探测火源的位置并且前往火源处
(2)在到达目的地以后停止前进,开始灭火装置扑灭火源。
(3)检测火源的存在状态,一直到被扑灭为止,扑灭之后探测下一个火源并前往灭火
1.3 系统整体方案设计
1.3.1 整体模块设计
本设计的整体设计方案:火源是通过火焰传感器来检测的,然后单片机STC89C52接收到火焰传感器输出的热源信号并进行处理。电机驱动方式采用舵机控制。本设计方案大致由6个部分组成,其系统构成如图1.2:
图1.2系统模块示意图
系统各个功能模块简介:
1.控制器模块:作为整个控制系统的核心器。
2.寻光模块:主要用来给灭火小车做导航作用。
3.电源模块:主要用来给整个控制进行供电。
4.火焰检测模块:主要用来对火焰进行检测。
5.电机驱动模块:主要用来驱动小车的行驶。
6.灭火模块:主要是用来控制水泵进行灭火。
1.3.2 整体设计方案选择
方案一:在智能灭火小车的两侧各安装两个轮子并由两个普通直流减速电机驱动,方便智能灭火小车行驶并起平衡支撑作用。用传感器来探测是否存在火源,可以将其安装位置选择在小车两侧,通过比较其来火焰距离小车的距离,在左侧的传感器上安装放大器,用来寻找远处的火源,右侧的传感器用来寻找近处的火源。为了能够精确的定位火源的位置,在小车的中部也安置两个传感器,两个之间的距离稍稍超过前后的两个传感器之间的距离。小车启动后,从安全区行驶出来,到达中线以后左转弯,然后通过左侧的传感器来寸照是否在一侧存在火源,如果存在火源的时候下一次转弯的时候向左转,如果在这个时候刚好前方不远有障碍物存在则沿着之前行走的路程往回行使,一直到前一个路口在向左转,无论是在左侧探测到存在火源还是在右侧探测到存在火源,就前往火源处将其扑灭。接下来继续回到中线上行使,在行使过程中随时监测火源,在行驶到了墙边的位置以后,通过一个一百八十度的转角探询另一侧的火情。此设计方案中,需要用的硬件并不复杂,在软件方面,也有很清晰的编写思路,然而实际上其未必能够达到足够的避障效果,目前的情况是,如果障碍物是静止不变的话,那么在探测到其位置可以实现良好的避障效果,但是如果障碍物会发生移动,则避障效果就难以保证,从而灭火任务也有可能无法完成。
方案二:比方案一相比,车身不变,在小车前方添加一个红外测距仪,用来探测障碍物的位置,在两侧安装火焰传感器,传感器发出信号,信号通过比较器的时候会被探测出距离大小。两侧的传感器都能够检测到何处存在火源。小车启动以后,出发到达中线处,然后想作转动,同时开启左侧的传感器探测火情,如果不存在火源的话,就继续前行,如果存在火源的话,就在下个转角处左转,前往货源出扑灭火源。接下来继续向前行驶一直到发现下一个火源。结合实际情况以及两种方案的特点综合考虑以后在这里选择方案二。
二、系统的硬件设计
2.1 系统硬件基本组成部分的设计方案
2.1.1 控制器模块
本设计中,系统的控制中心是STC89C52单片机。STC89C52是宏晶科技生产的低能耗、高速可靠、低抗干扰、价格低的8位微处理器。
STC89C52具有的优点:
(1)高抗静电(ESD保护);
(2)32位I/O口线;
(3)内置2KB EEPOM;
(4)4个外部中断;
(5)3个16位定时器;
(6)最高运作频率35MHZ,6T/12T可选;
(7)晶振频率为11.0592MHZ;
(8)内部集成A/D、D/A转换;
(9)可直接进行串口下载。
STC89C52单片机引脚图如图2.1所示:
图2.1 STC89C52单片机引脚图
2.3系统检测部分的设计思想
小车移动和灭火操作都是以这个模块的成功为前提的,传感器将采集到的信息传送到单片机,单片机处理过后发出控制信号,电机根据控制信号来转动,从而控制智能灭火小车行驶,基本原理可用如图2.7来表示:
图2.7 检测部分基本原理图
(1)细分又可以分为两个部分,其一是红外火焰传感器检测,外界温度的变化会影响传感器的电流大小,同时距离也有一定的影响,将变化的电压与参考电压对比,便能够判断出火源在哪个位置以及两者间的距离,这是火焰传感器的工作机理;红外传感器用于检查周围行驶路线上是否存在障碍物,直接使用集成模块,如果障碍物和小车的距离接近到10厘米以内,电平便会升高。其二是光电寻线传感器检测。依靠路径和周围区域颜色灰度的不同来探测行驶路线,受到外界光源的影响较大。
(2)此外,避障和路程测量是通过软件来自动进行的,可以在一定程度上降低硬件技术在实现上的困难。
2.4系统各模块的最终方案
经过分析和论证,设计的原器件清单如附录D所示,实物图如附录E。系统6个模块的最终方案如下:
(1)控制器模块:采用STC89C52单片机作为智能灭火小车系统的控制中心。
(2)火源探测模块:用了两个火焰传感器来准确的检测火源的位置所在。
(3)寻光电路模块:用了两个光敏电阻来调整小车的行为使其能够按照既定的路线行驶。
(4)智能灭火小车电机驱动模块:电机类型为普通直流减速电机,双驱动、四接口、PWM脉宽调速。
(5)灭火模块:以水泵作为灭火装置通过单片机控制来灭火。
(6)电源模块:直接采用6V电池盒。
三、软件设计
3.1 系统的软件设计
对于整个系统进行编程时,选择使用C语言来实现单片机的各项功能。具体代码可以附录A中查找。
对于整个系统进行原理图设计时,决定采用较为熟悉的Altium Designer16软件来将所设计的整个控制系统的工作原理图绘制出来。原理图见附录B。
根据设计工作中做选择的各项方案此次设计的设计目标,在进行软件设计的时候,应该使其能够实现下面的功能。
1.寻迹模块主程序:传感器收集路况信息,单片机进行处理,处理过后发出控制信号控制电机转动。
2.机驱动模块主程序:通过此模块开控制电机转动,从而控制小车行驶。
3.火焰检测模块主程序:其作用在于将有段温度的一些执行模块传递给单片机。
4.水泵模块程序:其作用在于控制水泵的启动或者关闭,从而实现灭火功能。
3.2主程序流程图
主程序主是整个设计的重要部分,能够确定小车的运动状态。小车的各项具体功能主要是通过其他子程序来实现的。绘制出主程序的流程图如下图3.1所示:
图3.1 智能灭火小车主程序流程图
主程序的意义在于引导或者是决策,在整个设计内容中都有着重要地位,小车在什么时候调用哪个模块,进行哪个操作,往哪个方向转,是移动还是开启水泵,这些都是由主程序来进行控制的。
四、结论
本设计采用STC89C52单片机作为整个控制系统的核心,其具有低能耗、高速可靠高
速可靠、低抗干扰、价格低等特点,以火焰传感器来监测周围的火情,并且实时的将其所采集到的数据传送给单片机,在单片机中经过A/D转换便可以确定火源在何处,单片机发出控制信号,电机接收到信号信号开始转动,小车向火源方向运动,在运动过程中通过红外传感器实时检测周围的障碍物,到达火源处以后停在一个适当的位置开始启动灭火装置来灭火,单片机发出控制信号,水泵在接收到信号以后开启,保持开启状态一直到火被扑灭,然后小车再次进入实施检测状态寻找下一个火源。文章来源:https://www.toymoban.com/news/detail-740941.html
五、 文章目录
目 录
摘要 I
Abstract II
引言 3
第一章 智能灭火小车整体设计 4
1.1 整体设计任务 4
1.2 整体设计要求 4
1.3 智能灭火小车系统整体方案设计 4
1.3.1 智能灭火小车整体模块设计 4
1.3.2 智能灭火小车整体设计方案选择 5
第二章 智能灭火小车的硬件设计 7
2.1 智能灭火小车系统硬件基本组成部分的设计方案 7
2.1.1 控制器模块 7
2.1.2 火源检测模块 8
2.1.3寻光电路模块 9
2.1.4电机驱动模块 10
2.1.5灭火模块 12
2.1.6电源模块 12
2.2智能灭火小车系统控制部分的设计思想 12
2.2.1 控制部分 12
2.2.2控制部分单元电路图 13
2.3智能灭火小车系统检测部分的设计思想 13
2.4系统各模块的最终方案 14
第三章 智能灭火小车的软件设计 15
3.1 智能灭火小车系统的软件设计 15
3.2智能灭火小车主程序流程图 15
3.3火焰探测子程序流程图 16
结 论 19
致 谢 20
参 考 文 献 21
附录 A 22
附录 B 26
附录 C 27
附录 D 28文章来源地址https://www.toymoban.com/news/detail-740941.html
到了这里,关于基于单片机的智能灭火小车设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!