基于TTS模塊的超聲波障礙物檢測語音播報系統(tǒng)設(shè)計
摘要:介紹一種基于超聲波傳感器和科大訊飛TTS語音模塊的超聲波障礙物距離檢測及語音播報系統(tǒng)。系統(tǒng)首先利用單片機控制超聲收發(fā)換能器探測目標障礙物信息,再經(jīng)溫度補償后確定與目標障礙物距離,其后通過LCD及語音模塊顯示并播報測量結(jié)果。文中給出了系統(tǒng)的詳細硬件設(shè)計方案及主要軟件流程圖。本系統(tǒng)結(jié)構(gòu)簡單,工作穩(wěn)定,操作便利,反應(yīng)速度快并具有智能語音播報功能,可用于盲人導(dǎo)航、機動車倒車或特定區(qū)域非法侵入檢測等領(lǐng)域。
關(guān)鍵詞:超聲波測距;障礙物檢測;TTS;語音播報;語音合成模塊
超聲波是一種頻率為20 kHz以上的聲波,具有直線傳播能力,頻率越高繞射能力越弱,而反射能力越強。由于指向性強,能量消耗緩慢,傳播距離較遠,超聲波經(jīng)常被應(yīng)用于位置、距離的測量,如測距儀和物位測量儀等。利用超聲波檢測往往比較方便、迅捷,且在測量精度上也能達到實用的要求,因此在各種領(lǐng)域得到廣泛的應(yīng)用。
本文給出一種基于超聲波傳感器技術(shù)的障礙物檢測語音播報系統(tǒng),為解決障礙物接近距離探測提供了一種可行的簡單方案。本方案利用超聲換能器基于脈沖回波法實現(xiàn)障礙物距離的非接觸式測量,并可對超聲波速度進行溫度補償,以提高檢測精度。測量結(jié)果將通過LCD顯示,同時通過TTS模塊實現(xiàn)語音播報功能,可適用于盲人導(dǎo)航、機動車倒車及非法入侵檢測等應(yīng)用場合。
1 硬件系統(tǒng)設(shè)計
1.1 系統(tǒng)總體結(jié)構(gòu)
超聲波障礙物檢測語音播報系統(tǒng)硬件電路如下圖1所示。主要包括單片機控制模塊、超聲波距離檢測模塊、溫度測量模塊、按鍵模塊、LCD顯示模塊、語音合成模塊、電源模塊等。
系統(tǒng)硬件部分由AT89C51單片機,超聲波距離檢測模塊,DS18B20溫度檢測模塊;1602字符形LCD顯示模塊、科大訊飛的XF—S4240嵌入式中文語音合成模塊,LM386音頻放大器,放音喇叭,4.2 V/3.3 V電源變換模塊等組成。單片機作為主控芯片,控制超聲波信號的生成、發(fā)射及回波檢測,通過檢測回波時延確定障礙物距離。經(jīng)溫度補償后的測距結(jié)果首先通過液晶屏顯示,同時使用SPI接口發(fā)送到XF—S4240模塊實施語音合成,再經(jīng)LM386實現(xiàn)音頻信號放大后推動喇叭發(fā)音;LDO芯片AMS1117則用于實現(xiàn)4.2 V到3.3 V的電源變換,為XF—S4240提供所需的工作電源
1.2 超聲波距離檢測模塊及其電路設(shè)計
①超聲波距離檢測技術(shù)簡介
發(fā)送超聲換能器產(chǎn)生的超聲波在空氣中傳播,當超聲波受到尺寸大于其波長的目標物體阻擋時就會發(fā)生反射,反射波將由接收超聲換能器接收。若已知聲波在介質(zhì)中的傳播速度v,且聲波從聲源到達目標然后返回聲源的時間可測為t,即可計算出從聲波到目標的距離d為
d=v·t/2 (1)
此為本系統(tǒng)所采用的脈沖回波法測距的基本原理。
超聲波在空氣中以縱波方式傳播,由于氣體具有反抗壓縮和擴張的彈性模量,其反抗壓縮變化力的作用結(jié)果,實現(xiàn)了超聲波在空氣中傳播。因此,超聲波的傳播速度受氣體的密度、溫度及氣體分子成分的影響,即:
式中:E為氣體的彈性模量,ρ為氣體的密度。而理想氣體的彈性模量為
E=λ·P (3)
式中:λ為氣體定壓熱容與定容熱容的比值,空氣中λ=1.40;P為氣體的壓強。
而理想氣體的壓強
式中:R=8.314 kg/mol,T、M、V、μ分別為氣體的溫度、質(zhì)量、體積及分子量,空氣的分子量μ=28.8×10-3 kg/mol。則有
由式(5)可知,超聲在空氣中的傳播速度與空氣的溫度密切相關(guān),表1給出了超聲波傳播速度與溫度的部分對應(yīng)關(guān)系。
②超聲波發(fā)送換能器電路設(shè)計
由單片機產(chǎn)生40 kHz的方波,經(jīng)U1 CD4049調(diào)理并驅(qū)動后,經(jīng)超聲發(fā)送換能器U2產(chǎn)生所需的超聲波信號,其原理圖如圖3所示。
③超聲波接收換能器電路設(shè)計
超聲波接收換能器的電路前級采用NE5532構(gòu)成高倍放大器U4,對接收信號進行放大,后級采用LM311比較器U5對接收信號進行調(diào)整,比較電壓可通過可調(diào)電阻VAL1調(diào)整,以適應(yīng)不同的測距范圍,其原理圖如圖4所示。
1.3 DS18B20測溫模塊
為了滿足本設(shè)計中超聲波速度溫度補償?shù)男枰?,選用DS18B20智能溫度傳感器。
DS18B20有4個主要的數(shù)據(jù)部件:
1)光刻ROM:內(nèi)含64位預(yù)刻序列號,可被視作該DS18B20的專有地址,以便實現(xiàn)在一根總線上掛接多個DS18B20的目的。
2)溫度傳感器:用于完成12位溫度測量,測量結(jié)果以16位符號擴展的二進制補碼形式存儲。
3)內(nèi)部存儲器:包括一個高速暫存RAM和一個非易失性的可電擦除的EEPROM,后者可用于存放高低溫報警閾值。
4)配置寄存器:其中的TM為測試模式位,用于設(shè)置DS18B20進入工作模式還足測試模式。
根據(jù)DS18B20的通訊協(xié)議,主機(單片機)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送讀寫RAM指令,這樣才能對DS18B20進行預(yù)定的操作。
DS18B20采用單總線方式和單片機P3.2相連,如圖2所示,單片機通過單總線接口讀取被測溫度數(shù)據(jù)后,即可通過公式對超聲波的傳輸速度進行補償,以獲得更高的測距精度。
1.3 XF-S4240語音合成模塊及其電路設(shè)計
①XF-S4240語音合成模塊簡介
語音合成技術(shù),簡稱TTS(Text To Speech)技術(shù),用于解決如何將文字信息轉(zhuǎn)化為聲音信息,從而使得人們獲取信息的方式更加豐富和自然。語音合成技術(shù)在國內(nèi)外發(fā)展迅速,在我國,語音合成技術(shù)的研究也已逐步從理論向研制開發(fā)方面發(fā)展,其應(yīng)用領(lǐng)域十分廣泛,技術(shù)也日趨成熟。目前,在嵌入式應(yīng)用領(lǐng)域,最具代表性的有:科大汛飛XF-S4240和XF-S4041CN及宇音天下的SYN6288。
本系統(tǒng)中選用的語音合成模塊為科大訊飛的XF—S4240嵌入式中文語音合成模塊。該模塊支持GB2312、GBK、BIG5及UNICODE四種內(nèi)碼格式的中文文本,同時提供英文字母的合成,支持男/女聲發(fā)音,并可靈活地調(diào)節(jié)語速、語調(diào)及音量。
②XF—S42401通訊方式
XF—S4240支持異步串口(UART)、SPI和I2C通訊方式,允許發(fā)送數(shù)據(jù)的最大長度為1K字節(jié)。
串口通訊模式:波特率:9600 bps(默認值),起始位:1bit,數(shù)據(jù)位:8 bits,停止位:1 bit,校驗:無。
SPI通汛模式:采用4線全雙工同步串行通訊接口,工作在Slave方式,若SPI通訊接口使用SSEL選擇使能信號,則可同時掛接多個設(shè)備。
I2C通訊模式:采用標準I2C總線接口,工作在Slave方式,在I2C總線上也可同時掛接多個設(shè)備。
③XF-S4240控制命令
XF—S4240提供了多種語音合成控制命令,如:合成命令、停止合成命令、暫停合成命令、恢復(fù)合成命令;通過狀態(tài)查詢命令可查詢當前模塊的工作狀態(tài);而休眠命令則可置模塊于休眠方式以降低功耗。針對上位機發(fā)出的不同控制命令幀,XF—S4240模塊會向上位機回送單字節(jié)的反饋信息。此外,通過模塊輸出引腳RDY/BSY的電平變化,借助硬件電路也可識別模塊當前的工作狀態(tài)。
④語音合成電路設(shè)計
語音合成系統(tǒng)設(shè)計如圖2所示。語音模塊借助SPI接口與單片機連接,由硬件RDY引腳指示模塊的工作狀態(tài),與單片機的INT1引腳相連。當該引腳處于低電平時,表明板卡處于空閑狀態(tài),可接收進一步的命令。音頻功放電路則采用LM368音頻放大器,輸出端可直接驅(qū)動揚聲器。
1.4 其它模塊電路設(shè)計
①LCD顯示電路
本設(shè)計中使用一片1602字符形LCD模塊作為系統(tǒng)的顯示輸出,提供操作指示及距離信息的顯示功能,參見圖2。
②按鍵接口電路
本設(shè)計中使用若干按鍵作為系統(tǒng)操作的輸入接口,可供用戶選擇相關(guān)信息進行顯示或設(shè)置內(nèi)部信號變換的標度參數(shù),參見圖2。
③電源處理電路
本設(shè)計中電源使用4.2 V鋰電池供電,以方便便攜式應(yīng)用。而XF-S4240還需采用3.3 V供電,為此選用AMS1117—3.3V LDO器件實現(xiàn)電源變換,因篇幅所限,此部分電路略去。
2 軟件系統(tǒng)設(shè)計
系統(tǒng)主程序框圖參見圖5。程序首先對單片機各IO端口、中斷系統(tǒng)、定時器等外部設(shè)備進行初始化,隨后進人工作循環(huán)。依次周期性通過超聲發(fā)送換能器發(fā)送超聲脈沖信號,并通過超聲接收換能器探測經(jīng)障礙物反射的回波信號,同時通過DS18B20測量環(huán)境溫度,以實現(xiàn)對超聲傳播速度的實時補償,從而確定目標障礙物距離。之后更新LCD顯示,并將相關(guān)信息送TTS模塊以語音方式播報,最后讀取用戶按鍵信息,完成相關(guān)功能操作。
語音合成程序的框圖則如圖6所示。單片機首先判別語音合成模塊是否處于就緒狀態(tài),若是,則依次發(fā)送幀頭、字節(jié)總數(shù)、語音合成命令碼、語音合成格式控制碼及待合成文本,語音模塊將隨后依所設(shè)命令完成TTS轉(zhuǎn)換。
3 結(jié)束語
本系統(tǒng)將超聲波傳感器、智能TTS語音合成功能有機結(jié)合,為非接觸式距離測量及相關(guān)應(yīng)用提供了一種新的模式。系統(tǒng)價格適中、結(jié)構(gòu)緊湊,功能強大,有著良好的實用價值。文中對系統(tǒng)各個部分的硬件電路和軟件實現(xiàn)進行了詳述,本系統(tǒng)的設(shè)計思想及技巧還可為其它相關(guān)產(chǎn)品的設(shè)計制作提供借鑒。