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