張 光
(陜西工業(yè)職業(yè)技術學院 物流管理學院, 陜西 咸陽 712000)
基于RFID標簽的分布式溫度測量系統(tǒng)設計
張 光
(陜西工業(yè)職業(yè)技術學院 物流管理學院, 陜西 咸陽 712000)
射頻識別(RFID)技術是一種低成本且高效的非接觸式自動識別技術,其具有的識別速度快,識別距離遠等優(yōu)點,使其具有非常廣泛的應用前景;設計一種基于RFID的分布式多點溫度測量系統(tǒng),系統(tǒng)由RFID電子標簽、讀寫器、主接收機和PC組成,實現(xiàn)各節(jié)點溫度的實時采集功能;為了提高各節(jié)點的溫度測量精度,提出了一種測溫補償算法,采用最小二乘擬合的方案,克服由于器件的不準確而引入的測量誤差;結果表明,該系統(tǒng)可以有效完成多點溫度測量采集的功能,同時具有非常高的精確性。
RFID;分布式;溫度測量
作為獲取信息的一個基本手段,數(shù)據(jù)自動化采集技術是信息科學的一個重要分支。利用計算機,通信技術,測控技術相結合以獲取到現(xiàn)場的各項物理參量,以提供給需求者作參考分析[1]。在溫室,糧倉以及實驗室等重要場所,溫度是一項非常關鍵的物理參量,其測量獲取顯得尤為重要。而對于溫度的測量,存在著測量范圍廣,測量距離遠,傳統(tǒng)布線方式復雜的難題[2]。為了解決廣闊空間內(nèi)各區(qū)域溫度的精確測量,就需要解決多點分布式測量的問題。因此,在本文中,我們主要研究基于RFID技術的分布式多點溫度測量系統(tǒng)。
本文的結構安排如下:在文章的第一章節(jié)介紹本文的研究意義目的以及研究成果,文章的第二章節(jié)我們介紹分布式溫度測量系統(tǒng)的設計方案,在第三章節(jié)給出系統(tǒng)的硬件設計,第四章節(jié)討論系統(tǒng)的軟件設計以及優(yōu)化方案,最后在第五章節(jié)我們給出研究結論與探討。
整個系統(tǒng)設計由4個部分組成:RFID電子標簽,讀寫器,主接收機以及PC機。4個模塊協(xié)同工作以實現(xiàn)廣闊區(qū)間內(nèi)各點溫度的自動化采集采集記錄,溫度數(shù)據(jù)的收集處理,處理后數(shù)據(jù)的無線傳輸以及數(shù)據(jù)顯示功能。
RFID標簽由溫度傳感器嵌入有源電子標簽組成[3-6]。通過溫度傳感器測量收集目標場所的溫度后,將測得數(shù)值存儲到有源電子標簽中。隨后MCU1通過控制讀寫器實現(xiàn)對特定目標地的RFID進行讀寫操作,并且將讀取的數(shù)據(jù)暫存到單片機的內(nèi)存中。緊接著將數(shù)據(jù)通過射頻發(fā)射器芯片進行無線傳輸,在主接收機收到發(fā)送數(shù)據(jù)后,MCU2控制通過串口RS-232傳輸?shù)絇C機中顯示并存儲。
為了實現(xiàn)大范圍環(huán)境的溫度測量,系統(tǒng)設計方案采用分布式結構,其網(wǎng)絡拓撲結構如圖2所示。

圖2 分布式網(wǎng)絡拓撲
分布式拓撲結構分散控制,每個節(jié)點之間互不影響,都收中心機的控制。可以實現(xiàn)極廣范圍內(nèi)的布局,且控制方式簡單,效率高,提供了性價比非常高的網(wǎng)絡布局方案。
根據(jù)系統(tǒng)設計方案,本系統(tǒng)的硬件部分主要包括溫度測量與數(shù)據(jù)無線傳輸兩個子模塊。分布式測量系統(tǒng)結構如圖3所示。

