文/霍海波
近幾年,我國科技水平在不斷進步,測距手段越來越先進且多樣,測距手段的危險性逐漸顯現(xiàn)出來,人們開始重視發(fā)展安全性更高的測距技術(shù),其中超聲波測距技術(shù)因為具有的防塵性、防霧性以及非接觸式等諸多優(yōu)點受到人們的青睞,目前超聲波測距技術(shù)已經(jīng)得到了廣泛的應(yīng)用。對于超聲波測距技術(shù)的研究受到了更多人的重視,而改良超聲波測距的技術(shù)同時有利于測距儀的發(fā)展。目前我們已經(jīng)研究出了一系列超聲波測距系統(tǒng),但是測距的范圍有著一定的限制,大多集中在三米至十二米之間。而美國生產(chǎn)的超聲波傳感器距離已經(jīng)達到了30米,相對應(yīng)的,傳感器的售價也會遠高于普通的,無法實現(xiàn)全面應(yīng)用。超聲波測距系統(tǒng)研究都需要參考數(shù)值誤差的精確度,差距一般局限于毫米內(nèi),利用相關(guān)算法可以實現(xiàn)精確度的進一步提高。相比較而言,視覺傳感器比激光測距儀在精度上有著更大的發(fā)展空間。
基于單片機的超聲波測距系統(tǒng)就是一種測距報警系統(tǒng),系統(tǒng)設(shè)計的核心在于STC89 C52型號的單片機,并在核心主鍵的基礎(chǔ)上開發(fā)系統(tǒng),使系統(tǒng)能夠具有智能測距功能與智能報警功能。智能測距與報警功能的實現(xiàn),使測距系統(tǒng)的智能化得到了推進,也更好的詮釋了單片機進入生活的角色,信息化時代下,電子產(chǎn)品大量應(yīng)用于生活、工作、學習各個方面中,有效的改善了人們的生活方式,最大程度上的提升人們的工作效率與生活效率。基于單片機的超聲波測距系統(tǒng)中報警器的優(yōu)點在于使用方法簡單、容易攜帶以及準確率高等等??梢哉f,隨著科技水平的不斷進步,在未來超聲波測距系統(tǒng)一定會得到更好的發(fā)展,可以在測距工作中得到普及的應(yīng)用,幫助人們解決測距工作中存在的問題?;趩纹瑱C的超聲波測距系統(tǒng)的設(shè)計包括兩個部分,分別是硬件設(shè)計和軟件設(shè)計。
超聲波測距系統(tǒng)的工作原理是超聲波發(fā)射器的超聲波發(fā)送,向某一個確定的方向發(fā)射的同時進行計時,超聲波在碰觸到障礙物之后會返回給超聲波接收器一個反射波,此時停止計時,將時間紀錄為t。根據(jù)速度距離公式,結(jié)合超聲波的傳播速度與時間t,可以推算出超聲波發(fā)射點與所測量障礙物之間的距離為S=340t/2。在進行距離障礙物的距離測量時,如果介質(zhì)傳播的溫度沒有出現(xiàn)較大的變化時,我們可以將超聲波的速度近似的認為在傳輸過程中未發(fā)生變化,只要測量出超聲波往返障礙物的時間,就可以得到距離障礙物的實際距離。可以得到兩個公式,分別為:H(距離)=Scosθ;θ=arctan(L(兩個探頭直間中心距離的一半)/H)。只要精確的測量出超聲波發(fā)送并返回信號的時間t,就能夠直接計算出超聲波信號發(fā)送源與障礙物之間的距離H。
超聲波測距系統(tǒng)由多個模塊構(gòu)成,分別包括單片機最小系統(tǒng)、超聲波測距模塊、智能報警電路模塊等硬件設(shè)計及軟件設(shè)計?;趩纹瑱C的超聲波測距系統(tǒng)核心控制模塊為STC89C52單片機,在進行距離的測量時,單片機的主芯片能夠控制報警器的報警結(jié)果,計算測距與固定值的比較結(jié)果。當超聲波測距系統(tǒng)測得的實際距離小于設(shè)定的固定距離時,報警器報警,反之則不報警,同時進行距離的二次檢測。具體的單片機測距系統(tǒng)總體設(shè)計方案如圖1所示。
圖1:系統(tǒng)總體設(shè)計
圖2:主程序工作流程
該超聲波測距系統(tǒng)實現(xiàn)測距目標的途徑是首先通過單片機進行方波信號的發(fā)出,將接收到的方波信號發(fā)送至超聲波電路中,通過功率的變化實現(xiàn)芯片的方法,最終達到放大信號的目的,之后將放大后的信號輸入進超聲波發(fā)射頭中。超聲波在向測量目標傳輸?shù)倪^程中一旦觸碰到障礙物后會立馬將信號反射回系統(tǒng)中,超聲波測距系統(tǒng)中接收返回信號的是超聲波接收頭,之后,超聲波接收頭會發(fā)出一個下拉電平信號給單片機,單片機中的接收芯片將會進行接收信號的放大與整形。之后單片機進入中斷狀態(tài),同時與外部的中斷請示進行相應(yīng),對外部發(fā)送回來的中斷子程序進行有效執(zhí)行,最后根據(jù)計時器反饋回來的時間進行測量距離的計算,最終將計算結(jié)果直接在顯示電路上顯示。
上文說過,單片機是整個測距系統(tǒng)中最為核心的控制單元,因此,想要設(shè)計出最為完美的單片機測距系統(tǒng)首先任務(wù)就是在復(fù)雜多樣的單片機中選擇合適的一款。大多數(shù)單片機具有相同的基本結(jié)構(gòu),但是根據(jù)單片機的不同,可以設(shè)計出多種多樣且不同功能的系統(tǒng),單片機中含有的存儲器可以實現(xiàn)系統(tǒng)運行數(shù)據(jù)的存儲以及基礎(chǔ)程序的存儲,而其中央處理器能夠?qū)崿F(xiàn)對程序語言的處理作用,按照書寫的程序完成相應(yīng)動作,實現(xiàn)相應(yīng)功能??偟膩碚f,單片機具有極其強大的功能,同時,單片機有效的將多個功能集合在一個小小的芯片上,不僅在最大程度上減小了單片機的體積,同時使單片機能夠具有更多的功能。
4.3.1 電路設(shè)計
電路設(shè)計是超聲波測距系統(tǒng)設(shè)計的基礎(chǔ)環(huán)節(jié),在進行電路設(shè)計時,主要會用到五種應(yīng)用于單片機外圍的電路器件,分別是超聲波傳感器、四位數(shù)碼管元件、STC89C52、蜂鳴器以及按鍵等等。整個電路設(shè)計中主要會用到三個按鍵,這三個按鍵的作用分別是設(shè)定、加、減。
4.3.2 單片機最小系統(tǒng)的設(shè)計
整個單片機最小系統(tǒng)主要分為四個組成部分,分別是上拉的晶振電路、po口、復(fù)位電路以及EA。其中,上拉的晶體震蕩器電路又包括兩個型號為30pF的電容器、一個為C2C3的電解電容、一個為12M晶體X1的電解電容。對于單片機最小系統(tǒng)而言,電容的主要作用是起振,幫助晶振過程更容易實現(xiàn),其實際的取值范圍在15pF至33pF之間。其中,晶振的值最高可以為24M,實踐表明,單片機中的晶體取值越高,單片機的執(zhí)行速度就會越快。系統(tǒng)中電容C1的極性設(shè)定為10uF,同時電阻R4的陰值設(shè)定為10K,這個電容與電阻就是構(gòu)成系統(tǒng)復(fù)位電路的主要元件。在系統(tǒng)中,電容和電壓都存在同一個使用性質(zhì),就是不能發(fā)生突變,當單片機最小系統(tǒng)真正通電之后,進行引腳的電平信號為高電平信號,其中RC的值能夠直接決定高電平信號在系統(tǒng)運行中持續(xù)的時間長短,如果在這個過程中,RC的值是合適的,復(fù)位電路的可靠性就可以得到保障。在單片機最小系統(tǒng)的電路圖中,設(shè)定的電阻陰值數(shù)值為10K,而電容器的容量大小設(shè)定為10uF。利用物理計算公式,可以輕松的計算出當電源電壓為5伏時,電容充入了0.7倍電源電壓的電時,信號傳輸所需要的時間為0.1S,計算公式為10K*10uF。也就是說,最小系統(tǒng)連接的計算機在啟動0.1秒的過程中,產(chǎn)生的電壓(電容兩端)一般在0伏至3.5伏之間升高,在這個前提下,成功接收到電壓的引腳范圍在5伏至1.5伏之間,此時電壓信號小于1.5伏,處于正常工作狀態(tài)下的控制器會保持在低電平信號上,同時如果電壓信號大于或等于1.5伏時,處于正常工作狀態(tài)下的控制器會保持在高電平信號上。正因如此,在進行最小系統(tǒng)啟動的0.1秒時間內(nèi),系統(tǒng)并不需要外力支持即可自動復(fù)位。在本基于單片機的測距系統(tǒng)的設(shè)計中,選擇的單片機的PO口輸出性質(zhì)為開路輸出,所以,一個PO口與取值為10K的排阻相連接,可以將PO口直接作為通用引腳來使用。在EA引腳上,如果連接到了一個信號較高的電平上時,復(fù)位成功后,控制器會從內(nèi)部的0000H正式開始執(zhí)行。相反,如果連接到了一個信號較低的電平上時,復(fù)位成功后,控制器會從外部的0000H正式開始執(zhí)行。系統(tǒng)運行的程序全部存儲在系統(tǒng)內(nèi)部的控制器中,因此引腳EA想要連接高電平就必須保證單片機的程序讀寫是從內(nèi)部開始執(zhí)行的。
4.3.3 超聲波測試模塊設(shè)計
基于單片機的超聲波測距系統(tǒng)的超聲波測試模塊選擇了HC-SR04模塊,其作用范圍在兩厘米與四百厘米之間,模塊可實現(xiàn)測量功能,測距精確度可以高達三毫米。超聲波測試模塊主要由三個部分組成,分別是超聲波發(fā)射器、控制電路以及接收器。進行超聲波測距模塊的設(shè)計實驗時依據(jù)的實驗原理是測距儀選用TIG,進而保證IO高電平信號可以不高于10 μs,保證高電平信號后模塊會主動將八個40k赫茲方波發(fā)送,同時檢測信號的返回情況,如果系統(tǒng)內(nèi)返回了某一個信號,就可以將信號直接從回波端口向高電平輸出。一般來說,超聲波測距系統(tǒng)的測量距離等于高電平信號輸出時間乘以聲速除以2。每一個系統(tǒng)的設(shè)計在實際運行之前都需要進行測試,該系統(tǒng)實驗的程序由兩個函數(shù)共同組成。實際距離測量過程中,需要設(shè)置定時器進行定時測量,經(jīng)公式計算得出結(jié)論:當信號的中斷次數(shù)達到兩千五百次時計時器現(xiàn)實的時間為125ms。超聲波測距系統(tǒng)在進行實際測量時,往往由于頻率的不同,定時器的初始值會存在一定的差異,這會對超聲波測距系統(tǒng)的測量結(jié)果產(chǎn)生一定的影響。
4.3.4 智能報警電路模塊設(shè)計
基于單片機的超聲波測距系統(tǒng)中的特點之一就是智能報警系統(tǒng),這個模塊主要由單片機輸出信號進行控制,使蜂鳴器實時報警。但是,單片機具有一個巨大的缺點,就是輸出信號較弱,想要使蜂鳴器實現(xiàn)正常的工作就必須增強單片機的驅(qū)動能力,這就需要用到三極管這個元件。在這個超聲波測距系統(tǒng)報警電路模塊的設(shè)計中,采用了三個元件,分別是一個三極管元件、一個報警器元件以及一個2k的電阻元件,將三個元件共同接入到引腳上,進而組成了智能聲音報警電路。
系統(tǒng)的軟件設(shè)計與硬件設(shè)計一同組成了系統(tǒng)詳細設(shè)計,在超聲波測距系統(tǒng)正式啟動之后,系統(tǒng)會進行自動的初始化環(huán)節(jié),之后比較設(shè)定值與實際的測量距離,如果測量距離大于設(shè)定值,則會將系統(tǒng)程序返回初始化狀態(tài),相反的,如果測量距離小于設(shè)定值,系統(tǒng)就會自動啟動聲音報警器,之后再次進行距離的比較,如果對比結(jié)果仍舊大于設(shè)定距離就可以自動結(jié)束報警器(圖2)。
一個系統(tǒng)想要在實際工作中得到有效的應(yīng)用,就必須要在正式投入使用之前不斷的進行程序的調(diào)試及系統(tǒng)的測試,盡可能的提高系統(tǒng)的測量精確度。在進行測試使用之后,可以利用傳統(tǒng)的測量距離的工具,例如刻度尺進行系統(tǒng)測量距離的核對,觀察系統(tǒng)是否符合實際,不斷調(diào)整系統(tǒng),不斷完善系統(tǒng)。本系統(tǒng)設(shè)計的要求主要針對測距的范圍及精度進行,系統(tǒng)分析與調(diào)試應(yīng)圍繞著兩個參數(shù)開展。相對偏差絕對值的計算公式為:(真實值-測量值)/真實值*100%。分析上圖的測量數(shù)據(jù),可以發(fā)現(xiàn),本系統(tǒng)在設(shè)計上是較為合理的,誤差控制在滿足設(shè)計小于十厘米的可控范圍內(nèi),因此,該基于單片機的測距系統(tǒng)設(shè)計方案可行。
綜上所述,基于單片機的超聲波測距系統(tǒng)的設(shè)計對測距工作的發(fā)展有著極其重要的作用,本文對系統(tǒng)的電路設(shè)計、硬件設(shè)計、軟件設(shè)計以及報警系統(tǒng)設(shè)計等多個模塊的設(shè)計思路進行了詳細的描述,該系統(tǒng)可以實現(xiàn)測距人員無接觸的測量需求,對近距離的障礙物進行距離的實時測量,不僅操作簡單,同時具有極強的可靠性。因此,該系統(tǒng)可以廣泛應(yīng)用于現(xiàn)實生活中,例如倒車雷達等等,同時為我國的無線測距發(fā)展帶來的新靈感。