基于AT89C52單片機(jī)模糊PID的電阻爐溫度控制系統(tǒng)
電阻爐是熱處理工業(yè)中常用的設(shè)備,具有大滯后、參數(shù)時(shí)變、非線性等特點(diǎn)。各個(gè)領(lǐng)域?qū)﹄娮锠t溫度控制的精度、穩(wěn)定性、可靠性要求越來越高。提高該類對(duì)象的控制品質(zhì)具有廣泛的應(yīng)用價(jià)值。常規(guī)PID控制算法簡(jiǎn)單、易于實(shí)現(xiàn),適用于可建立精確數(shù)學(xué)模型的確定性控制系統(tǒng)。而實(shí)際工業(yè)生產(chǎn)過程往往具有非線性和時(shí)變性,難以建立精確的數(shù)學(xué)模型,因此常規(guī)PID控制器不能達(dá)到理想的控制效果。模糊控制不需要被控對(duì)象的精確數(shù)學(xué)模型,而且控制靈活、魯棒性強(qiáng),但模糊控制器的積分作用較弱,導(dǎo)致系統(tǒng)的動(dòng)態(tài)品質(zhì)較差。將模糊控制和PID控制兩者結(jié)合起來的復(fù)合型控制器,對(duì)復(fù)雜控制系統(tǒng)具有良好的控制效果。
文中在深入研究先進(jìn)PID控制理論及其智能優(yōu)化控制策略的基礎(chǔ)上,以電阻爐為被控對(duì)象,建立一種溫度控制系統(tǒng)。由前端溫度傳感器及溫度檢測(cè)模塊實(shí)時(shí)檢測(cè)電阻爐溫度,并轉(zhuǎn)換成電壓信號(hào),該電壓信號(hào)經(jīng)過溫度檢測(cè)電路轉(zhuǎn)換成與爐溫相對(duì)應(yīng)的數(shù)字信號(hào)進(jìn)入單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)處理后,通過液晶顯示屏顯示溫度并判斷是否報(bào)警,同時(shí)將得到的溫度偏差和偏差變化率進(jìn)行模糊化,建立模糊控制規(guī)則表,由設(shè)定的模糊控制算法計(jì)算出控制量,通過控制固態(tài)繼電器的導(dǎo)通和關(guān)閉從而控制電阻絲的導(dǎo)通時(shí)間,以實(shí)現(xiàn)對(duì)爐溫的控制。
1 系統(tǒng)的硬件設(shè)計(jì)
1.1 總體設(shè)計(jì)
系統(tǒng)中,控制對(duì)象為電阻爐,被控量為爐溫,控制目標(biāo)是使?fàn)t溫在常壓下恒定在一個(gè)設(shè)定值允許的誤差之內(nèi)。需要檢測(cè)的輸入信號(hào)是爐溫,需要輸出的信號(hào)主要是PWM,通過調(diào)整其占空比的大小來控制固態(tài)繼電器的導(dǎo)通與關(guān)閉,繼而來控制電加熱設(shè)備的導(dǎo)通與關(guān)閉,從而實(shí)現(xiàn)爐溫的控制。同時(shí)設(shè)計(jì)了報(bào)警電路,以提高系統(tǒng)的安全性??刂葡到y(tǒng)以AT89C52單片機(jī)為控制核心,采用閉環(huán)控制的工作方式,系統(tǒng)總體結(jié)構(gòu)如圖1所示。
1.2 溫度檢測(cè)部分設(shè)計(jì)
根據(jù)系統(tǒng)控制對(duì)象的特性,溫度傳感器采用K型熱電偶WRN-130,將檢測(cè)到的信號(hào)通過SBWR系列溫度變送器及A/D轉(zhuǎn)換器等溫度檢測(cè)電路處理后轉(zhuǎn)換成數(shù)字信號(hào),供單片機(jī)處理。
1.3 人機(jī)接口部分設(shè)計(jì)
人機(jī)接口部分采用三位按鍵結(jié)構(gòu)和LCD12864液晶顯示屏完成溫度給定值的設(shè)定、顯示以及爐溫的實(shí)時(shí)顯示(如圖2所示)。3個(gè)按鍵分別是選擇鍵、調(diào)整鍵和確認(rèn)鍵。由選擇鍵在三位溫度顯示值之間循環(huán)選擇,當(dāng)位于任意一位時(shí),可以用調(diào)整鍵進(jìn)行該位數(shù)據(jù)量的調(diào)整(0~9),當(dāng)設(shè)置好需要設(shè)定的溫度值后,按確認(rèn)鍵,系統(tǒng)將啟動(dòng),并按照新的溫度值進(jìn)行工作,同時(shí)液晶屏顯示當(dāng)前的溫度值。
1.4 輸出驅(qū)動(dòng)部分設(shè)計(jì)
該部分采用固態(tài)繼電器E0542-14F來控制加熱器的供電與否,使強(qiáng)、弱電之間在電氣上完全隔離,具有價(jià)格低廉、觸發(fā)電路簡(jiǎn)單可靠的特點(diǎn)。單片機(jī)以PWM形式輸出控制信號(hào),通過調(diào)整PWM的占空比來達(dá)到控制固態(tài)繼電器,繼而來控制爐溫的目的。
1.5 報(bào)警電路設(shè)計(jì)
當(dāng)溫度達(dá)到、超過設(shè)定值或時(shí)間達(dá)到設(shè)定時(shí)間時(shí),為保證安全,系統(tǒng)中設(shè)計(jì)了在緊急狀態(tài)下能引起警覺的報(bào)警信號(hào)。該溫度控制系統(tǒng)采用嗚音報(bào)警,將達(dá)林頓陳列反向驅(qū)動(dòng)器MC1413連接AT89C52的P3.5口,當(dāng)P3.5口輸出高電平時(shí),NC1413輸出低電平,使蜂鳴器鳴音,反之,蜂鳴器停止鳴音。AT89C52的P3.5口的高低電平輸出是在中斷服務(wù)程序中完成的。
2 控制策略
2.1 被控對(duì)象的數(shù)學(xué)模型
系統(tǒng)的被控對(duì)象為SX2-10系列實(shí)驗(yàn)室低溫箱式電阻爐,額定電壓為220 V,額定功率為2 000 W。設(shè)計(jì)目的是對(duì)爐膛的溫度進(jìn)行升溫和恒溫控制,達(dá)到調(diào)節(jié)時(shí)間短、超調(diào)量低且穩(wěn)態(tài)誤差在±5℃內(nèi)的技術(shù)要求。電陽爐加熱器模型的傳遞函數(shù)為:
給定系統(tǒng)電壓輸入為110 V,經(jīng)測(cè)溫達(dá)到穩(wěn)定值時(shí),給定輸入階躍信號(hào)110 V,使系統(tǒng)電壓達(dá)到220 V,每分鐘采樣一次,并記錄溫度值,實(shí)驗(yàn)數(shù)據(jù)如表1所示。
此溫度數(shù)據(jù)為多次測(cè)量得到,穩(wěn)態(tài)的時(shí)間為30分鐘。根據(jù)科恩-庫恩公式,求得K=4.44、T=531s和τ=177s。所以加熱器的近似模型為:
2.2 模糊PID控制算法
模糊PID控制器是以常規(guī)PID控制器為基礎(chǔ),采用模糊推理思想,根據(jù)不同的溫度誤差e和誤差變化ec對(duì)PID的3個(gè)參數(shù)進(jìn)行在線自調(diào)整。該控制系統(tǒng)由模糊推理和常規(guī)PID控制器兩部分組成,控制結(jié)構(gòu)如圖3所示
3 系統(tǒng)的軟件設(shè)計(jì)
控制系統(tǒng)軟件部分主要包括主程序、采樣子程序、模糊PID控制程序、定時(shí)子程序等。程序采用C語言編寫,調(diào)試工具采用單片機(jī)AT89C 52的配套調(diào)試軟件KEIL C51。
3.1 主程序設(shè)計(jì)
系統(tǒng)上電或復(fù)位后,在單片機(jī)的控制下自動(dòng)進(jìn)入控制系統(tǒng)主程序。首先對(duì)單片機(jī)及各種芯片進(jìn)行初始化操作,包括各個(gè)端口的初始化、變量的初始化、定時(shí)器的初始化及編寫模糊整定查詢表等。待輸入目標(biāo)溫度值后,進(jìn)入后續(xù)程序。主程序把其余部分聯(lián)接起來,構(gòu)成一個(gè)無限循環(huán)圖,控制系統(tǒng)的所有功能都在這個(gè)循環(huán)中周而復(fù)始地或有選擇地執(zhí)行。各種子程序都掛接在主程序上,主程序流程如圖4所示。
3.2 A/D采樣及處理
A/D采樣及處理屬于數(shù)據(jù)采集部分,其作用是完成對(duì)爐溫的實(shí)時(shí)檢測(cè)(每1秒鐘采樣一次),將檢測(cè)到的電壓值(經(jīng)溫度變送器和精密電阻轉(zhuǎn)換)經(jīng)過A/D轉(zhuǎn)換部分進(jìn)行模數(shù)轉(zhuǎn)換,變成相應(yīng)的數(shù)字量送入單片機(jī)AT89C52,保存在事先定義好的數(shù)組(10個(gè)元素)單元中。重復(fù)檢測(cè)十次,將數(shù)值存滿數(shù)組。為了去除干擾,進(jìn)行均值濾波,去掉其中的一個(gè)最大值和一個(gè)最小值,將剩余的八個(gè)檢測(cè)值求出平均值,為該時(shí)刻的檢測(cè)值,存入相應(yīng)單元。該部分主要程序代碼如下:
3.3 液晶顯示與按鍵驅(qū)動(dòng)部分
液晶顯示屏和按鍵是最常用的輸出和輸入設(shè)備。該系統(tǒng)中采用3個(gè)獨(dú)立的按鍵作為輸入控制鍵,LCD12864液晶顯示屏作為輸出設(shè)備。作為輸入處理部分的3個(gè)按鍵的功能分別為選擇、調(diào)整和確認(rèn)。系統(tǒng)上電運(yùn)行時(shí),可以通過選擇鍵循環(huán)選擇設(shè)定溫度的3個(gè)位和OK選項(xiàng),當(dāng)其中某項(xiàng)被選擇后,其下面出現(xiàn)橫線來標(biāo)識(shí)。在設(shè)定溫度的3個(gè)位上,可以通過調(diào)整鍵進(jìn)行0~9的循環(huán)選擇,當(dāng)選中合適的數(shù)字后,可以按確認(rèn)鍵進(jìn)行值的確認(rèn)。三位都調(diào)整確認(rèn)完畢后,通過選擇鍵選中“OK”,按確認(rèn)鍵,這樣系統(tǒng)將啟動(dòng)運(yùn)行。
3.4 模糊PID計(jì)算
模糊PID計(jì)算是整個(gè)系統(tǒng)的核心部分,主要是設(shè)計(jì)模糊PID控制器,其中的e和ec的論域均為-3~+3。在實(shí)際的控制過程中,在加熱至e為150之前,占空比為1,全速加熱,當(dāng)進(jìn)入e≤150的區(qū)域后,才啟動(dòng)模糊PID進(jìn)行計(jì)算,通過不斷調(diào)整△Kp、△Ki和△Kd的大小,控制輸出量u的大小,最后使電阻爐的溫度達(dá)到平衡。
4 仿真實(shí)驗(yàn)
系統(tǒng)中分別采用常規(guī)PID控制、純模糊控制和模糊PID控制3種控制方法,利用MATLAB進(jìn)行仿真實(shí)驗(yàn),從調(diào)節(jié)時(shí)間、超調(diào)量和穩(wěn)態(tài)誤差方面比較它們的控制性能。
通過前兩種控制方法的仿真實(shí)驗(yàn),對(duì)于常規(guī)PID控制,當(dāng)給定溫度值為500時(shí),調(diào)節(jié)時(shí)間約為1 200 s,超調(diào)量約為22.9%,穩(wěn)態(tài)誤差為零;對(duì)于純模糊控制,給定溫度值為500時(shí),調(diào)節(jié)時(shí)間約為1 000 s,超調(diào)量為20℃,最終的穩(wěn)態(tài)誤差較大,約為10℃。
最后對(duì)模糊PID控制方法進(jìn)行仿真實(shí)驗(yàn),對(duì)各輸入?yún)?shù)進(jìn)行模糊化處理,取e的量化因子Ke=0.02,ec的量化因子Kec=0.1。對(duì)輸出量進(jìn)行解模糊化,得到△Kp、△Ki和△Kd的比例因子均為0.1。選取經(jīng)過優(yōu)化后的初始PID參數(shù),使Kp=0.15、Ki=0.001、Kd=1.7。得到的模糊PID控制仿真曲線如圖5所示。
由系統(tǒng)的仿真曲線圖可見,模糊PID控制的性能指標(biāo)為:調(diào)節(jié)時(shí)間約等于3 500 s,超調(diào)量約為7.5%,穩(wěn)態(tài)誤差為零。
經(jīng)過對(duì)常規(guī)PID控制、純模糊控制和模糊PID控制3種控制方案的仿真研究和分析,明顯看出,PID控制響應(yīng)曲線超調(diào)量最大、調(diào)節(jié)時(shí)間較長、最終的穩(wěn)態(tài)誤差為零;純模糊控制響應(yīng)曲線超調(diào)量最小、調(diào)節(jié)時(shí)間最短、但是最終的穩(wěn)態(tài)誤差卻很大;將兩種控制算法結(jié)合在一起的模糊PID控制策略可實(shí)現(xiàn)減小超調(diào)量、穩(wěn)態(tài)誤差為零等非常理想的性能指標(biāo)。溫度控制的延遲是變化的,對(duì)于溫度控制這樣的非線性、有延遲的復(fù)雜的控制對(duì)象,模糊PID控制器顯示了明顯的優(yōu)越性,性能指標(biāo)要比常規(guī)PID控制器改善很多。
5 結(jié)論
文中將模糊控制算法引入傳統(tǒng)的電阻爐溫度控制系統(tǒng)構(gòu)成模糊PID控制系統(tǒng)。通過將常規(guī)PID控制方法、純模糊控制方法和模糊PID控制方法進(jìn)行仿真對(duì)比,發(fā)現(xiàn)模糊PID控制方法具有較好的動(dòng)靜態(tài)響應(yīng)特性和較強(qiáng)的魯棒性,還能夠消除系統(tǒng)余差,這對(duì)具有非線性、時(shí)變和延遲等特征