姚立平 ,劉偉章 ,吳文明 ,姜楊陽 ,雷 鵬 ,譚仲威 ,王康寧 ,李桂香 ,徐 飛 ,唐元梁 ,吳新社 ,黃德群 ,陳 軍 ,顧 珩
(1.廣東省科學(xué)院健康醫(yī)學(xué)研究所,廣東 廣州 510500;2.華南農(nóng)業(yè)大學(xué) 數(shù)學(xué)與信息學(xué)院,廣東 廣州 510642)
隨著科學(xué)技術(shù)的進步及工業(yè)的發(fā)展,溫度測控技術(shù)占有很大的促進作用[1]。由于溫控系統(tǒng)具有時變性、非線性及純滯后性等特點,因此精確的數(shù)學(xué)模型無法建立,PID 控制算法因為其控制原理簡單、穩(wěn)定性好、調(diào)整方便、容易實現(xiàn)等優(yōu)點,越來越多在工業(yè)控制領(lǐng)域應(yīng)用[2-3]。由于采集的實時系統(tǒng)溫度攜帶著干擾噪聲,因此本文引入了三階離散濾波器對輸入信號進行濾波,提高了PID控制方法的抗干擾能力;同時,設(shè)計了一款以STM32 為控制核心的閉環(huán)溫度控制系統(tǒng)。使用四線制的鉑電阻Pt1000 和MAX31865 的溫度采集電路;使用半導(dǎo)體制冷器TEC 和H 橋驅(qū)動器構(gòu)成溫度升降調(diào)節(jié)模塊,采集的實時溫度使用USB 串口通信傳輸?shù)缴衔粰CPC端,上位機軟件依據(jù)當(dāng)前的實時溫度與設(shè)定的溫度使用引入濾波的PID 調(diào)節(jié),將PID 輸出值反饋到下位機系統(tǒng)中,同時上位機軟件具有實時的溫度曲線、調(diào)節(jié)的功率曲線以及溫度梯度曲線顯示,下位機具備液晶屏顯示、聲光指示及按鍵存儲等功能。
本文所設(shè)計的溫度控制系統(tǒng)總體結(jié)構(gòu)包括硬件和軟件部分,如圖1 所示。在硬件組成方面,該套系統(tǒng)選取性能更為強大的ARM Cortex?-M7 內(nèi)核的STM32F103 微處理器為控制核心[4];由于傳統(tǒng)的數(shù)字溫度傳感器如DS18B20 存在著精度低、響應(yīng)速度慢、穩(wěn)定性一般等問題[5],而鉑電阻Pt1000 具有體積小、測量精度高、穩(wěn)定性好等優(yōu)點[6],因此采用四線制的鉑電阻Pt1000 和MAX31865構(gòu)成的模塊采集系統(tǒng)溫度。其中采用的MAX31865 模塊含有15 bit 高分辨率的Σ-Δ 型ADC,能夠?qū)t1000 采集的模擬信號高精度地轉(zhuǎn)換為數(shù)字信號[7]。選用半導(dǎo)體制冷器ATE1-TC-127-8AH 作為系統(tǒng)的循環(huán)冷熱元件,它是一種利用半導(dǎo)體材料構(gòu)成P-N結(jié),形成熱電偶對,產(chǎn)生帕爾貼效應(yīng)的熱電制冷技術(shù)[8]。H 橋驅(qū)動器改變TEC半導(dǎo)體兩端的電流方向從而實現(xiàn)系統(tǒng)的制冷或加熱效果,同時使用PWM 調(diào)節(jié)即通過產(chǎn)生不同時間的高低電平使得半導(dǎo)體制冷器處于開關(guān)狀態(tài),設(shè)置其PWM 的占空比來控制半導(dǎo)體制冷器的工作時間,因而控制了半導(dǎo)體制冷器的制冷效率。上位機軟件通過USB 通信方式獲取實時的溫度信息和系統(tǒng)的運行狀態(tài),并根據(jù)設(shè)定的溫度和當(dāng)前的溫度進行引入濾波的PID 控制調(diào)節(jié),計算得到的PID 輸出值通過USB 串口發(fā)送到下位機軟件,并作為PWM 的占空比調(diào)節(jié)系統(tǒng)的功率,使得系統(tǒng)達到指定的溫度,實現(xiàn)了一次閉環(huán)的溫度調(diào)節(jié)控制;此外,下位機系統(tǒng)具有運行指示燈和聲音提示功能,液晶屏顯示當(dāng)前的運行狀態(tài)和溫度信息;上位機軟件具有實時的溫度曲線、功率曲線以及誤差曲線顯示功能。圖2 顯示實際測得的系統(tǒng)40 個升降溫循環(huán)的實時的溫度曲線、功率曲線及誤差梯度曲線圖??梢娫撓到y(tǒng)能夠穩(wěn)定實現(xiàn)升降溫切換,同時能有效地在升溫過程中控制溫度在95 ℃,降溫過程控制溫度在65 ℃,具有系統(tǒng)響應(yīng)速度快、超調(diào)量小、誤差小等優(yōu)點。
圖1 系統(tǒng)總體結(jié)構(gòu)
圖2 系統(tǒng)PC 端升降溫循環(huán)曲線顯示
常規(guī)的PID 控制器由比例單元(P)、積分單元(I)和微分單元(D)組成[9]。其中,比例運算單元是按比例反映系統(tǒng)的偏差,比例系數(shù)越大,調(diào)節(jié)的速度越快,但過大的比例系數(shù)會造成系統(tǒng)的穩(wěn)定性下降;積分運算單元的引入是為了消除系統(tǒng)的穩(wěn)態(tài)誤差,提高無差度,積分時間常數(shù)越小,積分作用越強;微分運算單元是反映系統(tǒng)偏差的變化率,能夠產(chǎn)生超前的控制作用,因此可改善系統(tǒng)的動態(tài)性能。離散的PID 控制器表達式如式(1)所示[10]:
其中:k 為采樣序列號,u(k)為第k 個的PID 調(diào)節(jié)輸出值,e(k)為第k 個的輸入溫度偏差值,e(k-1)為第k-1 次采樣時刻的輸入溫度偏差值,Kp為比例系數(shù),TI為積分系數(shù),TD為微分系數(shù)。
在溫度控制系統(tǒng)中,由于常規(guī)的PID調(diào)節(jié)控制原理簡單,容易實現(xiàn),穩(wěn)態(tài)無靜差,因此廣泛用于工業(yè)過程控制中,并取得了良好的控制效果,但也存在它的局限性和不足,因此為了提高PID 的適應(yīng)能力,提出了許多改進的PID 控制方法[11-12]。
為了加快溫度調(diào)節(jié)的時間,引入了Bang-Bang 控制方法[13],即當(dāng)溫度偏差e(k)大于閾值u0時,則使用Bang-Bang控制方法,系統(tǒng)滿功率運行,加快系統(tǒng)輸出量的收斂速度;當(dāng)溫度偏差e(k)不大于閾值u0時,則進行PID 溫度調(diào)節(jié)。步進式PID 控制算法[14]是采用步進式積分分離PID控制,使得信號一步一步逼近系統(tǒng)的設(shè)定信號,使得系統(tǒng)平穩(wěn),避免系統(tǒng)產(chǎn)生超調(diào),但存在系統(tǒng)響應(yīng)速度慢等缺點。在常規(guī)的PID 方法中引入積分環(huán)節(jié)的目的主要是為了消除靜態(tài)誤差,提高控制精度,但累積了較大的偏差值會引起系統(tǒng)較大的超調(diào),從而引起系統(tǒng)的不穩(wěn)定,因此改變積分項的累加速度,即當(dāng)偏差越大時,積分則越慢,反之則越快,實現(xiàn)積分項的累加速度隨著誤差值的改變而改變[15]。在PID 控制器中引入的微分調(diào)節(jié)能夠加快系統(tǒng)的調(diào)節(jié)速度,但同時也引入了高頻干擾,引入的微分先行方法可以對高頻信號進行濾波,減少系統(tǒng)不穩(wěn)定[16]。
由于采集的實時系統(tǒng)溫度會攜帶著干擾噪聲,因此本文采用引入濾波的PID 控制方法。為了保證濾波后幅值不變,設(shè)計的三階離散濾波器為:
其中,系數(shù)a1、a2滿足2a1+a2=1。
設(shè)輸入溫度信號為y(t),設(shè)定的目標(biāo)溫度值為yr(t),連續(xù)的PID 控制方程如下:
其中,f(z)為引入的三階濾波器,*為卷積運算。
圖3 系統(tǒng)的仿真響應(yīng)虛線圖
改變半導(dǎo)體制冷片兩端的電流,使得系統(tǒng)處于加熱升溫或著制冷降溫模式,圖4 表示引入濾波的PID 控制算法后系統(tǒng)的時間-溫度曲線圖;圖4(a)顯示的是系統(tǒng)從常溫30 ℃開始加熱升溫,設(shè)定的升溫穩(wěn)定溫度為95 ℃的時間-溫度曲線圖,圖4(b)顯示的是系統(tǒng)從高溫95 ℃下制冷降溫到設(shè)定的穩(wěn)定溫度65 ℃的時間-溫度曲線圖。
由圖4(a)和圖4(b)可知,引入濾波的PID 控制方法能夠使得系統(tǒng)較為穩(wěn)定地升溫或者降溫到設(shè)定的目標(biāo)溫度,具有系統(tǒng)響應(yīng)速度快、超調(diào)量小、控制精度較高等特點。圖5 顯示了系統(tǒng)多次升溫到指定溫度95 ℃和系統(tǒng)多次降溫到指定的溫度65 ℃的時間-溫度曲線圖,可以看到引入濾波的PID 控制算法能夠使得系統(tǒng)多次穩(wěn)定地達到設(shè)定的溫度,并保持在設(shè)定的溫度附近,系統(tǒng)的誤差較小,控制精度較高,提高了系統(tǒng)的溫度調(diào)控性能。
圖5 系統(tǒng)多個升/降溫時間-溫度曲線圖
系統(tǒng)多個升降溫循環(huán)的溫度調(diào)節(jié)曲線、功率調(diào)節(jié)曲線及誤差變化曲線如圖6 所示。可以看出,引入濾波的PID 控制方法能夠依據(jù)當(dāng)前的溫度和設(shè)定的溫度進行調(diào)節(jié)輸出PID 功率值,進而調(diào)節(jié)系統(tǒng)的PWM 的占空比,使得系統(tǒng)能夠可靠穩(wěn)定地調(diào)節(jié)到指定的溫度下;同時,在溫度調(diào)節(jié)穩(wěn)定時,誤差曲線基本保持不變,使得誤差控制在小范圍之內(nèi),進一步提高了系統(tǒng)的溫度調(diào)控性能。
圖6 系統(tǒng)溫度調(diào)節(jié)、功率調(diào)節(jié)及誤差變化曲線
為了進一步探究引入濾波的PID 控制方法在溫控系統(tǒng)的良好的適應(yīng)性性能,本文還分析了結(jié)合Bang-Bang的PID 溫控算法、引入微分先行的PID 溫控算法、步進式PID 溫控算法及變積分PID 溫控算法的性能,各自的升溫時間-溫度曲線圖和降溫時間-溫度曲線圖分別如圖7(a)和如圖7(b)所示。
由圖7(a)和圖7(b)可以看出,各個改進的PID 控制算法都能使得系統(tǒng)從常溫30 ℃加熱升溫到設(shè)定的高溫溫度95 ℃,或者從高溫95 ℃制冷降溫到低溫溫度65 ℃。但可以明顯地看出,相對于其他的溫度控制方法,引入濾波的PID 控制方法在溫度調(diào)控方面系統(tǒng)響應(yīng)速度快,且較為穩(wěn)定可靠地到達指定的溫度附近且保持不變,提高了溫控系統(tǒng)的性能,進一步說明了基于濾波器的PID控制方法在溫控系統(tǒng)的有效性。
圖7 系統(tǒng)時間-溫度比較曲線圖
令設(shè)定溫度和調(diào)節(jié)穩(wěn)定溫度之間的溫度差為e(t),本文也使用了溫度誤差平方e2(t)的積分平均ISE 指標(biāo)[17]來進一步量化評估該算法的性能。表達式如下:
結(jié)合Bang-Bang 的PID 控制算法、引入微分現(xiàn)行的PID、步進式PID、積分式PID 及本文引入濾波的PID 等各控制算法在升溫過程、降溫過程及總過程ISE 指標(biāo)值如表1 所示??梢钥闯觯谏仙^程,引入濾波的PID 控制方法僅有20.169,而結(jié)合Bang-Bang 的PID、引入微分先行的PID、步進式PID 和積分式PID 都分別達20.633、21.546、20.796 和20.897;另外,在降溫過程,引入濾波的PID 控制方法系統(tǒng)的誤差評估為7.559,而結(jié)合Bang-Bang 的PID、引入微分先行的PID、步進式PID 和積分式PID 分別為7.478、7.304、7.294、9.108,引入濾波的系統(tǒng)平均誤差評估為13.864,而結(jié)合Bang-Bang 的PID 為14.055,引入微分先行PID 為14.425,步進式PID 為14.045,而積分式PID 為15.002。因此,總體上,引入濾波的PID 控制方法控制系統(tǒng)的誤差要優(yōu)于其他的PID控制方法,特別是升溫過程中特別明顯,改善了溫控系統(tǒng)的整體控制精度,具有一定的工程溫度調(diào)控應(yīng)用。
表1 多種PID 溫度控制算法的誤差對比
本文使用了高性能、處理速度快的ARM Cortex?-M7內(nèi)核的STM32F103 微處理器為溫控系統(tǒng)的控制核心,使用了測量精度高、穩(wěn)定性好的鉑電阻Pt1000 來采集系統(tǒng)的溫度,使用了半導(dǎo)體制冷器和H 橋驅(qū)動電路來實現(xiàn)系統(tǒng)的升降溫以及使用PWM 來調(diào)節(jié)系統(tǒng)的功率;此外,還設(shè)計了一套PC 端的上位機軟件,專門負責(zé)引入濾波的PID 控制算法處理分析以及實時的溫度曲線、功率曲線、誤差變化曲線實時顯示;同時對系統(tǒng)運行狀態(tài)控制功能,上位機軟件和下位機控制系統(tǒng)通過USB 串口進行通信。由于采集的實時系統(tǒng)溫度攜帶著干擾噪聲,為了提高了PID 控制方法的抗干擾能力,本文引入了三階離散濾波器對輸入信號進行了濾波。通過對溫控系統(tǒng)仿真分析和使用多種PID 控制方法在溫控系統(tǒng)的性能比較分析,結(jié)果表明引入濾波的PID 算法的溫控效果要優(yōu)于其他的PID 溫度控制方法,如結(jié)合Bang-Bang PID、引入微分先行PID、步進式PID 及積分式PID 等;能夠有效地去除調(diào)節(jié)過程地抖動信號,具有系統(tǒng)響應(yīng)速度快、超調(diào)量小、控制精度高等優(yōu)點,在工程溫度控制方面具有一定的實用價值和應(yīng)用價值。