韋家正
摘要:該設(shè)計以單片機ATmega16為核心,采用脈沖回波檢測法,測量障礙物與超聲波探頭之間的距離;用LCD12864實時顯示當前距離和實時語音播報當前距離。經(jīng)實驗證明本測距儀測量距離可以從0.08m到10m,精度小于 ±1cm,總體性能比較好。
1 引言
近年來,由于電子技術(shù)及壓電陶瓷材料的發(fā)展,使超聲檢測技術(shù)得到了迅速的發(fā)展。在無損探傷,測溫,測距,流量測量,液體成分測量,巖體檢測等方面,新的超聲檢測儀表不斷出現(xiàn),超聲波廣泛地應(yīng)用在各種領(lǐng)域中。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求。主要用于智能玩具車自動避開障礙物前進,汽車倒車時提醒司機后方是否有障礙物等,本文介紹的就是其在倒車測距中的應(yīng)用。
2 總體方案的設(shè)計
2.1 方案論證
為研究和利用超聲波,人們已經(jīng)設(shè)計和制成了許多超聲波發(fā)生器??傮w上講,超聲波發(fā)生器可以分為兩大類:一、是用電氣方式產(chǎn)生超聲波;二、是用機械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同,目前較為常用的是壓電式超聲波發(fā)生器。所以在本設(shè)計中我們選擇壓電式超聲波發(fā)生器。其利用壓電晶體的諧振來工作的。它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。其內(nèi)部結(jié)構(gòu)圖如圖2.1所示:
2.2 系統(tǒng)分析與介紹
超聲波倒車雷達在生活中應(yīng)用廣泛,非常具有實際意義,本系統(tǒng)要求倒車雷達的測量距離是0.1m~10m,精度小于±1cm;能顯示距離且有語音播報距離功能;在不同距離用不用顏色的LED燈指示,提醒障礙物距離是處在危險距離、或是保持距離、或是安全距離;圖2.2是系統(tǒng)整體框圖:
本測距儀以ATmega16做為控制核心,用單片機定時器產(chǎn)生40KHz的方波信號,通過驅(qū)動電路把超聲波發(fā)射出去,當單片機接收到接收器送回的信號后,計算出障礙物的距離,用LCD12864顯示出距離,同時控制語音芯片APR9600播報距離。經(jīng)過實驗發(fā)現(xiàn)超聲波測距儀能測量較遠的距離時,就非常難測到0.1m短距離,為了能符合測距儀的要求,在系統(tǒng)中我們使用了兩套超聲波測距儀,一套做近距離測量,一套用于遠距離測量;默認方式為遠距離測量,當距離變小時就換用另一套來測量;語音芯片APR9600的并行錄音最多只能分8段,無法滿足要求,所以本系統(tǒng)也是采用兩套一樣的APR9600模塊,總共16段錄音,協(xié)同單片機完成聲音播報功能。
2.3超聲波測距儀原理
2.3.1測量原理
超聲波是指頻率高于20KHz的機械波。本設(shè)計中使用超聲波探頭來發(fā)射與接受,發(fā)射頻率是40KHz。超聲波發(fā)射器定期發(fā)出的超聲波,遇到障礙物時就反射,反射信號經(jīng)超聲波接收并轉(zhuǎn)化為電信號,讓單片機測出發(fā)射與接收到時間差T,若超聲波的傳播速度為 C,則與障礙物的距離為:
由于超聲波是一種聲波,其聲速與溫度有關(guān),C≈331.45十0.6* t,t為攝
氏溫度,所以在實際應(yīng)用中,要根據(jù)環(huán)境溫度的變化,對聲速進行補償,以減小誤差。
2.3.2超聲波測距盲區(qū)分析
由于超聲波測距儀的發(fā)射頭和接收頭之間一般安裝得都比較近,超聲波發(fā)射器發(fā)射信號后還有余震,如果處理不好此時接收器就會接收到的信號,從而測出不正確的數(shù)據(jù),所以在發(fā)射器發(fā)射超聲波后必須延時一小段時間,避免發(fā)射信號直接被接受器就收,而這一小段延時時間就引入一段無法測量的距離,即所謂的盲區(qū)。障礙物只有在盲區(qū)之外才能正確測量出距離。
3 系統(tǒng)硬件設(shè)計
3.1 主控MCU
本設(shè)計以ATmega16為控制核心,ATmega16是基于增強型低功耗8位 CMOS微控制器,它具有如下特點:具有16K字節(jié)的系統(tǒng)內(nèi)可編程Flash,512字節(jié)EEPROM,1K字節(jié)SRAM,32個通用I/O 口線,32個通用工作寄存器,8 路10位ADC,其相對傳統(tǒng)51單片機硬件資源豐富??偣灿?0個引腳,其各端口的詳細功能可以參考ATmega16芯片手冊。
3.2 LCD顯示
建立一個良好人機交換界面在近年來越來越重要,而LCD顯示模塊應(yīng)用最為普遍,如我們平時使用得比較多的1602,12864等,本測距儀要求能顯示中文字幕,故我們選擇顯示功能比較強大的點陣漢字圖形顯示模塊LCD12864。它可以顯示漢字和圖像,與單片機有并行和串行兩種連接接口,在本測距儀使用串行連接方式,只需連接RS、R/W、EN共三個控制引腳就可以完成顯示功能。
3.3 語音播報電路
APR9600語音錄放芯片是繼美國ISD公司以后采用模擬存儲技術(shù)的又一款音質(zhì)好、噪音低、不怕斷電、可反復錄放的新型語音電路,單片電路可錄放32-60秒,串行控制時可分256段以上,并行控制時最大可分8段,與ISD同類芯片相比它具有:價格便宜,有多種手動控制方式,分段管理方便、多段控制時電路簡單、采樣速度及錄放音時間可調(diào)、每個單鍵均有開始停止循環(huán)多種功能等特點。
在本設(shè)計我們選擇并行控制,分八段錄音模式,由于需要錄下“0-10”,“點”“米”總共13段錄音,所以一片APR9600沒辦法實現(xiàn),必須再加一片來完成13個聲音的錄音。為了節(jié)約單片機接口,我們采用74LS154譯碼器來完成對13段錄音的播放控制,只用了單片機的4個I/O口。APR9600直接推動喇叭的聲音比較小,為了需要較大的聲音可以加一級音頻功放,選用LM386集成功放對語音芯片輸出信號進行功率放大。
3.4 超聲波測距發(fā)射接收電路
3.4.1 超聲波發(fā)射驅(qū)動電路
測距儀使用了兩套超聲波發(fā)射模塊,一套小功率發(fā)射測量短距離,其發(fā)射部分驅(qū)動電路圖如圖3.4.1所示,一套大功率發(fā)射測量遠距離,其發(fā)射部分驅(qū)動電路圖如圖3.4.2所示。
遠近距離的測量發(fā)射模塊在原理上基本上是差不多的,都是由單片機產(chǎn)生40KHz到方波,然后控制三級管的導通截至,使超聲波能夠起振,把超聲波發(fā)射出去。三級管是電流控制器件,在放大區(qū)基級電流決定集電極和發(fā)射級的電流,在近距離測量發(fā)射模塊中基級限流電阻是1K而遠距離測量發(fā)射模塊是560歐姆,可見遠距離發(fā)射測量發(fā)射模塊的發(fā)射功率較大。故能測量的距離較遠。
3.4.2 超聲波接收電路
兩套超聲波的差別僅是在發(fā)射部分到發(fā)射功率上,接收部分所用的電路原理元件參數(shù)都是一樣的,原理圖如圖3.4.2所示。
圖中的CX20106A是一款紅外線檢波接收的專用芯片,其個引腳功能圖表3.4所示,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38KHz與超聲波頻率40KHz較為接近,可以利用它作為超聲波檢測電路。實驗證明其具有很高的靈敏度和較強的抗干擾能力。R2和C9是控制CX20106 內(nèi)部放大增益,R6控制帶通濾波器的中心頻率,適當改變C9的大小,可改變接受電路的靈敏度和抗干擾能力。
當超聲波接收到信號后,經(jīng)過CX20106放大、濾波、整形會在第7腳產(chǎn)生一個低電平,單片機用端口掃描法及時檢查出該下降信號,馬上停止定時器計數(shù),讀出計數(shù)值并轉(zhuǎn)換為時間T,用公式2-3-1計算出障礙物的距離,式中C≈331.45十0.6* t(t是環(huán)境溫度),然后在顯示器上顯示并播報數(shù)據(jù)。
3.3 溫度補償部分
超聲波之所以需要溫度補償是因為超聲波在空氣中傳播的速度受溫度的影響比較大,為提高測量精度溫度補償是必不可少的部分,這里我們使用比較常見且易于控制的集成數(shù)字溫度傳感器DS18B20來測量溫度。
4 軟件設(shè)計
程序的總體思路:用定時器0和定時器2的比較匹配方式產(chǎn)生40KHz的方波,發(fā)幾個周期驅(qū)動超聲波發(fā)射電路,把超聲波發(fā)射出去,此時打開定時器1從初值0開始計數(shù),超聲波接收電路一旦收到回波,立即停止計數(shù),讀出這個時候的計數(shù)值并換算出時間間隔,計算出障礙物的距離,如果在一定時間內(nèi)沒有掃描到低電平,就提示出錯。在系統(tǒng)中我們用了兩套超聲波,定時器2是給遠距離的測量發(fā)射電路提供40KHz的方波,定時器0是給近距離的測量發(fā)射電路提供40KHz的方波,在進入程序時默認使用遠距離測量超聲波收發(fā)模塊,如果發(fā)現(xiàn)測量距離低于某個值就立即更換使用近距離測量超聲波收發(fā)模塊,同樣如果近距離測量模塊測得的數(shù)據(jù)大于某個值,就立即更換為遠距離測量模塊,如此協(xié)調(diào)工作,保證系統(tǒng)穩(wěn)定,測量精確。
5 系統(tǒng)測試
連接好電路各部分,上電測試數(shù)據(jù)如下所示,測試條件1:室外、溫度34.6攝氏度,40cm×40cm木板做為反射板,數(shù)據(jù)如表5.1所示。
參考文獻:
[1]沈文,Eagle lee,詹衛(wèi)前.AVR單片機C語言開發(fā)入門指導.北京.清華大學出版社.2003
[2] 沈文.AVR單片機C語言開發(fā)入門指導[M].北京:清華大學出版社.2005