基于单片机的灭火机器人设计文档格式.docx
- 文档编号:17801752
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:33
- 大小:680.49KB
基于单片机的灭火机器人设计文档格式.docx
《基于单片机的灭火机器人设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的灭火机器人设计文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
fire-extinguishingmodule;
singlechipmicrocomputercontrol
引言
火灾在我们现实生活中是经常发生的,而且不定期、不定因,是很难去估测的。
每当火灾发生时,英勇的消防人员永远是第一个冲在火灾前线,与此同时他们的生命也会一直处于危险的边缘。
在这种背景下,灭火机器人系统因此而诞生,该系统极大程度的降低了人员的危险系数[1]。
在灭火系统中单片机充当于人脑进行判断,及时处理火灾,防止错失最好的灭火时机。
自1961年乔治•查尔斯•德沃尔申请工业机器人专利成功后,机器人行业一直处于全速发展的模式,世界各国越来越重视机器人相关的研究及应用。
其中,美国研制的机器人具有全面性、精确性、适应性等特点,并且其语言研究水平较突出,超越了其他国家;
日本研制的机器人以数量和密度著称;
德国研制的机器人销量较高并以用途广泛而闻名。
目前已有多种不同类型的消防机器人用于火灾现场。
灭火机器人的实用性强、利用价值高,世界各国都开始对灭火机器人进行研究。
研究灭火机器人行业的先行者是美国和前苏联,之后英国、日本、德国也开始研究,现在世界各国都已经开始对灭火机器人进行研究了,有很多灭火机器人是可以应用在实际中,帮助人员闯入火场完成灭火作业的。
现如今灭火机器人一共有三代,第一代是程序控制,第二代是具有感觉功能,第三代则是智能化。
现在机器人在我们生活中已经越来越常见并且较为流行,一个叫巨人的灭火机器人在巴黎圣母院的那场火灾中参与了灭火救援的工作[2]。
国内的灭火机器人主要存在于消防部队,消防部队装备的灭火机器人已经达到了世界先进水平,但是很少有火灾现场应用此机器人。
灭火机器人在中国还没有普遍的应用起来,但我们的技术已经达到先进的水平了,未来灭火机器人将被广泛的使用。
经过对相关火灾事故实际情况的分析,了解到大多数火灾是由于人们疏忽大意,错过了扑灭火灾的有利时机,没有能够在起火初期火势较小的时候,将火苗扑灭,从而导致火灾范围迅速扩大,造成了严重的生命财产损失。
而且,在许多需要重点防范火灾的场合目前仍然使用的是人工巡检的方式。
由于人员的精力有限,无法做到完全杜绝隐患,并且一些潜伏的火灾隐患通过人工巡检方式是发现不了的。
因而,需要借助先进的科技手段,来面对日益增多的火灾隐患,避免人工巡检的弊端。
随着人工智能和传感器技术的不断发展与创新,智能机器人可代替人工实现24小时不间断的工作。
采用多传感器融合技术,能够有效检测火灾隐患,提高了抵御火灾的能力。
同时,可以因地制宜,针对不同的场合灭火机器人可以运用不同的工作模式,这样的工作方式会大大提高灭火效率[3]。
在仓库等封闭环境中应使用自动监测模式。
在自动监测模式下,消防小车可以实现一定范围内根据所规定的路线行走[4],并实施自动火情监测功能,可以即时发现火源,并将其火源扑灭,防止火灾意外发生造成更大的损失。
在设计灭火机器人系统的过程中要充分考虑到系统的稳定性和抗干扰能力,在面对多种复杂的火情场景时,要能够承受强电磁的干扰以及适应一定的高温、高压、高污染的环境,保证灭火机器人按照预定的工作模式稳定的运行。
不仅要适应不同复杂环境和功能多样化,而且还要考虑到系统的易用性,能够满足操作人员的需求和习惯,做到上手容易,操作使用时简单、方便。
在满足实际需求的前提下,也要充分考虑系统的经济性,使其具有广泛的应用前景。
本文基于STC89C52RC单片机设计的自动化灭火系统,本篇论文共分为四章,主要内容如下:
第一章:
项目方案设计。
着重系统设计目标和设计原则,选择合适的处理器和各个模块所需的元件。
第二章:
项目硬件设计。
根据系统的总体方案设计,搭建焊接单片机模块、电机驱动模块、火焰探测模块、循迹模块和灭火模块,电源模块并对这六大模块进行原理的介绍。
第三章:
项目软件设计。
程序软件的设计原理及总体介绍。
介绍了系统的设计原理以及系统流程图。
第四章:
系统调试。
编写程序以及系统硬件连接的调试。
完成本系统所需要识别小车灭火程序的编写的准备工作,同时对程序进行调试并总结调试时遇到主要的问题。
1系统方案设计
1.1方案论证
本设计对于实现灭火机器人循迹实现灭火的目的提出如下两套设计方案。
方案一:
灭火机器人处理器采用STC89C52RC芯片+按键启动小车+红外线循迹传感器+L293D的双H—桥驱动+火焰探测器+风扇灭火。
此方案主要通过按键启动灭火机器人的运行,再由单片机控制整体运行,红外循迹传感器探测路径并将探测信息传出,L293D驱动根据红外传感器的信息控制灭火机器人轮子的转动,共同确定其行走路线,最后将启动风扇将火源扑灭。
方案二:
灭火机器人采用STM32处理器+声音启动小车+光敏探测器循迹+分立元件构成驱动+火焰探测器+水泵灭火。
其方案主要是通过STM32控制灭火机器人的整体运行[5],通过一定频率的声音启动灭火机器人使其运行,光敏探测器和直流电机用分立元件构成驱动,确定其行走路线,探测到火焰,将开启风扇灭火。
两种方案的对比,方案一采用按键启动,而方案二采用声音控制,声音控制是不稳定的,容易被其他噪音干扰。
处理器的选择,方案一选用52单片机,价格低廉,操作方便,方案二选用的是STM32,与比方案一相比较为复杂;
循迹模块的选择,方案一选用红外线传感器循迹,方案二选用光敏探测器循迹,光照影响很大,不能够稳定的工作;
驱动模块的选择,方案一选用L293D的双H-桥驱动,一个芯片控制两个直流电机,操作方便,稳定性好,性能优良,方案二选用分立元件构成驱动,价格便宜但性能不稳定。
因此本项目采用方案一灭火机器人的设计方案,这种方案硬件简单,软件实现起来思路也比较清晰,符合我们的实际需求,易于操作、便于维护、实用性强。
1.2灭火机器人系统工作原理
在灭火机器人开始运行,寻找并发现火源过程中,首先需要提前调节电位器,让火源与灭火机器人保持安全距离,然后单片机通过火焰探测模块发现火源,并快速、准确的识别火源的具体位置,为准确扑灭火源做好准备;
单片机接收到火源信号反馈后,灭火模块控制风扇转动完成灭火处理,当检测到无火焰的时候风扇会继续转动一段时间,然后停下,并开始继续探测下处火焰位置。
本系统大体上分为6个基本模块,分别为控制模、循迹模块、火焰探测模块、电源模块、小车驱动模块和灭火模块[6]。
系统模块总设计如图1.1所示。
图1.1系统模块总设计图
2系统硬件设计
2.1单片机
单片机是一种微处理器,同时它也是一个系统的核心,有超大规模的集成电路技术,主要将中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一起构成一个完整的计算机系统[7]。
本项目选用的STC89C52RC单片机,该单片机价格低廉,易于操作,使用较为广泛,同时,它是STC89C51的增强型,综合考虑本设计的实际需求,选择STC89C52RC作为主控芯片。
STC89C52RC是双列直插式40管脚的芯片,其外部有32个端口可供用户使用,其引脚如图2.1所示。
图2.1STC89C52RC引脚图
STC89C52RC单片机外部有32个端口可供用户使用,其端口主要作用分别是:
P0(P0.0~P0.7)口与P1(P1.0~P1.7)口为通用I/O口;
P2(P2.0~P2.7)口与比P1口多了一个功能,访问外部存储器时输出外部存储器的高八位地址。
P3(P3.0~P3.7)口与P0、P1和P2口功能相同,此外它还具有第二功能。
P3口的特殊功能图如表2.1所示。
表2.1P3口的特殊功能图
引脚
功能
符号
第二功能
P3.1
通用I/0口
TXD
串行通信接收口
P3.2
INT0
外部中断0
P3.3
INT1
外部中断1
P3.4
T0
计数器0输入端口
P3.5
T1
计数器1输入端口
P3.6
WR
外部存储器写功能
P3.7
RD
外部存储器读功能
单片机的最小系统就是最简单的系统。
对52系列单片机来说,最小系统一般应该包括:
电源电路、晶振电路、复位电路[8]。
最小系统电路图如图2.2所示。
图2.2STC89C52RC最小系统
供电电路:
40引脚接+5V电源,20脚接地,这样便于完成单片机的供电。
复位电路:
复位电路是由电阻和电容共同组成。
复位电路主要是将系统进行电路初始化。
在单片机还没有运行前将全部数据都要复位到初始化默认值的状态。
时钟电路:
时钟电路由C22、C23和12MHz晶振组成。
电路中晶振用于输出振荡频率,2个负载电容在电路中起到了微调频率的作用,它们可以确保晶振输出的频率更接近真实频率。
时钟电路的作用是给单片机提供时钟脉冲,只有给单片机提供时钟脉冲单片机才会执行程序。
2.2火焰探测系统设计
火焰探测模块主要是找到火源。
根据所规定的路径去探索火源,发现火源并探测火源的具体位置,再将其火源信息传递出去。
本项目的火焰传感器连接单片机P1.7口,以便于单片机火焰获取信息。
红紫外复合火焰探测器采用一个对太阳光不敏感的紫外线传感器和一个高信噪比的窄频带的红外线传感器,它视角范围紫外视角120°
,红外视角90°
,与红外传感器相比受外界光影响较小,减少了错误信息的传达,实际使用较为稳妥;
同时红紫外复合型火焰探测器的探测距离在30-40米,三波段红外火焰探测器的最远探测距离可以达到50-70米,距离较远,可确保提前发现火源,及时将火扑灭,而红外传感器探测距离只有1-60厘米,无法快速发现火源位置;
红紫外复合型火焰探测器还可探测碳氢化合物燃烧火焰,根据燃烧物火源大小来决定探测距离,如酒精0.3m×
0.3m检测距离为35米,纸张0.3m×
0.3m检测距离为25米,氢气0.3米的火焰检测距离为20米,而红外传感器并无此功能。
红紫外复合型火焰探测器主要应用于火灾的探测中,在火灾刚刚发生时,它可以引发报警,给人类提供及时有效的信息,同时它还可探测到火源的位置,并将其火源扑灭[9]。
同时探测器能够在一些恶劣的环境下工作,拓展了小车的工作的更多可能性。
2.3灭火系统设计
本人曾考虑了各种灭火方式,有放置小型灭火器、使用喷水装置灭火等,但都比较复杂,且灭火装置对智能灭火机器人的稳定性要求很高,所以最后选择用风扇灭火的方式。
用风扇能达到要求,并且各方面的实现都比较容易,工作也比较稳定,便于调试,其工作电压为5V,可轻松吹动20cm之内的火源。
灭火模块与单片机的P1.6口相连,当灭火小车检测到火源的位置并且其位置在可吹的范围内时,单片机通过P1.6口将指令发送给控制其风扇转动的电机,使风扇转动将火源扑灭,灭火完成后风扇会继续转动一阵,确保安全。
风扇电路控制原理图如图2.3所示。
图2.3风扇电路控制原理图
2.4循迹模块设计
本项目设计采用巡线监测模式来实现自主灭火巡检,预设的路线上来回巡检,发现火源并及时灭火。
因此,本系统采用红外循迹模块来实现消防小车的自主巡检功能[11]。
本项目的循迹模块采用的是红外传感器来根据已规定的路径行走。
但与地面检测距离为2~3cm较为适用,同时其工作电压为3.3V~5V,不可超过其范围否则不能运行。
红外循迹主要是根据黑、白色对红外线吸收能力的不同,设计黑色路径为灭火机器人的行走路线。
传感器的左侧为红外光发射管,右侧部分是红外光接收管。
在使用前要将接收管用黑色胶带包裹起来,只留接收管底部的探头,主要防止外界光和发射光带来的干扰。
发射管通电后,它能产生人眼不可见的红外光,又因为黑色能够吸收红光线,所以反射回来红外线的数量较少,接收管接收到的红外线较少,致使电阻的阻值就会较大。
同理白色对红外线吸收能力较弱,接收管电阻比较小。
两个红外循迹传感器分别与单片机的P3.5和P3.6口相连,单片机就可根据接收端电平变化来判断小车是否偏离预设的路线[10]。
红外循迹原理图如图2.4所示。
图2.4红外循迹原理图
红外循迹传感器主要就是针对一些固定区域,并设计固定路线来巡逻的一个传感器[12]。
本项目主要针对那些固定区域需要巡查并缺乏人手的企业,为其提供灭火机器人来代替人力,完成巡逻工作。
同时在火灾来临时可快速帮助人们进行灭火作业,即可省去多余的劳动力,又可提高火灾发生处理速度。
2.5电机驱动模块
电机驱动模块主要是用于控制机器人的运动,本系统主要是控制灭火机器人车轮的转动。
同时此系统没有传感器的控制,其位置主要依据软件来实现,这就要求电机的控制精度必须要高。
L293D采用16引脚DIP封装,半桥式驱动,电压4.5-36V,单通道输出电流,但高峰输出的电流可达到1.2A,其内部集成了双极型H-桥电路。
它的工作电压为4.5~36V,L293D具有很多优点,例如价格与其他驱动器相比较为便宜、易于控制、无需保护电路和二极管和电机停止时微振电流可消除正反向时的静摩擦等[13]。
本项目主要需要控制两个电机的转动,所以本设计使用2个H-桥电路集成到1片芯片上,由一个芯片同时可控制2个电机的转动。
本项目电机控制是当IN1=0,IN2=1时,左电机向前走,反之IN1=1,IN2=0时左边电机向后转,要想让左边电机停转则EN2=0;
同理当IN3=0,IN4=1时右边电机向前走,IN3=1,IN4=0右边电机向后走,EN1=0右边电机停转。
电机驱动模块原理图如图2.5所示。
图2.5电机驱动模块原理图
3系统软件设计
3.1系统软件开发环境
本项目软件方面设计主要是使用KeilμVision4实现的,其系统是由C语言来进行编程的,最后生成.hex文件。
项目下载到单片机前编译要显示成功,才可以进行软件和单片机串口连接将所编写的程序下载到单片机里。
KeilC51软件可提供丰富的库函数和功能强大的集成开发调试工具。
使用C语言编程时,Keil是最实用的软件[14],程序编译界面如图3.1所示。
图3.1Keil的程序编译界面
3.2系统总程序设计
主程序为一个系统的设计主干,它可决定灭火机器人的主要工作内容。
每个功能的实现还需要调用具体的子程序来运行[15]。
智能灭火机器人主要工作过程为:
电源给电系统初始化,灭火机器人开始根据黑色轨迹线路进行行走,火焰传感器感应到火焰的位置,一定距离开始后,风扇开始旋转,直到将火焰扑灭,火焰扑灭后,风扇将持续一段时间转动后再停止,然后小车再开始继续前进寻找下一处火焰。
系统主程序流程图如图3.2所示。
图3.2系统主程序流程图
3.3各模块程序设计
(1)火焰探测模块
主要是通过火焰传感器来探索火焰的位置。
当火焰传感器感测到有火焰后,它会继续让小车运行,运行到一定的距离后再开始进行风扇转动[16]。
火焰消失后,火焰传感器会继续寻找下一个火焰的位置。
火焰探测模块流程图如图3.3所示。
图3.3火焰探测模块流程图
(2)循迹程序流程图
本设计灭火机器人在行走的过程中,两个传感器规划路线,若是向左偏就向右调整方向,向右偏就向左调整方向,循环运行使小车在规定的轨迹行走[17]。
其寻迹模块程序流程图如图3.4所示。
图3.4循迹程序流程图
(3)驱动电机模块程序流程图
在开启程序运行前,首先单片机初始化,P1口全部置0。
当传感器检测到与地面距离为2~3cm后,电机开始启动,然后就循环判断循迹系统送来的信号,电机进行相应的功能驱动。
具体如下图3.5和表3.1所示。
图3.5驱动电机模块程序流程图
表3.1驱动电机模块程序功能对照表
接收真值表(前左,后右)
对应功能
1-1
前进
0-0
停车
1-0
左转
0-1
右转
4项目调试
4.1硬件调试
硬件调试前我们需要焊接电路板,按照硬件高矮进行统一焊接,焊接时尽量使用焊锡进行连线,为了避免焊接错误,要对每一条焊接线路进行检查,最后进行接线处理,注意正负极接线。
硬件调试主要分为五部分,分别为电路的检查、通电观察、静态调试、动态调试和指标测试[18]。
在动手操作过程中有很多问题一直阻碍小车正常的灭火运行,主要遇到的问题是:
1.传感器不工作,或者时好时坏,主要是传感器正负极连线问题,接反则不会转动,还有连接线是否接触正常,还有传感器内部是否发生短路、断路等问题,导致不导通;
2.单片机下载程序时,一定要进行冷启动,否则程序下载不成功,冷启动后,如果软件一直显示正在检测单片机,主要原因是没有选择对应的COM口或者电量不充足;
3.传感器灵敏度的调节,主要调节传感器电位器,或者调节电阻,反复实验根据LED灯的亮度来找到传感器最合适的状态,便于小车更好的运行。
4.2软件调试
本项目使用的单片机型号为STC89C52RC系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。
KeilμVision4软件如图4.1所示。
图4.1KeilμVision4
KeilμVision4使用的基本步骤,首先建立一个新的项目,选择使用的单片机类型(STC89C52RC),可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。
在编译程序之后,生成.hex文件[19]。
STC-ISP是将程序下载到单片机的软件,首先选择单片机信号为STC98C52RC,同时将单片机按照方向置于烧写器中,安装好驱动程序连接好计算机,启动软件前,需要选择对应的COM口。
选中事先编辑好的.hex文件,确定后点击下载,然后进行冷启动先断电再上电,单片机进行重启,最后会显示下载成果[20]。
这样单片机程序就烧写成功了。
STC-ISP软件如图4.2所示。
图4.2STC-ISP
4.3实物调试
本项目主要通过硬件与软件的结合,实现小车循迹灭火。
首先我们要测试小车循迹行走,在无火焰时,小车可一直按照所设定轨迹行走,如图4.3所示。
其次还要测试灭火小车的主要功能——灭火,在火焰出现时小车停下,风扇转动,扑灭火源,如图4.4所示。
图4.3循迹运动
图4.4风扇灭火
结论
本次项目设计为“基于单片机的灭火机器人”,根据应实现的功能设计了所需的硬件电路,以STC89C52RC为主控中心、L293D驱动芯片等共同组成了本系统的硬件电路。
其硬件电路主要有单片机模块提供的核心电路、电机驱动模块的双H—桥电路和多个传感器的检测模块。
并根据硬件电路的需求和设计者的理念编写出相应的软件程序。
首先,可利用按键控制灭火机器人的工作状态,按键可控制电源的开启,或者将灭火机器人与地面保持一定的距离,灭火机器人检测不到路面,这两种方法都可以控制灭火机器人的运行。
灭火机器人运动时可根据设置的路径行走,要是偏离了路线,红外循迹传感器会发射出灭火机器人偏离轨道的信息,并将此信息直接传给单片机,单片机会根据所设定的程序,对控制灭火机器人两个车轮的电机发出指令,调整两个轮子的转速,以达到灭火机器人向左偏移路线要向右移动,向右偏移路线要向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 灭火 机器人 设计