羅 彪, 李 彬, 張岱峰, 梅 亮
(1.北京航空航天大學 自動化科學與電氣工程學院,北京 100192;2.航天科工防御技術研究試驗中心,北京 100854)
?
設計與制造
基于Android系統的無線多點測溫系統設計
羅彪1, 李彬1, 張岱峰1, 梅亮2
(1.北京航空航天大學 自動化科學與電氣工程學院,北京 100192;2.航天科工防御技術研究試驗中心,北京 100854)
摘要:多點式測溫系統由上位機和下位機兩大部分組成。下位機以ATmega16單片機為核心,Pt100為模擬溫度傳感器進行溫度的采樣測量,通過WiFi模塊的AP模式跟上位機進行數據的接收與發(fā)送,可實現多點溫度實時采集。上位機以Android系統為平臺,建立Socket實現安卓客戶端對溫度數據進行實時監(jiān)控、顯示以及報警功能。該系統可應用于在工業(yè)與民用的不同溫度要求下的多點檢測場合。
關鍵詞:ATmega16單片機; Pt100; WiFi模塊; Android系統
0引言
溫度不僅僅是人們日常生活中必須了解的檢測參數之一,在各種工業(yè)生產、貨物存儲以及交通運輸過程中,它也是一個重要的檢測量。隨著現代化技術快速發(fā)展和生產車間條件的特殊要求,所需要監(jiān)測的溫度往往是在一個較大的范圍內進行變化,而普通的數字式溫度傳感器只能測量小范圍變動的溫度數據,溫度的測量范圍為-40~+85 ℃[1]。同時,由于溫度監(jiān)測點條件比較惡劣,給查看數據的工作人員造成很大的不便。
為了能夠對較大范圍內變化的溫度進行檢測,同時能夠給工作人員提供一個安全、舒適、方便并且實時查看溫度數據的平臺,需要一個便攜式的且支持無線通信功能的設備[2]。因此,本文提出了一個基于Android平臺的無線模擬式溫度檢測方案。
1系統設計方案
在多點測溫系統中,考慮在溫度量程較大的情況下,也能保證數據的準確精度,采用三線制Pt100熱敏電阻器測量溫度信號。同時,由XTR105與之組合設計一個變送器電路,將監(jiān)測的溫度信號轉換成4~20 mA的電流信號。用RCV420設計一個電流接收電路,將4~20 mA電流信號轉換成標準的0~5 V的電壓信號輸入單片機中進行A/D轉換[3]。由于ATmega16單片機有10位A/D,最后精度可以達到0.1 %,在0~500 ℃時,最大線性偏差小于0.5 ℃,達到精度要求。溫度的監(jiān)控選用Android移動平臺,ATmega16處理好的數據通過串口轉WiFi模塊進行發(fā)送,用戶直接在Android移動設備上進行查看。系統設計方案框圖如圖1所示。

圖1 系統設計方案框圖Fig 1 Block diagram of system design scheme
2Pt100熱敏電阻器測溫原理
熱敏電阻器是根據電阻的熱效應阻值隨溫度的變化而變化,因此,可以根據其阻值測量溫度。由于Pt100測溫范圍在-200~850 ℃之間,并且具有較好線性度,測量精確,Pt100應用較為廣泛,其熱電阻公式為RT=R0(1+αT)。其中,α=0.003 92,R0為Pt100在0 ℃的電阻值,T為攝氏溫度[3]。
在實際中,Pt100熱敏電阻器和現場儀表之間連線會較長,接線的導線電阻將引入測量誤差,因此,在工業(yè)中常采用三線制消除導線引入的誤差。三線制測量原理圖如圖2所示。

圖2 三線制測量原理圖Fig 2 Principle diagram of three-wire measurement
測量時導線電阻為rL1,rL2,rL3,三條導線采用同規(guī)格同長度,因此,RT為Pt100的阻值,測量端U1點、U2點的測量電路采用高阻抗輸入電路。為測量RT的阻值,在U1端加入恒定電流I,則電壓U1為
U1=I(rL1+rL3+RT)=I(RT+2rL).
(1)
由于U2端測量端為高阻抗輸入端,因此在導線上沒有電流流過,所以
U2=IrL3=IrL.
(2)
由式(1)減去2倍的式(2)得
U1-2U2=I(RT+2rL)-2IrL=IRT=Uab.
(3)
因此,有

(4)
式(4)中已經消除了導線電阻對測量的影響,可以看出測量僅需要提供一個恒定電流I,并測出U1-2U2即可。
3下位機硬件設計
下位機的功能主要包括:多點溫度測試及其相關處理,與上位機通信接收、發(fā)送指令,與上位機通信發(fā)送溫度數據。硬件設計主要包括電源電路、檢測與變送電路、信號轉換電路、無線通信電路。下位機硬件結構圖如圖3所示。

