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