一種基於ZigBee通信的超聲波測距系統及方法與流程
2023-11-04 23:20:48

本發明涉及相對運動的兩個不規則(難於產生回波)物體測距方法,尤其適用於無人機之間的測距技術領域。
背景技術:
由於超聲波能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用於距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現。利用超聲波檢測往往比較迅速、方便、計算簡單、易於做到實時控制,並且在測量精度方面能達到工業實用的要求。超聲波測距原理是在超聲波發射裝置發出超聲波,它的根據是接收器接到超聲波時的時間差,與雷達測距原理相似。
目前,自發自收式超聲波測距方法存在以下問題:被測物體外形不規則,或是物體表面為吸音材質時難以產生回波;被測物體周邊有其他障礙物,且其他障礙物對超聲波優先反射,會產生幹擾。雷射測距測距精度高,但由於接收器要能準確接收到反射雷射,因此對發射器和接收器的安裝位置及運行特徵要求極高;對射式超聲測距方法雖能解決被測物體外形不規則、放射效果不佳等問題,但由於測量前先進行紅外發送接收握手要求測量體和被測量體保持發送面和接收面相對穩定(不旋轉、僅做前後相對運動),使用範圍受限。
所以,對於物體外形不規則(難於產生回波)、相對位置變化(有相對旋轉)等複雜條件下兩物體間相對距離的測量定位,需要提出新的解決方案。
技術實現要素:
本發明所要解決的技術問題是:針對相對運動的不規則(難於產生回波)物體之間有效測距問題,提出一種基於ZigBee通信的超聲測距系統及方法。本發明基於ZigBee協議通信進行測距同步信號發送、接收和校驗;然後通過統計超聲波傳播時間統計及通過溫度對聲波速度的修正,最終可以計算出外形不規則、不易產生回波且相對軸向位置頻繁變化物體的實時距離。
本發明為解決上述技術問題採用以下技術方案:
本發明提出一種基於ZigBee通信的超聲測距系統,包括安裝於測量物體上的主機和安裝於被測物體上的從機;其中:
主機包括:第一MCU模塊、第一ZigBee模塊、溫度傳感器及超聲波接收探頭組;
從機包括:第二MCU模塊、第二ZigBee模塊及超聲波發送探頭組;
所述第二MCU模塊通過第二ZigBee模塊向第一ZigBee模塊發送測距同步信號,同時通過超聲波發送探頭組發送超聲波信號;
所述第一MCU模塊通過第一ZigBee模塊接收測距同步信號,同時通過超聲波接收探頭組檢查超聲波信號以獲得超聲波傳輸時間;然後通過溫度傳感器檢測當前環境溫度,根據溫度傳感器採集的溫度對聲波速度進行修正,最後計算出測量主機與被測從機之間的實際距離。
進一步的,本發明的超聲測距系統,建立ZigBee連接前,所述第一、第二MCU模塊的串口設置為串行口方式,選取相同的晶振頻率和波特率,多機通道設為雙機通信。
進一步的,本發明的超聲測距系統,第一MCU模塊和第二MCU模塊均採用STC89C52或AT89S51單片機。
進一步的,本發明的超聲測距系統,第一ZigBee模塊和第二ZigBee模塊均採用ZM5168。
進一步的,本發明的超聲測距系統,所述超聲波發送探頭組包含6個探頭,分別安裝於測量物體的前、後、左、右及上、下面;超聲波接收探頭組包含6個探頭,分別安裝於被測物體的前、後、左、右及上、下面。
本發明還提出一種基於超聲測距系統的超聲測距方法,包括以下步驟:
(1)、主機、從機通過ZigBee模塊建立無線透明傳輸通信聯絡;
(2)、從機發出測距同步信號並發出超聲波信號;具體為:
(2-1)、位於被測物的從機基於同步串行通信數據幀形式,通過第二ZigBee模塊以時間T為周期發出測距同步信號數據幀;
(2-2)、在發出測距同步信號數據幀後,採用超聲波發送探頭組立即發送超聲波信號;
(3)、主機接收、校驗、確認測距同步信號,並記錄從接收到同步信號數據幀到接收到超聲波信號所用時間,得到超聲波傳播時間;
(4)、根據超聲波傳播時間計算主、從機間的距離,具體包括以下步驟:
A、採用第一MCU模塊保存超聲波傳輸時間Tw,單位是秒,採用溫度傳感器採集主機的環境溫度Ts,單位是℃,並且發送至第一MCU模塊;
B、在第一MCU模塊中,採用公式V=331.5+0.607Ts對聲波速度V進行修正,速度單位是米/秒;
C、採用公式d=V×Tw計算主機與從機之間的實際距離,d代表修正後的實際距離, 單位是米。
進一步的,本發明的超聲測距方法,步驟(1)中,基於Zigbee協議 BasicRF實現主機、從機的無線透明傳輸。
進一步的,本發明的超聲測距方法,步驟(2-1)中通信協議格式為:2個始端握手字符+2個超聲波發出標示字符+2個校驗字符+2個末端握手字符;其中,2個始端握手字符用於和接收主機進行通信發送數據幀前同步,2個超聲波發出標示字符分別是字符01110101B和字符10101110B,第1個校驗字符為2個超聲波發出標示字符相與結果,第2個校驗字符為2個超聲波發出標示字符的異或結果。
進一步的,本發明的超聲測距方法,步驟(3)中主機接收、校驗、確認測距同步信號具體包括以下步驟:
(3-1)、主機檢測到2個始端握手字符後,開始接收測距同步信號數據楨中2個超聲波發出標示字符和2個校驗字符;對2個超聲波發出標示作相與和異或操作,並將結果與接收到的2個校驗字符分別進行比較:如果相與和異或的值與2個校驗字符不相等,說明未正常收到測距同步信號,主機等待接收下次測距同步信號;若相等,則確認收到測距同步信號,立即啟動定時器並準備接收超聲波信號。
(3-2)、一旦接收到超聲波信號,立即停止定時器定時並記錄定時值作為超聲波傳輸時間。
進一步的,本發明的超聲測距方法,其中周期T最小值的選取與測量最大距離Lmax有關,T的最小值取0.01Lmax。
本發明採用以上技術方案與現有技術相比,具有以下技術效果:
本發明的一種基於ZigBee通信的超聲測距方法,針對相對運動的不規則(難於產生回波)物體之間有效測距問題,提出一種基於ZigBee通信的超聲測距系統及方法。本發明能夠輕鬆的測出被測物體外形不規則,不易產生回波,且相對軸向位置頻繁變化物體的實時距離測量,具有非常重要的意義和實用價值。
附圖說明
圖1是本發明的流程圖。
圖2是本發明的原理示意圖。
具體實施方式
下面結合附圖對本發明的技術方案做進一步的詳細說明:
本技術領域技術人員可以理解的是,除非另外定義,這裡使用的所有術語(包括技術術語和科學術語)具有與本發明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語應該被理解為具有與現有技術的上下文中的意義一致的意義,並且除非像這裡一樣定義,不會用理想化或過於正式的含義來解釋。
首先,如圖2所示,本發明提出一種基於ZigBee通信的超聲測距系統,包括安裝於測量物體上的主機和安裝於被測物體上的從機。
其中安裝於測量物體上的主機包括:MCU模塊、ZigBee模塊,以及超聲波接收探頭組(含6個探頭分別安裝於測量物體的前、後、左、右及上、下面),MCU模塊可通過ZigBee模塊接收測距同步信號,通過超聲波接收探頭組檢查超聲波信號,通過溫度傳感器檢測當前環境溫度。
安裝於被測物體上的從機包括:MCU模塊、ZigBee模塊,以及超聲波發送探頭組(含6個探頭分別安裝於被測物體的前、後、左、右及上、下面),MCU模塊可通過ZigBee模塊發送測距同步信號,通過超聲波發送探頭組發送超聲波信號。
作為本發明的優選實施例,主機和從機的MCU模塊優先選用STC89C52或AT89S51單片機,ZigBee模塊優選ZM5168。建立ZigBee連接前,主、從兩臺機子MCU串口設置為串行口方式1,選取相同的晶振頻率和波特率,多機通道設為雙機通信。
參考圖1所示,本發明提出一種超聲測距方法,包括以下步驟:
(1)、主、從機通過專用ZigBee模塊,建立無線透明傳輸通信聯絡;
(2)、從機發出測距同步信號(保證可靠通信(協議驗證、校驗技術等))並發出超聲波信號;
(3)、主機接收、校驗、確認測距同步信號,並記錄從接收到ZigBee同步信號到接收到超聲波信號所用時間;
(4)、根據超聲波傳播時間計算主、從機間的距離。
作為本發明的一個具體實施例,在步驟(1)中,基於精簡的Zigbee協議BasicRF實現主、從機的無線透明傳輸,即不管傳的是什麼,採用的設備只是起一個通道作用,把要傳輸的內容完好的傳到對方。發送方和接收方數據的長度和內容完全一致,相當於一條無形的傳輸線。簡單的說就是透明傳輸就是不需要關心傳輸的過程,其優勢是用戶在其基礎上,創建自己需要的協議格式,用戶不用局限於第三方協議。而採用普通的傳輸就是你還需要控制傳輸的過程。
在步驟(2)中,具體包括以下步驟:
(2-1)、被測物主機基於同步串行通信數據幀形式以時間T為周期發出測距同步信號數據幀,通信協議格式為:2個始端握手字符+2個超聲波發出標示字符+2個校驗字符+2個末端握手字符;其中,2個始端握手字符用於和接收主機進行通信發送數據幀前同步,超聲波發出標示字符包括2個字符01110101 10101110,第1個校驗字符為2個超聲波發出標示字符相與結果,第2個校驗字符為2個超聲波發出標示字符的異或結果;
被測物從機發出測距同步信號數據幀的周期T最小值的選取與測量最大距離Lmax有關,T的最小值取0.01Lmax。
(3-2)、被測物體主機發出測距同步信號數據幀後立即發送超聲波信號。
在步驟(3)中,具體包括以下步驟:
(3-1)、測量主機檢測到2個始端握手字符後,開始接收測距同步信號數據楨中2個超聲波發出標示字符和2個校驗字符。對2個超聲波發出標示作相與和異或操作,並將結果與接收到的2個校驗字符分別進行比較,如果相與和異或的值與2個校驗字符不相等,說明未正常收到測距同步信號,主機等待接收下次測距同步信號,若相等,則確認收到測距同步信號,立即啟動定時器並準備接收超聲波信號。
(3-2)、一旦接收到超聲波信號,立即停止定時器定時並記錄定時值作為超聲波傳輸時間Tw。
在步驟(4)中,具體包括以下步驟:
(4-1)、測量主機中央處理器保存超聲波傳輸時間Tw;溫度傳感器採集環境溫度Ts並且發送至中央處理器;
(4-2)、在中央處理器中,首先採用下述公式對聲波速度進行修正,其中,Ts為溫度傳感器採集的溫度;
V=331.5+0.607Ts。
(4-3)、計算測量主機與被測從機之間的實際距離即修正後的實際d, 單位米,Tw為超聲波傳輸時間Tw;
d=V×Tw。
本發明提出一種基於ZigBee通信的超聲測距系統及方法,該方法在無線通信的基礎上,可以達到使用對射式超聲波探測器測量本身不能產生回波物體之間的實時距離。
以上所述僅是本發明的部分實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。