1. 引言
智能灭火车属于轮式机器人的一种,其活动不易受客观环境的影响,能广泛应用于一些不适合人类活动及存在危险的场合(如有辐射、有毒、发生火灾的地方),因此较多地被应用到生产、生活及其它工业领域 [1] 。实现智能灭火车的避障与灭火功能是一件非常重要的工作,具有很大的现实意义与推广价值。传统的智能灭火车大多使用红外对管实现自主避障,虽然设计简单、实现方便,但对环境的要求比较高,如果环境中存在红外光源就会影响小车的判断,致使其运行不稳定,无法很好地实现避障。
该智能灭火车利用超声波模块与舵机协同工作实现避障,这种方式不易受环境红外线、温度等客观因素影响,避障准确可靠。此外,该智能灭火车使用数字式温度传感器和多个火焰传感器来实现火焰检测功能,多种传感器的综合使用使得该智能灭火车能在复杂的环境下准确地检测到火焰,进而实现灭火功能。测试结果表明:该智能灭火车不仅可以在恶劣环境下、在人不容易接近的情况下实施灭火,还可以运送救助物品,对待救助者进行施救,大大降低了营救的危险性和不必要的人员伤亡,具有重要的现实意义。
2. 工作原理
超声波可由物体机械振动产生,其频率较高,波长较短,具有良好的方向性和反射能力,除此之外,超声波的能量较为集中,不易发生衍射。所以,该智能灭火车采用超声波模块进行非接触式检测的方法实现测距与避障。
火焰传感器利用的是红外线接收管对红外线的敏感特性,红外线接收管能把接收到的不同波长的红外线转化为高低变化的电平信号并输出到单片机进行处理。数字式温度传感器采用单总线技术,具有抗干扰能力强、测量精度高的优点,它将被测温度进行模数转换,进而输出数字信号供单片机处理判断。
该智能灭火车系统组成如图1所示,以STC89C52RC单片机的控制为核心,使用L293D电机驱动芯片驱动直流电机,HC-SR04超声波模块和舵机配合进行180˚的障碍物检测,以实现自主避障,最后利用JNHB1004火焰传感器、DS18B20温度传感器及灭火风扇完成火焰检测及灭火的功能。
3. 硬件设计
STC89C52RC单片机是传统8051单片机的改进,属于增强型8051单片机,具有功耗低、性能好、抗干扰能力强的特点,指令代码完全兼容传统8051单片机,最高运作频率35 MHz,可选12时钟/机器周期或6时钟/机器周期,有32个通用I/O端口,3个16位定时器,并且具有EEPROM、看门狗功能。在该智能灭火车中选用了12时钟/机器周期,利用I/O端口控制传感器和直流电机工作,并用来读入返回值,使用定时器实现电机的控制,使用计数器实现计时与测距。
该智能灭火车如图2所示,超声波模块和舵机的配合使用,使该智能灭火车能很好地测量出其左前方、前方和右前方障碍物的距离,并实现自主避障。3个JNHB1004火焰传感器分别位于灭火车的左前
方、正前方和右前方,加上正前方的DS18B20温度传感器使得该智能灭火车能在较复杂的环境下准确地检测出是否有火焰。
3.1. 驱动模块设计
驱动电路原理图如图3所示,驱动芯片L293D内部等效为双H桥路 [2] ,通过单片机控制输入端In1、In2的高/低电平实现直流电机的正、反转。因为直流电机等效于一个大电感,它有阻碍输入电流和电压突变的能力,可以把输入的脉冲信号平均分配到作用时间上,所以采用脉宽调制(PWM)来控制电机的转速,通过控制使能端En1输入脉冲信号的占空比,调节对直流电机的通断电,控制智能灭火车的速度。
该智能灭火车用定时器准确地计算脉冲时间,通过定时器中断产生固定占空比的脉冲信号,实现PWM波形的输出。测试表明,两片L293D电机驱动芯片驱动四个直流电机,效果较理想,产生的扭力较大。
3.2. 超声波避障模块设计
超声波避障的核心是超声波测距,障碍物距离不同,智能灭火车的运行状态也不同。由超声波发射器发射超声波,超声波接收器持续检测回波,得到从发射到接收超声波的时间差Δt,求出障碍物距离s。

