摘 要 本系统以 stm32f103 最小开发板为主控,通过红外测距模块检测障碍物以及房间门,
使灭火机器人能够躲避障碍物并顺利进入房间。通过火焰传感器确定火焰位置,使灭火机器
人能顺利到达火焰位置,到达火焰位置后 stm32f103 驱动灭火系统进行灭火。灭火机器人能
够实现避障、寻找火源并稳定、准确的进行灭火的功能。
关键词 stm32f103; 红外测距; 火焰传感器; 电机驱动
1 绪论
随着人们生活条件的日益提高以及社会的进步,人们对于电及天然气的使用
越来越多越来越频繁,这也造成了火灾频发、人员伤亡。灭火机器人的产生,实
现了对安全防护的质的提高,降低了消防人员的危险。现阶段已经出现了许多同
等类型的灭火机器人,但是能真正投入使用的却是少之又少,本次毕设的目的在
于解决当前市面上的灭火机器人所无法完成的事以及遇到的种种问题。若解决了
这些问题并在灭火机器人上配以各种接口传感器便实现了系统的智能化。那么不
管是在安全防护方面、工业控制方面、医疗卫生方面、还是在国防军事方面、航
天航空方面、微控制器方面都可起到重要作用。5G 时代的来临,物联网将得到
巨大的提升,灭火机器人的实际应用也会得到巨大提升[1]。数据传输速度随着 5G
的到来得以巨大提高。随着数据传输速率的提高,灭火机器人遇到突发事件所需
的处理时间将大大降低。灭火机器人可以取代消防队员进入有毒、浓雾、缺氧等
风险系数较大的灭火现场完成检查、排烟灭火、救助伤员等危险任务,在保护消
防员的人身安全的同时又进一步提高了消防部队灭火救援的能力。当前灭火机器
人的应用较少,应用程度远未达到预期值,收集到的灭火机器人参与的实际灭火
救援任务案例很少。当前灭火机器人得不到广泛应用主要有两大问题其一是灭火
机器人在复杂的环境中难以准确识别火源位置,达到理想的灭火结果。其二是灭
火机器人的结构复杂成本较高,出现问题难以维修。本次毕设着重解决这两大问
题,使灭火机器人即使在复杂环境下也可以实现准确定位火源位置。并尽可能简
化了灭火机器人的结构使灭火机器人在出现问题时可以方便修理。
2 系统整体方案设计
2.1 总体设计思想
本课题采用 stm32f103 作为灭火机器人的主控芯片,使用红外避障传感器模
块、电机驱动模块、火焰传感器模块、电源控制模块等多个模块相结合。传感器
与主控芯片相连接,主控芯片通过检测传感器传回的数据下达相应的指令驱动灭
火机器人行进。主要工作原理为:通过灭火机器人上的红外避障模块实现躲避障
碍物并在复杂环境准确进入房间,通过两路 PWM 波控制两个直流电机从而控制
灭火机器人的前进及转向。进入房间后通过火焰传感器监测是否存在着火点,若
存在着火点则驱动灭火机器人向着火点行进,进入可灭火范围进行灭火。最终实
现灭火机器人准确避开障碍物并进入房间寻找火焰位置进行准确灭火的功能。
2.2 系统硬件方案设计
本课题的目的在于设计一个在相对复杂的区域能够实现自主搜索火源并且
实施 灭火 的智 能机 器人 。 本次 毕设 使 用的 主控 芯片 为 stm32f103 单片 机 ,
stm32f103 是一款具有高性能、低成本、低功耗的单片机 ,它具有 ARM Cortex-M
内核的 32 位微处理器[2]。本次设计重点在接收各种传感器返回的数据并正确驱
动电机进行相应指令上,因此需要正确选择红外避障传感器、火焰传感器以及直
流电机的型号,保证灭火机器人可以完成指定要求。系统总体设计框图如 2-1 所
示。
小 车 电
机驱动
stm32f103
风扇
电机
红 外 避 障
传感器
火 焰 传
感器
电源模块
图 2-1 设计框图
灭火机器人有两种机械结构可供选择,为方便灭火机器人的驱动及功能的实
现对两种方案进行论证。
方案一:采用四轮的车体。该方案灭火机器人稳定性高但其车体较大,灵活
性差,当灭火机器人遇到狭窄地形时难以实现灵活转弯。
方案二:采用三轮的车体。该结构方便、易于控制、灵活性好,在狭窄地形
也可实现灵活转弯。
为方便灭火机器人的控制及功能的实现,采用方案二。
2.3 系统软件方案设计
软件设计方案以上面所提到的硬件电路为基础,灭火机器人包含了电机控制
模块、火焰传感器模块、红外避障模块、单片机模块、电源模块。程序设计采用
c 语言编写,编程环境是 keil 编译器的集成编译环境。灭火机器人的软件设计结
构框图如 2-2 所示。
灭火机
器人系
统软件
电机控
制模块
传感器
模块
转弯子程序
前进子程序
停止子程序
光敏子程序
避障子程序
火焰子程序
3 硬件设计
图 2-2 系统软件设计框图
按硬件框图,本次设计所需器件清单如表 3-1 所示。
器件名称
电源
直流电机
电源模块电路板
电机驱动电路板
单片机最小系统板
火焰传感器
红外避障传感器
表 3-1 器件清单
器件数量
2
3
1
2
1
1
5
3.1 红外避障电路
为了能够使灭火机器人快速地找到火源并规避路上可能出现的障碍物,要求
灭火机器人的避障系统比较灵敏,遇到障碍物可以做出迅速躲避,对于避障传感
器有以下介绍:
灭火机器人的避障模块由红外避障传感器组成,红外避障传感器具有一个红
外信号发射二极管和一个红外接收二极管,红外发射二级管发射出的红外信号具
有特殊频率,接收管则负责接收这种频率的红外信号,如果红外避障传感器的检
测方向遇到障碍物时,红外信号被障碍物反射回来,然后被红外接收二级管所接
收到。经过简单处理后,通过 IO 接口返回到 stm32f103 主控板,stm32f103 主控
板作出判断,判断前方是否存在障碍物,并下达相应的指令[3] 。这便实现了灭火
机器人的避障功能。灭火机器人采用的红外避障传感器可以直接输出高低电平,
当存在障碍物时输出高电平,当不存在障碍物时输出低电平。因此单片机读取到
低电平时执行转弯程序。红外避障传感器原理图如图 3-1 所示。
图 3-1 红外避障传感器原理图
3.2 火焰传感器电路
本次设计检测火源使用的火焰传感器其原理是通过探测火焰发出的 700nm
的短波近红外线信号到 1100nm 的短波近红外线信号进行输出。灭火机器人采用
5 路火焰传感器,普通的火焰传感器探测角度范围只有 30°左右,使用 5 路设计
可以使探测角度大于 120°。该火焰传感器既能输出数字信号也能输出模拟信号,
使用十分方便无需再进行 A\D 转换,数字输出探测距离可通过传感器上的可变
电 阻 调 节 [4] 。 火 焰 传 感 器 原 理 图 如 图 3-2 所 示 。
图 3-2 火焰传感器原理图
为使灭火机器人更加准确、快速地确定火焰位置,可以使用多种不同的方法
对火焰传感器进行一定的改进,下面是常用的两种改进方案:
(1)将火焰探头通过串联或者并联的方式来提高火焰传感器的灵敏度。
(2)在灭火机器人的前左右多个方向安装火焰传感器,这样便能实现快速
定位火焰的要求。确定火焰方向后,单片机驱动灭火机器人直接朝火焰方向前进,
大大节省了灭火机器人的灭火时间[7] 。
灭火机器人采用的火焰传感器可直接输出高低电平,检测到火焰时输出高电
平,没有检测到火焰时输出低电平。当单片机检测到高电平时驱动风扇转动。
3.3 电机驱动电路
灭火机器人采用的电机驱动模块为 SGS 公司推出的 L298N。L298N 的逻辑
电路有 4 个。L298N 内有两个 H 桥的大电流、大电压双桥式得驱动模块,46V、
2A 以下的直流电机使用 L298N 完全可以驱动。1 脚和 15 脚可以作为单独引出连
接电流的采样电阻器,它可以将电流变化转换为电压变化,这就形成了一个电流
采集器。L298N 驱动原理图如图 3-3 所示。
图 3-3 电机驱动电路图
L298N 能够同时驱动两个直流电机,OUT1、OUT2 和 OUT3、OUT4 之间分
别接两个直流电动机的正极、负极。IN0 引脚、IN1 引脚、IN2 引脚、IN3 引脚
分别接输入单片机输出的控制电平,控制电机的正转、反转,ENA,ENB 为控制
使能端,控制电机的停转。L298N 同时利用了单片机产生的 PWM 信号接到
ENA,ENB 端子可以实现电机的转速的调节[5]。
3.4 风扇驱动电路
灭火机器人的灭火设计对于灭火方式没有特别的限制,只要不使用危险的灭
火方式或者可能破坏灭火场地的方法来灭火即可(如通过燃放爆竹产生冲击气流
来使蜡烛熄灭),也不能通过接触到火源的方式来灭火[8] 。可以运用类似二氧化
碳、空气、水。由于本次毕业设计只是做一个简单地模型,灭火机器人的体积相
对很小,无法搭载复杂的机械结构,火源部分也是采用的蜡烛,通过风扇便可以
将其吹灭。所以采用风扇这种简单可行的方式作为灭火机器人的灭火部分。当然,
实际应用中这种方式是并不可行的,在实际应用中要换成其他的灭火方式。
灭火风扇的驱动电路如图 3-4 所示。
图 3-4 灭火驱动图
其中 Port1,Port2 分别接到单片机机 P1.1、P1.2 接口上。单片机输出 Port1,
Port2 控制信号用以驱动灭火电机动作。由于 MOS 管比三极管具有功耗低、稳定
性强等优点,所以采用 MOS 管,这里只使用 MOS 管的夹断区和饱和区,只将
其当做一个电控开关并没有放大的作用,鉴于其要实现的功能,选取增强型 MOS
管,当 Port 信号为高电平时,MOS 管在 vcs 下开始工作,MOS 开始导通,风扇
开始正常工作,进行灭火;当 Port 信号为低时,由于增强型 MOS 管特点,vcs =
0 时,i0= 0。此时,MOS 截止,风扇不工作[6] 。
3.5 控制电路
本次设计采用 stm32f103f103 作为主控芯片,stm32f103f103 单片机具有以下
特点:
内核:stm32f103 采用 32 位 Cortex-M3 内核,stm32f103 的工作频率最高可
达 72MHz。
存储器:stm32f103 集成了 32kb 到 512kb 的 Flash 存储器。6-64KB 的 SRAM
存储器。
时钟、复位和电源管理:stm32f103 的电源供电采用 2.0-3.6V 直流供电和
I/O 接口的驱动电压。可编程的电压探测器、掉电复位、上电复位。晶振采用
4-16MHz。stm32f103 内部的 RC 振荡电路频率为 40 kHz。用于 CPU 时钟的
PLL。
低功耗:stm32f103 具有 3 种低功耗模式:待机、停止、休眠。
调试模式:JTAG 接口和串行调试(SWD)。
DMA:stm32f103 的 DMA 控制器有 12 个通道。
支持的外设:A/D 转换、定时器、IIC、SPI、UART。
A/D 测量范围:0-3.6V。
stm32f103 的引脚图如图 3-5 所示。
图 3-5 单片机 stm32f103 引脚图
3.6 电源电路
由于灭火机器人所需传感器较多耗费电能大而且带动电机也需要耗费大量电能,
这便要求选择容量大、重量轻且稳定的电源。因此选择使用飞思卡尔模型车电源,