基于TTS模块的超声波障碍物检测语音播报系统设计
扫描二维码
随时随地手机看文章
摘要:介绍一种基于超声波传感器和科大讯飞TTS语音模块的超声波障碍物距离检测及语音播报系统。系统首先利用单片机控制超声收发换能器探测目标障碍物信息,再经温度补偿后确定与目标障碍物距离,其后通过LCD及语音模块显示并播报测量结果。文中给出了系统的详细硬件设计方案及主要软件流程图。本系统结构简单,工作稳定,操作便利,反应速度快并具有智能语音播报功能,可用于盲人导航、机动车倒车或特定区域非法侵入检测等领域。
关键词:超声波测距;障碍物检测;TTS;语音播报;语音合成模块
超声波是一种频率为20 kHz以上的声波,具有直线传播能力,频率越高绕射能力越弱,而反射能力越强。由于指向性强,能量消耗缓慢,传播距离较远,超声波经常被应用于位置、距离的测量,如测距仪和物位测量仪等。利用超声波检测往往比较方便、迅捷,且在测量精度上也能达到实用的要求,因此在各种领域得到广泛的应用。
本文给出一种基于超声波传感器技术的障碍物检测语音播报系统,为解决障碍物接近距离探测提供了一种可行的简单方案。本方案利用超声换能器基于脉冲回波法实现障碍物距离的非接触式测量,并可对超声波速度进行温度补偿,以提高检测精度。测量结果将通过LCD显示,同时通过TTS模块实现语音播报功能,可适用于盲人导航、机动车倒车及非法入侵检测等应用场合。
1 硬件系统设计
1.1 系统总体结构
超声波障碍物检测语音播报系统硬件电路如下图1所示。主要包括单片机控制模块、超声波距离检测模块、温度测量模块、按键模块、LCD显示模块、语音合成模块、电源模块等。
系统硬件部分由AT89C51单片机,超声波距离检测模块,DS18B20温度检测模块;1602字符形LCD显示模块、科大讯飞的XF—S4240嵌入式中文语音合成模块,LM386音频放大器,放音喇叭,4.2 V/3.3 V电源变换模块等组成。单片机作为主控芯片,控制超声波信号的生成、发射及回波检测,通过检测回波时延确定障碍物距离。经温度补偿后的测距结果首先通过液晶屏显示,同时使用SPI接口发送到XF—S4240模块实施语音合成,再经LM386实现音频信号放大后推动喇叭发音;LDO芯片AMS1117则用于实现4.2 V到3.3 V的电源变换,为XF—S4240提供所需的工作电源
1.2 超声波距离检测模块及其电路设计
①超声波距离检测技术简介
发送超声换能器产生的超声波在空气中传播,当超声波受到尺寸大于其波长的目标物体阻挡时就会发生反射,反射波将由接收超声换能器接收。若已知声波在介质中的传播速度v,且声波从声源到达目标然后返回声源的时间可测为t,即可计算出从声波到目标的距离d为
d=v·t/2 (1)
此为本系统所采用的脉冲回波法测距的基本原理。
超声波在空气中以纵波方式传播,由于气体具有反抗压缩和扩张的弹性模量,其反抗压缩变化力的作用结果,实现了超声波在空气中传播。因此,超声波的传播速度受气体的密度、温度及气体分子成分的影响,即:
式中:E为气体的弹性模量,ρ为气体的密度。而理想气体的弹性模量为
E=λ·P (3)
式中:λ为气体定压热容与定容热容的比值,空气中λ=1.40;P为气体的压强。
而理想气体的压强
式中:R=8.314 kg/mol,T、M、V、μ分别为气体的温度、质量、体积及分子量,空气的分子量μ=28.8×10-3 kg/mol。则有
由式(5)可知,超声在空气中的传播速度与空气的温度密切相关,表1给出了超声波传播速度与温度的部分对应关系。
②超声波发送换能器电路设计
由单片机产生40 kHz的方波,经U1 CD4049调理并驱动后,经超声发送换能器U2产生所需的超声波信号,其原理图如图3所示。
③超声波接收换能器电路设计
超声波接收换能器的电路前级采用NE5532构成高倍放大器U4,对接收信号进行放大,后级采用LM311比较器U5对接收信号进行调整,比较电压可通过可调电阻VAL1调整,以适应不同的测距范围,其原理图如图4所示。
1.3 DS18B20测温模块
为了满足本设计中超声波速度温度补偿的需要,选用DS18B20智能温度传感器。
DS18B20有4个主要的数据部件:
1)光刻ROM:内含64位预刻序列号,可被视作该DS18B20的专有地址,以便实现在一根总线上挂接多个DS18B20的目的。
2)温度传感器:用于完成12位温度测量,测量结果以16位符号扩展的二进制补码形式存储。
3)内部存储器:包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM,后者可用于存放高低温报警阈值。
4)配置寄存器:其中的TM为测试模式位,用于设置DS18B20进入工作模式还足测试模式。
根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送读写RAM指令,这样才能对DS18B20进行预定的操作。
DS18B20采用单总线方式和单片机P3.2相连,如图2所示,单片机通过单总线接口读取被测温度数据后,即可通过公式对超声波的传输速度进行补偿,以获得更高的测距精度。
1.3 XF-S4240语音合成模块及其电路设计
①XF-S4240语音合成模块简介
语音合成技术,简称TTS(Text To Speech)技术,用于解决如何将文字信息转化为声音信息,从而使得人们获取信息的方式更加丰富和自然。语音合成技术在国内外发展迅速,在我国,语音合成技术的研究也已逐步从理论向研制开发方面发展,其应用领域十分广泛,技术也日趋成熟。目前,在嵌入式应用领域,最具代表性的有:科大汛飞XF-S4240和XF-S4041CN及宇音天下的SYN6288。
本系统中选用的语音合成模块为科大讯飞的XF—S4240嵌入式中文语音合成模块。该模块支持GB2312、GBK、BIG5及UNICODE四种内码格式的中文文本,同时提供英文字母的合成,支持男/女声发音,并可灵活地调节语速、语调及音量。
②XF—S42401通讯方式
XF—S4240支持异步串口(UART)、SPI和I2C通讯方式,允许发送数据的最大长度为1K字节。
串口通讯模式:波特率:9600 bps(默认值),起始位:1bit,数据位:8 bits,停止位:1 bit,校验:无。
SPI通汛模式:采用4线全双工同步串行通讯接口,工作在Slave方式,若SPI通讯接口使用SSEL选择使能信号,则可同时挂接多个设备。
I2C通讯模式:采用标准I2C总线接口,工作在Slave方式,在I2C总线上也可同时挂接多个设备。
③XF-S4240控制命令
XF—S4240提供了多种语音合成控制命令,如:合成命令、停止合成命令、暂停合成命令、恢复合成命令;通过状态查询命令可查询当前模块的工作状态;而休眠命令则可置模块于休眠方式以降低功耗。针对上位机发出的不同控制命令帧,XF—S4240模块会向上位机回送单字节的反馈信息。此外,通过模块输出引脚RDY/BSY的电平变化,借助硬件电路也可识别模块当前的工作状态。
④语音合成电路设计
语音合成系统设计如图2所示。语音模块借助SPI接口与单片机连接,由硬件RDY引脚指示模块的工作状态,与单片机的INT1引脚相连。当该引脚处于低电平时,表明板卡处于空闲状态,可接收进一步的命令。音频功放电路则采用LM368音频放大器,输出端可直接驱动扬声器。
1.4 其它模块电路设计
①LCD显示电路
本设计中使用一片1602字符形LCD模块作为系统的显示输出,提供操作指示及距离信息的显示功能,参见图2。
②按键接口电路
本设计中使用若干按键作为系统操作的输入接口,可供用户选择相关信息进行显示或设置内部信号变换的标度参数,参见图2。
③电源处理电路
本设计中电源使用4.2 V锂电池供电,以方便便携式应用。而XF-S4240还需采用3.3 V供电,为此选用AMS1117—3.3V LDO器件实现电源变换,因篇幅所限,此部分电路略去。
2 软件系统设计
系统主程序框图参见图5。程序首先对单片机各IO端口、中断系统、定时器等外部设备进行初始化,随后进人工作循环。依次周期性通过超声发送换能器发送超声脉冲信号,并通过超声接收换能器探测经障碍物反射的回波信号,同时通过DS18B20测量环境温度,以实现对超声传播速度的实时补偿,从而确定目标障碍物距离。之后更新LCD显示,并将相关信息送TTS模块以语音方式播报,最后读取用户按键信息,完成相关功能操作。
语音合成程序的框图则如图6所示。单片机首先判别语音合成模块是否处于就绪状态,若是,则依次发送帧头、字节总数、语音合成命令码、语音合成格式控制码及待合成文本,语音模块将随后依所设命令完成TTS转换。
3 结束语
本系统将超声波传感器、智能TTS语音合成功能有机结合,为非接触式距离测量及相关应用提供了一种新的模式。系统价格适中、结构紧凑,功能强大,有着良好的实用价值。文中对系统各个部分的硬件电路和软件实现进行了详述,本系统的设计思想及技巧还可为其它相关产品的设计制作提供借鉴。