摘 要
由于火灾的频繁发生,人们不仅在物质上有巨大的损失,同时在精神上也饱受折磨,最让人痛心惋惜的还是那些为了国家无私奉献生命的消防人员。为了解决火灾给人们带来的巨大损害,本项目设计了一款基于单片机的灭火机器人。
本次设计利用STC89C52RC单片机为核心控制器;采用红外循迹传感器控制灭火机器人的行走轨迹,通过接收管接收到红外线的数量判定路况信息;采用火焰传感器探测火焰,通过检测的火焰判定其火焰的位置;采用L293D电机驱动芯片,通过一个芯片控制两个电机的转动;灭火主要是通过马达提供动力驱动四叶风扇旋转。
结果表明,本项目设计的成本较低、性能较好,整体设计较为合理且易于操作。同时对灭火机器人软件与硬件方面进行了调试,实现了全部预期的功能。人们可以使用灭火机器人来灭火,这样能够减少一些火灾带来的损失。灭火机器人还可以代替人员闯入火场进行灭火作业,灭火人员的人身安全得到更大保证,同时灭火也可达到预期效果。
关键词:机器人; 灭火模块; 单片机控制
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.1 STC89C52RC引脚图
2.2 循迹模块设计
本项目设计采用巡线监测模式来实现自主灭火巡检,预设的路线上来回巡检,发现火源并及时灭火。因此,本系统采用红外循迹模块来实现消防小车的自主巡检功能[11]。
本项目的循迹模块采用的是红外传感器来根据已规定的路径行走。但与地面检测距离为23cm较为适用,同时其工作电压为3.3V5V,不可超过其范围否则不能运行。红外循迹主要是根据黑、白色对红外线吸收能力的不同,设计黑色路径为灭火机器人的行走路线。传感器的左侧为红外光发射管,右侧部分是红外光接收管。在使用前要将接收管用黑色胶带包裹起来,只留接收管底部的探头,主要防止外界光和发射光带来的干扰。发射管通电后,它能产生人眼不可见的红外光,又因为黑色能够吸收红光线,所以反射回来红外线的数量较少,接收管接收到的红外线较少,致使电阻的阻值就会较大。同理白色对红外线吸收能力较弱,接收管电阻比较小。两个红外循迹传感器分别与单片机的P3.5和P3.6口相连,单片机就可根据接收端电平变化来判断小车是否偏离预设的路线[10]。红外循迹原理图如图2.4所示。
图2.4 红外循迹原理图
红外循迹传感器主要就是针对一些固定区域,并设计固定路线来巡逻的一个传感器[12]。本项目主要针对那些固定区域需要巡查并缺乏人手的企业,为其提供灭火机器人来代替人力,完成巡逻工作。同时在火灾来临时可快速帮助人们进行灭火作业,即可省去多余的劳动力,又可提高火灾发生处理速度。
2.3 电机驱动模块
电机驱动模块主要是用于控制机器人的运动,本系统主要是控制灭火机器人车轮的转动。同时此系统没有传感器的控制,其位置主要依据软件来实现,这就要求电机的控制精度必须要高。
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 系统总程序设计
主程序为一个系统的设计主干,它可决定灭火机器人的主要工作内容。每个功能的实现还需要调用具体的子程序来运行[15]。智能灭火机器人主要工作过程为:电源给电系统初始化,灭火机器人开始根据黑色轨迹线路进行行走,火焰传感器感应到火焰的位置,一定距离开始后,风扇开始旋转,直到将火焰扑灭,火焰扑灭后,风扇将持续一段时间转动后再停止,然后小车再开始继续前进寻找下一处火焰。系统主程序流程图如图3.2所示。
图3.2 系统主程序流程图
4 项目调试
4.1 硬件调试
硬件调试前我们需要焊接电路板,按照硬件高矮进行统一焊接,焊接时尽量使用焊锡进行连线,为了避免焊接错误,要对每一条焊接线路进行检查,最后进行接线处理,注意正负极接线。硬件调试主要分为五部分,分别为电路的检查、通电观察、静态调试、动态调试和指标测试[18]。
在动手操作过程中有很多问题一直阻碍小车正常的灭火运行,主要遇到的问题是:
1.传感器不工作,或者时好时坏,主要是传感器正负极连线问题,接反则不会转动,还有连接线是否接触正常,还有传感器内部是否发生短路、断路等问题,导致不导通;
2.单片机下载程序时,一定要进行冷启动,否则程序下载不成功,冷启动后,如果软件一直显示正在检测单片机,主要原因是没有选择对应的COM口或者电量不充足;
3.传感器灵敏度的调节,主要调节传感器电位器,或者调节电阻,反复实验根据LED灯的亮度来找到传感器最合适的状态,便于小车更好的运行。
4.2 软件调试
本项目使用的单片机型号为STC89C52RC系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。Keil μVision4软件如图4.1所示。
图4.1 Keil μVision4
Keil μVision4使用的基本步骤,首先建立一个新的项目,选择使用的单片机类型(STC89C52RC),可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。在编译程序之后,生成.hex文件[19]。
STC-ISP是将程序下载到单片机的软件,首先选择单片机信号为STC98C52RC,同时将单片机按照方向置于烧写器中,安装好驱动程序连接好计算机,启动软件前,需要选择对应的COM口。选中事先编辑好的.hex文件,确定后点击下载,然后进行冷启动先断电再上电,单片机进行重启,最后会显示下载成果[20]。这样单片机程序就烧写成功了。STC-ISP软件如图4.2所示。
图4.2 STC-ISP
4.3 实物调试
本项目主要通过硬件与软件的结合,实现小车循迹灭火。首先我们要测试小车循迹行走,在无火焰时,小车可一直按照所设定轨迹行走,如图4.3所示。其次还要测试灭火小车的主要功能——灭火,在火焰出现时小车停下,风扇转动,扑灭火源,如图4.4所示。
图4.3 循迹运动
图4.4 风扇灭火
5 结 论
本次项目设计为“基于单片机的灭火机器人”,根据应实现的功能设计了所需的硬件电路,以STC89C52RC为主控中心、L293D驱动芯片等共同组成了本系统的硬件电路。其硬件电路主要有单片机模块提供的核心电路、电机驱动模块的双H—桥电路和多个传感器的检测模块。并根据硬件电路的需求和设计者的理念编写出相应的软件程序。
首先,可利用按键控制灭火机器人的工作状态,按键可控制电源的开启,或者将灭火机器人与地面保持一定的距离,灭火机器人检测不到路面,这两种方法都可以控制灭火机器人的运行。灭火机器人运动时可根据设置的路径行走,要是偏离了路线,红外循迹传感器会发射出灭火机器人偏离轨道的信息,并将此信息直接传给单片机,单片机会根据所设定的程序,对控制灭火机器人两个车轮的电机发出指令,调整两个轮子的转速,以达到灭火机器人向左偏移路线要向右移动,向右偏移路线要向左移动的效果,使灭火机器人可以在所规定的路线进行行走,检测火源是否存在。若火源存在灭火机器人火焰传感器的指示灯会发出亮光,火焰传感器会将有火焰的信息发送给单片机,单片机会立刻给风扇发出指令,电动机给风扇提供动力将火焰扑灭,火焰消失,火焰传感器的指示灯会熄灭,但风扇会继续转动,转动一阵后,风扇就会停止转动,灭火机器人又会开始运行沿着路径行走。
本设计经过了硬件以及软件的测试,各部分均实现预期功能。实现了小车循迹功能,可根据规定的路线,进行一步步沿线行走;实现了小车探索火焰的功能,发现火焰,LED指示灯就会发出亮光;实现了灭火的功能,根据单片机接收到有火焰的信息后,风扇开始转动,实现灭火的功能。该灭火系统操作简单,可靠性高,抗干扰能力较强,适用范围广。应用本设计产品,可以减少不必要的损害,降低不必要的风险,同时还可以促进社会科技的进一步发展。