摘 要:系統以單片機AT89S52為控制核心,采用語音芯片ISD2590構成語音電路,實現了測量結果語音化。超聲波傳播的速度隨溫度的變化而變化。為了準確計算出超聲波的實時傳播速度,系統采用DS18B20溫度傳感器測量環境溫度。為了提高遠距離測量的精度,系統設計了AGC電路。為了減小偶然因素對測量結果的影響,系統每次測距都連續測量10次,取平均值作為測量的結果。實踐證明:該測距儀具有較高的測量精度和很高的推廣價值。
關鍵詞:單片機;測距儀;超聲波;AGC;ISD2590
中圖分類號:TN912.3 文獻標識碼:B
文章編號:1004-373X(2008)11-127-03
Design of Voice Range Finder Based on Ultrasonic
XIAO Yangen
(Zhuzhou Professional Technology College,Zhuzhou,412001,China)
Abstract:Single chip microcomputer AT89S52 is control core in the system,and the voice circuit of the system is composed of voice chip ISD2590,which realizes that the measuring results are calculated in real-time.There is the propagation velocity of the ultrasonic varying with the environmental temperature.In order to accurately calculate the real-time propagation velocity of the ultrasonic,the system measures the environmental temperature by the DS18B20 temperature sensor.To increase the accuracy in measuring farther distance,automatic gain control circuits have been designed.To reduce the accidental factors influencing the measuring results,the average value of every ten measurements is taken as the accurate result.The practice result shows that the range finder has high measuring precision and very high generalizing value.
Keywords:single chip microcomputer;range finder;ultrasonic;AGC;ISD2590
1 引 言
超聲波測距主要應用于非接觸測量領域。超聲波測距往往比較迅速、方便,并且在測量精度方面也能達到工業實用的要求。超聲波測距的原理是:測取超聲波從發射地至目的地傳輸所經過的時間T,通過下式求出距離S:
S=CT/2
式中,C為超聲波傳播的速度。超聲波傳播的速度與環境溫度t有關,其關系可由下式來描述:
C=331.5+0.607t
從上式可知,超聲波傳播的速度隨溫度的升高而變快,要精確的測量某兩個物體之間的距離,需檢測當時的環境溫度。超聲波在空氣中傳播時,隨著傳播距離的增加,其幅度按指數形式衰減。當測量距離較遠時,接收到的回波脈沖很微弱,為了使測量的精度不下降,系統設計了AGC電路。語音采用“直接模擬存儲技術”分段記錄在ISD2590的E2PROM存儲器中。當系統計算出測量結果時,通過軟件查表的方式查出與測量值相對應的語音首地址,送入ISD2590的地址輸入端,ISD2590輸出的語音信號送入LM386功率放大,最后由揚聲器播報測量值。在測量時有許多不可避免的偶然因素,系統在軟件上設置每次測距都連續測量10次,取平均值作為測量的結果。
2 系統的結構框圖及工作原理
該系統的結構框圖如圖1所示。
圖1 系統的結構框圖
系統的工作原理:單片機AT89S52的P2.0口輸出40 kHz的方波信號,經功率放大后驅動超聲波發射器,發出同頻率的超聲波,發出第一個脈沖的同時計數器開始計數。當反射回的超聲波經接收電路形成中斷信號送入單片機的INT0口時,INT0產生中斷,計數器停止計數,從而可得到超聲波從發射到接收的時間間隔T。DS18B20采集環境溫度,最后由揚聲器播報測量值。
3 系統硬件的設計
3.1 發射電路
發射電路的主要作用是發射40 kHz的超聲波,電路如圖2所示。
圖2 超聲波發射電路
單片機采用定時器溢出中斷的方式產生40 kHz的對稱方波信號??紤]到測量 “盲區”的問題,每次測距發射8個方波。方波信號從P2.0口輸出經U1隔離電路后送入U2A,U2B組成的功率放大電路,方波信號經功率放大后驅動超聲波發射器,發出同頻率的超聲波。
3.2 接收電路
接收電路主要作用是形成中斷信號,電路如圖3所示。
3.2.1 前置放大、AGC電路
超聲波從發射到接收的時間間隔T的測量精度取決于對脈沖回波前沿的檢測精度。當測量距離較近時,回波脈沖的幅度大,對回波脈沖前沿的檢測誤差較?。划敵暜敎y量距離較遠時,回波脈沖的幅度很小,對回波脈沖前沿的檢測誤差較大。為此本系統設計了具有AGC功能的前置放大電路,使不同距離的回波脈沖到達比較器都有基本相同的幅度,解決了由于回波脈沖幅度過小而導致的檢測誤差加大的問題。AGC電路的基本工作原理是:當系統測量的距離超過2 m時,定時器T2產生溢出中斷,單片機P2.2為高,CD4066內部的開關閉合,電路的放大倍數變大;當測量的距離超過4 m時,定時器T2再次產生溢出中斷,單片機P2.2,P2.3都為高,此時電路的放大倍數變到最大。
3.2.2 帶通濾波放大、二倍壓檢波電路
前置放大器輸出的信號送入U5A組成的中心頻率為40 kHz的二階有源帶通濾波器,抑制其他的干擾信號。二階有源帶通濾波器輸出的信號送入U5B,U6A和U6B組成的差分放大電路,該電路有較高的差模增益和很高的共模抑制比,同時還有較小的漂移電壓。差分放大后的信號送入二倍壓檢波電路,采用二倍壓檢波可以提高檢波輸出電壓。
3.2.3 中斷信號形成電路
檢波后的信號送入U7電壓比較器,為了取得比較好的抗干擾效果,將P2.1口的電壓通過D3送入比較器的反相端,P2.1口的電壓在發射超聲波時為高電位,接收超聲波時為低電位,精心設計電壓比較器的同相端電壓,可有效地抑制發射探頭或其他地方產生的干擾信號。為了進一步提高系統的抗干擾能力,將比較器輸出的電壓和P2.1口的電壓送入D觸發器,從而可以確保單片機的INT0中斷不受干擾信號的影響。
3.3 語音電路
語音電路的主要作用是播報和錄取語音,電路如圖4所示。
本系統語音電路采用ISD2590專用語音芯片,ISD2590語音芯片采用了ISD公司的專利“直接模擬存儲技術”,把模擬數據成功存入半導體存儲器中。這種突破性的E2PROM存儲方法可以將模擬數據直接寫入單個存儲單元,而不需要A/D或D/A轉換。ISD2590有10個地址輸入端A0~A9,尋址能力可達1 024位,地址空間為0~1 023。其分配情況是:地址0~599作為分段用,地址600~767未使用,地址768~1023為工作模式選擇。ISD2590語音芯片將480 kB的E2PROM 分為600個信息段,每段800 B,每段信息作為一個整體單位進行尋址和控制。為了實現語音報數,需將語音元素 (“0~9”、“點”、“米”、“距離為”、“測量超出范圍”)錄入ISD2590語音芯片中。在沒有專業的ISD語音開發設備的情況下,可使用本文設計的按鍵式語音錄音電路,分段錄取語音。ISD2590的地址分辨率為0.15 s,利用地址分辨率可分配各個語音段的首地址。本系統將語音分成14段錄入ISD2590語音芯片中,各段具體的首地址如表1所示。
圖3 超聲波接收電路
圖4 語音電路
表1 首地址分配表
按鍵式語音錄音的過程如下:
(1) 節電控制PD 端置為低電位,使ISD2590正常工作。
(2) 錄放控制P/R端置為低電位,使ISD2590為錄音狀態。
(3) 查詢錄音控制鍵S3,若按下錄音控制鍵S3,段號為0的首地址送ISD2590的地址輸入端。
(4) 片選CE端置為低電位,ISD2590開始錄音。
(5) 查詢錄音控制鍵S3,若錄音控制鍵S3復位,片選CE端置高電位,ISD2590停止錄音。
(6) 查詢錄音控制鍵S3,若再次按下錄音控制鍵S3,段號為1的首地址送給ISD2590的地址輸入端。
同樣的方法可錄完所有的語音。編程時將每一段語音的首地址集合起來,編成地址表存放到AT89S52中。當系統計算出測量結果時,通過軟件查表的方式查出與測量值相對應的語音首地址,送入ISD2590的地址輸入端。系統采用查詢EOM電平的方法來實現語音放音,語音放音的過程如下:
(1) 節電控制PD 端置為低電平,使ISD2590正常工作。
(2) 錄放控制P/R端置高,使ISD2590為放音狀態。
(3) 第一個語音的首地址送ISD2590的地址輸入端。
(4) 片選CE端加一個的低脈沖,芯片就會從指定的起始地址播放語音,遇到內部的信息結束標志EOM,且EOM負脈沖結束時停止放音。
(5) 查詢到EOM脈沖的上升沿后,節電控制PD端置高。
(6) 延時TB后,節電控制PD端置為低電平,錄放控制P/R端置高,第二個語音的首地址送ISD2590的地址輸入端。
同樣的方法可播放完所有的語音。語音電信號從ISD2590的SP+、SP-輸出后送入LM386放大,最后由揚聲器播報測量值。
3.4 溫度測量電路
溫度測量電路的主要作用是測量實時的環境溫度,以便系統準確計算出超聲波在測量時的實際傳播速度,從而提高系統的測量精度。本系統的溫度測量采用美國DALLAS 公司的DS18B20數字式溫度計。DS18B20采用單總線接口,只有一根信號線與CPU 連接。溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1,2字節。單片機通過單總線接口可讀到該數據,通過計算可得到實時的環境溫度值。
4 系統的軟件設計
本系統的軟件流程圖如圖5所示。
圖5 系統的軟件流程圖
5 結 語
本超聲波語音測距儀有三個特點:
(1) 系統實現了測量結果語音化,擴大了超聲波測距儀的應用范圍。
(2) 系統設計了AGC電路,當被測的距離較遠時,系統的測量誤差仍然比較小。
(3) 系統在軟件上設置每次測距都連續測量10次,然后取平均值作為測量的結果,減小了偶然因素對測量結果的影響。
參 考 文 獻
[1]李彬,李慶坤.基于溫度補償的超聲波測距設計[J].測量與設備,2007(7):12-14.
[2]宋學坤,陳迎春,趙進創.一種具有雙重輸出功能的超聲波測距系統[J].微計算機信息,2007,23(6):167-169.
[3]譚進懷.超聲波語音測距儀 [J].電子測量技術,2007,30(6):181-183.
[4]卜英勇,王紀嬋,趙海鳴,等.基于單片機的高精度超聲波測距系統[J].儀表技術與傳感器,2007(3):66-68.
[5]吳小林,張東彥.具有語音功能的超聲波測距儀[J].電氣應用,2007,26(6):103-105.
[6]馮德虎.基于超聲波的高精度測距系統的研究[J].陜西科技大學學報:自然科學版,2007,25(4):110-114.
[7]肖志江,漢澤西.一種基于單片機的超聲測距系統的設計[J].現代電子技術,2006,29(19):97-98,101.
作者簡介 肖炎根 男,1973年出生,講師,株洲職業技術學院電子工程系,應用電子技術專業負責人。主要研究電子產品的設計。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。