1、 引言
盲人在独自行走时主要依靠导盲装置。最简单常用的装置是普通的手杖,用它在地面上敲击,可帮助盲人发现0.5米以内的障碍物。它的主要缺点是不能发现较远一点的障碍物以及空中突出的障碍物。例如,在相当于头部、胸的位置悬挂或突出的物体。另外,盲人还可以利用导盲犬带路,但是不易训练且成本较高。为了更好的帮助盲人行走, 许多国家都研究和生产了各种电子导盲装置,但大多成本较高,如各类导盲机器人及其它电子装置。本文提出了一种用单片机开发的超声波导盲装置的设计方案,它具有低成本、实用和精确的特点。
2、 导盲装置的功能设计及系统组成
导盲装置主要由超声波探头、单片机以及测控及处理电路、按键、蜂鸣器等组成,可以放在包中,或安装在帽子上、手杖中。导盲装置有三个按钮,分别是电源开关、远距、近距控制按钮,还有一个音量调节旋纽。该装置使用电池,电源开关可控制系统通、断电,不用的时候关掉电源,节省电能。使用时,超声波探头方向指向探测方向,当前方有障碍物时,在一定距离内喇叭会发出报警声并随着向障碍物的接近频率逐渐升高,起到提示作用。远距、近距、控制按钮可用来控制报警的距离,通电时初始报警距离为2米,按远距控制按钮可将初始报警距离设为5米,按近距控制按钮可将初始报警距离设为1米,报警声音音量可用音量调节旋纽调节,有耳机插孔,可以接耳机。该装置是以AT89C51单片机作为控制器,利用超声波回声测距的原理测距,用蜂鸣器进行声音报警。系统的硬件结构框图如图1所示。该系统主要由单片机控制系统、超声波发射电路、接收放大电路、按键控制和声音报警电路。AT89C51单片机是整个系统的核心部件,用来控制、协调各部件的工作。工作时先由单片机控制的振荡源产生40K Hz频率的信号以驱动超声波传感器,使它发射脉冲。当第一个超声波脉冲发射后,计数器开始计数,在检测到第一个回波脉冲的瞬间,计数器停止计数,计算出从发射到接收的时间差Δt,最终利用单片机计算出距障碍物的距离,并根据远距、近距控制按钮设定的测距值进行报警指示。
3、 超声波测距原理
超声波测距采用的方法是时间差测距法,在超声波发生器发射出超声波的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时,测出发射和接收到回波的时间差Δt。由下式可以求出超声波发射地与目标之间的距离SS=vΔt/2 (1)式中v为超声波的传播速度,超声波常温下在空气中的传播速度是340米/秒,传播速度与空气的温度、湿度等因素的有关,这里由于测量距离不长,测量精度要求不高,不考虑其他影响,只要测得超声波发射和接收回波的时间差Δt,按(1)式计算即可。
4、 控制系统硬件电路设计
4.1 超声波的发射电路
超声波的发射电路主要由高频三极管及超声波发生器组成,如图2所示,超声波收发传感器采用压电陶瓷传感器UCM40,由于频率为40kHz左右的超声波在空气中传播的效率最佳,因此通过执行程序由单片机P1.0产生40KHz的振荡信号,经过高频三极管放大, 驱动超声波发生传感器UCM40T发出40KHz的超声波脉冲。
4.2 超声波的接收电路
超声波的接收传感器采用与发射传感器配对的UCM40R,将由发射传感器发出的经反射后的超声波脉冲转变为微弱的交流信号,经过运算放大器 LM358的两级放大后,送至音频译码集成模块LM567的3脚。LM567是带锁相环的音频译码器,具有选频功能,LM567内部的压控振荡器的中心频率f=1/1.1RC,当LM567输入信号大于25mV时,输出端8脚由高电平跳变为低电平,将其作为单片机的中断请求信号,送至单片机INT0端,以启动中断服务子程序。
4.3按键及蜂鸣器驱动电路
开关控制电源的通断,远距、近距控制按钮一端接高电平,另一端分别接单片机P1.2、P1.3,并同时经与门接入单片机INT1端,当其中任意按键按下时会产生一个中断请求信号送入INT1,同时,从P1口读数判断按键的状态并调用相应的子程序进行处理。远距、近距控制按钮同时只有一个有效,由软件控制,都按下时为近距控制按钮有效。蜂鸣器由三极管驱动,接P1.4,由报警程序控制,对应不同的按键及距离,发出不同频率的声音。
5、 系统的软件设计
本系统软件采用模块化设计,超声波测距导盲器的超声波测距、按键控制、报警提示都由AT89C51单片机控制上电后主程序无限循环,初始化后系统设置一系列初始值,包括超声波发射间隔数、定时器定时初值、报警门限值等,然后读取按键的状态,再根据按键状态对初始设定值进行修改,初始值报警距离设定为2米,即2米内有障碍物时即驱动蜂鸣器发出声音,并且随着距离的接近,不断调整参数,使得声音的频率不断提高。远距、近距控制按钮分别对应不同的超声波发射间隔和报警门限、频率等;程序控制发送0.2毫秒宽度的超声波,同时启动定时器T0计时;为避免接收传感器直接接收到发射的超声波,在发射超声波之后插入一段延时,由于设置超声波频率为40KHz , 超声波常温下在空气中的传播速度是340米/秒,计算可知延时6个脉冲就可以了。延时后启动接收回波程序,等待接收回波,超时(即在设定距离内无障碍物) 即返回前面,若有回波则停止计时,读取时间差,利用公式(1)计算出距离,然后执行报警程序,根据计算距离结果及设定值比较选择不同参数,驱动蜂鸣器发出不同频率的声音,距离越近频率越高。最后返回重新开始。
6、 误差分析
对系统进行实验测试,结果发现在5米范围内,最大误差在5cm以内,且距离越近,误差越小,完全满足导盲的需要。分析误差主要有几个原因:一是空气温度变化等引起的声速变化造成的误差,由于超声波在空气中的传播速度为V=331.5+0.607t,t为现场环境温度,温度在-30℃--40℃范围变化时,传播速度V的变化范围为313米/秒--356米/秒,对利用公式(1)计算出的距离值有一定影响,采用声速预置和传播介质温度测量结合的方法对声速进行修正,可有效地降低温度变化产生的误差。二是发射与脉冲计数由于响应快慢差异开启不同步引起的误差,对此在调试中通过脉冲计数值补偿进行修正。三是超声波在传播过程由于受衍射、散射和吸收等影响衰减导致的误差,近距离误差不明显,距离越远产生的误差越大,可适当增大超声波的发射功率等来改善。四是发射和接受前置电路延迟的时间误差等,而发射前置电路和接收前置电路中采用集成芯片都有时间延迟,而计数器则一直是在工作,直到回波经过LM567处理后变成负跳变电信号产生外部INTO中断,在整个计数过程中,多了延迟时间中的计数次数,导致测距数据的误差。对此采取时间增益控制,来减少误差,由于本装置对于厘米级的精度已经足够,电路延迟都是纳秒数量级,记数频率是40KHz,所以减少一个记数单位完全可以矫正。针对误差原因在程序设计及系统调试中做了相应处理后,收到一定的效果,精度得到一定的提高。
7、 结束语
由于考虑到体积、成本等因素,本装置在性能上、功能上还存在不足,有待于进一步提高:
(1)增加几路不同方向的超声波探测或红外探测器以及温度补偿电路等,可以提高装置的灵敏度和精度,同时提高可靠性。
(2)可在装置中增加一个语音芯片,将蜂鸣报警改为语音说明指示,根据探测结果直接报出距离、方位,更便于使用。
(3)由于受发射功率及回波检测灵敏度的限制,探测范围较小,可增加发射功率调节等电路,以便增大探测范围,可用于夜间探路、井下探索等。
本文创新点:
(1)从测试结果分析可知,本装置采用较低成本的器件设计制作,且误差较小,完全满足盲人行走的指引作用,具有较高的性价比。
(2)本装置结构简单、体积小、性能稳定,操作容易、使用方便,可以安装在不同的载体上,制作成不同的用具,如手杖、导盲眼镜、导盲背心等,盲人很容易学会使用,具有一定推广应用价值。
(来源:电子工程世界)