姚立平 劉偉章 吳文明 姜楊陽(yáng) 唐元梁 雷鵬 譚仲威 王康寧 李桂香 徐飛 吳新社 黃德群 陳軍 顧珩
摘? 要:溫控系統(tǒng)具有時(shí)變性、非線性及純滯后性等特點(diǎn),針對(duì)此問(wèn)題,設(shè)計(jì)了一套基于STM32微控制器為核心的溫控系統(tǒng),下位機(jī)主要負(fù)責(zé)實(shí)時(shí)采集溫度信息與調(diào)節(jié)半導(dǎo)體制冷器TEC的工作功率,同時(shí)通過(guò)串口傳輸溫度信息到計(jì)算機(jī)軟件端,計(jì)算機(jī)軟件端依據(jù)接收當(dāng)前的溫度與設(shè)定的目標(biāo)溫度進(jìn)行溫度調(diào)節(jié),將PID調(diào)節(jié)輸出值發(fā)送給下位機(jī)軟件實(shí)現(xiàn)一次閉環(huán)的溫度調(diào)節(jié)控制。此外,設(shè)計(jì)了一種改進(jìn)的PID溫控算法,主要體現(xiàn)于引入了積分分離、變積分及抗積分飽和等優(yōu)化算法。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的PID控制算法比傳統(tǒng)的PID算法具有系統(tǒng)響應(yīng)速度快、誤差小、穩(wěn)定性高等優(yōu)點(diǎn),在恒溫控制的場(chǎng)合具有一定的應(yīng)用和推廣價(jià)值。
關(guān)鍵詞:溫控系統(tǒng)? STM32微控制器? 半導(dǎo)體制冷器? PID調(diào)節(jié)
中圖分類號(hào):TF325.64 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2021)06(c)-0068-07
Abstract: The temperature control system has the characteristics of time-varying, nonlinear and pure lag. To solve this problem, a temperature control system based on STM32 microcontroller is designed. The lower computer is mainly responsible for collecting temperature information in real time and adjusting the working power of semiconductor cooler TEC. At the same time, the temperature information is transmitted to the computer software through serial port, the computer software adjusts the temperature according to the received current temperature and the set target temperature, and sends the PID adjustment output value to the lower computer software to realize a closed-loop temperature adjustment control. In addition, an improved PID temperature control algorithm is designed, which is mainly reflected in the introduction of optimization algorithms such as integral separation, variable integral and anti integral saturation. The experimental results show that the improved PID control algorithm has the advantages of fast system response, small error and high stability compared with the traditional PID algorithm. It has certain application and popularization value in the occasion of constant temperature control.
Key Words: Temperature control system; STM32 micro-controller; Semiconductor cooler; PID control
溫度控制在科學(xué)實(shí)驗(yàn)和工業(yè)生成過(guò)程中占有重要位置。而PID算法具有穩(wěn)定無(wú)靜差、魯棒性強(qiáng)等優(yōu)點(diǎn),其控制原理相對(duì)簡(jiǎn)單且易于實(shí)現(xiàn),是在溫度控制中應(yīng)用最廣泛、最基本的一種控制方式[1-3]。然而溫控系統(tǒng)具有時(shí)變性、非線性及純滯后性等特點(diǎn)[4-5],常規(guī)的PID算法難以在快速性和高精度上實(shí)現(xiàn)較好的溫控效果。研究發(fā)現(xiàn),在常規(guī)的PID方法中引入積分環(huán)節(jié)的目的主要是為了消除靜態(tài)誤差,提高控制精度[6]。但累積了較大的偏差值,會(huì)引起系統(tǒng)較大的超調(diào)引起系統(tǒng)的不穩(wěn)定;同時(shí),PID控制輸出值由于積分的累加作用而不斷增大,從而進(jìn)入了飽和區(qū),此時(shí)會(huì)造成系統(tǒng)失去控制;此外,常規(guī)的PID方法中的積分系數(shù)是不變的,這樣當(dāng)積分系數(shù)設(shè)置較大時(shí),使得系統(tǒng)產(chǎn)生超調(diào),甚至產(chǎn)生積分飽和;當(dāng)積分系數(shù)設(shè)置較小時(shí),又不能消除靜態(tài)誤差等缺點(diǎn)。因此,本文首先設(shè)計(jì)了一套基于STM32微控制器為核心的溫控系統(tǒng),MAX31865溫度轉(zhuǎn)換電路和四線制的鉑電阻Pt1000負(fù)責(zé)實(shí)時(shí)采集溫度信息,微控制器屏幕顯示當(dāng)前的實(shí)時(shí)溫度和調(diào)節(jié)功率,以及調(diào)節(jié)半導(dǎo)體制冷器TEC的工作功率,同時(shí)通過(guò)串口傳輸溫度信息到計(jì)算機(jī)軟件端;計(jì)算機(jī)軟件端依據(jù)接收當(dāng)前的溫度與設(shè)定的目標(biāo)溫度進(jìn)行溫控算法調(diào)節(jié),將PID調(diào)節(jié)輸出值發(fā)送給下位機(jī)軟件實(shí)現(xiàn)一次閉環(huán)的溫度調(diào)節(jié)控制,同時(shí)能夠顯示實(shí)時(shí)的溫度曲線、溫度梯度曲線及功率曲線。此外,針對(duì)常規(guī)的PID算法的不足,引入了積分分離、變積分及抗積分飽和等優(yōu)化算法,最終較好、較快地實(shí)現(xiàn)了系統(tǒng)溫度控制調(diào)節(jié),可在PCR核酸檢測(cè)、體液循環(huán)模擬、軟組織焊接、血流熱效應(yīng)等領(lǐng)域研究提供較為精準(zhǔn)的加熱及測(cè)控方案。
1? 溫度控制算法
工程上常用的PID算法是長(zhǎng)期的工程實(shí)踐中總結(jié)形成的一種控制方法,具有參數(shù)整定方便、結(jié)構(gòu)改變靈活、魯棒性強(qiáng)和易于實(shí)現(xiàn)等優(yōu)點(diǎn),因此是在溫度控制中應(yīng)用最廣泛、最基本的一種控制方式[7-8]。
1.1 常規(guī)PID算法
具有比例-積分-微分控制規(guī)律的控制器,稱為PID控制器[9-10]??刂破飨到y(tǒng)原理框圖如圖1所示。
由式(5)及算法程序流程圖可知,控制量的確定僅與最近的第k、k-1、k-2次的采樣值相關(guān),所以產(chǎn)生的誤動(dòng)作影響較小,較為容易通過(guò)加權(quán)處理獲得較好的控制效果[11]。
1.2 本文的PID算法
常規(guī)PID中引入積分運(yùn)算主要是為了消除靜態(tài)誤差,提高控制精度。但不加以改進(jìn)控制,積分環(huán)節(jié)會(huì)累積較大的偏差引起系統(tǒng)有較大的超調(diào),導(dǎo)致系統(tǒng)不穩(wěn)定。因此本文引入了積分分離控制方法,即當(dāng)前溫度與設(shè)定的目標(biāo)溫度的偏差值較大時(shí),取消積分作用;當(dāng)偏差值較小時(shí),引入積分控制,以消除靜態(tài)誤差,提高控制精度。積分分離控制算法可表示如下:
常規(guī)PID算法控制輸出值由于積分的累加作用而不斷增大,從而進(jìn)入了飽和區(qū),此時(shí)會(huì)造成系統(tǒng)失去控制,因此本文引入了抗積分飽和的優(yōu)化方法,也就是,給定當(dāng)上下極限值umax、-umax,當(dāng)PID輸出值u(k-1)>umax,只累積負(fù)偏差;當(dāng)PID輸出值u(k-1)<-umax,只累積正偏差,引入這種優(yōu)化方法可以修正控制量長(zhǎng)時(shí)間停留在飽和區(qū)的問(wèn)題。
常規(guī)PID中的積分系數(shù)是不變的,這樣當(dāng)積分系數(shù)設(shè)置較大時(shí),使得系統(tǒng)產(chǎn)生超調(diào),甚至產(chǎn)生積分飽和;當(dāng)積分系數(shù)設(shè)置較小時(shí),又不能消除靜態(tài)誤差等缺點(diǎn)。因此本文引入了變速積分的優(yōu)化方法,其基本思想主要是改變積分項(xiàng)的累加速度,當(dāng)偏差越大,積分則越慢,反之則越快。即:給定變速區(qū)間[f,f+g],則變速系數(shù)表示如下:
可見(jiàn)變速系數(shù)f(e(k))是一個(gè)關(guān)于e(k)的函數(shù),實(shí)現(xiàn)積分項(xiàng)的累加速度隨著誤差值的改變而改變。
2? 基于STM32的溫度控制系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
設(shè)計(jì)的溫控系統(tǒng)是以ARM Cortex?-M7內(nèi)核的STM32F103微處理器為核心[12],使用USB串口通信與計(jì)算機(jī)端進(jìn)行溫度信息和功率信息的傳輸,并基于此編寫了溫控軟件,詳細(xì)介紹如下。
2.1 溫控系統(tǒng)硬件設(shè)計(jì)
溫控系統(tǒng)硬件設(shè)計(jì)框架圖如圖3所示,溫度控制系統(tǒng)硬件結(jié)構(gòu)是以ARM Cortex?-內(nèi)核的STM32F103微處理器為控制核心,采用MAX31865溫度轉(zhuǎn)換電路和四線制的鉑電阻Pt1000進(jìn)行溫度采集,具有體積小、測(cè)量精度高、穩(wěn)定性好等特點(diǎn);具有15bit分辨率的Σ-Δ型ADC,微處理器使用SPI通信獲取實(shí)時(shí)數(shù)字溫度信息;選擇ATE1-TC-127-8AH半導(dǎo)體制冷片作為系統(tǒng)的制冷制熱元件,是一種利用半導(dǎo)體材料構(gòu)成P-N結(jié),形成熱電偶對(duì),產(chǎn)生帕爾貼效應(yīng)的熱電制冷技術(shù)。該制冷片外形尺寸39.7×39.7×3.5,最大輸入電壓為16.2~17.5V;最高升溫溫度可達(dá)200℃,超長(zhǎng)使用壽命,常用于冷熱循環(huán)設(shè)計(jì)系統(tǒng),通過(guò)改變制冷片的電流方向來(lái)實(shí)現(xiàn)制冷片的制冷加熱功能。選擇滿足電壓要求的H橋邏輯控制驅(qū)動(dòng)電路控制不同的電流方向?qū)崿F(xiàn)半導(dǎo)體制冷器的加熱或者是制冷,使用PWM模式驅(qū)動(dòng)半導(dǎo)體制冷器。當(dāng)PWM的控制信號(hào)處于高電平時(shí),此時(shí)半導(dǎo)體制冷器處于運(yùn)行狀態(tài);當(dāng)PWM的控制信號(hào)處于低電平時(shí),此時(shí)半導(dǎo)體制冷器處于停止?fàn)顟B(tài);由此通過(guò)改變PWM的占空比來(lái)控制半導(dǎo)體制冷器的工作時(shí)間,從而控制了半導(dǎo)體制冷器的制冷效率。液晶屏實(shí)時(shí)顯示當(dāng)前的溫度和調(diào)節(jié)功率;同時(shí)具有PID參數(shù)微調(diào)按鍵記錄存儲(chǔ)功能,具有溫度異常檢測(cè)報(bào)警功能和運(yùn)行狀態(tài)的燈指示功能,以及與電腦端之間的USB串口通信功能。
2.2 溫控系統(tǒng)軟件設(shè)計(jì)
基于以上的設(shè)計(jì)的硬件系統(tǒng)和改進(jìn)的PID溫控算法理論,設(shè)計(jì)一款桌面端軟件,溫控系統(tǒng)通過(guò)USB串口通信發(fā)送實(shí)時(shí)的溫度數(shù)據(jù)到軟件端,軟件端根據(jù)當(dāng)前的溫度和設(shè)定的控制溫度進(jìn)行改進(jìn)的PID溫度調(diào)節(jié),將PID控制器的輸出值通過(guò)USB串口發(fā)送給下位機(jī)系統(tǒng),下位機(jī)將其作為PWM的占空比調(diào)節(jié)半導(dǎo)體制冷器的工作功率;此外,軟件端還有實(shí)時(shí)的溫度曲線、功率曲線、溫度梯度曲線顯示功能,基本的運(yùn)行界面如圖4所示。
3? 實(shí)驗(yàn)結(jié)果分析
從常溫27℃下開(kāi)始對(duì)系統(tǒng)進(jìn)行加熱,設(shè)定的目標(biāo)升溫溫度為95℃,使用本文改進(jìn)的PID溫控算法的一次升溫時(shí)間-溫度曲線圖如圖5(a)所示;從溫度為95℃下開(kāi)始對(duì)系統(tǒng)進(jìn)行制冷,設(shè)定的目標(biāo)降溫溫度為65℃,使用本文改進(jìn)的PID溫控算法的一次降溫時(shí)間-溫度曲線圖如圖5(b)所示。
由以上的時(shí)間-溫度響應(yīng)曲線圖可以看出,改進(jìn)的PID溫控算法能夠調(diào)節(jié)溫度使得較快地達(dá)到設(shè)定的目標(biāo)溫度,具有系統(tǒng)響應(yīng)速度快、較好的穩(wěn)定性等優(yōu)點(diǎn)。
圖6顯示了從65℃升溫到95℃,從95℃降溫到65℃的多次升降溫時(shí)間-溫度曲線圖,可以進(jìn)一步看出改進(jìn)的PID溫控算法較為穩(wěn)定和可靠地達(dá)到設(shè)定的目標(biāo)溫度,說(shuō)明了改進(jìn)的溫控算法的有效性。
圖7(a)顯示了從常溫27℃下開(kāi)始對(duì)系統(tǒng)進(jìn)行加熱到目標(biāo)溫度95℃,本文改進(jìn)的PID溫控算法和常規(guī)的位置式PID溫控算法的升溫時(shí)間-溫度曲線圖;圖7(b)顯示了從溫度95℃下開(kāi)始對(duì)系統(tǒng)進(jìn)行制冷到目標(biāo)溫度65℃,本文改進(jìn)的PID溫控算法和常規(guī)的位置式PID溫控算法的降溫時(shí)間-溫度曲線圖;可以看出,本文改進(jìn)的PID溫控算法相對(duì)常規(guī)的位置式PID溫控算法能夠較快地達(dá)到設(shè)定的目標(biāo)溫度,系統(tǒng)溫度達(dá)到穩(wěn)定所用的時(shí)間較少,加快了系統(tǒng)的響應(yīng)速度,同時(shí)能夠較好地控制溫度到設(shè)定的目標(biāo)溫度,控溫穩(wěn)定性高。
圖8顯示了使用本文改進(jìn)的PID溫控算法的多個(gè)升降溫循環(huán)的溫度調(diào)節(jié)曲線、功率調(diào)節(jié)曲線及誤差變化曲線圖,說(shuō)明了系統(tǒng)使用改進(jìn)的PID算法調(diào)節(jié)PWM輸出功率,使得溫度能夠較為快速和較為穩(wěn)定地控制在指定地目標(biāo)溫度下,從圖中的誤差曲線可以看出,系統(tǒng)能夠很好地達(dá)到指定溫度,使得達(dá)到目標(biāo)溫度后誤差曲線基本穩(wěn)定。
為了進(jìn)一步評(píng)估本文改進(jìn)的PID溫控算法的實(shí)際控制效果,采用了誤差平方e2(t)的積分ISE指標(biāo),其定義如下:
表1顯示了位置式PID和本文改進(jìn)的PID溫控算法在升溫過(guò)程、降溫過(guò)程的誤差及平均誤差。可以看出,在升溫過(guò)程中,本文改進(jìn)的PID溫控算法的誤差是27.16,而位置式PID的誤差則達(dá)28.79;在降溫過(guò)程中,本文改進(jìn)的PID溫控算法的誤差是1.32,而常規(guī)的PID的誤差則達(dá)2.16;此外,本文的溫控方法整體平均誤差是14.24,比常規(guī)的PID溫控方法整體地平均誤差15.47要小,說(shuō)明了本文的溫控方法相對(duì)常規(guī)的PID溫控方法能夠更好地達(dá)到指定的目標(biāo)溫度,提高了溫控系統(tǒng)的整體控制精度。
4? 結(jié)語(yǔ)
本文設(shè)計(jì)了一套基于STM32微控制器為核心的溫控系統(tǒng),使用鉑電阻和MAX31865溫度轉(zhuǎn)換電路實(shí)時(shí)采集溫度,使用USB串口與計(jì)算機(jī)軟件端進(jìn)行通信,桌面端軟件根據(jù)接收的當(dāng)前的溫度與設(shè)定的目標(biāo)目標(biāo)溫度進(jìn)行改進(jìn)的PID調(diào)節(jié),接著將PID控制器輸出值使用串口發(fā)送到下位機(jī)調(diào)整了半導(dǎo)體制冷器的工作功率,完成了一次環(huán)的溫度調(diào)節(jié)控制。此外,下位機(jī)控制系統(tǒng)具有實(shí)時(shí)溫度、功率的顯示功能,具有PID參數(shù)微調(diào)按鍵記錄存儲(chǔ)功能、溫度異常檢測(cè)報(bào)警功能和運(yùn)行狀態(tài)的燈指示功能;上位機(jī)軟件具有能夠顯示實(shí)時(shí)的溫度曲線、溫度梯度曲線及功率曲線等功能;設(shè)計(jì)了一種改進(jìn)的PID溫控算法,主要體現(xiàn)于引入了積分分離、變積分及抗積分飽和等優(yōu)化算法;實(shí)驗(yàn)結(jié)果表明,改進(jìn)的PID控制算法比常規(guī)的PID算法具有系統(tǒng)響應(yīng)速度快、誤差小、穩(wěn)定性高等優(yōu)點(diǎn),提高了系統(tǒng)的整體性能,具有一定的實(shí)際應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 李碩,王代強(qiáng).基于TEC的高精度溫控系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2020,39(5):97-99.
[2] 曹法立,付遠(yuǎn)明,吳江濤.基于多級(jí)積分分離PID算法的溫度控制系統(tǒng)[J].控制工程,2017,24(6):1107-1112.
[3] 葉晟季.磁懸浮列車懸浮控制器設(shè)計(jì)[J].科技資訊,2014,12(25):91-93.
[4] 肖伸平,王瑩,周金峰,等.基于蟻群算法的真空燒結(jié)爐最優(yōu)PID溫控系統(tǒng)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(2):312-314,337.
[5] 汪靈,葉會(huì)英,趙聞.半導(dǎo)體激光器溫度控制系統(tǒng)設(shè)計(jì)與算法仿真[J].儀表技術(shù)與傳感器,2013(5):95-98.
[6] 李亞軍,許萍.流量計(jì)標(biāo)定裝置控制系統(tǒng)[J].科技資訊,2019,17(12):54-55.
[7] 王朝軍.PID控制技術(shù)在鼓風(fēng)機(jī)變頻調(diào)速系統(tǒng)中的應(yīng)用[J].科技資訊,2019,17(9):37-38.
[8] 孫潤(rùn)喜.恒壓控制系統(tǒng)方法及變頻恒壓控制系統(tǒng)的優(yōu)勢(shì)[J].科技資訊,2020,18(15):35-36,38.
[9] 高繼昆.基于繼電反饋PID自整定控制算法的環(huán)境溫控系統(tǒng)實(shí)現(xiàn)[J].電子器件,2019,42(3):679-683.
[10] 唐玉紅.PID控制方法研究[J].電子世界,2019(7):65-66.
[11] 侯進(jìn)旺,馮欣悅,化雪薈.基于單片機(jī)的微球腔溫度控制系統(tǒng)的設(shè)計(jì)[J].電子器件,2016,39(4):768-773.
[12] 聶宵,徐廣平,房孝俊.基于STM32的高精度溫度控制系統(tǒng)設(shè)計(jì)[J].激光與紅外,2020,50(1):107-110.