圖3 下位機硬件結構圖Fig 3 Structure diagram of lower PC hardware
3.1電源電路
單片機工作電源為+5 V,采用LM2576降壓型開關穩(wěn)壓器,具有很小的電壓調整率和電流調整率,同時具有3A的負載驅動能力,可以很好的滿足要求[4]。為了獲得一個更加精準的A/D轉換基準電壓,用LM4040設計了一個高精度的外部基準源,避免了A/D轉換過程中內部基準源的不穩(wěn)定性和其它電源的干擾。在AVCC與AGND的處理上,采用了與單片機VCC并聯單點接地式[5],有效地防治工頻和其他雜散電流在信號線上產生干擾。
RCV420需要 12 V電壓進行供電,采用WD6—24D12,穩(wěn)定性可以達到要求。
3.2檢測與變送器電路
系統采用Pt100熱電阻構成的模擬溫度傳感器,測溫范圍為-200~850 ℃。但是該熱電阻阻值的溫度特性存在著一定的非線性,而XTR105集成芯片提供兩路800 μA的精密電流源來激勵外接的鉑電阻器,內置的線性化電路對熱電阻溫度特性的非線性進行矯正,可達到40∶1的改善[6]。同時,芯片通過電流環(huán)路供電,具有極寬的電源范圍,輸出為電流信號,可進行遠距離傳輸,電流信號不需要進行補償,XTR105輸出電流IO為
IO=VIN×(0.016+40/RG)+4 mA.
(5)
式中VIN由式(6)得

(6)
式中IR=0.8 mA,RTD為Pt100的阻值,RZ為熱敏電阻器在最低測量時的溫度的阻值。式(5)中RG為XTR的一個配置電阻,有

(7)
式中VFS=10 mV。
3.3信號轉換電路
經過XTR105輸出的為電流信號,在進入單片機A/D轉換之前,需要用RCV420將其轉換為電壓信號。RCV420是一種功能上完全獨立的器件,不需要調整增益、偏置等參數。它采用±12 V雙電源供電,當輸入為4~20 mA時,輸出0~5 V電壓信號,經過轉換之后的電壓與電流成線性關系,為
VO=6.25 V-0.3125IIN.
(8)
3.4無線通信電路
無線通訊電路由KB3071_WIFI和74LVC2T45組成,本系統只需該模塊的串口轉無線功能,使用它的UART_TX和UART_RX即可。但由于單片機串口的電平為5 V,而無線模塊串口的電平為3.3 V,為了使兩者很好的兼容,需要使用74LVC2T45電平轉換電路。
4系統軟件設計
系統軟件設計主要包括上位機控制顯示與下位機采集發(fā)送兩部分組成。系統程序流程圖如圖4所示。

圖4 系統程序流程圖Fig 4 Flow chart of system program
4.1下位機程序設計
采用模塊化設計,主程序調用8個子程序,分別為:MCU初始化程序、讀取并發(fā)送通道數據程序、UART接收中斷服務程序、接收緩沖器讀取字符程序、UART發(fā)送中斷服務程序、發(fā)送緩沖器寫入字符程序、定時器中斷服務程序、讀取A/D轉換數據程序。主要4個詳細介紹如下:
1)MCU初始化程序:設定單片機上的IO口狀態(tài),串口發(fā)送接收的波特率、數據位、校驗位、停止位的選擇設定,定時器中斷的使能以及初始數據設定,A/D轉換寄存器使能初始配置。
2)讀取并發(fā)送通道數據程序:本系統在客戶端進行溫度檢測可以自行選擇三種模式:a.定時讀取8個通道,b.定時選擇讀取某一通道,c.循環(huán)讀取8個通道數據。此子程序實現這些功能,從客戶端接收模式指令,按照相應的指令發(fā)送數據。
3)定時器中斷服務程序:需要定時發(fā)送數據時,起到準確定時發(fā)送的作用,以10 ms為一個定時周期。
4)讀取A/D轉換數據程序:單片機的10位A/D轉換,在從RCV420輸出信號接入時,對其進行轉換,為了增加數據的準確性,每一路的轉換值都進行4次的平均取值,可以很好地避免單次電壓的不準確情況發(fā)生,提高轉換精度。
4.2上位機程序設計
Eclipse是谷歌公司推出的安卓應用程序開發(fā)工具,因其具有界面友好,適合各種安卓客戶端上運行等優(yōu)點而受到大多數用戶廣泛的使用,而且應用程序可以通過連接WiFi接收服務器端發(fā)送過來的數據并發(fā)送用戶的指令。由于上位機要接收下位機發(fā)送過來的數據,并實時顯示在界面上,所以,在程序中要建立2個線程: 1)建立與服務器連接的Socket線程,調用DataIuputStream和DataOutputStream類通過WiFi-AP模式與下位機進行通信,其中需要2個步驟:第一把WiFi模塊配置成WiFi-AP模式的服務端,并設定IP跟端口號,通過TCP協議進行發(fā)送。第二在編寫客戶端中建立Socket類中,在子線程中寫入與服務端對應IP與端口后就可以通過Android底層的函數getInputStream和getOutputStream接收下位機發(fā)送的數據和發(fā)送指令到上位機的數據流[7]。 2)建立接收數據處理并實時顯示在客戶端界面上的線程,調用Handle消息處理隊列,通過Handle.Post將Socket線程和Handle.sendMessage把數據加入到此隊列中,然后就可以在主隊列Handle.handleMessage實時將數據更新在客戶端UI中,在此消息隊列中,線程與數據處理都是異步的,相互之間不會有影響。客戶端監(jiān)測界面如圖5所示。

