超声波阵列系统的设计与应用
2021-06-17吕耀辉吕晨晖余昊杨文海邓周虎李强
吕耀辉,吕晨晖,余昊,杨文海,邓周虎,李强
(1.西北大学,陕西西安,710127;2.西安通大思源电器有限公司,陕西西安,710054)
0 引言
随着现代建筑楼层的增高,当发生火灾、地震等灾害时,高楼层居民逃生难度日益增大[1]。若在高楼层安装智能降落伞,在逃生者使用过程中对周围进行障碍物探测,并智能提醒逃生者如何正确调整降落方向,将会大大减轻救灾压力、减少伤亡人数。本文设计的超声波测距[2]阵列即可用于智能降落伞对四周障碍物的探测,并在探测到需要躲避的障碍物后,在该方位发出报警信号,提示使用者向正确的方位降落。
1 系统介绍
本系统通过软硬件组合实现对四个方位的障碍物循环探测。硬件部分由四个超声波测距模块HY-SRF05构成探测阵列,通过肖特基二极管构成的信号整形电路将探测阵列的探测返回信号整合,作为单片机一个I/O的输入,单片机通过以输入捕获为核心的程序实现对信号的处理,最终向指示模块发出控制信号。系统供电采用5V直流便携式电池,通过USB接口为系统供电[3]。
图1为本系统的功能框图。
图1 超声波阵列探测系统功能框图
2 硬件设计与制作
■2.1 制作材料
超声波智能探测装置的制作材料包括:PCB板、HYSRF05超声波模块、金属膜电阻器、肖特基二极管、发光二极管、导线等。
本装置制作过程中使用的器材有:电烙笔、焊锡丝、剪线钳、斜口钳、镊子。
本装置的制作成本在60元左右。
■2.2 系统设计
2.2.1 设计方案
超声波智能探测装置包括:超声波探测装置、预警指示灯。
系统设计采用超声波探测模块。超声波模块可通过电平调节探测范围,探测精度达毫米级。
2.2.2 电路设计
本系统采用四块超声波探测模块对外界障碍进行探测,将HY-SRF05超声波探测模块分别焊接于四块独立PCB板。通过对I/O口的配置,单片机向超声波模块Trig端输入一个脉冲宽度大于10μs的正脉冲信号,作为超声波测距模块的使能信号。综合考虑电子元器件的可靠性与系统的循环速度,本系统中使能信号设置为脉冲宽度为20μs的正脉冲信号。超声波测距模块收到使能信号后,向正前方发射8个40kHz的方波,并自动检测是否由信号返回。若有信号返回,超声波模块Echo端输出高电平信号,该高电平信号的持续时间为从方波信号发出到接受到返回信号的时间[4]。将四个超声波测距模块的Echo端分别与四个二极管的正极相连,四个二极管的负极并联后连接在单片机的一个I/O上[5]。系统对四个方向循环探测,因此对二极管的开关频率要求极高,故信号整形电路采用多子器件肖特基二极管[6]。将接受到的信号通过软件智能处理,在计算出障碍物的距离后,判断障碍物是否处在需要躲避的范围内,当判定某方向的障碍物与使用者间的距离小于系统预设的距离时,单片机通过I/O口驱动,使该方向预警指示装置示警。
在示警装置中,前、左、右方的示警装置为发光二极管,但使用者无法观察到身后的发光二极管是否工作,因此后方的示警装置使用蜂鸣器。
2.2.3 原理图设计
超声波智能探测装置使用Altium Designer软件进行原理图设计,如图2所示。
图2 超声波智能探测装置原理图
3 软件设计
(1)本系统以STM32F103C8T6[7]作为控制模块,控制程序设计包括:主程序设计、输入捕获程序设计、指示模块I/O口配置程序设计。
(2)主程序设计:在主程序中,通过调用若干库函数来实现相应函数的初始化,其中包括:利用delay_Init进行延时功能的初始化、设置中断优先级分组、串口初始化、利用LED_Init函数对用于示警I/O口初始化、使能时钟并开启输入捕获。完成以上初始化与相应配置后,对为示警装置提供控制电平的I/O口设置初值,即均设置为输出低电平,使其处于不工作状态,设置完成后,令程序进入while(1)循环。在循环中,通过Read_Distance函数读取障碍物距离,并根据其与设定值的比较结果,决定示警装置控制电平的跳变。本系统的示警设定值为3.5米。
(3)输入捕获程序设计:本系统选择时钟通道3作为输入捕获的时钟通道,根据芯片手册,选择PB1作为输入捕获I/O口。首先使能TIM3时钟与GPIOB时钟。然后对时钟通道3进行配置:设定计数器自动重装值、设置预分频系数、设置时钟分割、设置为向上计数模式、选择输入端IC3映射到TI1上、配置输入分频为不分频、配置输入滤波器为不滤波,因超声波模块每工作一次,Echo引脚电平被抬高一次,故根据可靠性原则,对输入捕获通道进行配置,将其设置为上升沿捕获。最后配置中断:先占优先级2级、从优先级0级、使能IRQ通道、使能定时器3[8]。
对Echo引脚的高电平持续的时间进行计时,会存在溢出问题,因此,将对时间的的测量转换为对溢出次数的计数。当对输入捕获的状态进行判断时,若判断为未成功捕获,则进入是否溢出的判断,若判断为发生溢出,则进行溢出次数的累加。最后在计算障碍物距离的函数中,需加上溢出的时间总和。
(4)示警信号I/O口配置程序设计:首先将四个I/O口的时钟使能。本系统中选择PB7、PB8、PB9、PB10作为示警I/O口。将此通道的时钟使能后,依次完成其端口配置、设置为推挽输出、设置I/O口速度为2MHz、利用库函数将数组内容将I/O口初始化,并将其初值均设置为低电平。
4 测试结果
(1)当前、后、左、右任意一方向的障碍物距离小于3.5m时,该方向的示警装置发出警报。
(2)当任意两个方向同时探测的障碍物距离小于3.5m,两个方向的示警装置同时发出警报。
(3)当任意三个方向同时探测的障碍物距离小于3.5m,三个方向的示警装置同时发出警报。
(4)当四个方向同时探测的障碍物距离小于3.5m,四个方向的示警装置同时发出警报。
(5)任意一个方向的探测精度测试为1mm,与理论值相同。
综上,本系统实现了对四周障碍物的探测与示警。
5 结束语
作为智能降落伞的探测与示警系统,该装置的精度高,反应灵敏度强,经过实验,能够可靠的实现预期功能,提示逃生者如何使用降落伞有效避障,能够有效降低高层居民在灾害发生时的伤亡率。且该装置价格低廉,具有良好的实用性。