劉燎原
(江蘇建筑職業(yè)技術(shù)學(xué)院 信電工程學(xué)院,江蘇 徐州 221116)
超聲波指向性強,能量消耗慢,經(jīng)常被用來測量距離。目前,市場上的超聲波測距儀功能單一,無法查詢和記錄前幾次測量結(jié)果,不具有記憶功能;沒有盲區(qū)設(shè)置功能,無法設(shè)置合理的盲區(qū)使超聲波測距儀測量準(zhǔn)確。
超聲波測距是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據(jù)發(fā)射和接收的時間差計算出發(fā)射點到障礙物的距離。實際使用超聲波測距儀時不光要測量當(dāng)前距離,在很多情況下還要保存前幾次的測量結(jié)果,用來和當(dāng)前結(jié)果形成對比,為測量者做出正確的判斷提供依據(jù)。本系統(tǒng)可以保存4次測量結(jié)果,并可以通過按鍵翻查前3次測量結(jié)果,并且在測量、參數(shù)設(shè)置和數(shù)據(jù)翻查時都有對應(yīng)的指示燈指示[1]。
盲區(qū)是由于換能器在發(fā)送了超聲波后會有余震導(dǎo)致不能識別回波而形成檢測盲區(qū),任何一款超聲波測距儀都存在超聲波測距盲區(qū)值選擇問題。如果測距盲區(qū)選擇不當(dāng),超聲波測距儀就不能正常使用。可以適當(dāng)增大發(fā)射探頭和接收探頭之間的距離,收發(fā)不互相影響,那要求地線隔離要很好,否則不能減小測量盲區(qū)[2]。本系統(tǒng)具有參數(shù)設(shè)置功能,可以通過按鍵來調(diào)整測量盲區(qū),并可以把設(shè)置的測量盲區(qū)數(shù)據(jù)保存起來,根據(jù)測量盲區(qū)來校準(zhǔn)輸出電壓,根據(jù)電壓大小反映盲區(qū)是否設(shè)置得當(dāng)。
本系統(tǒng)硬件模塊由單片機、獨立按鍵、數(shù)碼管顯示、超聲波傳感器、EEPROM存儲、DAC電壓輸出、LED指示燈構(gòu)成,如圖1所示。本系統(tǒng)首先利用單片機P1.0發(fā)出40 kHz的方波到發(fā)射超聲波探頭發(fā)射超聲波,根據(jù)接收探頭接收到反射波的時間換算出所測距離,在8位數(shù)碼管上顯示測量結(jié)果。系統(tǒng)有4個獨立按鍵,包括“測距”“查詢”“翻頁/步進”“盲區(qū)調(diào)整”按鍵,系統(tǒng)在測距、數(shù)據(jù)翻查、參數(shù)設(shè)置等功能時,分別有L1、L2、L3指示燈來指示工作,供用戶直接判別。EEPROM用來存儲4次的測量結(jié)果和設(shè)置的盲區(qū)距離,供用戶查詢。用戶可根據(jù)DAC電壓校準(zhǔn)輸出來判斷是否處于測量盲區(qū)[3]。
圖1 超聲波測距儀原理
本系統(tǒng)的超聲波發(fā)射電路如圖2所示,N-A1和單片機P1.0相連,超聲波接收電路如圖3所示,N-B1和單片機P1.1相連[4]。
圖2 超聲波傳感器發(fā)射電路
圖3 超聲波傳感器接收電路
本系統(tǒng)首先利用單片機P1.0產(chǎn)生40 kHz的方波信號,加到超聲波發(fā)射電路的N-A1引腳,通過反相器構(gòu)成的推挽電路來提高該方波信號的驅(qū)動能力和發(fā)射強度,最后通過超聲波發(fā)射探頭T發(fā)射出去,同時啟動單片機的T0來計時。
超聲波在空氣中傳播,當(dāng)這個超聲波信號遇到被測物體后就立即反射回來,超聲波接收探頭R接收到反射波后加到超聲波接收電路的超聲波接收專用芯片CX20106A上,該芯片對反射波進行放大、限幅、帶通濾波、峰值檢波、整形、比較等,最后該芯片的N-B1引腳輸出低電平加到單片機的P1.1引腳,并且立即停止T0計時,一次完整的測距過程結(jié)束。利用定時器T0換算出超聲波從發(fā)射到接收的時間t,聲波在空氣中的傳播速度為340 m/s,就可以計算出發(fā)射點距障礙物的距離s,即s=340 m/s×t/2。
本系統(tǒng)利用AT24C02芯片來存儲信息,它是一種通過IIC總線接口進行操作的EEPROM,內(nèi)部含有256個8位字節(jié)單元,有一個專門的寫保護功能。該芯片接口線少、占用的空間非常小、控制簡單、通信速率較高。本系統(tǒng)利用AT24C02來存儲4次的測量結(jié)果和設(shè)置的盲區(qū)距離,供用戶查詢,詳細(xì)的電路連接如圖4所示。
圖4 AT24C02的連接電路
本系統(tǒng)統(tǒng)有4個獨立按鍵,包括 “測距”“查詢”“翻頁/步進”“盲區(qū)調(diào)整”按鍵。本系統(tǒng)的程序流程如圖5所示。
圖5 主程序流程
本系統(tǒng)利用單片機綜合實訓(xùn)平臺來測試。系統(tǒng)一上電,8位數(shù)碼管顯示提示符“--------”,表示準(zhǔn)備就緒。若按下“測距”按鍵一次,啟動一次測距過程,8位數(shù)碼管同時顯示本次測量結(jié)果和上次測量結(jié)果,單位為厘米,供用戶參考。“C”表示當(dāng)前為測距狀態(tài),前3位“013”為本次測量結(jié)果,后3位 “009” 為上次測量結(jié)果。每次的測量結(jié)果都被存入AT24C02,但它只記錄保留最近4次測量結(jié)果,按下“查詢”按鍵,可以切換到4次測量數(shù)據(jù)的翻查功能,此時配合“翻頁/步進”按鍵,每按下“翻頁/步進”按鍵一次,顯示一次的測量數(shù)據(jù)。“4”表示查詢前第幾次測量,“009”為第四次測量結(jié)果。再次按下“查詢”按鍵,數(shù)碼管又切換到測距顯示界面。
“盲區(qū)調(diào)整”按鍵為盲區(qū)參數(shù)設(shè)置按鍵,按下該鍵,數(shù)碼管切換到當(dāng)前盲區(qū)數(shù)值的調(diào)整界面,此時每按下“翻頁/步進”一次,盲區(qū)數(shù)值步進10 cm,參數(shù)可在0~30 cm循環(huán)調(diào)整。“F”表示為盲區(qū)調(diào)整狀態(tài),“20”為當(dāng)前設(shè)置的盲區(qū)值。再次按下“盲區(qū)調(diào)整”按鍵,把設(shè)置的盲區(qū)數(shù)值保存到AT24C02中,數(shù)碼管又切換到測距顯示界面。
系統(tǒng)通過PCF8591實現(xiàn)DAC輸出功能,DA輸出的電壓值取決于超聲波測距的結(jié)果。當(dāng)所測距離小于測量盲區(qū)時,電壓輸出為0;當(dāng)所測距離大于測量盲區(qū),電壓輸出的值=(所測距離-測量盲區(qū))×0.02,用戶可根據(jù)DAC電壓校準(zhǔn)輸出來判斷是否處于測量盲區(qū)。為了正確區(qū)分指示本系統(tǒng)的各種功能,系統(tǒng)在測距、數(shù)據(jù)翻查、參數(shù)設(shè)置等功能時,分別有L1、L2、L3指示燈來指示工作,供用戶直接判別。
本系統(tǒng)功能全面,具有記憶功能,可以查詢和記錄最近4次測量結(jié)果,對測量者做出正確的判斷提供依據(jù),還具有盲區(qū)參數(shù)設(shè)置功能,利用盲區(qū)值來校準(zhǔn)DAC輸出電壓,用戶可根據(jù)DAC電壓校準(zhǔn)輸出來判斷是否處于測量盲區(qū)。本系統(tǒng)有很廣泛的使用場合,可以用于建筑工地的測距、泊車輔助系統(tǒng)、智能導(dǎo)盲系統(tǒng)、移動機器人的避障、液位高度的測量等應(yīng)用場合。