蘇力,雷瑛
(1.西安航空學(xué)院 電子工程學(xué)院,陜西 西安 710077; 2.西安交通工程學(xué)院 機(jī)械工程學(xué)院,陜西 西安 710300)
溫度作為工業(yè)生產(chǎn)過(guò)程中最重要的參數(shù)之一,對(duì)絕大多數(shù)化學(xué)及物理反應(yīng)有著決定性作用,直接影響反應(yīng)的成敗,從而決定了生產(chǎn)工藝的好壞以及產(chǎn)品質(zhì)量的高低,甚至決定了生產(chǎn)過(guò)程的安全問(wèn)題。因此如何對(duì)溫度進(jìn)行精確檢測(cè)和控制也成為人類不斷研究探索的領(lǐng)域[1-5]。
溫度控制的核心問(wèn)題便是溫度控制環(huán)節(jié)控制算法的設(shè)計(jì)。在控制溫度過(guò)程中,由于被控對(duì)象的本質(zhì)屬性及其所處外界環(huán)境等各種因素的影響,設(shè)計(jì)一個(gè)通用的溫度控制系統(tǒng)是十分艱難的[6-7]。國(guó)內(nèi)武漢新美亞科技開(kāi)發(fā)公司推出的開(kāi)放式面板數(shù)字溫控器5 R 7-570,通過(guò)LED顯示屏顯示當(dāng)前溫度(4位數(shù))并可遠(yuǎn)程設(shè)置目標(biāo)溫度和旋鈕刻度盤(pán),制冷制熱模式可通過(guò)LED顏色加以區(qū)分,具有斷路保護(hù)的功能,其溫控范圍為20~150 ℃,誤差范圍為±0.1 ℃[8]。成都業(yè)賢科技有限公司生產(chǎn)的TCM系列溫控模塊,延長(zhǎng)了制冷片的壽命并提高了穩(wěn)定性[9-12]。
在合理設(shè)計(jì)恒溫箱的機(jī)械結(jié)構(gòu),減弱外界環(huán)境溫度變化對(duì)箱內(nèi)溫度的影響的基礎(chǔ)上,設(shè)計(jì)高精度溫度測(cè)量與控制系統(tǒng),其主要功能是根據(jù)上位機(jī)發(fā)送的指令精確控制恒溫箱內(nèi)的溫度,使溫度波動(dòng)范圍在目標(biāo)溫度±0.02 ℃內(nèi)。系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
圖1中溫度測(cè)量環(huán)節(jié)主要包括兩部分:①溫度傳感器,將溫度值轉(zhuǎn)化為電壓信號(hào),以便后續(xù)器件識(shí)別和轉(zhuǎn)換;②A/D轉(zhuǎn)換電路,將所得電壓信號(hào)轉(zhuǎn)換為相應(yīng)的數(shù)字信號(hào),以供控制器運(yùn)算和處理。
系統(tǒng)的軟件部分采用C語(yǔ)言編寫(xiě),以嵌入式操作系統(tǒng)μC/OSII為基礎(chǔ)進(jìn)行擴(kuò)展開(kāi)發(fā)。軟件系統(tǒng)主要可分為溫度測(cè)量、溫度控制和通信模塊三個(gè)部分,其組成如圖2所示。
圖2 軟件系統(tǒng)組成框圖
溫度信號(hào)的精確測(cè)量對(duì)后續(xù)的溫度控制等至關(guān)重要,溫度測(cè)量部分主要由信號(hào)采集和數(shù)字濾波兩部分組成,包括校準(zhǔn)溫度傳感器的阻值,編寫(xiě)A/D轉(zhuǎn)換器的讀寫(xiě)函數(shù)以及數(shù)字濾波算法等。信號(hào)采集的過(guò)程可由圖3表示。
圖3 信號(hào)采集流程圖
恒溫箱內(nèi)的溫度場(chǎng)受到外界環(huán)境溫度,箱內(nèi)空氣對(duì)流情況,以及加熱或制冷元件工作功率等因素的綜合影響,是一個(gè)典型的非線性系統(tǒng)。溫度控制過(guò)程中,加熱或制冷效果充滿整個(gè)箱內(nèi)空間也需要一定的時(shí)間,恒溫箱溫度控制具有一定的滯后性,提前做出預(yù)測(cè)可以進(jìn)行超前控制,削弱滯后性。本文正是從這兩方面出發(fā),利用BP神經(jīng)網(wǎng)絡(luò)算法設(shè)計(jì)出恒溫箱溫度預(yù)測(cè)系統(tǒng)。經(jīng)過(guò)多次嘗試后,最終確定本預(yù)測(cè)系統(tǒng)神經(jīng)元個(gè)數(shù)為7個(gè)。溫度預(yù)測(cè)系統(tǒng)的輸入輸出如表1所示。
表1 溫度預(yù)測(cè)系統(tǒng)的輸入輸出
確定BP網(wǎng)絡(luò)隱含層激活函數(shù)f為L(zhǎng)og-Sigmoid函數(shù),最終,本文采用的溫度預(yù)測(cè)系統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型,如圖4所示。
圖4 恒溫箱溫度預(yù)測(cè)系統(tǒng)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
將輸入數(shù)據(jù)映射到[-1,1]之間,此步驟稱為歸一化處理,是為了便于后續(xù)對(duì)數(shù)據(jù)的運(yùn)算和處理,達(dá)到提高訓(xùn)練效果的目的,歸一化處理公式如式(1):
(1)
式中:x為原始數(shù)據(jù);y為歸一化后的數(shù)據(jù);xmax和xmin分別為原始數(shù)據(jù)的最大值和最小值。
神經(jīng)網(wǎng)絡(luò)相關(guān)參數(shù)確定后,利用MATLAB實(shí)現(xiàn)BP算法,訓(xùn)練數(shù)據(jù)直至達(dá)到性能指標(biāo)要求,從而建立溫控系統(tǒng)的預(yù)測(cè)模型。BP神經(jīng)網(wǎng)絡(luò)的性能指標(biāo)用式(2)表示。
(2)
式中:EN為N個(gè)樣本在網(wǎng)絡(luò)中的總誤差;tnk為第n個(gè)樣本的第k維對(duì)應(yīng)標(biāo)準(zhǔn)值;onk為第n個(gè)樣本的第k維網(wǎng)絡(luò)輸出值。
選擇Levenberg-Marquardt算法對(duì)本BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,此時(shí)網(wǎng)絡(luò)權(quán)值和偏置值的調(diào)整公式為:
(3)
式中:k為迭代次數(shù);xk和xk+1分別為當(dāng)前的權(quán)值或偏置值以及迭代產(chǎn)生下一次的權(quán)值或偏置值;Δxk為網(wǎng)絡(luò)權(quán)值或偏置值的調(diào)整量;Je為雅可比矩陣;λ為調(diào)整系數(shù);I為單位矩陣;e為網(wǎng)絡(luò)誤差向量。
選擇溫度范圍較大的500組樣本數(shù)據(jù)并進(jìn)行歸一化處理,訓(xùn)練樣本占比70%,測(cè)試樣本占比15%,剩余15%為驗(yàn)證樣本,設(shè)置訓(xùn)練步數(shù)為1 000步,最大性能誤差為10-7。
為驗(yàn)證BP網(wǎng)絡(luò)預(yù)測(cè)訓(xùn)練結(jié)果準(zhǔn)確性,將20組數(shù)據(jù)作為驗(yàn)證樣本。圖5為預(yù)測(cè)溫度曲線圖,圖6為絕對(duì)誤差變化圖。經(jīng)計(jì)算可知,預(yù)測(cè)溫度的絕對(duì)誤差的最大值為0.237 20 ℃,平均值為0.102 71 ℃,均方差為0.063 96 ℃。從預(yù)測(cè)結(jié)果來(lái)看,箱內(nèi)溫度的預(yù)測(cè)可以通過(guò)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型來(lái)實(shí)現(xiàn)。
圖5 BP網(wǎng)絡(luò)預(yù)測(cè)值與實(shí)際值比較
圖6 預(yù)測(cè)值與實(shí)際值的絕對(duì)誤差
(1)基于上述恒溫箱箱內(nèi)情況和高精度的控制要求,系統(tǒng)采用STM 32 F 103系列芯片作為主控制器,基于C語(yǔ)言在Keil平臺(tái)實(shí)現(xiàn)。
(2)將由外界環(huán)境溫度經(jīng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)并計(jì)算得到的溫度變化率作為模糊控制的其中一維輸入,使控制器具有超前控制的作用。
(3)預(yù)測(cè)溫度的絕對(duì)誤差的最大值為0.237 20 ℃,平均值為0.102 71 ℃,均方差為0.063 96 ℃。從預(yù)測(cè)結(jié)果來(lái)看,箱內(nèi)溫度的預(yù)測(cè)可以通過(guò)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型來(lái)實(shí)現(xiàn)。