孫毅剛+何進+李岐
摘 要: 針對多點溫度測量的需求,設計一款基于LabVIEW的多通道溫度監(jiān)測系統(tǒng)。當下位機串口關閉時,即是一個由AT89C51單片機、DS18B20溫度傳感器以及LM041L顯示器組成的嵌入式多通道溫度采集系統(tǒng)。當串口打開時,下位機便可將各通道溫度數據上傳至上位機LabVIEW溫度監(jiān)測系統(tǒng),實現PC端的多通道溫度在線監(jiān)測。仿真實驗表明,系統(tǒng)設計方案切實可行,能夠方便有效地實現多點溫度實時監(jiān)測。
關鍵詞: 多點溫度測量; AT89C51; DS18B20; LabVIEW; 溫度監(jiān)測
中圖分類號: TN31+.3?34; TP212.9 文獻標識碼: A 文章編號: 1004?373X(2017)08?0183?04
Design of multi?channel temperature monitoring system based on LabVIEW
SUN Yigang1, HE Jin2, LI Qi2
(1. College of Aeronautical Engineering, Civil Aviation University of China, Tianjin 300300, China;
2. College of Electronic Information and Automation, Civil Aviation University of China, Tianjin 300300, China)
Abstract: To satisfy the demand of the multi?point temperature measurement, a multi?channel temperature monitoring system based on LabVIEW was designed. When the serial port of lower computer is closed, the multi?channel temperature monitoring system is an embedded one composed of the SCM AT89C51, temperature sensor DS18B20 and displayer LM041L. When the serial port is opened, the lower computer uploads the temperature data of each channel to the LabVIEW?based temperature monitoring system of the upper computer to achieve online monitoring of the multi?channel temperature at the PC side. The simulation experiment results show that the system design scheme is feasible, and can expediently and effectively monitor the multipoint temperature in real time.
Keywords: multi?point temperature measurement; AT89C51; DS18B20; LabVIEW; temperature monitoring
溫度在日常生活、工業(yè)生產和科學研究中都是一個極其普遍又非常重要的物理量,許多設備運行、工農生產和科學實驗都必須保證在一定的溫度條件下進行,因此需要對溫度進行監(jiān)測的場合十分廣泛[1]。傳統(tǒng)的測溫儀器功能比較單一,大多只能測量某一點的溫度值[2],可視性不好,不能長久保存溫度數據以進行后續(xù)統(tǒng)計和分析。為滿足現代工業(yè)多點溫度監(jiān)測的需求,設計了一種基于LabVIEW的多通道溫度監(jiān)測系統(tǒng),能夠實現在-55~99 ℃范圍內6通道的溫度實時監(jiān)測,具有多點溫度同步采集、顯示、報警、繪圖及數據保存等功能,可用于智能樓宇、溫室大棚、汽車空調、倉庫儲存等場合[3]。
1 系統(tǒng)總體結構設計
本文設計的基于LabVIEW的多通道溫度監(jiān)測系統(tǒng)由下位機多通道溫度采集系統(tǒng)和上位機LabVIEW溫度監(jiān)測系統(tǒng)兩部分構成。系統(tǒng)整體結構框圖如圖1所示。
下位機采用AT89C51單片機為主控芯片,將6路DS18B20溫度傳感器測量的數據處理后,計算出各通道的實際溫度值,并按要求在LM041L液晶屏上同步顯示。當串口開關處于開啟狀態(tài)時,若檢測到上位機要求發(fā)送溫度數據的請求,下位機立即依次將6通道溫度數據的高位和低位通過串口發(fā)送至上位機。LabVIEW溫度監(jiān)測系統(tǒng)隨即讀取串口緩沖區(qū)的內容,經過數據提取、處理、計算等操作,解析各通道的實際溫度后,首先在監(jiān)測系統(tǒng)前面板上實時顯示,然后將得到的溫度數據與各通道設置的的溫度上下限值進行比較,若當前溫度超過設定的溫度下限或者上限,則對應的藍色或紅色溫度超限報警燈點亮。最后,系統(tǒng)將各通道溫度數據送入波形圖表,繪制六通道溫度變化曲線,并將所有采集的溫度數據寫入TXT文檔保存。系統(tǒng)整體程序流程圖如圖2所示。
2 多通道溫度采集系統(tǒng)設計
多通道溫度采集系統(tǒng)主要包括溫度測量模塊、溫度顯示模塊以及串口通信模塊等部分。
2.1 溫度測量模塊
溫度測量模塊采用6個數字溫度傳感器DS18B20作為測溫元件,組成溫度傳感器網絡。DS18B20具有精度高、體積小、抗干擾能力強等優(yōu)點,其測溫范圍為-55~125 ℃,在-10~85 ℃范圍內測溫精度[4]達
±0.5 ℃。因為每一個DS18B20溫度傳感器內部都配有一個惟一的64位ROM編號,因此可將多個DS18B20掛在同一根總線上,實現多點分布式溫度測量。經DS18B20序列號讀取程序測得,本設計仿真時所用六路DS18B20溫度傳感器的ROM編號如表1所示。
由于DS18B20一線式結構的特點,它與微處理器之間只能采用串行數據傳輸。因此,在對DS18B20進行讀寫編程時,除了匹配每通道溫度傳感器的序列號,確保操作正確指向對應傳感器,還必須嚴格地保證讀寫的時序,否則將無法讀取測溫結果。本系統(tǒng)中DS18B20溫度測量模塊程序流程圖如圖3所示。
2.2 溫度顯示模塊
溫度顯示模塊選用的是LM041L字符型LCD液晶顯示器,該模塊由64個字符點陣組成。LM041L的工作原理及使用方法與常用的LCD1602顯示器類似,但需要注意的是,LM041L為4行×16列顯示,每行顯示的字符個數與LCD1602一致,但顯示的行數是LCD1602的2倍。液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志位為低電平,表示不忙,否則該指令失效。要顯示字符時,首先需要輸入顯示字符的地址,因為LM041L寫入顯示地址時要求最高位D7恒為高電平1,所以實際寫入的數據應該是:地址碼+80H。表2是LM041L的內部顯示地址碼。
多通道溫度采集系統(tǒng)運行時,LM041L第1行第5列(地址碼為0x84)開始顯示標題字符——6通道溫度數據采集系統(tǒng)英文首字母縮寫“6CH TDCS”;第2~4行的第1列(地址碼分別為0x40,0x10,0x50)分別開始顯示第1~3通道的溫度數據;第2~4行的第10列(地址碼分別為0x49,0x19,0x59)開始顯示第4~6通道的溫度數據,具體顯示格式參見圖4。
2.3 串口通信模塊
AT89C51單片機設有串口通信端口,只需一個專用芯片MAX232進行電平轉換即可方便地實現下位機與上位機的串口通信[5?6]。當上位機通過LabVIEW溫度監(jiān)測程序向串口發(fā)送請求溫度數據字符串AA時,下位機檢測到中斷請求,立即將發(fā)送標志置1,然后依次發(fā)送溫度數據的高位和低位;發(fā)送完畢后,自動清除中斷標志并返回,等待下次發(fā)送的請求指令。串口通信模塊具體程序流程圖如圖5所示。
3 LabVIEW溫度監(jiān)測系統(tǒng)設計
LabVIEW是美國NI公司開發(fā)的一款功能強大的圖形化編程語言軟件,在測試測量、儀器控制、教學仿真等領域獲得了廣泛應用[7]。LabVIEW作為虛擬儀器軟件開發(fā)工具,在數據采集和人機交互方面有著十分明顯的優(yōu)勢[8?10]。利用LabVIEW自帶的VISA驅動函數,能夠方面地實現與下位機的串口通信;而且其前面板豐富美觀的控件,很適合設計界面友好、操作簡單的上位機監(jiān)控系統(tǒng)界面。因此,本設計采用LabVIEW開發(fā)平臺編寫上位機溫度監(jiān)測系統(tǒng)程序,主要包括溫度數據的提取與計算、溫度超限報警、溫度變化曲線與數據保存等部分。
3.1 溫度數據的提取與計算
LabVIEW溫度監(jiān)測程序運行時,首先配置串口參數,使之與下位機保持一致,然后通過VISA寫入函數向單片機發(fā)送請求字符串AA,下位機檢測到發(fā)送請求后隨即通過串口發(fā)送程序向上位機依次發(fā)送六通道溫度數據的高8位和低8位。當開始采集按鈕打開時,VISA讀取函數立刻讀取串口緩沖區(qū)的所有內容,并通過字符串至字節(jié)數字轉換函數將所有串口數據轉換為字節(jié)數組,然后由索引數組提取各通道溫度數據的高位和低位,送至溫度計算子VI計算實際溫度值。
溫度計算子VI首先將溫度數據高位和低位拼接,然后進行溫度符號判斷:當最高位為1時,說明溫度為負,4位十六進制的溫度數據取補碼并乘以0.062 5再取反得到負的溫度值;若最高位為0,表示溫度為正,則將拼接的溫度數據直接乘以0.062 5得到正的溫度值。
3.2 溫度超限報警
為了更好地實現實時監(jiān)測功能,系統(tǒng)加入了超限報警機制。各通道溫度數據經提取和計算得到最終實際溫度值后,與各通道設定的溫度上限值和下限值分別進行比較。當某通道當前溫度超過設定的溫度上限時,對應通道的紅色高溫報警指示燈亮起;當某通道當前溫度低于設定的溫度下限時,該通道對應的藍色低溫報警指示燈點亮。各通道溫度上下限值設置界面如圖6所示。
3.3 溫度變化曲線與數據保存
LabVIEW溫度監(jiān)測系統(tǒng)主要功能之一就是繪制各通道的的溫度變化曲線,使觀測者能夠方便地對每一時刻各通道溫度值進行比較的同時,還可以對各通道的溫度變化情況一目了然。LabVIEW溫度監(jiān)測系統(tǒng)除了可以實時監(jiān)測各通道溫度變化情況以外,還可以將每一時刻的所有溫度數據同步寫入TXT文檔保存,方便進行后續(xù)的統(tǒng)計和分析。溫度數據以當前日期命名保存在程序當前所在路徑,其存儲格式為:第1列為數據采集序號,第2列為當前時間,第3~8列依次為第1~6通道的溫度值,各列相隔一個制表符(具體格式見圖7)。溫度數據保存部分的程序框圖如圖8所示。
4 系統(tǒng)仿真實驗
完成下位機多通道溫度采集系統(tǒng)與上位機LabVIEW溫度監(jiān)測系統(tǒng)的設計后,用虛擬串口軟件Virtual Serial Port Drive虛擬出一對相連的串口COM2和COM3,代替連接單片機與PC機的串口線。配置好串口參數及各通道溫度上下限值后,設置采樣周期為1 000 ms。依次運行下位機和上位機系統(tǒng),打開串口開關,按下數據采集按鈕,多通道溫度采集系統(tǒng)和LabVIEW溫度監(jiān)測系統(tǒng)程序運行結果分別如圖4和圖7所示,保存的部分溫度數據如圖9所示。
分析仿真實驗結果可知,系統(tǒng)運行整體符合設計預期。下位機能同時采集各通道實際溫度并按格式要求正確顯示;上位機監(jiān)測界面中各通道溫度數值、溫度變化曲線、超限報警指示、數據采集量、開始與運行時間均準確無誤;保存的溫度數據與設置的采樣周期及設計的格式要求均相符。
5 結 語
本文設計的基于LabVIEW的多通道溫度監(jiān)測系統(tǒng)能夠方便有效地測量6點的溫度數據,并實現在PC端的實時監(jiān)測。當下位機串口關閉時,即是一個嵌入式多通道溫度采集系統(tǒng);串口打開時,便可與上位機通信,實現在PC機上的多通道溫度實時監(jiān)測。系統(tǒng)下位機結構簡單、成本低廉,上位機監(jiān)測界面清晰直觀、一目了然,很好地滿足了多點溫度監(jiān)測的目的,具有較強的實用性。
參考文獻
[1] 薛清華.高精度多通道溫度測量技術研究[D].武漢:華中科技大學,2007.
[2] 付立華,張曉玫,潘龍飛.基于LabVIEW的多通道溫度實時監(jiān)測系統(tǒng)[J].儀表技術,2012(12):38?40.
[3] 湯鍇杰,栗燦,王迪,等.基于DS18B20的數字式溫度采集報警系統(tǒng)設計[J].傳感器與微系統(tǒng),2014,33(3):99?102.
[4] 張拓.無線多點溫度采集系統(tǒng)的設計[D].武漢:武漢理工大學,2009.
[5] 任志華,李永紅.基于DS18B20的多路溫度檢測系統(tǒng)設計[J].電子測試,2012(7):39?42.
[6] 潘方.RS 232串口通信在PC機與單片機通信中的應用[J].現代電子技術,2012,35(13):69?71.
[7] 李菲,江世明.基于LabVIEW的溫度測量系統(tǒng)設計[J].現代電子技術,2014,37(6):114?116.
[8] 楊高科.LabVIEW虛擬儀器項目開發(fā)與管理[M].北京:機械工業(yè)出版社,2012.
[9] 阮奇楨.我和LabVIEW[M].北京:北京航空航天大學出版社,2012.
[10] 姜崇.基于LabVIEW的多通道實時在線監(jiān)測系統(tǒng)研究[D].上海:華東理工大學,2011.