Figure 3. Drive circuit principle diagram
图3. 驱动电路原理图
由于超声波传播速度易受环境温度等因素影响,为了提高结果的准确性,采用温度补偿的方法对超声波传播速度加以修正,已知环境温度T (℃),则超声波传播速度v (m/s)为
(1)
已知超声波传播速度v,则障碍物距离s (m)为
(2)
HC-SR04超声波模块如图4所示,当触发信号输入端口(Trig端口)输入大于10 us的高电平信号时触发测距,此时超声波发射器发会自动发送8个40 kHz的方波并开始计时,超声波接收器持续检测是否有回波返回,若有回波返回,通过回响信号输出端口(Echo端口)输出一个高电平 [3] ,高电平持续的时间就是超声波从发射到返回计数器的计数时间,从而测得距离s = v × Δt/2,通过液晶1602实时显示。
为了配合超声波模块的使用,准确地测得智能灭火车左方、前方和右方障碍物的距离,实现可靠的避障,需要使用SG90舵机。因为舵机的位置会随输入信号占空比而变化,所以可用PWM信号控制舵机。单片机产生的PWM信号由接收通道进入信号调制芯片,获得直流偏置电压,将获得的直流偏置电压与电位器电压相比较,得到电压差并输出到舵机的电机驱动集成电路,驱动电机转动,电机上的级联减速齿轮带动电位器旋转,直至电压差为零,电机停止转动。
一般情况下,控制舵机的PWM信号周期为20 ms左右,该PWM信号的高电平部分占空比为2.5%~12.5%,该智能灭火车使用180˚角度伺服,对应的控制关系如表1所示。
3.3. 火焰检测模块设计
该智能灭火车使用火焰传感器和数字式温度传感器共同判断是否有火焰,单片机通过读入传感器的返回值,处理并判断是否触发灭火风扇,从而实现火焰检测及灭火。
JNHB1004火焰传感器能探测到波长在760 nm~1100 nm范围内的红外光,探测角度为60˚,当红外光波长在940 nm附近时,其探测灵敏度达到最大。火焰传感器工作原理是其内部的远红外火焰探头对红外线的变化特别敏感,能将红外线的波长变化表现为电流的变化并输出到单片机,通过模数转换得到数字信号,用于后续的判断工作。
数字温度传感器DS18B20属于单线式传感器,如图5所示,其传输总线与单片机P2.0端口连接实现双向通讯,并且需要外接一个上拉电阻,使得总线闲置时其状态为高电平。DS18B20测温范围为−55℃~+125℃,可编程为精度是9位~12位的数字信号,误差在±0.5℃以内。

Figure 4. HC-SR04 ultrasonic module
图4. HC-SR04超声波模块

Figure 5. DS18B20 temperature sensor
图5. DS18B20温度传感器
DS18B20工作原理如图6所示,斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置数值,温度寄存器中的数值即为所测温度 [4] ,经模数转换存储于单片机的高速暂存存储器的第0和第1字节中。单片机读取温度值的程序如图7所示,读取出了高速暂存存储器中存放的温度值。
4. 软件设计
该智能灭火车利用uVision3集成开发环境进行单片机程序的编写,程序主要由主程序、避障运行子程序、火焰检测子程序组成,主程序流程如图8所示。
主程序对系统进行初始化,完成开启外部中断、模块初始化等操作,并初始化智能灭火车运行状态为直行,通过超声波模块实时检测障碍物的距离。若距离小于阈值,程序自动跳转到避障运行子程序,其流程如图9所示,根据障碍物的方位与距离控制智能灭火车的运行状态,从而达到避障的目的。火焰检测子程序用来检测火焰,触发灭火风扇进行灭火,当检测到火焰时,智能灭火车停止运动并进行灭火,最后判断火焰是否被吹灭。

Figure 6. DS18B20 working principle
图6. DS18B20工作原理

Figure 9. Obstacle avoidance running subroutine
图9. 避障运行子程序
5. 测试与分析
测试场地如图10所示,黑色粗线为墙壁,星形处放有点燃的蜡烛,设置该智能灭火车前方避障距离为15 cm,放到场地中进行测试。
记录场地中三支蜡烛全被吹灭所用时间,如表2所示。最终测试结果表明,该智能灭火车能实现自主避障功能,准确地检测到了火焰并进行了及时有效的灭火,实现了预期的目标。
该智能灭火车测距避障系统由超声波发送、接收、单片机控制、计数器和计算距离五个部分组成 [5] ,由于该智能灭火车对测距精度要求不高,采用的是单片机计时并认为超声波速度恒定在344 m/s。为了分析测距避障的结果,经过多次测量,得到4组障碍物距离测量值和对应的实际值,误差统计如表3所示,总体来说,该智能灭火车能够比较稳定的运行,误差较小。若想提高测量精度,可用的措施有提高计时精度、减少时间量化误差和精确补偿温度对超声波速度的影响。
6. 结束语
本文设计并实现了以单片机控制为核心,由多种传感器组成,具有测距避障、火焰检测及灭火功能的智能灭火车,该智能灭火车具有误差较小、成本低、实时性高、结构简单等优势。此外,本文比较详细地介绍了该智能灭火车的设计方法与工作原理,测试结果表明:该智能灭火车的各项功能都已经实现、各部分都能够稳定运行。
该智能灭火车的创新点在于利用了超声波传感器和舵机的互补性,提高了测距避障系统的测距范围和避障性能;多组火焰传感器和温度传感器的科学布置,提高了火情预报的可靠性,实现了全方位的避障和检测。除此之外,该智能灭火车只需通过简单的修改,就能应用于其它场景,具有很好的实用性和参考价值。
下一步研究的重点是在该智能灭火车的基础上加入Wi-Fi摄像头无线视频传输模块和无线遥控模块,实现对火灾现场的实时监控和遥控控制智能灭火车的运动方向。

Table 2. Time statistics (unit: s)
表2. 时间统计(单位:s)

Table 3. Range error statistics (unit: cm)
表3. 测距误差统计(单位:cm)
基金项目
本文论述的“智能灭火车的设计”得到了北方工业大学2016北京市大学生科学研究与创业行动计划项目的资助。