基于LabVIEW的溫度測控系統(tǒng)設(shè)計
目前的測溫控制系統(tǒng)大都使用傳統(tǒng)溫度測量儀器.其功能大多都是由硬件或固化的軟件來實現(xiàn),而且只能通過廠家定義、設(shè)置,其功能和規(guī)格一般都是固定的,用戶無法隨意改變其結(jié)構(gòu)和功能,因此已不能適應(yīng)現(xiàn)代化監(jiān)測系統(tǒng)的要求。隨著計算機技術(shù)的飛速發(fā)展,美國國家儀器公司率先提出了虛擬儀器的概念,徹底打破了傳統(tǒng)儀器由廠家定義、用戶無法改變的模式,使測控儀器發(fā)生了巨大變革。虛擬儀器技術(shù)充分利用計算機的強大運算處理功能,突破傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳輸、存儲等方面的限制,通過交互式圖形界面實現(xiàn)系統(tǒng)控制和顯示測量數(shù)據(jù),并使用框圖模塊指定各種功能。采用集成電路溫度傳感器和虛擬儀器方便地構(gòu)建一個測溫系統(tǒng),且外圍電路簡單,易于實現(xiàn),便于系統(tǒng)硬件維護、功能擴展和軟件升級。
這里利用LabVIEW作為語言開發(fā)平臺.設(shè)計系統(tǒng)軟件.并利用計算機串口與下位機串行通訊,實現(xiàn)溫度的實時測量與控制。
2 系統(tǒng)硬件設(shè)計
圖1給出系統(tǒng)硬件組成框圖,由計算機、單片機、測溫電路及溫度控制電路組成。該系統(tǒng)集計算機、強大的圖形化編程軟件和模塊化硬件于一體,建立靈活且以計算機為基礎(chǔ)的測量及控制方案,構(gòu)建出滿足需要的系統(tǒng)。利用傳感器獲取溫度信號,再由單片機組成的小系統(tǒng)對溫度信號進行采集、調(diào)理和轉(zhuǎn)換,然后通過RS-232串口將數(shù)據(jù)送給計算機.并通過計算機運行的LabVIEW程序來分析處理輸入數(shù)據(jù).最終由計算機顯示結(jié)果。同時,通過計算機串口采樣輸入信號,利用LabVIEW中的PID控制算法,求出系統(tǒng)輸出信號的大小,再由串口將輸出信號傳輸至外部溫度控制電路,以實現(xiàn)溫度控制。
2.1 溫度測量電路
溫度測量電路主要由溫度傳感器和信號調(diào)理部分組成。溫度傳感器主要包含數(shù)字式溫度傳感器DSl8820和K型熱電偶。DSl8820是美國DALLAS公司推出的一款可組網(wǎng)數(shù)字式溫度傳感器。它采用1一Wire總線接口,測溫范圍為一55℃~+125℃,精度可達0.067 5℃,最大轉(zhuǎn)換時間為200 ms,K型熱電偶的價格低廉,靈敏度高,復(fù)現(xiàn)性好,而且熱電動勢的線性度及在1 000℃下的抗氧化性能良好。此外,廉金屬熱電偶中的穩(wěn)定性更好,但與貴金屬熱電偶相比,其時效變化大,可在900℃以下的環(huán)境內(nèi)長期使用。因此該設(shè)計采用K型熱電偶測量電阻爐的爐溫,DSl8820檢測校準常溫下的溫度。調(diào)理電路主要用于濾波和放大來自模擬量輸入通道的信號,以滿足A/D轉(zhuǎn)換器輸入端電氣參數(shù)的要求。
2.2 溫度控制電路
圖2給出溫度控制電路。它主要由MOC3401型光電耦合器Ul和BTl38—600型雙向晶閘管VU2組成。全周期內(nèi)都能將220 V交流電壓加載在熱棒RL上。單片機發(fā)出脈寬調(diào)制(PWM)控制信號,經(jīng)驅(qū)動器后控制Ul的狀態(tài)。當(dāng)Ul工作后,使VU2的控制極處于高電平,VU2處于導(dǎo)通狀態(tài),進而控制RL工作。使用U1可有效地降低外界對系統(tǒng)影響,增強系統(tǒng)的穩(wěn)定性。
3 系統(tǒng)軟件設(shè)計
3.1 上位機軟件設(shè)計
上位機軟件設(shè)計主要完成數(shù)據(jù)采集與控制、測試結(jié)果的分析和記錄、數(shù)據(jù)查詢等,同時為用戶提供一個方便的操作界面。圖3給出上位機的監(jiān)控界面。該系統(tǒng)軟件主要由數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)報警、數(shù)據(jù)存取、數(shù)據(jù)打印及PID控制器等模塊組成?;贚abVIEW的測控系統(tǒng)軟件采用模塊化的思想來編寫,每個功能的實現(xiàn)均由一個模塊完成,從而最終實現(xiàn)數(shù)據(jù)采集、處理、顯示、記錄、打印及報警等。
(1)數(shù)據(jù)采集模塊數(shù)據(jù)采集模塊實現(xiàn)電阻爐溫度的測量,并把采集到的數(shù)據(jù)全部存儲到數(shù)據(jù)表中,以備后續(xù)的數(shù)據(jù)處理、計算及打印。數(shù)據(jù)采集是該系統(tǒng)軟件的主要功能,也是其他模塊進行數(shù)據(jù)處理、圖形繪制的基礎(chǔ)。LabVIEW可通過數(shù)據(jù)采集模塊顯示實際的信號波形。當(dāng)數(shù)據(jù)采集模塊采集實測信號時,得到一組離散的信號值,通過圖形顯示控件在計算機顯示器上逐點顯示并連線,即可實時顯示被測信號。
(2)數(shù)據(jù)處理模塊 采樣程序循環(huán)一次,就預(yù)處理采集數(shù)據(jù),主要是對數(shù)據(jù)的數(shù)字濾波。由于儀器用于機房和通信設(shè)備的現(xiàn)場中,干擾源較多。為了減少對采樣數(shù)據(jù)的干擾,提高儀器系統(tǒng)性能,在數(shù)據(jù)處理之前,需對采樣數(shù)據(jù)進行數(shù)字濾波。所謂數(shù)字濾波,就是通過特定的計算程序處理,減少干擾信號在有用信號中所占的比例,實質(zhì)上是一種程序濾波。
(3)數(shù)據(jù)報警模塊 當(dāng)實際溫度大于溫度上限或小于溫度下限值時予以超溫報警。超溫報警時,系統(tǒng)即中斷自動控溫,確保人員及設(shè)備安全。系統(tǒng)通過信號燈及報警聲實現(xiàn)超溫報警,即當(dāng)采樣數(shù)據(jù)超過系統(tǒng)所設(shè)定的上下限時,指示燈變紅,并發(fā)出警報聲。
(4)數(shù)據(jù)存取模塊數(shù)據(jù)存儲部分主要利用LabVIEW與數(shù)據(jù)庫接口程序,將采集的原始數(shù)據(jù)存儲到Access數(shù)據(jù)庫中,供后續(xù)的結(jié)果查詢和數(shù)據(jù)分析。為了實現(xiàn)LabVIEW對Access數(shù)據(jù)庫的訪問,要先建立一個數(shù)據(jù)源(ODBC),并通過DSN來標識ODBC。先在Access中建立一個數(shù)據(jù)庫,并命名為tmp.mdb。在Windows操作系統(tǒng)的控制面板中選擇ODBC,彈出ODBC數(shù)據(jù)源管理器;然后單擊系統(tǒng)DSN選項卡中的“添加”按鍵,在隨后出現(xiàn)的“創(chuàng)建新數(shù)據(jù)源”對話框“驅(qū)動程序列表中”選擇“Microsoft Access Driver(*.mdb)”,并單擊“完成”按鍵;接著在隨后出現(xiàn)的對話框“數(shù)據(jù)源名”中創(chuàng)建DSN的名稱,如dsn_tmp,并利用“選擇”按鍵選擇需要利用Lab-SQL訪問的數(shù)據(jù)庫tmp.mdb,單擊“確定”按鍵,以完成DSN的創(chuàng)建。此后,LabSQL就能利用這個DSN訪問與之相關(guān)的數(shù)據(jù)庫。無論是查詢數(shù)據(jù)庫,還是刪除數(shù)據(jù)庫,步驟大體相同,即建立與數(shù)據(jù)庫的連接,建立與記錄集(Recordset)的連接,執(zhí)行數(shù)據(jù)庫的操作,斷開與數(shù)據(jù)庫之間的連接。圖4給出從數(shù)據(jù)庫tmp.mdb中讀出表tmp的溫度數(shù)據(jù)。
(5)PID控制器模塊該模塊采用增量式PID控制器,在LabVIEW中主要通過兩種途徑實現(xiàn)。一是利用其外部接口調(diào)用其他軟件或編程代碼;二是利用LabVIEW本身的圖形編程語言編程。由于LabVIEW提供了MatlabScript節(jié)點,可在Matlab script節(jié)點中編輯Matlab程序,并在LabVIEW環(huán)境下運行,而且使用Matlab script節(jié)點實現(xiàn),這樣既能使程序結(jié)構(gòu)清晰,又能提高運算速度。因此可采用Maflab script節(jié)點實現(xiàn)增量式PID控制程序,其表達式為:
式中:k為采樣序列;u(k)為第k次采樣時刻的計算機輸出值:e(k)為第k次采樣時刻輸入的偏差值;e(k一1)為第k一1次采樣時刻輸入的偏差值;KP為比例系數(shù);Ki為積分系數(shù);Kd為微分系數(shù)。
圖5給出增量式PID控制器的程序流程圖。
3.2 下位機軟件設(shè)計
在此,選用AT89S51單片機和C語言編程。AT89S5l單片機自身具有全雙工的異步通信接口,可方便串行通信。通過軟件編程,可用作通用異步接收和發(fā)送器UART,也可用作同步移位寄存器。它的幀格式可有8位、10位和ll位。并能設(shè)置各種波特率,使用靈活方便。圖6給出單片機程序流程圖。在系統(tǒng)初始化時,先令單片機的定時器T1工作于定時方式2,產(chǎn)生串行通信所需的波特率;再令單片機的串行口工作在定時方式l,為10位異步通信方式,即每幀數(shù)據(jù)由1個起始位,8數(shù)據(jù)位,1個停止位構(gòu)成。令A(yù)T89S51單片機的定時器T0工作在定時器模式,用于產(chǎn)生指定的控制周期。在T0的中斷程序中,首先將采集的溫度信息傳輸至上位機,然后上位機利用PID控制算法,求出系統(tǒng)輸出控制量的大小并傳輸至單片機,再由單片機輸出控制量,進而實現(xiàn)實時溫度控制。
4 結(jié)語
利用LabVIEW設(shè)計閣的溫度測控系統(tǒng),它可在計算機上完成被控溫度的實時顯示、直方圖統(tǒng)計顯示及PID控制.還可將采集的溫度數(shù)據(jù)保存到指定的數(shù)據(jù)庫中。以備系統(tǒng)運行中隨時查閱和分析。查詢結(jié)果以表格形式呈現(xiàn),非常方便用戶查看。該系統(tǒng)已用于學(xué)生的教學(xué)試驗中,經(jīng)實驗調(diào)試能達到系統(tǒng)的設(shè)計要求。它與傳統(tǒng)儀器構(gòu)建的系統(tǒng)相比,界面友好,測量精度高,易于擴展。