基于单片机的智能灭火小车设计

news/2024/6/17 5:38:32 标签: 单片机, 嵌入式硬件

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式

文章目录

    • 概要
  • 一、整体设计方案
    • 1.1 整体设计任务
    • 1.2 整体设计要求
    • 1.3 系统整体方案设计
    • 1.3.1 整体模块设计
    • 1.3.2 整体设计方案选择
  • 二、系统的硬件设计
    • 2.1 系统硬件基本组成部分的设计方案
    • 2.1.1 控制器模块
    • 2.3系统检测部分的设计思想
    • 2.4系统各模块的最终方案
  • 三、软件设计
    • 3.1 系统的软件设计
    • 3.2主程序流程图
  • 四、结论
  • 五、 文章目录

概要

  当今社会,火灾在现实生活中普遍存在,被称为自然界三大灾害之一。当火灾发后,灭火工作坏境恶劣时,人工不能完成一些灭火任务,此时便可以使用智能灭火小车去完成相应的任务。本文设计了一个以单片机为核心的智能灭火小车。本设计是利用单片机作为灭火的控制中心,检测火源用火焰传感器,小车行驶由直流减速电机驱动行驶。电机驱动电路部分使用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转换便可以确定火源在何处,单片机发出控制信号,电机接收到信号信号开始转动,小车向火源方向运动,在运动过程中通过红外传感器实时检测周围的障碍物,到达火源处以后停在一个适当的位置开始启动灭火装置来灭火,单片机发出控制信号,水泵在接收到信号以后开启,保持开启状态一直到火被扑灭,然后小车再次进入实施检测状态寻找下一个火源。

五、 文章目录

目 录
摘要 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


http://www.niftyadmin.cn/n/5145315.html

相关文章

2023云栖大会:揭示未来科技的璀璨星辰

翻开科技世界的崭新篇章,2023年的云栖大会将在星光璀璨的杭州盛大开启。这一盛会,是科技创新的聚集地,也是前沿科技展示的殿堂。每年,无数优秀的科技人才和业内精英汇聚于此,共同探讨科技的未来趋势和人类发展的无限可…

Android各版本对应的SDK及JDK版本要求

1、Android Gradle 插件版本说明 | Android 开发者 | Android Developers 2、 3、Android Gradle 插件 7.3.0(2022 年 9 月) | Android 开发者 | Android Developers 4、 5、参考 Android中Gradle版本和Gradle插件版本 - 简书

通过USM(U盘魔术大师)在PE环境下使用分区助手拷贝磁盘——无损升级硬盘

这里写自定义目录标题 背景本次使用技术步骤1、添加新硬盘2、添加PE3、开机进入BIOS,进入PE4、开始拷贝磁盘5、调整分区5.1 删除系统盘前的所有分区5.2 修改硬盘分区表格式为GUID5.3 新建引导分区 6、修复引导7、大功告成 背景 由于硬盘空间不够的时候就需要更换硬盘…

label studio导入本地数据集同时邀请他人标注

文章目录 一、前言二、导入数据集2.1.设置环境变量2.2.启动label studio2.3.1激活label studio安装的环境2.3.2.启动label studio 2.3.设置clould storage2.3.1.新建项目2.3.2.开始设置clould storage 三、分享给他人标注3.1.开放端口3.2.查看ip3.3.生成链接 一、前言 上次写博…

string【C++】

string 是什么 string 是什么 长度可变的字符串。

深入理解TCP协议

深入理解TCP 1.TCP基础概念了解 1.1简介 TCP(Transmission Control Protocol)是一种计算机网络协议,用于在网络上可靠地传输数据。它确保数据的完整性、顺序性和可靠性,通过建立连接、数据分段、错误检测和恢复机制&#xff0c…

ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南续篇

作者:运维有术 前言 知识点 定级:入门级KubeKey 安装部署 ARM 版 KubeSphere 和 KubernetesARM 版 KubeSphere 和 Kubernetes 常见问题 实战服务器配置 (个人云上测试服务器) 主机名IPCPU内存系统盘数据盘用途ks-master-1172.16.33.1661650200KubeSp…

项目管理之如何分配项目工作任务

项目资源配置技术是项目管理中至关重要的环节,它直接影响到项目的效率、质量以及最终的成果。本文将介绍项目资源配置技术,包括小组团队主管配置、保持团队规模小型化、保持团队人员能力均衡、为保证团队速度及质量,团队资源复用数量限制以及…