基于ATMEGA8的高精度超聲波測距儀設(shè)計
摘要 針對普通超聲波測距系統(tǒng)測量精度低的問題,介紹了一種由ATMEGA8單片機控制的實時超聲波測距系統(tǒng),電路主要采用專用時間測量芯片TDC—GP21,并考慮了溫度補償,有效地保證了系統(tǒng)則量精度和低功耗特性。
關(guān)鍵詞 TDC-GP21;超聲波測量;時間測量;ATMEGA8
由于超聲波指向性強,能量消耗緩慢,在介質(zhì)中的傳播距離較遠,因而超聲波經(jīng)常用于距離測量,如測距儀和物位測量儀等都可以用超聲波來實現(xiàn)。利用超聲波檢測較為迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求。因而超聲波測距,多應(yīng)用于汽車倒車雷達、機器人定位、建筑工地以及一些工業(yè)現(xiàn)場的位置監(jiān)控,如液位、井深的測量等場合。目前,石油石化行業(yè)對油庫和水箱液面的精確測量和控制的要求越來越高,基于以上需要,以ATMEGA8為控制核心,利用專用時間數(shù)字轉(zhuǎn)換芯片TDC—GP21為測量環(huán)節(jié),設(shè)計了一種高精度的小型化超聲波測距系統(tǒng),并介紹了系統(tǒng)的硬件和軟件設(shè)計方法。
1 超聲波測距基本原理
超聲波測量技術(shù)是基于蝙蝠等無目視能力的生物防御及捕捉獵物生存的原理,利用超聲波借助空氣媒質(zhì)傳播,通過遇到障礙物反射回來的時間間隔長短及被反射超聲波的強弱判斷障礙物性質(zhì)和位置的方法。本系統(tǒng)采用時間間隔檢測法,即測距時超聲波發(fā)射器有規(guī)律發(fā)射超聲波,遇到被檢測對象后反射回來,通過超聲波接收器接收到反射波信號,并將其轉(zhuǎn)變?yōu)殡娦盘?,測出從發(fā)射超聲波至接收到反射波的時間差
(時間間隔t)。t與超聲波傳播速度c相乘可求出被測距離s,即
由于超聲波的聲速和溫度有關(guān),如果溫度變化不大,認為聲速基本不變。如果測距精度要求高,那么可以通過溫度補償?shù)姆椒右孕U2煌瑴囟认鲁暡ㄔ诳諝庵械膫鞑ニ俣入S溫度變化關(guān)系
c=331.4+0.61T (2)
式中,T為實際溫度;c的單位為m/s。
2 超聲波測距系統(tǒng)設(shè)計
根據(jù)超聲波的工作原理,結(jié)合現(xiàn)場的使用需要,設(shè)計了一種低功耗、高精度、加密數(shù)據(jù)存儲、便攜式讀寫功能的超聲波測距系統(tǒng)。超聲波測距系統(tǒng)框圖如圖1所示。
2.1 超聲波測距系統(tǒng)硬件設(shè)計
結(jié)合應(yīng)用要求,根據(jù)超聲波測距原理,以ATMEG8單片機為核心,利用專用時間數(shù)字轉(zhuǎn)換芯片TDC—GP21為測量環(huán)節(jié),設(shè)計制作超聲波測距電路。
控制芯片選用ATMECA8。ATMEGA8是一款采用低功耗CMOS工藝生產(chǎn)的基于AVR R ISC結(jié)構(gòu)的8位單片機,自帶SPI接口,可以達到接近1 MIPS/M的性能,運行速度比普通CISC單片機高出10倍。
超聲波測量部分由TDC—GP21、超聲波探頭、發(fā)射控制電路、溫度傳感器、超聲波信號處理電路等組成。TDC—GP21是一種高精度時間數(shù)字轉(zhuǎn)換芯片,是精密計時系統(tǒng)的核心器件。TDC—GP21內(nèi)部主要由脈沖發(fā)生器、數(shù)據(jù)處理單元ALU、時間數(shù)字轉(zhuǎn)換器單元TDC、溫度測量單元、時鐘控制單元、配置寄存器以及與單片機相接的SPI接口組成。計時芯片配置電路如圖2所示。
溫度測量選用Dallas公司的DS18B20數(shù)字式溫度傳感器,它通過輸出9位二進制數(shù)字來直接表示所測量的溫度值,溫度值是通過DS18B20的數(shù)據(jù)總線直接輸入CPU,無需A/D轉(zhuǎn)換,而且讀寫指令和溫度轉(zhuǎn)換指令都是通過數(shù)據(jù)總線傳入DS18B20,無需外部電源。
在超聲波測距系統(tǒng)中,ATMEGA8單片機為核心控制器件,控制對超聲波的采樣、數(shù)據(jù)處理、存儲、顯示及通信等。ATMEGA8單片機通過自帶SPI接口對TDC—GP21芯片進行控制,完成對TDC-GP21芯片功能配置選擇。在配置完成后,TDC-CP21芯片能產(chǎn)生一組頻率為1 MHz的超聲波,1 MHz超聲波送到超聲波換能器驅(qū)動探頭。接收探頭收到的回波經(jīng)過開關(guān)電路,進入超聲波調(diào)理電路進行信號的處理,該測量回波返回到TDC-GP21芯片,TDC—GP21芯片判斷接收到回波后結(jié)束測量,同時通過中斷通知ATMEA8單片機,ATMECA8單片機讀取測時時間。ATMEGA8單片機讀取TDC-GP21芯片測時數(shù)據(jù)后,通過1-wire總線控制DS18B20測量當前溫度,引入溫度校正功能對單片機計算得到的距離進行修正,得到最終測量結(jié)果并通過LCM141液晶顯示,同時對最終結(jié)果保存,液晶顯示數(shù)據(jù)可通過鍵盤電路進行選擇。
2.2 超聲波測距系統(tǒng)軟件設(shè)計
整個超聲波測距系統(tǒng)工作模式的選擇、數(shù)據(jù)的傳輸,以及計算都是由單片機內(nèi)部程序完成的。
系統(tǒng)軟件設(shè)計的核心工作是對TDC-GP21芯片進行控制。軟件編程的操作主要有兩個步驟,分別是寫寄存器的配置和初始化,以確定TDC—GP21的工作模式和寄存器的讀取工作。首先對TDC-GP21進行寄存器配置,設(shè)置測量范圍和每個通道的采樣次數(shù),定義ALU的汁算方法;然后初始化TDC—GP21、選通START和STOP通道,TDC-GP21進入測量狀態(tài),等待START和STOP信號;接收指令后進行測量,測量完成后單片機讀取TDC —GP21測量數(shù)據(jù)。為了保證測量數(shù)據(jù)的準確性,每次進行測量前,都需要對TDC-GP21進行初始化。超聲波測距系統(tǒng)程序流程如圖3所示。
3 實驗結(jié)果分析
為保證測量結(jié)果的穩(wěn)定性,在測試時采用光滑硬質(zhì)表面作為反射面,測量結(jié)果如表1所示。
4 結(jié)束語
經(jīng)測試系統(tǒng)在實際實驗中測距準確。ATMEGA8單片機的低功耗、高運算速度和專用TDC—GP21高精度計時芯片相結(jié)合,使系統(tǒng)功耗和體積都有所降低,整個系統(tǒng)電路結(jié)構(gòu)簡單、精度高、軟件的升級和更新方便,滿足了現(xiàn)場高精度的測量要求。