基于STM32 单片机的矿井智能消防车的设计
2023-09-27刘艳峰
刘艳峰
(甘肃省太阳能发电系统工程重点实验室酒泉职业技术学院,甘肃酒泉,735000)
0 引言
随着我国煤矿开采深度的增加和机械化程度的提高,矿山火灾事故也呈明显上升趋势。煤矿火灾事故严重威胁着煤矿工人的生命安全,同时也是制约煤矿安全生产的重要因素。随着煤矿消防安全设备技术的发展,矿井智能消防车越来越受到重视。矿井智能消防车是一种具有高度智能化、自动化的消防车。由于消防灭火救援任务的特殊性和复杂性,使得现有消防系统难以满足实际需要,而利用消防装备进行火灾自动探测是实现高效、快速扑灭火灾事故的有效手段之一。我国已在一些地区建立了具有一定规模的矿井消防队,为保障矿井安全发挥了积极作用。然而,由于种种原因,目前还存在着不少问题,影响到消防工作水平的进一步提高。
为了能够有效地预防和控制火灾发生,本文设计了一种以STM32 单片机为控制核心,具有火灾检测、自动避障、自动灭火、实时信息采集和报警功能的灭火系统。该系统有效提高了矿井的消防安全,减少了矿井事故的发生,为矿井消防安全工作提供了技术支撑。
1 系统硬件设计
■1.1 系统硬件总体设计
控制系统框架如图1 所示。系统以STM32 单片机为主控制器,采用模块化设计思想,主要包括电源模块、超声波模块、传感器采集模块、灭火模块、显示模块和报警模块等。
图1 系统结构图
其中电源模块负责整个系统所需电能供给,传感器采集模块和超声波模块相互配合实现小车的前进、后退等操作,同时采集火灾信号、温度、一氧化碳和甲烷等火灾现场环境参数,并将其传送给主控制器。主控制器对接收到的环境信号进行处理分析,达到对火灾进行判断的目的。如果检测到有火灾时,主控制器发出报警信号提醒工作人员及时采取措施灭火,同时发出控制信号控制灭火模块进行自动灭火。显示模块用来实时显示当前被测环境温度、一氧化碳和甲烷等参数值;报警模块在检测到有火灾时或者被测环境参数超过阈值时,发出报警信号,以便消防人员及时作出反应,保证消防工作顺利开展。
■1.2 主控制器模块
智能消防车的主控制器以STM32F103C8T6 单片机为核心。STM32F103C8T6 处理器是ST 公司推出的基于ARM Cortex-M3 内核的单片机,具有32 位处理能力,多达72MHz 的时钟频率。拥有64KB Flash 存储器和20KB RAM 容量,电源电压为2V~3.6V。支持多种外设,包括计时器、ADC、CAN、USART、SPI 等,可以满足大多数应用场合的需求。在本设计中,充分利用了STM32F103C8T6单片机丰富的外设资源和良好的扩展能力。最小系统电路图如图2 所示。
图2 单片机最小系统电路图
■1.3 电源模块
矿井智能灭火系统使用锂电池进行供电,由于锂电池的输出电压为5V,STM32 单片机、火焰传感器、DS18B20温度传感器、MQ-7 一氧化碳传感器、MQ-4 甲烷传感器等工作电压均为3.3V,所以需要经过降压模块把5V 的直流电压降为3.3V 的直流电压。降压模块选用SC662K 线性稳压器。该芯片具有低功耗和高精度特性,能够在矿井下的复杂环境中稳定工作。同时该模块还提供了多种保护功能:过流保护、短路保护等。电路图如图3 所示。
图3 电源模块电路图
■1.4 电机驱动部分
电机驱动部分采用L298N 芯片。L298N 芯片是一款双通道H 桥驱动芯片,主要用于实现直流电机、步进电机和舵机等的驱动和控制。可承受高电压,输出大电流。它的工作电压为6V~46V,最大驱动电流可达3A。L298N 芯片具有较强的驱动能力和逻辑控制能力,是一款多功能的控制芯片。此外,L298N 芯片还具有反馈检测、电流检测等功能,可以满足多种应用需求。它的优势在于可以驱动大功率电机,并且可实现多种控制。电路图如图4 所示。
图4 电机驱动电路图
■1.5 火灾检测模块
火灾检测模块选用火焰传感器。火焰传感器将被测火源发出的光信号转换成电信号,再经A/D 转换处理后输出数字信号,最终输入到单片机。当单片机接收到该数字信号时通过与预设的阈值进行比较,从而判断被测火源燃烧状态信息。其特点是灵敏度可调、驱动能力强、安装方便。在工业现场使用时可以根据需要调节灵敏度,并可对多种环境条件下的火源做高精度实时监测。电路图如图5 所示。
图5 火灾检测电路图
■1.6 灭火模块
灭火模块主要由舵机、水泵和水罐组成。其中,水罐用于储存消防用水;水泵把水罐中的水抽出通过加压,使其成为高压气体进入到喷头内并喷出,从而形成水雾覆盖在待灭火源上,达到扑灭火灾的目的;舵机用来驱动喷头进行旋转运动以改变喷射角度,进而调节水流方向。电路图如图6所示。
图6 灭火模块电路图
■1.7 超声波避障模块
选用HC-SR04 超声波测距模块来实现自动避障功能,其主要原理是:通过单片机发送触发信号控制超声波模块工作,超声波模块被触发后,会自动发送8 个40kHz 的方波,并且自动检测是否有信号返回,发射出去的脉冲方波传播到物体上,反射回来的脉冲方波被模块接收,超声波模块通过引脚输出一个高电平。高电平持续的时间等于脉冲方波发射到返回的时间。通过高电平持续的时间乘以声速再除以2就可以计算出距离。该模块特点是:测量范围广,可测量2cm~4m 的距离;测量精度高,误差在3mm 以内;价格低廉,是一款性价比高的产品。电路图如图7 所示。
图7 超声波模块电路图
■1.8 检测模块
检测模块检测的环境参数主要为温度、一氧化碳和甲烷,通过温度传感器和气体检测传感器来实现。检测模块把检测到的数据送到单片机进行处理,并在显示模块进行显示。温度检测采用DS18B20 温度传感器,一氧化碳检测采用MQ-7 一氧化碳传感器,甲烷检测采用MQ-4 气体传感器。原理图分别如图8~图10 所示。
图8 甲烷检测电路图
图9 一氧化碳检测电路图
图10 温度检测电路图
2 系统软件设计
■2.1 主程序设计
首先,对STM32F103C8T6的系统参数进行初始化。包括串口初始化、定时器初始化、引脚初始化、各个模块初始化。初始化完成后,小车通过超声波避障模块执行前进、后退等操作,同时在小车运动过程中,完成火灾信号采集、环境参数采集。如果检测到有火源时,系统执行灭火程序进行灭火。如果检测到的环境参数超过阈值,进行报警处理并显示。上述采集工作完成之后,再次进入到下一个循环进行采集。主程序流程图如图11 所示。
图11 主程序流程图
■2.2 超声波避障模块子程序设计
避障模块子程序流程如图12 所示,首先进行初始化,矿井智能消防车开始前进并且检测障碍物,如果没有检测到障碍物,小车继续前进;如果检测到障碍物,小车左转或者右转45 度前进;小车再次检测障碍物,以确定是否避开障碍物,如果再次检测到障碍物,小车继续左转或者右转45 度前进;如果没有检测到障碍物,小车继续行驶。
图12 超声波避障模块子程序流程图
■2.3 灭火模块子程序设计
灭火模块子程序如图13所示,首先进行初始化,矿井智能消防车在前进过程中检测火焰信号,如果没有检测到火焰信号,小车继续前进检测;如果检测到火焰信号,判断火焰信号是否在小车正前方,如果在正前方,报警并执行灭火操作;如果不在正前方,小车调整位置,直到调整到在火焰正前方,执行灭火操作。最后再次检测是否存在火焰信号,判断火源是否熄灭,如果检测到有火焰信号,继续执行灭火操作,直到火源熄灭。
图13 灭火模块子程序流程图
3 测试与分析
在实验室环境下对矿井智能消防车进行了试验研究。点燃蜡烛模拟火灾发生时的场景,并在实验室环境中随机布置一些障碍,然后对其各个模块的工作性能进行测试。实验测试结果如表1 所示。
表1 各个模块测试结果
通过测试结果可知,矿井智能消防车能够准确地探测到火源并启动灭火设备进行灭火,并且实现了自动避障、实时监测、报警等功能。
为了验证火焰检测模块和灭火模块的准确性,在实验室环境下,通过多次改变蜡烛的位置和改变蜡烛的数量模拟不同的火源。矿井智能消防车通过避障模块和火灾检测模块的配合,在行驶过程中搜寻火源,如果火焰传感器检测到火焰信号时,系统控制灭火模块进行喷水操作。对多次实验结果进行了统计,得到实验结果如表2 所示。通过表2 可以看出,矿井智能消防车能够准确识别火源并进行灭火,具有较高的准确性和稳定性。
表2 火焰检测和灭火功能准确性统计
4 结论
本设计以STM32F103C8T6 单片机为控制核心,利用超声波技术、火灾检测技术、温度检测技术和气体检测技术,实现了同时具有自主避障、火灾探测、环境参数检测、显示和报警的智能消防小车控制系统。实验结果表明:智能消防小车可以在无人干预下自动完成对各个区域的环境数据采集并将数据传输给单片机;系统能够准确地判断出火灾现场位置并进行快速灭火。该智能消防小车控制系统在满足使用者基本功能的同时,更加智能化,稍加改进后即可投入市场应用。该智能灭火小车适用于大型仓库、易燃易爆工厂和大型工矿企业等区域的火灾防范,对提高生产安全具有一定的实用价值。
在此研究基础上,可以加入更多的智能设计。首先,可以考虑增加语音控制,可以实现和被控人员的交流;还可以增加蓝牙无线传输功能,实现利用手机控制智能消防车。在环境参数检测时会有一定的误差,如果加入智能算法,进行误差修正,该智能系统的精确度会进一步提高。