文/霍海波
近幾年,我國科技水平在不斷進步,測距手段越來越先進且多樣,測距手段的危險性逐漸顯現出來,人們開始重視發展安全性更高的測距技術,其中超聲波測距技術因為具有的防塵性、防霧性以及非接觸式等諸多優點受到人們的青睞,目前超聲波測距技術已經得到了廣泛的應用。對于超聲波測距技術的研究受到了更多人的重視,而改良超聲波測距的技術同時有利于測距儀的發展。目前我們已經研究出了一系列超聲波測距系統,但是測距的范圍有著一定的限制,大多集中在三米至十二米之間。而美國生產的超聲波傳感器距離已經達到了30米,相對應的,傳感器的售價也會遠高于普通的,無法實現全面應用。超聲波測距系統研究都需要參考數值誤差的精確度,差距一般局限于毫米內,利用相關算法可以實現精確度的進一步提高。相比較而言,視覺傳感器比激光測距儀在精度上有著更大的發展空間。
基于單片機的超聲波測距系統就是一種測距報警系統,系統設計的核心在于STC89 C52型號的單片機,并在核心主鍵的基礎上開發系統,使系統能夠具有智能測距功能與智能報警功能。智能測距與報警功能的實現,使測距系統的智能化得到了推進,也更好的詮釋了單片機進入生活的角色,信息化時代下,電子產品大量應用于生活、工作、學習各個方面中,有效的改善了人們的生活方式,最大程度上的提升人們的工作效率與生活效率。基于單片機的超聲波測距系統中報警器的優點在于使用方法簡單、容易攜帶以及準確率高等等??梢哉f,隨著科技水平的不斷進步,在未來超聲波測距系統一定會得到更好的發展,可以在測距工作中得到普及的應用,幫助人們解決測距工作中存在的問題?;趩纹瑱C的超聲波測距系統的設計包括兩個部分,分別是硬件設計和軟件設計。
超聲波測距系統的工作原理是超聲波發射器的超聲波發送,向某一個確定的方向發射的同時進行計時,超聲波在碰觸到障礙物之后會返回給超聲波接收器一個反射波,此時停止計時,將時間紀錄為t。根據速度距離公式,結合超聲波的傳播速度與時間t,可以推算出超聲波發射點與所測量障礙物之間的距離為S=340t/2。在進行距離障礙物的距離測量時,如果介質傳播的溫度沒有出現較大的變化時,我們可以將超聲波的速度近似的認為在傳輸過程中未發生變化,只要測量出超聲波往返障礙物的時間,就可以得到距離障礙物的實際距離。可以得到兩個公式,分別為:H(距離)=Scosθ;θ=arctan(L(兩個探頭直間中心距離的一半)/H)。只要精確的測量出超聲波發送并返回信號的時間t,就能夠直接計算出超聲波信號發送源與障礙物之間的距離H。
超聲波測距系統由多個模塊構成,分別包括單片機最小系統、超聲波測距模塊、智能報警電路模塊等硬件設計及軟件設計?;趩纹瑱C的超聲波測距系統核心控制模塊為STC89C52單片機,在進行距離的測量時,單片機的主芯片能夠控制報警器的報警結果,計算測距與固定值的比較結果。當超聲波測距系統測得的實際距離小于設定的固定距離時,報警器報警,反之則不報警,同時進行距離的二次檢測。具體的單片機測距系統總體設計方案如圖1所示。

圖1:系統總體設計