圖3 硬件系統(tǒng)結構框圖
系統(tǒng)控制芯片使用Atmega48單片機,該單片機采用先進的RISC結構,作為一款8位AVR處理器具有高性能低功耗的優(yōu)勢[7-11]。該單片機的絕大部分指令在單個時鐘周期內(nèi)執(zhí)行結束,高達1MIPS/MHZ的數(shù)據(jù)吞吐量可以非常簡便地實現(xiàn)點對多點模式的高速數(shù)據(jù)讀取,同時它還具有可編程的USART接口。系統(tǒng)使用DHT90作為溫度傳感器,其具有的超快響應速度,超強抗干擾能力以及極高的性價比可以有效提高系統(tǒng)的性能且降低系統(tǒng)的成本。
整個系統(tǒng)的硬件實現(xiàn)過程可以總結為:
1)將RFID測溫標簽貼在目標場所環(huán)境內(nèi);
2)Atmega48(MCU1)控制RFID讀寫器對目標測溫標簽進行讀寫操作;
3)射頻芯片將存儲的溫度數(shù)據(jù)發(fā)送給主接收器;
4)Atmega48(MCU2)單片機接收到數(shù)據(jù)后通過串口同PC主機進行出具傳輸;
5)PC機顯示并存儲數(shù)據(jù)。
系統(tǒng)中使用的單片機其程序由C語言編寫,開發(fā)環(huán)境是Keil uVision3,完成基于RFID技術的溫度測量,射頻芯片間的無線數(shù)據(jù)傳輸以及單片機和PC之間的通信。
測溫傳感器測得的溫度值只是對當前實際環(huán)境溫度的一個數(shù)字反映,其與實際環(huán)境的溫度值之間不能保證嚴格一致。如果是在大范圍的溫度區(qū)間內(nèi)的確是很難保證嚴格的線性關系,這個缺陷導致溫度補償起來比較難處理,但是另一個方面在小范圍區(qū)間內(nèi),兩者之間存在著近似的線性關系。因此,我們可以采用將整個溫度區(qū)間分成各個小的區(qū)間進行分段線性擬合,即將測溫傳感器的測溫范圍分成幾個階段,在每個階段內(nèi)測出此時真實環(huán)境下的環(huán)境溫度,再通過線性擬合補償計算出此時測溫傳感器應該實際顯示的溫度。
假設擬合多項式為式(1):
y=a0+a1x+...+akxk
(1)
擬合過程中各點到這條曲線的距離之和,即偏方差之和如式(2):

(2)
為了求得最好的擬合值,對等式(2)右邊求ai導數(shù),由此我們得到:


將等式的左右兩邊進一步化簡并且表示成矩陣的形式,可以得到下面的矩陣表示:
進一步將次范德蒙德矩陣化簡之后得到:
也就是說X*A=Y,那么得到系數(shù)矩陣A=(X′*X)-X′*Y,由此可以得到擬合的實際曲線。
如圖中,在30~38的溫度區(qū)間內(nèi)利用所選取的3個測量溫度與實際測得的環(huán)境溫度值作為擬合的初始信息,通過這些點便可以擬合出如圖所示的直線,并且得到直線的表達式。
T真實=kT測+b
(3)
根據(jù)實際的精度需求,我們將溫度區(qū)間分成不同的精度等級,這樣采用不同的區(qū)間精度擬合出的線性關系也會更加逼近真實值,最終補償后的溫度也更加精確。
RFID標簽攜帶著溫度傳感器DHT90測得的溫度數(shù)據(jù)以及自身ID等信息,在定時的時間內(nèi)不間斷地向讀寫器發(fā)送信息傳輸請求,一直到讀寫器確認其請求并返回應答指令后,RFID標簽接收應答指令并將自身存儲的溫度數(shù)據(jù)等傳輸給讀寫器,隨后判別讀寫器是否正確接收了數(shù)據(jù)(即反饋信息和校驗碼相符)。讀寫器與RFID標簽之間的通信過程如圖4所示。

