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