圖2:主程序工作流程
該超聲波測距系統實現測距目標的途徑是首先通過單片機進行方波信號的發出,將接收到的方波信號發送至超聲波電路中,通過功率的變化實現芯片的方法,最終達到放大信號的目的,之后將放大后的信號輸入進超聲波發射頭中。超聲波在向測量目標傳輸的過程中一旦觸碰到障礙物后會立馬將信號反射回系統中,超聲波測距系統中接收返回信號的是超聲波接收頭,之后,超聲波接收頭會發出一個下拉電平信號給單片機,單片機中的接收芯片將會進行接收信號的放大與整形。之后單片機進入中斷狀態,同時與外部的中斷請示進行相應,對外部發送回來的中斷子程序進行有效執行,最后根據計時器反饋回來的時間進行測量距離的計算,最終將計算結果直接在顯示電路上顯示。
上文說過,單片機是整個測距系統中最為核心的控制單元,因此,想要設計出最為完美的單片機測距系統首先任務就是在復雜多樣的單片機中選擇合適的一款。大多數單片機具有相同的基本結構,但是根據單片機的不同,可以設計出多種多樣且不同功能的系統,單片機中含有的存儲器可以實現系統運行數據的存儲以及基礎程序的存儲,而其中央處理器能夠實現對程序語言的處理作用,按照書寫的程序完成相應動作,實現相應功能。總的來說,單片機具有極其強大的功能,同時,單片機有效的將多個功能集合在一個小小的芯片上,不僅在最大程度上減小了單片機的體積,同時使單片機能夠具有更多的功能。
4.3.1 電路設計
電路設計是超聲波測距系統設計的基礎環節,在進行電路設計時,主要會用到五種應用于單片機外圍的電路器件,分別是超聲波傳感器、四位數碼管元件、STC89C52、蜂鳴器以及按鍵等等。整個電路設計中主要會用到三個按鍵,這三個按鍵的作用分別是設定、加、減。
4.3.2 單片機最小系統的設計
整個單片機最小系統主要分為四個組成部分,分別是上拉的晶振電路、po口、復位電路以及EA。其中,上拉的晶體震蕩器電路又包括兩個型號為30pF的電容器、一個為C2C3的電解電容、一個為12M晶體X1的電解電容。對于單片機最小系統而言,電容的主要作用是起振,幫助晶振過程更容易實現,其實際的取值范圍在15pF至33pF之間。其中,晶振的值最高可以為24M,實踐表明,單片機中的晶體取值越高,單片機的執行速度就會越快。系統中電容C1的極性設定為10uF,同時電阻R4的陰值設定為10K,這個電容與電阻就是構成系統復位電路的主要元件。在系統中,電容和電壓都存在同一個使用性質,就是不能發生突變,當單片機最小系統真正通電之后,進行引腳的電平信號為高電平信號,其中RC的值能夠直接決定高電平信號在系統運行中持續的時間長短,如果在這個過程中,RC的值是合適的,復位電路的可靠性就可以得到保障。在單片機最小系統的電路圖中,設定的電阻陰值數值為10K,而電容器的容量大小設定為10uF。利用物理計算公式,可以輕松的計算出當電源電壓為5伏時,電容充入了0.7倍電源電壓的電時,信號傳輸所需要的時間為0.1S,計算公式為10K*10uF。也就是說,最小系統連接的計算機在啟動0.1秒的過程中,產生的電壓(電容兩端)一般在0伏至3.5伏之間升高,在這個前提下,成功接收到電壓的引腳范圍在5伏至1.5伏之間,此時電壓信號小于1.5伏,處于正常工作狀態下的控制器會保持在低電平信號上,同時如果電壓信號大于或等于1.5伏時,處于正常工作狀態下的控制器會保持在高電平信號上。正因如此,在進行最小系統啟動的0.1秒時間內,系統并不需要外力支持即可自動復位。在本基于單片機的測距系統的設計中,選擇的單片機的PO口輸出性質為開路輸出,所以,一個PO口與取值為10K的排阻相連接,可以將PO口直接作為通用引腳來使用。在EA引腳上,如果連接到了一個信號較高的電平上時,復位成功后,控制器會從內部的0000H正式開始執行。相反,如果連接到了一個信號較低的電平上時,復位成功后,控制器會從外部的0000H正式開始執行。系統運行的程序全部存儲在系統內部的控制器中,因此引腳EA想要連接高電平就必須保證單片機的程序讀寫是從內部開始執行的。
4.3.3 超聲波測試模塊設計
基于單片機的超聲波測距系統的超聲波測試模塊選擇了HC-SR04模塊,其作用范圍在兩厘米與四百厘米之間,模塊可實現測量功能,測距精確度可以高達三毫米。超聲波測試模塊主要由三個部分組成,分別是超聲波發射器、控制電路以及接收器。進行超聲波測距模塊的設計實驗時依據的實驗原理是測距儀選用TIG,進而保證IO高電平信號可以不高于10 μs,保證高電平信號后模塊會主動將八個40k赫茲方波發送,同時檢測信號的返回情況,如果系統內返回了某一個信號,就可以將信號直接從回波端口向高電平輸出。一般來說,超聲波測距系統的測量距離等于高電平信號輸出時間乘以聲速除以2。每一個系統的設計在實際運行之前都需要進行測試,該系統實驗的程序由兩個函數共同組成。實際距離測量過程中,需要設置定時器進行定時測量,經公式計算得出結論:當信號的中斷次數達到兩千五百次時計時器現實的時間為125ms。超聲波測距系統在進行實際測量時,往往由于頻率的不同,定時器的初始值會存在一定的差異,這會對超聲波測距系統的測量結果產生一定的影響。
4.3.4 智能報警電路模塊設計
基于單片機的超聲波測距系統中的特點之一就是智能報警系統,這個模塊主要由單片機輸出信號進行控制,使蜂鳴器實時報警。但是,單片機具有一個巨大的缺點,就是輸出信號較弱,想要使蜂鳴器實現正常的工作就必須增強單片機的驅動能力,這就需要用到三極管這個元件。在這個超聲波測距系統報警電路模塊的設計中,采用了三個元件,分別是一個三極管元件、一個報警器元件以及一個2k的電阻元件,將三個元件共同接入到引腳上,進而組成了智能聲音報警電路。
系統的軟件設計與硬件設計一同組成了系統詳細設計,在超聲波測距系統正式啟動之后,系統會進行自動的初始化環節,之后比較設定值與實際的測量距離,如果測量距離大于設定值,則會將系統程序返回初始化狀態,相反的,如果測量距離小于設定值,系統就會自動啟動聲音報警器,之后再次進行距離的比較,如果對比結果仍舊大于設定距離就可以自動結束報警器(圖2)。
一個系統想要在實際工作中得到有效的應用,就必須要在正式投入使用之前不斷的進行程序的調試及系統的測試,盡可能的提高系統的測量精確度。在進行測試使用之后,可以利用傳統的測量距離的工具,例如刻度尺進行系統測量距離的核對,觀察系統是否符合實際,不斷調整系統,不斷完善系統。本系統設計的要求主要針對測距的范圍及精度進行,系統分析與調試應圍繞著兩個參數開展。相對偏差絕對值的計算公式為:(真實值-測量值)/真實值*100%。分析上圖的測量數據,可以發現,本系統在設計上是較為合理的,誤差控制在滿足設計小于十厘米的可控范圍內,因此,該基于單片機的測距系統設計方案可行。
綜上所述,基于單片機的超聲波測距系統的設計對測距工作的發展有著極其重要的作用,本文對系統的電路設計、硬件設計、軟件設計以及報警系統設計等多個模塊的設計思路進行了詳細的描述,該系統可以實現測距人員無接觸的測量需求,對近距離的障礙物進行距離的實時測量,不僅操作簡單,同時具有極強的可靠性。因此,該系統可以廣泛應用于現實生活中,例如倒車雷達等等,同時為我國的無線測距發展帶來的新靈感。