圖4 讀寫器與RFID標簽間通信流程
在圖4所示的通信過程中,重點需要解決兩個應用中的問題:讀寫器與RFID標簽的通信,不同標簽之間信號的沖突。如果在同一時間段內(nèi),多個標簽同時處于讀寫器所讀寫的目標范圍內(nèi),標簽之間傳輸?shù)男盘杽t會沖突與干擾,這就會導致讀寫器不能正確地讀寫信息。為了解決過多標簽同時相應造成的沖突,將RFID標簽進行分組,有效限制每次響應讀寫器的標簽數(shù)量,使得每次響應的標簽數(shù)與時分多路算法的幀長時間相匹配,獲得較高的標簽識別率。該系統(tǒng)采用時分多路的方法解決標簽信號沖突,該方法將每一路信號在時域上分隔開來,利用不同的時域間隙傳輸各路不同信號。
無線數(shù)據(jù)傳輸使用的是Atmega48的nRF905芯片,在其正常工作之前單片機需要根據(jù)具體需求對它進行設置[12-18],配置過程為:進行數(shù)據(jù)發(fā)送操作時,Atmega48單片機首先將nRF905芯片配置為待機模式(PWR_UP引腳置為高位,TRX_CE引腳置為低位),隨后通過SPI總線將發(fā)送地址與待發(fā)送的數(shù)據(jù)都寫入到相應的寄存器中,緊接著將nRF905配置為發(fā)送模式(PWR_UP,TRX_CE以及TX_EN全部置為高位),配置完成后,數(shù)據(jù)將會通過天線進行自動發(fā)送。為了系統(tǒng)能夠更可靠地傳輸數(shù)據(jù),把射頻配置寄存器中的自動重發(fā)位設為有效,數(shù)據(jù)包就會一直不斷地自動外發(fā),直到TRX_CE被單片機置為低位,退出發(fā)送模式才結束。如果進行數(shù)據(jù)接收,單片機將nRF905芯片的TRX_CE引腳置為高電平,而TX_EN置為低電平,隨后開始進行數(shù)據(jù)接受操作。
在所設計的系統(tǒng)中,nRF905芯片外接一個頻率為11.095 MHz的晶體,且XOF配置為011.這樣單片機就會在30 s內(nèi)一直判斷nRF905的DR引腳是否變成高位,如果是處于高位狀態(tài),則表明接收到了有效數(shù)據(jù),能夠退出接收模式了。如果一直沒有接收到數(shù)據(jù),一旦系統(tǒng)時間結束同樣退出接收模式。退出后處于待機模式中,單片機通過SPI總線將nRF905芯片內(nèi)存儲于數(shù)據(jù)寄存器中的有效數(shù)據(jù)讀取出來。
設計的系統(tǒng)結合nRF905的特點,定義了一個簡單的物理層通信協(xié)議以滿足通信要求。采用時分模式將點與多點通信轉(zhuǎn)變?yōu)辄c對點通信,為了能夠識別不同的物理地址需要給每一個RFID標簽設定唯一的物理地址。系統(tǒng)中進行傳輸?shù)臄?shù)據(jù)包格式如圖5所示。

