1 單片機實現測距原理
單片機發出超聲波測距是通過不斷檢測超聲波發射後遇到障礙物所反射的回波,從(cong) 而測出發射和接收回波的時間差tr,然後求出距離S=Ct/2,式中的C為(wei) 超聲波波速。
限製該係統的最大可測距離存在4個(ge) 因素:超聲波的幅度、反射的質地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈衝(chong) 的直接接收能力將決(jue) 定最小的可測距離。為(wei) 了增加所測量的覆蓋範圍、減小測量誤差,可采用多個(ge) 超聲波換能器分別作為(wei) 多路超聲波發射/接收的設計方法。由於(yu) 超聲波屬於(yu) 聲波範圍,其波速C與(yu) 溫度有關(guan) ,表1。列出了幾種不同溫度下的波速。
在測距時由於(yu) 溫度變化,可通過溫度傳(chuan) 感器自動探測環境溫度、確定計算距離時的波速C,較精確地得出該環境下超聲波經過的路程,提高了測量精確度。波速確定後,隻要測得超聲波往返的時間r,即可求得距離5。其係統原理框圖如圖2所示。
單片機(AT89C51)發出短暫的40kHz信號,經放大後通過超聲波換能器輸出;反射後的超聲波經超聲波換能器作為(wei) 係統的輸入,鎖相環對此信號鎖定,產(chan) 生鎖定信號啟動單片機中斷程序,得出時間t,再由係統軟件對其進行計算、判別後,相應的計算結果被送至LED顯示電路進行顯示,若測得的距離超出設定範圍係統將提示聲音報警電路報警。
AT89C51通過外部引腳P2.0輸出脈衝(chong) 寬度為(wei) 25/us、載波為(wei) 40kHz的超聲波脈衝(chong) 串,加到射隨器的基級,經功率放大推動超聲波發射器發射出去。超聲波接收器將接收到的反射超聲波送到放大器進行放大,然後用鎖相環電路進行檢波。經處理後輸出低電平,送到AT89C51的引腳。
利用該原理設計的實例:汽車防撞雷達
2 係統硬件設計
汽車防撞雷達可以幫助駕駛員及時了解車周圍阻礙情況,防止汽車在轉彎、倒車等情況下撞傷(shang) 、劃傷(shang) 。其接收部分硬件電路如圖3所示,發射、預置\控製、顯示部分硬件電路如圖4所示。
sP3.2,提供給軟件進行處理。經過AT89C51對接收到的信息進行處理後,被測的距離茬LED上顯示,顯示的數據由串口線RXD和TXD輸出到74LSl64,轉化為(wei) 並行數據控製LED的顯示,采用動態顯示。兩(liang) 位LED可表示4.9~0.1 m的距離,滿足顯示精度;若該距離小於(yu) 預置的汽車低速安全刹車範圍(如:1 n)或0.5m),報警電路發出適當的警告提示音,由P2.1的輸出控製報警電路的工作。
3 係統軟件設計
汽車防撞雷達根據超聲測距原理用AT89C51單片機開發設計。整個(ge) 軟件采用模塊化設計,由主程序、預置子程序、發射子程序、接收子程序、顯示子程序等模塊組成。
軟件設計的主要思路是將預置、發射、接收、顯示、聲音報警等功能編成獨立的模塊,在主程序中采用鍵控循環的方式,當按下控製鍵後,在一定周期內(nei) ,依次執行各個(ge) 模塊,調用預置子程序、發射子程序、查詢接收子程序、定時子程序,並把測量的結果進行分析處理,根據處理結果決(jue) 定顯示程序的內(nei) 容以及是否調用聲音報警程序。當測得距離小於(yu) 預置距離時,聲音報警程序被調用。圖5所示為(wei) 程序的流程圖。
4 結 語
利用51係列單片機設計的測距儀(yi) 便於(yu) 操作、讀數直觀。經實際測試證明,該類測距儀(yi) 工作穩定,能滿足一般近距離測距的要求,且成本較低、有良好的性價(jia) 比。由於(yu) 該係統中鎖相環鎖定需要一定時間,測得的距離有誤差,在汽車雷達應用中此誤差為(wei) 3C111可忽略不計;但在精度要求較高的工業(ye) 領域如機器人自動測距等方麵,此誤差不能忽略,隻有通過改變--些硬件的應用實現對超聲波的快速鎖定,使誤差進一步減小到0.31llnl,可以滿足更高要求。