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