圖5 通信協(xié)議數(shù)據(jù)包格式
一般情形下,數(shù)據(jù)字頭以及CRC校驗碼是芯片內(nèi)部自動添加的,在接收主機檢測到字頭部分時,確認這是相關數(shù)據(jù),然后把數(shù)據(jù)接收下來,對比所接收信號中的目標地址與本機地址,相同的話將通知MCU來接收數(shù)據(jù)。在發(fā)送時,只需要寫入目的地址以及待發(fā)數(shù)據(jù)即可,系統(tǒng)會自動添加字頭和CRC校驗碼。在圖5中的數(shù)據(jù)部分,我們一次傳輸10字節(jié)的數(shù)據(jù),在傳輸過程中,我們規(guī)定了我們自己的數(shù)據(jù)包的格式,其中包含了對主從機的控制、數(shù)據(jù)傳輸以及各種狀態(tài)等。如圖5的表格所示,其中規(guī)定了3字節(jié)字頭(不同于系統(tǒng)的字頭),主從機器標志字,命令字,數(shù)據(jù),以及最后的機器編碼(用于識別不同機器的設備號)和該數(shù)據(jù)的狀態(tài)情況。在程序中,所有發(fā)送或者接收的數(shù)據(jù)都符合這個數(shù)據(jù)包的格式。在系統(tǒng)接收到一條信息之后,會對這些數(shù)據(jù)進行分析,執(zhí)行相關的指令,或者進行相關的操作。
單片機與普通的PC機并不能進行直接的通信,如果其兩端需要進行通信,首先需要在通信的兩端設置好串口的各項屬性,這就包括數(shù)據(jù)傳輸采用的波特率、數(shù)據(jù)的傳輸格式、奇偶校驗規(guī)則等。系統(tǒng)中采用異步通信的通信模式,串口的波特率設置為9 600/s,停止位為1位,PC機只有在接收到ACK信號的情況下,發(fā)送下一個數(shù)據(jù),如果沒有接收到則重新發(fā)送,其中每一個步驟都需要進行CRC校驗和狀態(tài)寄存器發(fā)送指令。
系統(tǒng)測試實驗中,使用5個RFID電子測溫標簽,一個閱讀器,兩個單片機,兩個射頻發(fā)射芯片。這五個RFID測溫標簽中有2個放在室外的背陰處與陽光下(1號在背陰處,2號在陽光下),剩余三個放在室內(nèi)的不同房間內(nèi)(3號在開了空調(diào)25攝氏度的房間內(nèi),4號和5號放在普通房間內(nèi))。為了驗證該系統(tǒng)設計方案的功能以及精確度,實驗驗證分為兩個部分,一個是測試其可行性,一個是測試其準確性。
通過PC機上的控制軟件,控制單片機(MCU1)選取特定的目標RFID標簽讀取相關數(shù)據(jù),然后將這些數(shù)據(jù)進行相應的補償運算,運算后得到最紅顯示結果,顯示給查詢者。
由圖6中的對比我們發(fā)現(xiàn),該設計方案中的多個溫度傳感器測得溫度與實際測得溫度誤差不大,可以有效地實現(xiàn)溫度測量的目的。由于是采用分布式設計,系統(tǒng)中的每一個溫度測量節(jié)點可以分別測量出自己所在區(qū)域的實際溫度,達到分布式測量的目的。
隨后我們測試驗證該系統(tǒng)對于溫度變化的反饋,測溫節(jié)點對于溫度的實時測量是系統(tǒng)效率的重要指標。選取測溫節(jié)點1和測溫節(jié)點2觀測他們在高低溫連續(xù)跳變環(huán)境內(nèi)對于溫度的感知能力,一分鐘內(nèi)查詢等間隔查詢每個節(jié)點10次。如圖7為兩個節(jié)點的溫度變化曲線。
由圖7可以看出,兩個測溫節(jié)點的測量溫度隨著周圍環(huán)境溫度的不斷變化其測得溫度也同實際相符不停動態(tài)顯示,這表

圖6 系統(tǒng)測得溫度對比

