夏玉發(fā) 郭曉學(xué) 劉宇紅
摘要:在多個(gè)領(lǐng)域都會(huì)用到恒溫控制系統(tǒng),設(shè)計(jì)一種基于變速積分PID的恒溫控制系統(tǒng),系統(tǒng)以STM32為核心處理器。該文講述了系統(tǒng)的構(gòu)成,分析了變速積分PID算法,并在恒溫控制系統(tǒng)中得到運(yùn)用。經(jīng)過長時(shí)間的調(diào)試,得到合適的PID系數(shù),使得系統(tǒng)的控制精度達(dá)到±0.01℃/30min。系統(tǒng)具有性能穩(wěn)定,可靠性高的優(yōu)點(diǎn)。
關(guān)鍵詞:恒溫控制系統(tǒng);變速積分PID;STM32
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)16-3921-02
Abstract: The constant temperature control system is used in many fields, so we design a constant temperature control system, which is based on Gearshift Integral PID. The system uses STM32 as the core processor. This paper describes the system structure, analyzes the gearshift integral PID algorithm and uses it in the constant temperature control system. After a long time of debugging, I get the suitable PID coefficients, and make the control precision of the system reaches ±0.01℃/30min.The system has stable performance, high reliability.
Key words: The constant temperature control system; Gearshift integral PID; STM32
恒溫控制系統(tǒng)主要是用來控制溫度,它在工業(yè)控制、農(nóng)業(yè)研究、生物技術(shù)等方面得到廣泛應(yīng)用。系統(tǒng)以ST公司的ARM Cortex-M3系列微處理器STM32為核心處理器,介紹了系統(tǒng)的設(shè)計(jì)方案,分析了PID的控制部分。PID(proportion-integration –differentiation,比例-積分-微分)控制具有良好的魯棒性,結(jié)構(gòu)比較簡單,在恒溫控制中的起到非常重要的作用。然而由于控制的復(fù)雜性,對于特定的系統(tǒng)要根據(jù)實(shí)際情況對PID算法改進(jìn),以達(dá)到精確控制的目的。
1 控制系統(tǒng)的設(shè)計(jì)
恒溫控制系統(tǒng)對溫度的控制是通過脈沖寬度調(diào)制PWM來實(shí)現(xiàn)的。在PWM的波形幅值為高電平時(shí),可控硅導(dǎo)通,加熱絲加熱;PWM的波形幅值為低電平時(shí),可控硅不導(dǎo)通,加熱絲停止加熱;從而實(shí)現(xiàn)恒溫控制。恒溫控制系統(tǒng)的溫控范圍為-50~200℃。在-50~10℃的范圍內(nèi)用酒精介質(zhì),在10℃~90℃的范圍內(nèi)用水介質(zhì),90℃~200℃的范圍內(nèi)用硅油為介質(zhì)。
恒溫控制系統(tǒng)由STM32核心處理模塊、溫度采集模塊、PID控制模塊、TFT觸摸屏模塊、恒溫槽組成。系統(tǒng)控制總體框圖如圖1所示。
STM32核心處理模塊以ST公司的ARM Cortex-M3系列微處理器高容量芯片STM32F103VET6為主芯片,用來實(shí)現(xiàn)PID算法、輸出PWM控制波形、驅(qū)動(dòng)TFT觸摸屏顯示溫度的及實(shí)現(xiàn)人機(jī)交互。
溫度采集模塊由熱敏電阻Pt100,24位高精度模數(shù)轉(zhuǎn)換器AD7793等組成。高精度恒流源流過熱敏電阻Pt100,用四線制接法連接熱敏電阻Pt100兩端與AD7793的模擬通道一。AD7793采集熱敏電阻Pt100電阻兩端電壓,并送到STM32中,把電壓值轉(zhuǎn)換化為電阻值。根據(jù)Pt100電阻值隨溫度變化的特性,測量出溫度的值。采用的模數(shù)轉(zhuǎn)換器是24位高精度模數(shù)轉(zhuǎn)換器AD7793,使溫度的測量精度精度達(dá)到了±0.002℃,這保證了在PID的控制中溫度采集的準(zhǔn)確性。
PID控制模塊將STM32核心處理模塊輸出PWM波形與普通市電相位角相匹配完成對雙向可控硅的有效控制,通過完成可控硅的適時(shí)通斷操作,迅速將PWM波形反映到加熱絲的通斷上,實(shí)現(xiàn)對溫度的控制。
恒溫槽由加熱絲、攪拌器、制冷機(jī)等部分組成。用它來實(shí)現(xiàn)具體的加熱和制冷。
2 變速積分PID控制
在傳統(tǒng)的PID算法中,積分系數(shù)[KI]是一個(gè)定值。然而在恒溫控制系統(tǒng)的控制中被調(diào)量接近設(shè)定值時(shí),由于積分系數(shù)為定值,積分累加量相對來說很大,很容易出現(xiàn)超調(diào)。因此要在被調(diào)量接近設(shè)定值時(shí)減小積分的作用,以免導(dǎo)致超調(diào)。這就要求在被調(diào)量接近設(shè)定值時(shí)[KI]要適當(dāng)減小。進(jìn)而實(shí)現(xiàn)改變積分項(xiàng)的累加速度,讓它能與偏差的大小相對應(yīng),保證偏差越大,積分越慢,偏差越小,積分越快。
為此設(shè)定系數(shù)[fe(n)] ,它是偏差[e(n)]的函數(shù)。當(dāng)[e(n)]增大時(shí),[fe(n)]減小,反之增大。變速積分的增量表達(dá)式:
[Δu=KPΔe(n)+fe(n)KIe(n)+KDΔe1(n)] (1)
系數(shù)[fe(n)]與偏差[e(n)]的關(guān)系可以是線性的也可以是非線性的。設(shè)定兩個(gè)參數(shù)A、B,(1)當(dāng)[e(n)≤B]時(shí),[fe(n)]=1;
2) 當(dāng)[B 3) 當(dāng)[e(n)>A+B]時(shí),[fe(n)]=0。 [fe(n)]值在[0,1]區(qū)間內(nèi)變化,當(dāng)[e(n)]大于給定的區(qū)間A+B時(shí)[fe(n)]=0,此時(shí)積分系數(shù)為0;當(dāng)[e(n)]小于等于B時(shí)[fe(n)]=1,此時(shí)積分系數(shù)為[KI],當(dāng)[e(n)]處于區(qū)間[B,A+B]時(shí),[fe(n)]隨[e(n)]的變化而變化。 3 軟件編程實(shí)現(xiàn) 軟件部分運(yùn)用C語言,在軟件平臺(tái)keil上編程實(shí)現(xiàn)。運(yùn)用if… else if… else語句實(shí)現(xiàn)PID算法。程序編譯完成后,通過JATG燒寫到STM32中實(shí)現(xiàn)對系統(tǒng)的控制,進(jìn)而達(dá)到對溫度控制的目的。 4 實(shí)際調(diào)試分析 經(jīng)過長時(shí)間的調(diào)試,不斷調(diào)節(jié),選取適當(dāng)?shù)膮?shù),進(jìn)行速積分PID控制恒溫槽。表1是記錄的每30分鐘內(nèi)溫度波動(dòng)部分的重復(fù)性實(shí)驗(yàn)結(jié)果,表2是不同溫度值在每30分鐘內(nèi)溫度波動(dòng)的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)結(jié)果表明,這比常規(guī)PID效果要好得多,能把波動(dòng)控制在[±]0.01℃/30min以內(nèi)。 5 結(jié)束語 設(shè)計(jì)了一種恒溫控制系統(tǒng),運(yùn)用變速積分PID實(shí)現(xiàn)對溫度的控制,選擇適當(dāng)?shù)目刂茀?shù),實(shí)現(xiàn)對溫度的實(shí)時(shí)控制,得到了比較理想的效果。 參考文獻(xiàn): [1] 潘文誠.精密低溫恒溫槽溫度控制器[J].自動(dòng)化儀表,2004(3) :34-37. [2] 邊麗華. PID控制器參數(shù)自整定方法的研究與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2009. [3] 牛宏俠,侯濤.變速積分PlD控制在二容水箱系統(tǒng)的實(shí)驗(yàn)研究[J].工業(yè)控制與應(yīng)用,2012,31(9):4-6. [4] 劉俊偉.一種高精度恒溫槽溫度控制系統(tǒng)[J].電腦知識(shí)與技術(shù),2012(22): 5482-5487.