李菲 江世明
摘 要: 虛擬儀器將計算機技術與測量技術緊密融合,它在進行環境參數測量時無需使用大量的測量設備,最大限度地降低了開發成本。鑒于此,設計了一個基于虛擬儀器技術的溫度測量系統。該系統主要由下位機和上位機兩部分構成,下位機通過傳感器采集溫度信號,經單片機以串口通信的方式傳送給上位機,上位機中由LabVIEW軟件編寫的溫度測量系統可實時進行溫度的顯示與報警。測試結果表明,該設計系統的測量精度較高,操作簡單,而且可視性很好。
關鍵詞: 溫度采集; AT89S52; 串口通信; LabVIEW
中圖分類號: TN964?34 文獻標識碼: A 文章編號: 1004?373X(2014)06?0114?03
溫度是我們日常生活中常見的物理量,也是工業、農業等領域需實時檢測的物理量,那么如何進行溫度實時有效的檢測是必須考慮的一個問題。傳統的測量方法大多偏硬件電路和C/C++語言,設計過程復雜,且可視效果不好,針對這些問題,本文中引入了虛擬儀器技術。
虛擬儀器技術是計算機與儀器測量技術結合的產物,它不再依托復雜的編程過程,而是采用一種圖形化的編程形式,根據工程的實際需求構建虛擬的測量儀器與信號分析處理軟件,不再需要大量的硬件設備,大大降低了系統的開發成本[1]。其中,LabVIEW作為虛擬儀器主要的開發軟件,目前已廣泛應用于數據采集、儀器控制、測量分析等應用系統的開發。
1 系統的組成與工作原理
本文設計的溫度測量系統是基于LabVIEW平臺來實現的,整個系統分為上位機和下位機2部分。上位機由裝有LabVIEW軟件平臺的PC機來實現,下位機由溫度采集模塊、單片機控制模塊、LCD顯示模塊、串口通信模塊來構成,具體的系統框圖如圖1所示。
在上述設計的系統中,首先通過溫度傳感器采集當前實時溫度,將溫度信號轉換成電信號傳送到單片機進行處理,且實時溫度在LCD1206上顯示出來,同時將采樣數據通過MAX232串口通信模塊發送到PC機,PC機上的用LabVIEW實現的溫度測量應用軟件讀取到串口數據后,把接收到的數據進行解碼,將處理后的數據以波形的形式顯示出來,且能進行相應的報警處理等。
2 下位機的具體設計
下位機的設計包含了硬件電路與程序設計兩部分,具體的硬件電路結構如圖2所示。
2.1 硬件設計
(1) 溫度采集模塊
在本系統中,溫度的采集分別是采用9015型晶體管和AD590集成溫度傳感器[2]來實現,選擇這2種測溫傳感器,主要是考慮到傳感器的輸出與溫度之間的關系。
晶體管作為一種半導體測溫元件,在溫度不太高的情況下,晶體管的發射結上的正向電壓與絕對溫度是成線性關系變化的。AD590作為常用的集成溫度傳感器,測溫范圍為-55~150 ℃,其輸出電流與絕對溫度也是成正比的。由此可見,這兩種測溫傳感器測溫的線性度較好,外圍電路也簡單,無需如熱電偶一樣進行冷端補償。
由于溫度采集電路輸出的是模擬量,因此在輸送到單片機前還需進行A/D轉換。本系統主要采用PCF8591芯片來實現的。PCF8591是一個單片集成、單獨供電、低功耗、8?bit CMOS數據獲取器件,可實現8?bit的模數轉換和8?bit的數/模轉換。
(2) 單片機控制與顯示模塊
單片機采用的是AT89S52芯片,顯示模塊采用LCD1602來顯示實時的測量溫度。
(3) 串口通信模塊
本系統中的串行通信部分主要由MAX232來實現。MAX232芯片是MAXIM公司生產的具有兩路接收器和驅動器的IC芯片,其內部有一個電源電壓變換器,將單片機引腳的COMS電平(0~5 V)轉換為RS 232電平(-12~12 V)輸出。設計中將單片機的串行通信口與MAX232相連,再將MAX232的輸出用9針RS 232 串口線與PC機連接就實現了上下位機之間串行通信的硬件連接。
2.2 程序設計
本系統由AT89S52單片機作為中央控制器,控制各功能模塊的正常工作及數據的接收與處理。首先利用溫度傳感器采集外界溫度數據,經 A/D轉換,并用LCD顯示出來,然后經編碼通過串口發送到PC機。其主要的程序設計包括:A/D轉換子程序、顯示子程序、串行發送與接收子程序等。
3 上位機軟件設計
LabVIEW軟件是虛擬儀器常用的開發軟件[3],本系統采用LabVIEW軟件設計的溫度測量系統[4]可實現對溫度的采集,顯示及處理,具體的設計包含了3部分:前面板的設計、程序框圖的設計和連接器的設計。特別值得注意的是,作為上位機的測量軟件必須與下位機的硬件電路相連接,這就牽涉到如何實現下位機與上位機串口通信的問題。
3.1 前面板設計
前面板是VI代碼的接口,是用戶的交互界面。本系統要求能對溫度進行實時采集,并將采集的溫度實時顯示出來,同時本系統的溫度上下限閾值可以設置,當實時溫度超出預先設置的上下限范圍時,系統會自動報警。因此,前面板的設計主要包含4個部分:波形顯示部分、當前溫度與電壓值顯示部分、溫度上下限設置部分和報警部分。
為實現上述功能,在前面板上放置了各種的圖形控件,這些控件都來源于控件選板,主要的控件有數值輸入控件、數值顯示控件、圖形顯示控件、文本輸入控件等。具體的前面板設計見圖3所示。
3.2 程序框圖設計
程序框圖是實現VI邏輯功能的圖形化源代碼,它通過將對象連接在一起構成程序框圖來實現某種特定的功能。本系統中的程序框圖的設計[5?8]主要分為5個模塊:溫度采集模塊、溫度顯示模塊、溫度閾值設定模塊、報警模塊和串口通信模塊。
3.3 串口通信
上位機與下位機之間的通信主要以串口通信的方式來實現數據的傳輸[9],串口操作的基主要工作為為:配置串口參數→發送和接收數據→關閉串口,這些都可通過調用串口通信的函數來實現[10]。
(1) 串口的參數配置。在串口通信之前,必須對串口的參數進行設置,而且上位機和下位機的設置必須相同。這些參數主要包括串口通信的資源名稱、波特率、數據位、停止位、奇偶校驗位和流控制,設計中通過調用VISA配置串口VI來完成。
(2) 數據的發送與接收。串口參數設置完成后,就可進行數據的發送與接收。發送數據主要使用VISA Write,即VISA寫入函數;接收數據主要使用VISA Read,即VISA讀取函數。在進行發送數據時,以字符串的形式循環發送;在接收數據時,可啟用終止符來結束讀取操作或者通過比較待讀取的字節數與接收緩沖區中的字節數來判斷讀操作是否處于等待或執行狀態。在本設計中啟用了終止符來完成。
(3) I/O緩沖區設置。串口通信主要是通過發送緩沖區和接收緩沖區來發送和接收數據的,所以緩沖區的設置也必不可少。
4 測試結果
在上述設計的溫度測量系統中,分別采用9015晶體管和AD590集成溫度傳感器對溫度信號進行采集,并經過串口通信輸送給LabVIEW軟件,其測試結果說明如下:
(1) 晶體管9015測溫測試:由于晶體管的的測溫范圍較窄,所以測溫范圍選取在25~70 ℃之間,測試數據見表1,具體顯示結果如圖4所示。
(2) AD590測溫測試:AD590的測溫范圍較寬,本文的測試范圍在25~110 ℃,測試數據見表2,顯示結果如圖5所示。從上述的測試結果可以看出,該系統較好地實現了溫度測量與顯示功能:
① 溫度的變化過程能以波形的形式體現出來,而且誤差較小;
② 可以實時顯示當前的溫度值及相對應的電壓值。
③ 可實現報警功能。如溫度的上限設置為60 ℃,當采集的實時溫度為65 ℃時,溫度過高,報警燈亮起。
5 結 語
本文基于LabVIEW軟件平臺設計了一個溫度測量系統,該系統通過上位機與下位機之間的串口通信,較好地實現了溫度測量的實時顯示以及溫度過高或溫度過低時的報警,測量誤差較小,且可視性較好。
LabVIEW作為一種圖形化的編程軟件,功能強大,而且操作方便。實驗證明用該軟件設計的測量系統交互性能好,成本低,為很多復雜的工程環境提供了簡便有效的測量途徑。
參考文獻
[1] 雷國建,劉登科,石啟亮.基于LabVIEW的遠程溫度檢測控制系統設計與實現[J].現代電子技術,2012,35(19):111?113.
[2] 秦志強,譚立新,劉瑤生.現代傳感器技術與應用[M].北京:電子工業出版社,2010.
[3] 盧貺,董英英.基于LabVIEW 的無線溫度監測上位機軟件系統設計[J].湖南工業職業技術學院學報,2012,4(12):17?19.
[4] 豈興明,田京京,夏寧.LabVIEW入門與實踐開發100例[M].北京:電子工業出版社,2011.
[5] 盧佳,徐熙平.LabVIEW環境下自動溫度檢測系統的研究[J].電子測量技術,2011,34(9):80?83.
[6] 呂龍飛,陳照章,黃永紅.基于LabVIEW的虛擬儀器溫度檢測系統的設計[J].微計算機信息,2007,23(1):170?172.
[7] 劉金頌,嚴潔,鄭慶紅.基于LabVIEW和單片機的空調溫度場測量系統的研究[J].現代電子技術,2006,29(1):78?80.
[8] 師玉寶,張翔,劉曉奎.基于LabVIEW技術的溫度檢測系統[J].物聯網技術,2011,1(4):70?72.
[9] 龍華偉,顧永剛.LabVIEW8.2.1與DAQ數據采集[M].北京:清華大學出版社,2008.
[10] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業出版社,2011.
(1) 串口的參數配置。在串口通信之前,必須對串口的參數進行設置,而且上位機和下位機的設置必須相同。這些參數主要包括串口通信的資源名稱、波特率、數據位、停止位、奇偶校驗位和流控制,設計中通過調用VISA配置串口VI來完成。
(2) 數據的發送與接收。串口參數設置完成后,就可進行數據的發送與接收。發送數據主要使用VISA Write,即VISA寫入函數;接收數據主要使用VISA Read,即VISA讀取函數。在進行發送數據時,以字符串的形式循環發送;在接收數據時,可啟用終止符來結束讀取操作或者通過比較待讀取的字節數與接收緩沖區中的字節數來判斷讀操作是否處于等待或執行狀態。在本設計中啟用了終止符來完成。
(3) I/O緩沖區設置。串口通信主要是通過發送緩沖區和接收緩沖區來發送和接收數據的,所以緩沖區的設置也必不可少。
4 測試結果
在上述設計的溫度測量系統中,分別采用9015晶體管和AD590集成溫度傳感器對溫度信號進行采集,并經過串口通信輸送給LabVIEW軟件,其測試結果說明如下:
(1) 晶體管9015測溫測試:由于晶體管的的測溫范圍較窄,所以測溫范圍選取在25~70 ℃之間,測試數據見表1,具體顯示結果如圖4所示。
(2) AD590測溫測試:AD590的測溫范圍較寬,本文的測試范圍在25~110 ℃,測試數據見表2,顯示結果如圖5所示。從上述的測試結果可以看出,該系統較好地實現了溫度測量與顯示功能:
① 溫度的變化過程能以波形的形式體現出來,而且誤差較小;
② 可以實時顯示當前的溫度值及相對應的電壓值。
③ 可實現報警功能。如溫度的上限設置為60 ℃,當采集的實時溫度為65 ℃時,溫度過高,報警燈亮起。
5 結 語
本文基于LabVIEW軟件平臺設計了一個溫度測量系統,該系統通過上位機與下位機之間的串口通信,較好地實現了溫度測量的實時顯示以及溫度過高或溫度過低時的報警,測量誤差較小,且可視性較好。
LabVIEW作為一種圖形化的編程軟件,功能強大,而且操作方便。實驗證明用該軟件設計的測量系統交互性能好,成本低,為很多復雜的工程環境提供了簡便有效的測量途徑。
參考文獻
[1] 雷國建,劉登科,石啟亮.基于LabVIEW的遠程溫度檢測控制系統設計與實現[J].現代電子技術,2012,35(19):111?113.
[2] 秦志強,譚立新,劉瑤生.現代傳感器技術與應用[M].北京:電子工業出版社,2010.
[3] 盧貺,董英英.基于LabVIEW 的無線溫度監測上位機軟件系統設計[J].湖南工業職業技術學院學報,2012,4(12):17?19.
[4] 豈興明,田京京,夏寧.LabVIEW入門與實踐開發100例[M].北京:電子工業出版社,2011.
[5] 盧佳,徐熙平.LabVIEW環境下自動溫度檢測系統的研究[J].電子測量技術,2011,34(9):80?83.
[6] 呂龍飛,陳照章,黃永紅.基于LabVIEW的虛擬儀器溫度檢測系統的設計[J].微計算機信息,2007,23(1):170?172.
[7] 劉金頌,嚴潔,鄭慶紅.基于LabVIEW和單片機的空調溫度場測量系統的研究[J].現代電子技術,2006,29(1):78?80.
[8] 師玉寶,張翔,劉曉奎.基于LabVIEW技術的溫度檢測系統[J].物聯網技術,2011,1(4):70?72.
[9] 龍華偉,顧永剛.LabVIEW8.2.1與DAQ數據采集[M].北京:清華大學出版社,2008.
[10] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業出版社,2011.
(1) 串口的參數配置。在串口通信之前,必須對串口的參數進行設置,而且上位機和下位機的設置必須相同。這些參數主要包括串口通信的資源名稱、波特率、數據位、停止位、奇偶校驗位和流控制,設計中通過調用VISA配置串口VI來完成。
(2) 數據的發送與接收。串口參數設置完成后,就可進行數據的發送與接收。發送數據主要使用VISA Write,即VISA寫入函數;接收數據主要使用VISA Read,即VISA讀取函數。在進行發送數據時,以字符串的形式循環發送;在接收數據時,可啟用終止符來結束讀取操作或者通過比較待讀取的字節數與接收緩沖區中的字節數來判斷讀操作是否處于等待或執行狀態。在本設計中啟用了終止符來完成。
(3) I/O緩沖區設置。串口通信主要是通過發送緩沖區和接收緩沖區來發送和接收數據的,所以緩沖區的設置也必不可少。
4 測試結果
在上述設計的溫度測量系統中,分別采用9015晶體管和AD590集成溫度傳感器對溫度信號進行采集,并經過串口通信輸送給LabVIEW軟件,其測試結果說明如下:
(1) 晶體管9015測溫測試:由于晶體管的的測溫范圍較窄,所以測溫范圍選取在25~70 ℃之間,測試數據見表1,具體顯示結果如圖4所示。
(2) AD590測溫測試:AD590的測溫范圍較寬,本文的測試范圍在25~110 ℃,測試數據見表2,顯示結果如圖5所示。從上述的測試結果可以看出,該系統較好地實現了溫度測量與顯示功能:
① 溫度的變化過程能以波形的形式體現出來,而且誤差較小;
② 可以實時顯示當前的溫度值及相對應的電壓值。
③ 可實現報警功能。如溫度的上限設置為60 ℃,當采集的實時溫度為65 ℃時,溫度過高,報警燈亮起。
5 結 語
本文基于LabVIEW軟件平臺設計了一個溫度測量系統,該系統通過上位機與下位機之間的串口通信,較好地實現了溫度測量的實時顯示以及溫度過高或溫度過低時的報警,測量誤差較小,且可視性較好。
LabVIEW作為一種圖形化的編程軟件,功能強大,而且操作方便。實驗證明用該軟件設計的測量系統交互性能好,成本低,為很多復雜的工程環境提供了簡便有效的測量途徑。
參考文獻
[1] 雷國建,劉登科,石啟亮.基于LabVIEW的遠程溫度檢測控制系統設計與實現[J].現代電子技術,2012,35(19):111?113.
[2] 秦志強,譚立新,劉瑤生.現代傳感器技術與應用[M].北京:電子工業出版社,2010.
[3] 盧貺,董英英.基于LabVIEW 的無線溫度監測上位機軟件系統設計[J].湖南工業職業技術學院學報,2012,4(12):17?19.
[4] 豈興明,田京京,夏寧.LabVIEW入門與實踐開發100例[M].北京:電子工業出版社,2011.
[5] 盧佳,徐熙平.LabVIEW環境下自動溫度檢測系統的研究[J].電子測量技術,2011,34(9):80?83.
[6] 呂龍飛,陳照章,黃永紅.基于LabVIEW的虛擬儀器溫度檢測系統的設計[J].微計算機信息,2007,23(1):170?172.
[7] 劉金頌,嚴潔,鄭慶紅.基于LabVIEW和單片機的空調溫度場測量系統的研究[J].現代電子技術,2006,29(1):78?80.
[8] 師玉寶,張翔,劉曉奎.基于LabVIEW技術的溫度檢測系統[J].物聯網技術,2011,1(4):70?72.
[9] 龍華偉,顧永剛.LabVIEW8.2.1與DAQ數據采集[M].北京:清華大學出版社,2008.
[10] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業出版社,2011.