圖7 溫度變化曲線
明系統(tǒng)可以實時感知環(huán)境溫度的變化并進行準確測量。
該方案較之傳統(tǒng)方案采用了分布式的布局,實現(xiàn)了大范圍多點數(shù)據(jù)的測量與采集,提高了系統(tǒng)的應用范圍與效率。但是該方案依然存在著諸多不足有待改進,其對于溫度變化時的測量精度有待改進,同時系統(tǒng)的測量算法有待進一步改進以提高整個系統(tǒng)的工作效率。
本文介紹了分布式溫度測量的目的與意義,設計了基于RFID的分布式多點溫度測量系統(tǒng)。RFID標簽應用方便,射頻和單片機成本低,將溫度傳感器集成在RFID標簽中使用中極大地提升了便捷性。實際使用中只需要在需要測量溫度的目標場所貼上一個測溫標簽就可以實現(xiàn)目標區(qū)域的溫度測量。方案設計中為了解決溫度測量范圍廣,測量點多的問題我們采用分布式的設計方案,進一步為了克服測量過程中存在的誤差問題,設計采用最小二乘法首先對實際溫度曲線進行擬合的方式,該方法可以有效進行溫度補償,提高了溫度測量的精確度。射頻設備之間通信方便,使用靈活,迎合了現(xiàn)代管理設備的需要,提供了一種高效的溫度檢測方法。
[1] 韋佳宏. 基于RFID的分布式溫度測試系統(tǒng)研究[D]. 大連交通大學, 2008.
[2] 彭安娜, 袁 愿, 馮金垣. 基于RFID和LABVIEW的分布式溫濕度監(jiān)控系統(tǒng)的設計[J]. 電子設計工程, 2016, 24(6):145-148.
[3] 韓 博, 周越文, 郭學玲,等. 基于光纖溫度傳感器的分布式溫度測量系統(tǒng)設計[J]. 測控技術, 2016, 35(9):20-24.
[4] 朱華貴. 分布式多路遠程溫度檢測系統(tǒng)的設計與實現(xiàn)[J]. 樂山師范學院學報, 2004, 19(12):25-27.
[5] 劉永亮, 趙 磊, 甄 鵬,等. 分布式多點溫度測量系統(tǒng)的設計與實現(xiàn)[J]. 微計算機信息, 2008, 24(25):145-147.
[6] 曹海平. 基于單片機和DS18B20的分布式多點溫度檢測系統(tǒng)的設計[J]. 自動化技術與應用, 2008, 27(11):90-92.
[7] 黃利君, 王選民. 分布式多點遠程溫度檢測系統(tǒng)設計[J]. 儀表技術, 2009(7):10-12.
[8] 孟慶斌, 潘 勇, MengQingbin,等. 基于CC2430的分布式無線溫度測量系統(tǒng)設計[J]. 電子測量技術, 2009, 32(5):128-130.
[9] 彭安娜, 袁 愿, 馮金垣. 基于RFID和LABVIEW的分布式溫濕度監(jiān)控系統(tǒng)的設計[J]. 電子設計工程, 2016, 24(6):145-148.
[10] 張志偉. 由單片機和DS1825組成的分布式多點溫度檢測系統(tǒng)[J]. 太原師范學院學報(自然科學版), 2005, 4(4):59-61.
[11] 王 歡. 基于STC89C52RC和DS18B20的遠距離多點分布式溫度檢測系統(tǒng)設計[J]. 數(shù)字通信世界, 2015(11).
[12] 張自軍. 基于計算機的分布式溫度測量系統(tǒng)[J]. 計量與測試技術, 2005, 32(7):44-45.
[13] 常志勇, 李濟順, 韓紅彪. 基于單總線協(xié)議的多點測溫技術及應用[J]. 河南科技大學學報自然科學版, 2009, 30(2):35-37.
[14] 司 禹, 馮 鵬, 于雙銘,等. 基于RFID溫度標簽的嵌入式溫度監(jiān)測系統(tǒng)[J]. 電子技術應用, 2016, 42(7):57-59.
[15] 謝小芳, 黃 俊, 譚成宇. 基于RFID的電力溫度監(jiān)控系統(tǒng)的軟件分析與設計[J]. 電子技術應用, 2013, 39(1):23-26.
[16] 江昌旭, 王 磊, 李桂香,等. 基于RFID的無線多目標溫濕度監(jiān)控系統(tǒng)[J]. 儀表技術與傳感器, 2013(5):45-47.
[17] 張立霞, 張家安, 王高山,等. 基于RFID的印制板制造密閉環(huán)境溫度監(jiān)控系統(tǒng)設計[J]. 現(xiàn)代電子技術, 2015, 440(9):106-109.
[18] 袁 江, 曹金偉, 邱自學. 基于RFID讀寫器網(wǎng)絡的糧庫溫濕度分布式監(jiān)測[J]. 農(nóng)業(yè)工程學報, 2011, 27(10):131-136.
Design and Implementation of Distributed Multipoint Temperature Measurement System Based on RFID
Zhang Guang
(Shaanxi Polytechnic Institute,Department of Logistics Management, Xianyang 712000,China)
radio frequency identification (RFID) technology is a low-cost and efficient non-contact automatic identification technology, which has the advantages of high recognition speed and recognition distance. A distributed multi-point temperature measurement system based on RFID is designed. The system is composed of temperature acquisition module, wireless transceiver module and host computer module. In order to improve the accuracy of temperature measurement of each node, a temperature compensation algorithm is proposed, and the least square fitting method is adopted to overcome the measurement error caused by the inaccuracy of the device. The results show that the system can effectively accomplish the function of multi point temperature measurement and has high accuracy.
RFID;distributed;temperature measurement
2017-04-24;
2017-05-11。
咸陽地區(qū)科學基金項目(2016k02-69)。
張 光(1984-),男,陜西人,碩士,講師,主要從事電子商務、網(wǎng)絡安全、數(shù)據(jù)庫等方向的研究。
1671-4598(2017)08-0036-03
10.16526/j.cnki.11-4762/tp.2017.08.010
TP274
A