胡天水,陳其工,魏利勝,林園勝
(安徽工程大學(xué)安徽省檢測技術(shù)與自動化裝置重點實驗室,安徽蕪湖 241000)
無論是在工業(yè)生產(chǎn)還是農(nóng)業(yè)生產(chǎn)當(dāng)中,溫度和濕度都是生產(chǎn)過程中的兩個重要環(huán)境參數(shù),其測量的實時性和準確度直接影響到生產(chǎn)效率[1].使用Proteus軟件仿真,能夠檢驗系統(tǒng)的可行性,無需硬件制作,修改方便,便于調(diào)試,既高效又節(jié)約成本;Lab VIEW設(shè)計的人機界面簡潔直觀,便于用戶使用,擴展性較高.所以設(shè)計一個既能對環(huán)境溫濕度實時監(jiān)測,又能使用戶方便、快捷、高效地監(jiān)測溫濕度信息的系統(tǒng),具有很重要的現(xiàn)實意義.
傳統(tǒng)的監(jiān)測系統(tǒng)雖然能夠?qū)崿F(xiàn)對溫濕度的采集,甚至能夠通過串口將數(shù)據(jù)傳輸?shù)絇C機上[2],但其人機界面不夠友好,對環(huán)境監(jiān)測的效率較低.本設(shè)計在實現(xiàn)基本的溫濕度實時監(jiān)測的基礎(chǔ)上,添加了系統(tǒng)時間模塊,并且使用液晶顯示器來顯示溫濕度的值和系統(tǒng)的時間.這樣不但可以獲得溫濕度數(shù)據(jù),同時還可以記錄采集到數(shù)據(jù)的時刻,便于用戶分析溫濕度隨時間的變化關(guān)系.Lab VIEW設(shè)計的用戶界面簡潔直觀[3],既有超限時LED燈報警,同時又有聲音報警.
首先在Proteus中設(shè)計溫濕度采集系統(tǒng)的仿真,該系統(tǒng)能夠液晶顯示溫濕度數(shù)值,同時顯示此時的時刻.然后,通過虛擬串口將溫濕度值和采樣時刻打包發(fā)送給Lab VIEW設(shè)計的人機界面,系統(tǒng)結(jié)構(gòu)框圖如圖1所示.其中人機界面功能包括:顯示溫度和濕度的值、顯示溫度和濕度變化曲線、設(shè)定溫濕度報警的上下限及記錄溫濕度的歷史數(shù)據(jù).
圖1 系統(tǒng)結(jié)構(gòu)框圖
使用SHT11傳感器芯片構(gòu)成溫濕度采集模塊,負責(zé)對環(huán)境溫濕度的采集;由單片機AT89C52及其最小系統(tǒng)構(gòu)成數(shù)據(jù)分析、處理和控制模塊;以時鐘芯片DS1302為核心的模塊構(gòu)成時間系統(tǒng),用來給采集到的數(shù)據(jù)打上時間戳,記錄采集溫濕度數(shù)據(jù)的年月日和時分秒;液晶顯示器1602顯示溫度和濕度的值及此時刻的時間;串口模塊負責(zé)將帶有時間戳的溫濕度數(shù)據(jù)傳給Lab VIEW設(shè)計的人機交互界面.Proteus下的電路仿真如圖2所示.為了獲取更精確的數(shù)據(jù),需要對傳感器的非線性進行補償,可以使用公式RHlinear=C1+進行補償.式中的各個數(shù)據(jù)參數(shù)如表1所示.當(dāng)實際溫度與常溫25℃(77℉)相差較大時,濕度傳感器的溫度系數(shù)需要進行如下調(diào)整:式中數(shù)據(jù)的各個參數(shù)如表2所示.
圖2 Proteus電路仿真
表1 濕度轉(zhuǎn)換系數(shù)
表2 溫度補償系數(shù)
采集系統(tǒng)軟件設(shè)計流程圖如圖3所示.設(shè)計中,使用兩個狀態(tài)標志位Readflag、Uartflag和與標志位對應(yīng)的計數(shù)變量num、num1.Readflag是系統(tǒng)是否讀取傳感器和時鐘數(shù)據(jù)的標志位,Uartflag是系統(tǒng)是否將數(shù)據(jù)通過串口發(fā)送給Lab VIEW上位機的標志位.使用Timer0中斷,每中斷一次,num、num1各自加上1.當(dāng)計數(shù)變量達到一定的數(shù)值,就將相應(yīng)的狀態(tài)標志位置1,從而執(zhí)行相應(yīng)的程序,這種軟件設(shè)計的方法比較高效實用[4].
圖3 采集系統(tǒng)軟件設(shè)計流程圖
Lab VIEW(Laboratory Virtual Instrument Engineering Workbench)是由美國NI公司開發(fā)研制的一種利用圖標代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言,使用非常方便.Lab VIEW人機界面的設(shè)計過程可分為前面板設(shè)計和后面板設(shè)計.通過(Virtual Instrument Software Architecture,VISA)用戶能與大多數(shù)儀器總線連接,包括GPIB、USB、串口、PXI、VXI和以太網(wǎng)等[5].用戶成功登錄之后,首先為VISA配置串口的各種參數(shù),如設(shè)置波特率為“9600”、數(shù)據(jù)位為“8”、停止位為“1”、校驗位為“無校驗”等;然后VISA讀取函數(shù)通過屬性節(jié)點讀取串口緩沖區(qū)中的數(shù)據(jù)[6-7],串口傳輸數(shù)據(jù)格式為“Hum:82 Temp:26 Time:11:04:11 2013/10/23”,故在后面板程序中掃描字符串函數(shù)VI的偏移量設(shè)為4和14,用來提取濕度和溫度的數(shù)值;最后將溫濕度數(shù)值分別于設(shè)定的上下限進行比較,如果不在設(shè)定的范圍,則系統(tǒng)的報警指示燈會亮起同時會有聲音報警,同時通過串口向下位機發(fā)送控制指令,以調(diào)節(jié)下位機加濕或干燥、加熱或降溫的繼電器通斷狀態(tài),從而使溫濕度穩(wěn)定在設(shè)定的范圍.與此同時,在前面板中“數(shù)據(jù)接收窗口”將接收數(shù)據(jù)并實時顯示,同時,記錄保存數(shù)據(jù).后面板設(shè)計的流程圖如圖4所示,設(shè)計的后面板如圖5所示.
圖4 后面板程序流程圖
圖5 后面板的程序設(shè)計
使用Eltima公司開發(fā)虛擬串口驅(qū)動器(Virtual Serial Port Driver,VSPD)模擬仿真Proteus與Lab-VIEW之間的串口數(shù)據(jù)傳輸.在Proteus和Lab VIEW進行通信之前,要配置串口的基本參數(shù),如COM口、波特率、數(shù)據(jù)位等.Lab VIEW保存的歷史采集數(shù)據(jù)信息如圖6所示.其數(shù)據(jù)含義為:Hum代表采集到的濕度,Temp代表采集到的溫度,Time為系統(tǒng)時間及日期.Lab VIEW人機界面如圖7所示.
圖6 Lab VIE記錄的歷史數(shù)據(jù)
圖7 Lab VIEW人機界面
本文設(shè)計實現(xiàn)了基于Lab VIEW和Proteus溫濕度監(jiān)測系統(tǒng)的聯(lián)合仿真,仿真結(jié)果證實該系統(tǒng)穩(wěn)定可靠,且設(shè)計簡單便利,降低系統(tǒng)開發(fā)成本,用戶能夠方便快捷地對生產(chǎn)環(huán)境的溫濕度進行實時監(jiān)測,極具推廣潛力和應(yīng)用前景[7].
[1] 趙建華,曹超.一種遠程無線環(huán)境溫濕度檢測系統(tǒng)[J].西安工業(yè)大學(xué)學(xué)報,2012,32(4):340-344.
[2] 呂向鋒,高洪林,馬亮,等.基于Lab VIEW串口通信的研究[J].國外電子測量技術(shù),2009,28(12):27-30.
[3] 許鋼,林園勝,胡天水,等.虛擬儀器技術(shù)在溫度采集系統(tǒng)中的應(yīng)用[J].武漢工程大學(xué)學(xué)報,2013,35(7),81-86.
[4] 郭天祥.51單片機C語言教程[M].北京:電子工業(yè)出版社,2009:147-149.
[5] 陳錫輝,張銀鴻.Lab VIEW 8.20程序設(shè)計從入門到精通[M].北京:清華大學(xué)出版社,2007:7-9,229.
[6] 馬草原,郭雙雙,李國欣,等.基于LABVIEW的串口調(diào)試與數(shù)據(jù)分析[J].工礦自動化,2005,8(4):74-76.
[7] 周鵬,許鋼,郭旭東,等.基于Lab VIEW的廣義線性擬合在成本預(yù)測中的應(yīng)用[J].安徽工程大學(xué)學(xué)報:自然科學(xué)版,2013,28(3):44-46.