圖5 客戶端監(jiān)控界面Fig 5 Client monitoring interface
5測試與結果
采用上述方法設計的Pt100多點測溫無線傳送的裝置在實驗室進行性能測試實驗。8個溫度檢測端分別放入8個不同的已知溫度的水杯中,并且保持此8個不同溫度的水杯溫度不改變,表1為某一時刻的溫度檢測數據。為驗證系統的可靠性,設定8個溫度報警限度下限值為10 ℃,上限制為80 ℃。

表1 某時刻溫度測試結果表
實驗發(fā)現:當1#進行溫度測量時,系統提示溫度過低報警信號,當7#,8#進行溫度測量時,系統提示溫度過高報警信號。
為測試Android系統的無線通信能力,在實驗中不同距離進行實驗,測試結果如表2所示。

表2 通信測試結果表
通過多次實驗測試發(fā)現,溫度檢測的相對誤差最大為0.1 %,可以準確地測量到各點的溫度。實驗發(fā)現Android無線WiFi-AP通信網絡在通信距離越遠數據的丟包率越高,150 m為最佳通信距離,數據傳輸正確率高,可以滿足工程上的通信要求。
6結束語
本文闡述了基于Android系統的低成本溫度采集系統硬件與軟件的整體設計方案,可以同時對多點溫度進行檢測,并可以與設定值進行比較,加入溫度過低或過高報警功能。本系統的拓展功能不僅僅局限于溫度測量,任何基于4~20 mA的標準信號傳感器均可以采用。上位機Android移動設備顯示各點溫度,由于接入WiFi進行數據的通信,避免了傳輸距離的限制。
參考文獻:
[1]辛穎,謝光忠,將亞東.基于Zig Bee協議的溫度濕度無線傳感器網絡[J].傳感器與微系統,2006,25(7):82-84.
[2]周素茵,章云,曾斌.無線通信技術在我國現代溫室中的應用綜述[J].傳感器與微系統,2011,30(12):14-17.
[3]湯同奎.RCV420 I/V轉換電路的幾種典型應用[J].自動化儀表,1996,17(8):40-41,47-48.
[4]Ye Dan,Qi Guosheng,Hong Qiangning,et al.Adaptive temperature control system based on single chip processor[J].Journal of Transducer Technology,2002,21(3):27-30.
[5]毛楠,孫瑛.電子電路的抗干擾實用技術[M].北京:國防工業(yè)出版社,1996.
[6]趙繼文,何玉彬.傳感器與應用電路設計[M].北京:科學出版社,2002.
[7]周培.基于Socket的即時通信系統的研究與實現[D].廣州:華南大學,2010.
Design of wireless multipoint temperature monitoring system based on Android system
LUO Biao1, LI Bin1, ZHANG Dai-feng1, MEI Liang2
(1.School of Automation Science and Electrical Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100192,China; 2.Defense Technology R&T Center, China Aerospace Science and Industry Corporation,Beijing 100854,China)
Abstract:Multipoint temperature monitoring system includes upper PC and lower PC.Lower PC uses ATmega16 MCU as core,Pt 100 is temperature sensor for temperature sampling and measuring,which can realize temperature real-time acquisition through AP model of WiFi module with upper PC for data receiving and transmitting.Upper PC is a machine with Android platform which uses Socket client to obtain real-time temperature value,real-time display and alarming.This system can be used in multipoint detection for different temperature demand for civil or industrial occasion.
Key words:ATmega16 MCU; Pt100; WiFi module; Android system
DOI:10.13873/J.1000—9787(2016)03—0056—04
收稿日期:2015—06—03
中圖分類號:TP 368
文獻標識碼:A
文章編號:1000—9787(2016)03—0056—04
作者簡介:
羅彪(1990-),男,江西高安人,碩士研究生,主要研究方向為導航制導與嵌入式控制。