智能盲人导行仪的设计与实现
2008-04-09
作者:陈美銮,尹 浩,黎 飘,董博
摘 要: 一种新型的智能盲人导行仪。该导行仪采用超声波测距" title="超声波测距">超声波测距的方法,由两个独立的单片机控制分别产生40kHz的超声波,同时监测人体上方及前方障碍物距离,划分报警等级,根据不同等级及方位发出六种语音报警信号。同时针对存在视觉和听觉障碍的用户,发出三种不同频率等级的振动报警。此导行仪体积小、造价低、操作方便,有很好的应用价值。
关键词: 超声波测距 单片机控制 报警 盲人导行
据相关报道,全世界有3000多万视觉障碍者,中国有800多万,他们行走时通常靠一根手杖探路。每走一步路只能探测地面上有限几个点,不仅路面情况探不清楚,而且走得也很慢。另外,手杖只能探测到地面情况,却难以避免上身碰撞障碍物的危险。
国外已经开发出多种协助盲人走路的电子导盲器。这些电子导盲器大多引入了电子计算机进行信号处理,有些甚至用到了GPS全球定位系统及建立无线电基站等方法。但这些方法实现起来价格昂贵,不适用于普通消费者。
本文介绍适合盲人(或盲聋人)使用的轻便型导行仪,探测地面障碍物的电路板安装在手杖内,其超声波传感器装在手杖下端,采集到的信号以无线方式发到腰挂式主机;探测上半身的超声波传感器可方便地装在上衣口袋、衣领口、帽子或眼镜上等,接收到的信号以有线方式传到腰挂式主机处理。手杖信号和上半身探测到的信号最后生成报警信号,以耳机形式传送语音,同时可选用震动形式(适用于视觉、听觉都有障碍的人士)传送报警信息。上半身的装置也可单机使用。
1 测量原理
1.1 超声波测距原理
超声波是频率高于20kHz的声波。其特征是:能量集中,波长短,近似直线传播。超声波在空气中的传播速度v为340米/秒,当其传播过程中遇到物体的阻挡时,便会被物体反射。通过对发出的超声波计时,得到超声波被反射回来与发出去的时间差△t,用公式(1)便可计算出物体距超声波发出点的距离S。
S=V·△t/2 (1)
1.2 系统原理
如图1所示,单片机产生40kHz方波,通过超声波反射探头(图1中T)产生一段一段的超声波,同时单片机计时器开始计时。超声波在空气中传播遇到障碍物,被反射后由超声波接收探头(图1中R)接收回波,经放大电路放大及检波电路检波产生中断,单片机计时器停止计时。单片机对数据进行处理,根据超声波测距原理,可计算出障碍物的距离S,再根据需要把距离划分为1米、1.5米、2米不同的报警等级。单片机根据物体的方位及报警等级发出六种不同的语音报警信号,并可根据需要发出三种振动报警信号。
2 硬件组成
硬件主要由五部分组成:主控电路" title="主控电路">主控电路和上部超声波探测模块、探杖超声波探测模块、语音报警模块" title="报警模块">报警模块、无线传输" title="无线传输">无线传输模块、振动报警模块。硬件组成框图如图2。
2.1 主控电路和上部超声波探测模块
主控电路是系统的主模块,上部超声波探测模块以有线方式与主控电路通信。它包括放大检波电路、信号发生电路、语音模块接口和无线模块接口等。无线模块接口用于与探杖超声波探测模块检测到的信号单工通信。
本装置采用的CPU是ATMEL公司的可编程" title="可编程">可编程AT89S52。AT89S52是一种低功耗、高性能的CMOS 8位微型计算机,能与MCS-51产品兼容,有8KB的可改写Flash内部ROM,256B的内部RAM,32根可编程I/O,3个16位定时、计数器,8个中断源和可编程串口、看门狗。与同类MCS-51产品相比,AT89S52价格便宜,且有在线编程功能(ISP)。
AT89S52的时钟电路可以由两种方式产生,一种是内部方式,利用芯片内的振荡电路;另一种为外部方式。外接12MHz晶振以及C1、C2(均为30pF)构成并联振荡电路。
本报警器采用按键电平复位。
超声波的工作频率为40kHz,由单片机的定时计数器定时产生,通过P2.7输出。由于电压和电流都很微弱,因此,采用三级管将电流放大, 1:2的变压器将电压放大。超声波衰减非常快,接收到的回波比较弱,只有几毫伏。通过测量得到超声波衰减特性如表1。 采用两级放大,将信号放大几百倍,最后通过电容耦合LM567检波。
放大电路采用OP-07放大。OP-07是低偏移电压、低噪声、低时间、温度漂移的精确放大电路。
检波电路采用LM567芯片。LM567是一种通用的语音解码芯片,可以通过外围电路决定选频的带宽。
新频率和带宽分别通过公式(2)和公式(3)计算得到。
2.2 探杖超声波探测模块
探杖超声波探测模块与上部超声波探测模块类同,但可省去语音报警模块接口,CPU选用AT89C2051。它有2KB的可改写Flash内部程序储存器,可写/擦1000次。128B的内部RAM,15根可编程I/O,2个16位定时、计数器,6个中断源。具有体积小、价格低等特点。
2.3 语音报警模块
语音报警模块采用美国ISD公司的2560芯片,录放时间可达60秒。ISD2500系列具有抗断电、音质好、使用方便等优点。它的最大特点在于片内E2PROM容量为480KB,录放时间长;有10个地址输入端,寻址能力可达1024位;最多能分600段;设有OVF(溢出)端。
语音报警电路框图见图3。
2.4 无线传输模块
无线传输模块采用PT2272-PT2262 编解码芯片,发射模块和接收模块与单片机串口相连,主机和从机通过无线传输模块进行串口通信。自编通信协议,通信准确。
2.5 震动报警模块
震动报警模块由三极管8050驱动一个带有偏心轮的微型电机实现。通过控制三极管基极的电平控制电机的开关,输入不同频率的电平可以达到不同的震动效果。震动报警电路见图4。
3 软件设计
3.1 主程序
主程序分为主机主程序和从机主程序。主机主程序流程图如图5。
主机(主控电路和上部探测模块)与从机(探杖探测模块)的通信通过无编码无线传输模块单工通信实现。从机探测发现物体后进行测距,划分报警等级,然后将报警等级从串口发给发射模块发射;主机通过接收模块接收数据。通信协议在每一次发送数据前加上验证码(不同产品验证码不同,如验证码0x55),当接收模块收到验证码时,将对验证码数据进行处理。
3.2 测距子程序
单片机每过一段时间发送一段超声波,然后等待是否有反射超声波。如果有则进入中断,否则继续发送,流程如图6、图7。
本导行仪可以对人体高度以上方位监测,当距离人体1米、1.5米、2米有障碍物时分别发出“上方危险”、“上方小心”、“上方注意”、“下方危险”、“下方小心”、“下方注意”六种不同的报警信号;也可选择不分上下方的方式,当遇到不同距离障碍物时发出:“危险”、“小心”、“注意”三种报警信号;也可同时选择三种振动报警信号。语音报警准确、清晰。
超声波的探测范围可达10米,探测角度60°以上,但为了实际需要,将报警范围设定在2米之内,报警间距也可根据需要调整。超声波探头有一定的盲区,通过测量确定盲区在30cm左右,但因为进入实际盲区时测量的数据是一个定值,这个定值在报警范围内,因此报警盲区为0cm。
导行仪中全部器件采用贴片技术,腰挂式主机做成手机大小,从机电路内置于手杖,电源及开关安装在手杖的手把处,让使用者操作起来更加自如。整套系统轻便灵活,成本低,有较好的市场应用价值。
参考文献
1 吴炳胜.80C51单片机原理与应用技术.北京:冶金工业出版社,2003
2 杨素行.模拟电子技术基础简明教程,第2版.北京:高等教育出版社,1998
3 李朝青.单片机原理及接口技术,第一版.北京:北京航空航天大学出版社,1999
4 阎 石.数字电子技术基础,第四版.北京:高等教育出版社,1998
5 王建校.51系列单片机及C51程序设计.北京:科学出版社,2002
6 徐爱均,彭秀华.单片机高级语言C51 Windows环境编程与应用.北京:电子工业出版社,2001