基于超聲波測距的導(dǎo)盲系統(tǒng)設(shè)計
摘要:文章設(shè)計了一種基于超聲波測距原理的導(dǎo)盲系統(tǒng)。系統(tǒng)以STC125A60S2單片機(jī)為核心控制器件,利用渡越時間法測量經(jīng)溫度傳感器DB18B-20補(bǔ)償后的距離,實(shí)現(xiàn)對盲人行走道路上障礙物距離的測量及定位,并通過SYN6658語音模塊進(jìn)行語音播報導(dǎo)航。
本文引用地址:http://2s4d.com/article/201610/309032.htm0 引言
根據(jù)最新研究報告,中國每年新增盲人大約45萬,預(yù)計到2020年我國視力殘疾人數(shù)將為目前的4倍,達(dá)5000余萬。由于生理上的缺陷,盲人在生活、工作等方面有著諸多不便。因此,將現(xiàn)今技術(shù)用于盲人導(dǎo)航是十分必要的。
超聲波具有方向性強(qiáng)、能量易于集中、傳播距離較遠(yuǎn)及對障礙物定位精確等特點(diǎn),其產(chǎn)品具有體積相對較小、方便攜帶、價格低廉等優(yōu)點(diǎn)。因此采用超聲波測距及語音播報實(shí)現(xiàn)盲人導(dǎo)航,具有一定的實(shí)用價值。
1 超聲波測距的原理
1.1 超聲波y距方法
超聲波是指振動頻率大于20kHz以上的聲波。超聲波測距方法主要有相位檢測法、聲波幅值檢測法和渡越時間法三種。其中,相位檢測法精度高,但檢測范圍有限;聲波幅值檢測法易受反射介質(zhì)的影響。因此,本設(shè)計采用渡越時間法測距。
超聲波測距的工作原理:發(fā)射換能器向外發(fā)射超聲波,同時單片機(jī)開始計時,超聲波在介質(zhì)中傳播的途中遇到障礙物后會立即反射回來,當(dāng)接收換能器接收回波時單片機(jī)停止計時,從而得到計時器精確記錄的時間t,再根據(jù)渡越時間法求出目標(biāo)障礙物距信號發(fā)射源的距離。
S=ct/2 (1)
對一般流質(zhì)媒質(zhì)而言,聲波是一種縱波,傳播速度為:c=√E/ρ,其中E為媒質(zhì)的彈性模量; ρ為媒質(zhì)密度;c是復(fù)數(shù),其實(shí)數(shù)部分代表傳播速度,虛數(shù)部分與衰減常數(shù)有關(guān)。超聲波測距原理圖如圖1所示。
1.2 超聲波測距的溫度誤差分析
空氣密度越高,超聲波的傳播速度就越快,而空氣的密度又與溫度有著密切的關(guān)系,此溫度對測量精度有一定的影響。氣體中聲速受溫度影響最大,超聲波在空氣中傳播速度為
C=331.4×1+T/273 (2)
其中T為環(huán)境攝氏溫度,因此我們需要采用測溫模塊對溫度產(chǎn)生的影響進(jìn)行補(bǔ)償。
2 系統(tǒng)硬件設(shè)計
2.1 總體設(shè)計
本系統(tǒng)由STC12C5A60S2單片機(jī)、超聲波發(fā)射電路模塊、回波接收電路模塊、測溫模塊、語音模塊五大部分組成。如圖2所示。
STC12C5A60S2單片機(jī)是本系統(tǒng)的核心,控制各個模塊協(xié)調(diào)工作。通過單片機(jī)的P1.0引腳控制超聲波發(fā)射電路模塊產(chǎn)生40 kHz的脈沖信號,并驅(qū)動超聲波傳感器發(fā)射超聲波。當(dāng)?shù)谝粋€脈沖發(fā)射結(jié)束后,啟動計數(shù)器開始計時,超聲波回波信號通過放大和判別后送到單片機(jī)的外部中斷器,單片機(jī)一旦接收到回波信號,便產(chǎn)生外部中斷。單片機(jī)STC12C5A60S2停止計數(shù)器計數(shù),從而得到超聲波的在空氣介質(zhì)中的傳輸時間t,最后通過溫度補(bǔ)償,利用式(1)計算出發(fā)射點(diǎn)距障礙物的距離,并通過語音模塊播報提示。
2.2 超聲波發(fā)射電路設(shè)計
由于NE555集成芯片搭建電路簡單、需用元件少、容易實(shí)現(xiàn),并且產(chǎn)生波形失真度小,故本系統(tǒng)采用NE555集成電路作為發(fā)射電路。根據(jù)上述,知發(fā)射端工作頻率為40kHZ,采用NE555芯片構(gòu)成時基電路及外圍元件構(gòu)成多諧振電路,通過調(diào)節(jié)電阻R3的值從而改變頻率。其工作電路如圖3所示。
圖3中555定時器構(gòu)成的多諧振蕩器,復(fù)位端4由單片機(jī)的P0.4口控制,當(dāng)單片機(jī)給低電平時,電路停振;當(dāng)單片機(jī)給高電平時電路起振接通電源后,電容C2來不及充電,6腳電壓Uc=0,則Uc=1,此時555芯片內(nèi)部的三極管VT處于截止?fàn)顟B(tài)。這時Vcc經(jīng)過R3和R2向C2充電,當(dāng)充至Uc=2/3 Vcc時,輸出翻轉(zhuǎn)U1=0,VT導(dǎo)通;這時電容C2經(jīng)R2和VT放電,當(dāng)降至Uc=1/3Vcc時,輸出翻轉(zhuǎn)U1=1。C2放電終止、又重新開始充電,周而復(fù)始,形成振蕩。其振蕩周期與充電時間tPH和放電時間tPL有關(guān),振蕩周期為:
由式(4)可知,555多諧振蕩器的振蕩頻率由R2、R3、C2來確定。在電路設(shè)計時,先確定C2、R2的取值,即C2=3300pf,R2=2.7 KΩ。再將C2和R2的值代入式(4)可知:
為增大U1的輸出功率,將555芯片的8腳接+12V的電壓,同時將其復(fù)位端4接高電平。通過調(diào)節(jié)電位器R3的阻值,使輸出波形的頻率為40k HZ。
2.3 接收端電路設(shè)計
鑒于回波信號的變化范圍較大,因此對放大電路的增益提出了兩個要求:一是放大增益要大,以適應(yīng)小信號的需要;二是放大增益能變化,以適應(yīng)信號變化范圍大的需要。
由于回波信號為40kHZ交流信號,頻率較高,當(dāng)回波信號放大時,放大器必須具有良好的交流特性,以提高信號的放大精度。鑒于該接收電路具有信號的轉(zhuǎn)化、放大、檢波、整流等特性。因此,我們設(shè)計了如圖4所示的回波接收電路。
信號流程:當(dāng)R40收到超聲波時,R40將超聲波信號變?yōu)殡妷盒盘?,此信號電壓加到BG2的基極,經(jīng)BG2放大后從集電極輸出,經(jīng)C7耦合到BG3基極,被BG3放大后從集電極輸出,被C8、D5、D6組成的倍壓檢波電路變?yōu)橹绷麟妷骸kp倍于交流信號電壓的直流信號電壓加到BG3的基極,BG3再放大后由P送往后繼電路。
當(dāng)R40沒有收到超聲波時,R40沒有交流輸出,BG2處于靜態(tài),BG3也處于靜態(tài)。C8、D5、D6組成的倍壓檢波電路沒有直流電壓輸出,BG4處于無偏置狀態(tài),處于截止?fàn)顟B(tài),無信號輸出。
BG4是以開關(guān)方式工作的,當(dāng)R40檢測到超聲波時,BG4飽和,C—E之間等于短路,當(dāng)R40沒有檢測到超聲波時,BG4截止,C—E之間等于開路。
2.4 溫度測量電路
常溫下,超聲波的傳播速度為340m/s,但傳播速度易受到空氣的溫度、濕度、壓強(qiáng)等因素的影響,其中溫度的影響最大,一般溫度每升高1℃,聲速增加約為0.61m/s。
本文采用DS18B20檢測現(xiàn)場溫度,用以實(shí)現(xiàn)實(shí)際波速的校準(zhǔn)。DS18B20是DallaS公司開發(fā)的12Wire(單總線)高精度數(shù)字式半導(dǎo)體溫度傳感器。其抗干擾能力強(qiáng)、轉(zhuǎn)換精度高,使用時無需標(biāo)定或調(diào)試,與微處理器的接口電路簡單,可方便地實(shí)現(xiàn)多點(diǎn)組網(wǎng)測溫,給硬件設(shè)計帶來了極大的方便。
DS18B20單總線通信功能是分時完成的,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。
操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈_)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。系統(tǒng)采用STC89S52作為控制核心,P1.7接數(shù)據(jù)總線,控制DS18B20進(jìn)行溫度轉(zhuǎn)換和傳輸數(shù)據(jù),同時數(shù)據(jù)總線上還要接4.7k左右的上拉電阻。
對DS18B20采用外部供電,從VDD引腳接入一個外部電源,優(yōu)點(diǎn)在于I/O線不需要上拉,而且總線控制器無需在溫度轉(zhuǎn)換期間一直保持高電平。這樣在轉(zhuǎn)換期間可以允許在單線總線上傳輸其他數(shù)據(jù),硬件電路如圖5所示。
2.5 語音電路設(shè)計
本系統(tǒng)語音模塊采用了SYN6658語音模塊。SYN6658通過UART接口或SPI接口通訊方式,接收待合成的文本數(shù)據(jù),實(shí)現(xiàn)文本到語音的轉(zhuǎn)換它具有小尺寸貼片封裝、硬件接口簡單、低功耗、音色清亮圓潤等優(yōu)點(diǎn)。除此之外,SYN6658在識別文本/數(shù)字/字符串中更智能、更準(zhǔn)確,語音合成自然度上升了一個大的臺階。本系統(tǒng)利用該芯片進(jìn)行語音播報從而實(shí)現(xiàn)導(dǎo)航的效果。
主控制器STC12C5A60S2和SYN6658語音合成芯片之間通過UART接口或SPI接口連接,控制器可通過通訊接口向SYN6658語音合成芯片發(fā)送控制命令和導(dǎo)航提示語句文本,SYN6658語音合成芯片把接收到的導(dǎo)航語句文本合成為語音信號輸出,輸出的信號經(jīng)功率放大器放大后由喇叭播放。
3 軟件設(shè)計
本系統(tǒng)的軟件主要完成超聲波的發(fā)射、接收、單片機(jī)的計時及溫度補(bǔ)償后的距離計算、語音播報等功能。它包括主程序、計時中斷子程序、語音播報子程序等。其流程如圖6所示。
4 結(jié)束語
本系統(tǒng)經(jīng)過多次試驗,測試所得結(jié)果與設(shè)計要求基本一致。系統(tǒng)成功且精確地測出距離并進(jìn)行了溫度補(bǔ)償計算,本超聲波測距的導(dǎo)盲設(shè)計有效距離可達(dá)到3.8m,測量精度為2.0cm,同時可以實(shí)時地通過語音模塊播報提示,具有很好的導(dǎo)航功能,能夠滿足盲人導(dǎo)航器的設(shè)計要求,為盲人安全、快速行走提供了保障。
評論