基于LABVIEW 8.0的RFID超聲波定位系統的開發
摘要:采用美國國家儀器(NationalInstruments,NI)LabVIEW8.0圖型控制式程序語言,搭配射頻和超聲波模塊儀器,使用TOA(timeofarrive)定位技術,可以組成RFID射頻信號識別(RadioFrequencyIdentification)-超聲波定位系統,并可針對不同產業的量測需求,提供客制化測試系統服務。
關鍵詞:LabVIEWRFID超聲波定位
0 引言
虛擬儀器是當前測控領域的技術熱點,它代表了未來儀器技術的發展方向。LabVIEW是虛擬儀器概念的首創者。它不僅僅是一種編程語言,從測量和自動化到實時嵌入式系統,再到通用場合。而且LabVIEW還具有對FPGA編程下載的能力,所以LabVIEW也是一個硬件設計工具 。
RFID定位與跟蹤系統主要是利用標簽對物體的唯一標識特性,依據讀寫器與安裝在物體上的標簽之間射頻通信的信號強度來測量物品的空間位置。RFID技術所具備的遠距離存取,高速辨識及資料讀出寫入等能力,相當受到各產業重視,應用領域包括物流,零售,制造業,軍事,服裝業,醫療,身份識別,防偽,交通等等。但是單純的RFID系統存在兩個問題:一個問題是利用射頻信號的強度定位,精度較低,而且針對研發該技術的方案,常受限于封閉式的硬件量測架構。另一個問題是使用GPIB界面的儀器,其數據傳輸也相當緩慢。無法對物體進行實時追蹤。
為了解決第一個問題,開發了RFID-超聲波定位系統。 即以報時方式構建射頻觸發-超聲波定位系統。這個系統容易實現且成本低;定位精度高,容錯性能好;標簽體積小,可以附著在任何需要定位的物體上;除了被定位物體策動定位請求外,還允許外部網絡策動定位請求和監控被定位物體。
在可以實現射頻觸發-超聲波定位的基礎上,導入NI的虛擬儀器控制架構,使得RFID-超聲波定位測試系統開發成為可能,并可進行物理層,協議層及系統仿真等多項功能,且由于NI虛擬儀器控架構具有高彈性及擴充性,它不但能和企業現有生產線流程緊密結合,也能針對客制化的需求,進行數據庫存取、Word或Excel報表產生、遠程監控,或者是和其它軟件進行搭配等系統整合作業。
1 硬件設計
RFID系統由三部分組成:標簽(Tag),由耦合元件及芯片組成,每個標簽具有唯一的電子編碼(ID號),附著在物體上標識目標對象;閱讀器(Reader),讀?。ㄓ袝r還可寫入)標簽信息的設備;天線(Antenna),在標簽和讀取器間傳遞信號 。
RFID-超聲波定位系統是在RFID的基礎上加上超聲波發射接受電路而得到的?;驹硎侵鳈C通過串行口向讀寫器寫命令,由讀頭向標簽發出射頻觸發信號,開啟有源標簽的超聲波接收電路,然后讀頭發出超聲波。等待接收返回波。利用音速較慢的特性,可以準確的量測出讀頭和標簽之間的距離。在已知其中3個讀頭的空間坐標和利用超聲波測得每個讀頭到標簽的距離,就可求出標簽的3D位置 。根據試驗,定位精度可以達到公分等級。系統外觀示意圖見圖1.1。
圖1.1 定位系統外觀示意圖
2 軟件設計
2.1 串口通信
LABVIEW提供了豐富的儀器控制功能,針對串行口通信提供了具有完整功能的組件,利用圖形化編程語言―G語言的直觀,快捷的優勢,通過功能模塊的組合和連接可以比較方便的開發出適合各種不同通信協議的串行口通信程序。VISA是用于儀器編程的標準I/O軟件規范的總稱。它是一個API(應用程序接口),通過調用底層的驅動程序來控制儀器,向串行口讀寫數據。實現上位機對硬件模塊的控制 。
(1)用VISA Configure Serial Port節點初始化串口
串口設置為:使用串行口COM1,波特率38400bit/s,數據格式為8位數據位,1位停止位,無奇偶校驗位。無握手信號。
(2)用VISA Write節點向標簽發送命令
RFID―超聲波定位系統有三個命令字符,第一個是使讀寫器搜尋有效范圍內的所有標簽,并返回讀到的ID號;第二個是使某個標簽的LED點亮或者熄滅;第三個命令是測量某一個讀頭到某一標簽的空間距離。
(3)用VISA Read節點從讀頭緩存區中讀取數據
當通過VISA Write節點向標簽發送返回ID號命令時,用VISA Read節點從讀頭緩存區中讀取數據是ID號字符串,因為會經歷幾個完整的搜尋過程,所以返回的ID號會發生重復,需要進行重號過濾。每個ID號的第一位代表標簽所在地的能量等級(按照距離讀頭的距離,劃分為4級)。
讀頭向標簽發射超聲波,系統15位計數器開始計時。直到接收返回的超聲波停止計時。從緩沖區讀取的數據就是計數器的計數值。根據計數值(可計算出超聲波傳播時間)和光速計算出標簽與讀頭之間的距離。從而知道超聲波在空中傳播的距離。 即讀頭到標簽的空間距離。
(4)結束程序,關閉VISA。
2.2 數據處理
(1)分離ID號字符串
根據返回字符串的格式,去除第一位空格位,第二位功率位,濾除重復ID號,得到有效范圍內所有ID號。
圖1.2 分離ID字符串程序框圖
(2)空間坐標系3點定位
超聲波定位的基本概念既是三點定位方式,利用空間已知三個點到待測物的距離,利用三角與幾何的關系即可求解出待測物在空間的坐標 。
當3個讀頭在不同位置時,這個3元2次方程的通解是不同的。為了實現讀頭位置的無限制擺放,利用數學方法。解出所有解的情況,利用LABVIEW中的公式節點和CASE 語句,實現了在讀頭任意擺放的情況下,對標簽進行定位。
2.3 從VC中調用LABVIEW語言開發的程序
LABVIEW作為虛擬儀器開發平臺,以其編程方便,功能強大,應用靈活在測控領域應用日漸廣泛,但是它畢竟是一門新興的工具軟件,還有許多不足。LABVIEW中的DLL節點在LABVIEW與其他語言之間架起資源互動的橋梁。
LabVIEW8.0可以建造動態庫(DLL),DLL文件完全可以在VC或VB中進行調用,因此可以通過一種間接的辦法實現LabVIEW程序和Web的結合:首先在LabVIEW中根據需要建造DLL,然后在VC或VB中調用該DLL生成ISAPI或CGI程序,甚至可以在VB中構造COM組件,在ASP中調用。
在LABVIEW編程環境下計算標簽坐標,會得到兩組解。但在實際情況中,標簽所在的位置只能有一個,根據現場具體情況需要舍掉一組值,為了RFID定位系統的客制化需要,在VC環境下調用已編譯好的LabVIEW程序,根據實際情況,編譯取舍條件,進行二次開發。
3 結束語
LabVIEW是高效圖形化應用開發環境,它結合了簡單易用的圖形化開發方式和靈活強大的編程語言。提供一個直覺性環境,并通過與測量硬件的密切結合,可以迅速開發出有關數據采集和控制,數據分析和數據顯示的應用系統。基于LABVIEW8.0的RFID-超聲波定位系統,可針對各式的研發量測或生產線量測需求,快速進行客制化的修改。這個系統可行性高,復雜性低,定位精度高。此系統已在INTEL生產廠房內開始使用,對大批儀器進行監控。
本文作者創新點:在對原有的RFID硬件進行修改,添加超聲波發生接收電路的基礎上,使用LABVIEW8.0進行軟件開發,在VC環境下進行二次開發。此系統最大的研發特點在于定位精度高,具備生產線整合能力,可以滿足不同行業的要求。
參考文獻:
[1] 楊樂平, 李海濤, 楊磊. LabVIEW程序設計與應用[M]. 北京:電子工業出版社,2005.
[2] 劉君華, 賈惠芹, 丁 暉等, 虛擬儀器圖形化編程語言LabVIEW教程[M]. 西安:西安電子科技大學出版社,2001.
[3] 林永仁, 何慶雄, 吳振勝, 精密室內定位技術建立與驗證. 香港:成功大學航太所.
[4] 王宏. PLC 及PC 與RFID 射頻識別讀寫器串行通訊的實現。《微計算機信息》 2003年第一期.
[5] McCarthy, M. and Muller, H. RF Free Ultrasonic Position. In proceedings of Seventh International Symposium on Wearable Computers. October 21-23, White Plains. New York IEEE Computer Society, 2003.
評論