前言:尋找寫作靈感?中文期刊網用心挑選的論ZigBee的測距系統實驗設計,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:設計了一個基于zigbee的測距系統實驗項目。采用JN5168-001-M03模塊搭建硬件平臺,依托于ZigBee網絡實現節點間信號飛行時間TOF的測量,PC端上位機計算并顯示距離測量結果。從物聯網的感知層硬件到應用層軟件,鍛煉學生的物聯網系統設計與實現的能力,綜合提升學生的創新實踐能力。
關鍵詞:ZigBee;測距;物聯網;綜合實驗
隨著物聯網、無線傳感器網絡等技術的逐步發展,越來越多的工程實際問題都需要運用到相關知識。從近年來電子信息類學科競賽也可以看出,不僅是相關技術更頻繁地出現在賽題之中,而且物聯網類大賽也越來越受到師生的重視。因此,在新工科教育的背景下,十分必要在實驗教學過程中加強相關技術的實踐訓練,與時俱進地提高學生的工程實踐能力[1-3]。本文設計了一個基于ZigBee的測距系統實驗項目,該實驗項目涉及到ZigBee網絡節點的硬件制作、節點間基于ZigBee的測距通信交互設計、節點的嵌入式軟件實現、PC端上位機實現等知識技能,是一個綜合設計型的實驗項目,既能鍛煉學生的物聯網系統設計與實現能力,也能提升學生的創新實踐能力。
1系統架構
本實驗項目的系統框架如圖1所示。系統由基于ZigBee的無線傳感器網絡和PC端距離計算平臺組成。無線傳感器網絡節點分為基站、移動標簽和錨節點三種角色,三者的硬件電路相同,通過加載不同的程序實現不同的功能?;臼紫葎摻ㄒ粋€基于ZigBee的無線網絡,移動標簽和錨節點加入該網絡后會各被分配一個用于網絡內部通信的短地址。移動標簽主動向錨節點發起測距,并根據信號發送和接收時刻計算出信號在兩節點間的飛行時間(TOF,TimeofFlight),然后將TOF發送給基站,基站通過串口將TOF發送給距離計算平臺。距離計算平臺利用TOF測量值計算出節點間的距離,并實時刷新顯示測距結果。
2節點硬件設計
本設計選用JN5168-001-M03模塊進行節點的硬件電路設計,該模塊內部是超低功耗的高性能無線微控制器JN5168。JN5168自帶了用于TOF測距的飛行時間引擎,通過較為簡單的配置和調用,即可實現兩個節點之間的距離測量。節點的硬件結構框圖如圖2所示。為了方便節點的攜帶和部署,節點采用電池供電和USB供電兩種供電方式,不同角色的節點可自由選擇合適的供電方式。采用FT232RL芯片實現JN5168微控制器與PC端的串口通信以及程序下載。在FT_Prog軟件中修改FT232RL的EEPROM,將CBUS2和CBUS3引腳的功能變成I/OMODE,將JN5168的RESETN和SPIMISO引腳分別接到FT232RL的CBUS2和CBUS3引腳上,RESETN引腳同時連接一個復位電路,復位信號與MISO信號協作能夠使得JN5168能夠進入編程模式,然后PC端就可以通過FlashProgtammer對JN5168進行程序下載。此外,設計了LED和按鍵方便學生實驗交互。節點的電路實現采用轉接板和底板結合的模式。在轉接板上將JN5168-001-M03模塊可能被用于其他功能的引腳都引到底板上,為學生實驗的擴展設計提供了硬件基礎,同時轉接板的可插拔特性使得JN5168-001-M03模塊的課堂重復利用率更高,節約實驗耗材資源。學生需要在萬用板上實現底板電路,能夠鍛煉學生的電子制作和電路實現能力。
3軟件程序設計
3.1嵌入式程序設計
嵌入式端的程序設計按設備角色分為三部分[4]。如圖3(a)所示,基站負責創建ZigBee網絡和向PC端轉發距離測量結果。如圖3(b)和3(c)所示,標簽節點和錨節點加入網絡并獲得16位短地址之后,即可開始測距。圖3(b)和3(c)中給出的參考測距方案是標簽節點主動向錨節點發送測距請求,錨節點接收到測距請求后與標簽節點完成測距交互,標簽節點負責將其與錨節點之間的信號飛行時間測量值轉換成距離測量值,并將距離測量結果發送給基站。學生在實驗過程中可以參考圖3中的測距方案設計嵌入式端的程序,也可以從效率和穩定性的角度出發設計其他測距方案。其中具體的基于TOF的測距算法,學生可以選用雙程測距(TwoWayRanging,TWR)算法、對稱雙邊雙程測距(SymmetricDouble-SidedTwoWayRanging,SDS-TWR)算法、單邊非對稱雙程測距(Single-SidedAsymmetricTwoWayRanging,SSA-TWR)算法[5-6]或者創新性地提出某種優化算法,并且在本系統中實現并測試該優化算法的性能。
3.2距離計算平臺程序設計
PC端的距離計算平臺的主程序流程圖如圖4所示。距離計算平臺通過串口成功接收來自基站的數據幀后,根據協議解析數據幀,并存儲原始的TOF測量值,然后將TOF測量值轉換成距離測量值。學生在搭建起了基于ZigBee的測距系統的硬件平臺和軟件平臺之后,即可制定測試方案初步測試系統的測距性能,在實驗測試中得到大量的測距數據,通過對這些數據進行整理和分析,選用濾波、曲線擬合等算法[7-8]對原始距離測量結果進行處理,最終將能夠有效減小測距誤差的算法反過來運用到距離計算平臺中,使得最終實時刷新顯示在UI上的測距結果更加準確。
4系統方案測試
為測試本實驗系統方案的可行性,在實驗室外的長走廊上進行了測距實驗。采用定點測距的方式,將錨節點的位置固定,用市面上的標準卷尺標定出與錨節點相距5m、10m、15m、20m、25m、30m的位置點,依次在這些位置點放置標簽節點,每個距離點測試200次。將每個位置點的200次距離測量結果求平均值,統計在表1中,可以看出,本實驗設計方案能夠實現基于ZigBee的測距功能,且測距絕對誤差能夠小于3m。
5結論
本文設計了基于ZigBee的測距系統實驗項目。該實驗項目涵蓋了硬件制作、軟件編程、實驗測試、結果分析等任務要求,通過一整套較為完整的物聯網系統設計與實現流程提高學生的綜合實踐能力和解決實際復雜工程問題的能力,適用于物聯網、無線傳感器網絡、電子系統綜合設計等實驗課程。多樣的測距方案、測距算法和誤差修正算法,學生可以查找資料研究和探索各方案和算法的特點,靈活地選擇系統的設計方案,為培養學生的自主學習能力和創新實踐能力提供了很好的平臺。
作者:陳旻哲 鄔洪波 徐靜雅 謝雨婷 熊誠 單位:武漢大學電子信息學院 華為技術有限公司武漢研究所 武漢大學信息中心 華中師范大學信息化辦公室