張景元
ZHANG Jing-yuan
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,淄博 255049)
模糊控制是模仿人行為特性的控制技術(shù),是智能控制領(lǐng)域的重要方法一,它不依賴系統(tǒng)的數(shù)學(xué)模型,特別適合難以建立數(shù)學(xué)模型的復(fù)雜控制系統(tǒng),很多實(shí)際控制系統(tǒng)采用模糊控制方法取得了較理想的控制效果[1~7]。文獻(xiàn)[8]用遺傳算法對(duì)用于窯爐溫度控制的模糊控制規(guī)則進(jìn)行優(yōu)化,使控制效果更好。文獻(xiàn)[9,10]利用單片機(jī)設(shè)計(jì)的熱水溫度測(cè)控器不具有恒溫效果,文獻(xiàn)[11]中提到用C語(yǔ)言模糊整定程序求出PID參數(shù)來(lái)提高PID控制效果,但沒(méi)介紹具體方法。蒸餾、干燥、濃縮、恒溫加熱等許多化學(xué)試驗(yàn)要求在恒定的溫度下進(jìn)行,實(shí)驗(yàn)室中常用水箱為其提供恒溫環(huán)境。水箱的溫度控制有滯后性, 一般采用電加熱器加熱,水溫度達(dá)到設(shè)定溫度后,由于慣性和滯后原因,溫度會(huì)繼續(xù)增高,反之,溫度又會(huì)持續(xù)下降。一般的恒溫水箱不配備冷卻裝置,箱體、液面與空氣接觸散熱,熱平衡是瞬變的,用簡(jiǎn)單的開關(guān)控制無(wú)法維持恒定溫度,傳統(tǒng)的閉環(huán)控制又因無(wú)法建立被控對(duì)象的精確數(shù)學(xué)模型,控制效果不理想,為提高控制效果,采用模糊控制方法對(duì)水溫進(jìn)行控制,介紹了控制系統(tǒng)的電路組成和工作原理,對(duì)控制系統(tǒng)進(jìn)行了仿真實(shí)驗(yàn)和實(shí)驗(yàn)測(cè)試。
恒溫水箱的箱體為(450×200×110)mm3的方形結(jié)構(gòu),用有機(jī)玻璃或玻璃鋼粘合而成。電加熱器為220V交流供電的電熱棒,對(duì)箱內(nèi)的水液加熱,提高水溫。為了使箱內(nèi)水溫均衡,裝有電動(dòng)攪拌輪,通過(guò)攪拌加強(qiáng)對(duì)流,達(dá)到水溫均衡的目的。不同的化學(xué)實(shí)驗(yàn)對(duì)恒溫要求不同,水箱溫度必需在30℃~95℃范圍之間可控,控制精度為±0.5℃,箱內(nèi)溫度均勻度±1℃。
圖1 系統(tǒng)結(jié)構(gòu)
控制器的結(jié)構(gòu)如圖2所示,由STC單片機(jī)和水溫檢測(cè)、LED顯示、電加熱器驅(qū)動(dòng)、鍵盤及電源六個(gè)模塊構(gòu)成。鍵盤主要用來(lái)設(shè)定溫度,顯示器同時(shí)顯示兩個(gè)溫度值,一個(gè)是被控溫度設(shè)定值,另一個(gè)是當(dāng)前水溫的實(shí)際測(cè)量值。攪拌器是由12伏直流電機(jī)帶動(dòng)的攪拌輪。電加熱器的功率1000W的電熱棒,220V交流供電,根據(jù)水溫誤差及變化趨勢(shì)控制雙向可控硅的導(dǎo)通角,調(diào)節(jié)電加熱器釋放的功能量,達(dá)到控制水溫的目的。
圖2 系統(tǒng)結(jié)構(gòu)
圖3 控制器電路組成
水箱的溫度控制不僅是一個(gè)閉環(huán)控制系統(tǒng),是典型的無(wú)法建立精確數(shù)學(xué)模型的高度復(fù)雜的非線性系統(tǒng)。又是一個(gè)典型的嵌入式應(yīng)用系統(tǒng)。從計(jì)算機(jī)應(yīng)用的角度講,它又是一個(gè)典型的嵌入式系統(tǒng)。目前用于開發(fā)嵌入式系統(tǒng)的微處理器很多,作為低端應(yīng)用系統(tǒng)的開發(fā),8位單片機(jī)的市場(chǎng)占有率還是比較高的,因此出現(xiàn)了原51核的高性能的51單片機(jī),本控制器以STC為核心,進(jìn)行了開發(fā),整體電路結(jié)構(gòu)如圖3所示。
STC單片機(jī)是在原51核的基礎(chǔ)上開發(fā)出的新一代8位單片機(jī),工作頻率比原來(lái)提高了很多,最高可達(dá)35MHz,是典型的單器周期微控制器,指令代碼完全與傳統(tǒng)8051兼容,但速度快8~12倍。不僅如此,它集成了8路高速10位A/D轉(zhuǎn)換、4路PWM 、MAX810復(fù)位電路、看門狗電路等常用外設(shè),集成了在線編程調(diào)試接口ISP,最大可達(dá)12K的內(nèi)部Flash。它的工作電壓范圍很寬,可在5.5V~3.8V范圍內(nèi)穩(wěn)定工作,且有各種封裝,極大地方便了用戶。
DS18B20是美國(guó)DALLAS公司推出的智能化數(shù)字式溫度傳感器,工作電壓范圍較寬,為+3.0V~+5.5 V,可在一條總線上掛接多個(gè)實(shí)現(xiàn)多點(diǎn)溫度的檢測(cè)。DS18B20將熱敏感器件和A/D轉(zhuǎn)換電路集成在一起,溫度測(cè)量范圍-55℃~+125℃,A/D轉(zhuǎn)換精度9~12位,最高分辨率可達(dá)0.0625℃。封裝簡(jiǎn)單,只有三極引腳,1腳接地,3腳接+5V電源,2腳為所測(cè)溫度的數(shù)字輸出,本控制器中該腳與STC單片機(jī)的P1.1相連,以串行方式讀入。本控制器測(cè)量是水箱內(nèi)的水溫,必需將傳感器放入水中,實(shí)際應(yīng)用時(shí)將其封裝在不銹鋼管中,用導(dǎo)線將管腳引出,如圖4所示。
圖4 DS18B20 傳感器
要通過(guò)雙向可控硅實(shí)現(xiàn)對(duì)電加熱器調(diào)壓,必需測(cè)得交流電過(guò)零(ωt=0o/180o/360o)時(shí)刻,然后根據(jù)當(dāng)前溫度與設(shè)定溫度之間的誤差以及誤差變化趨勢(shì)修正導(dǎo)通角,延遲一定時(shí)間發(fā)出觸發(fā)脈沖,改變了導(dǎo)通時(shí)間,即改變了電加熱器的平均電壓。交流電由正半周到負(fù)半周或由負(fù)半周到正半周過(guò)零時(shí),STC單片機(jī)的INT0會(huì)檢測(cè)到低電平信號(hào)而產(chǎn)生中斷,啟動(dòng)延時(shí)程序,經(jīng)過(guò)延時(shí)后由P1.0發(fā)出觸發(fā)脈沖,延遲時(shí)間值由模糊控制器確定。
控制器有四個(gè)功能鍵,用來(lái)設(shè)定水溫,分別為:設(shè)定、增值↑、減值↓、確認(rèn),通過(guò)P1.4、P1.5、P1.6 、P1.7四條口線擴(kuò)展,如圖3中所示。按下設(shè)定鍵后,顯示器顯示當(dāng)前水溫值,可用增值鍵或減值鍵改變其值,每按一下在原來(lái)的數(shù)值基礎(chǔ)上增1或減1,當(dāng)達(dá)到預(yù)設(shè)定溫度數(shù)值后,按確認(rèn)鍵完成設(shè)置。
顯示器由5位LED組成,2位顯示設(shè)定溫度,3位顯示當(dāng)前實(shí)測(cè)溫度,兩位整數(shù),1位小數(shù)。P2口的P2.0~P2.7發(fā)送顯示值的段碼數(shù)據(jù),P0口的P0.0~P0.4為位選線,擴(kuò)展5位LED溫度顯示器,2位顯示設(shè)定溫度,用3位顯示當(dāng)前實(shí)測(cè)溫度,兩位整數(shù),1位小數(shù)。P0.0~P0.7為各位的數(shù)據(jù)段線LED為高亮紅色共陰極數(shù)碼管,由7406進(jìn)行位驅(qū)動(dòng)。
模糊控制器的結(jié)構(gòu)如圖5所示。T表示溫度設(shè)定值,R表示溫度當(dāng)前檢測(cè)值,e=T-R表示溫度誤差,e>0表示水溫高于設(shè)定值,e<0表示水溫低于設(shè)定[-0.5,+0.5]。為變化率,用當(dāng)前誤差與前一采樣溫度誤差的差值Δe= Tn? Tn?1來(lái)代替,若Δe>0,表明水溫在升高,系統(tǒng)正進(jìn)行的是升溫過(guò)程,若Δe<0表明水溫在下降,定義論域?yàn)閇-0.1,+0.1]。 u表示模糊控制器的輸出(晶閘管導(dǎo)通角),定義論域?yàn)閇0,180]。為了兼顧模糊控制器的精度和反應(yīng)速度,以上三個(gè)論域均分為七檔[-3,-2,-1,0,1,2,3],所對(duì)應(yīng)的模糊詞集為{負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大},用符號(hào){NB,NM,NS,Z,PS,PM,PB}表示,隸屬函數(shù)采用三角形,如圖6所示。
圖5 模糊控制器
圖6 e、Δe、u的隸屬函數(shù)
有“if e and ec then u”形式的控制規(guī)則7×7=49條,對(duì)應(yīng)的模糊控制規(guī)則表如表1所示。
表1 控制規(guī)則表
由下式:
求得U的精確量值。式中ci為論域值,ui為模糊值。由下式:
計(jì)算出延遲時(shí)間,式中可控硅U導(dǎo)通角,單片機(jī)檢測(cè)到交流電過(guò)零信號(hào)后,啟動(dòng)延遲程序,延遲Ty秒時(shí)間后,通過(guò)P1.0口發(fā)出觸發(fā)脈沖,觸發(fā)晶閘管導(dǎo)通,電加熱器通電工作。仿真效果如圖7所示,上升到最高點(diǎn)的時(shí)間為1.7秒,達(dá)到穩(wěn)定狀態(tài)的調(diào)節(jié)時(shí)間是6.5秒,響應(yīng)速度快,調(diào)節(jié)時(shí)間短。
圖7 仿真效果
影響水箱溫度因素復(fù)雜多變,難以建立被控對(duì)象精確數(shù)學(xué)模型,傳統(tǒng)的控制方法效果不理想,用模糊控制技術(shù)是較好的選擇。仿真實(shí)驗(yàn)和實(shí)際控制效果證明,控制系統(tǒng)一年運(yùn)行穩(wěn)定可靠,響應(yīng)速度快,溫度波動(dòng)小,控制效果良好,可滿足化學(xué)實(shí)驗(yàn)對(duì)環(huán)境恒定溫度的要求。
[1]馮冬青,張志娟.預(yù)估模糊免疫PID在房間溫度控制中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(19):4479-4482.
[2]魯可,張曉東,俞盛愷.基于模糊控制算法的溫度控制系統(tǒng)設(shè)計(jì)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新. 2013,26(3):133-135.
[3]姚慶文.基于模糊控制的鍋爐溫度調(diào)控策略[J].計(jì)算機(jī)仿真.2011,28(12):188-190.
[4]薛雷,孫以澤,李培興,等.基于模糊PID的褲襪包裝機(jī)熱封切刀溫度控制的研究[J].包裝工程.2013,34(2):16-21.
[5]許克豹,趙朝霞.轉(zhuǎn)爐干法除塵系統(tǒng)煙氣溫度控制算法[J].冶金自動(dòng)化,2013,37(2):15-19.
[6]盧萬(wàn)銀.基于模糊控制技術(shù)的啤酒快速發(fā)酵控制[J].釀酒科技.2012,9:90-92.
[7]閆利,李克新,紀(jì)謙銘,等.鋁箔退火爐模糊控制應(yīng)用[J].自動(dòng)化與儀表.2013,6:42-44.
[8]張景元.模糊控制規(guī)則優(yōu)化方法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(11)2917-2919.
[9]胡洪波,章勇高.基于單片機(jī)控制的水溫控制系統(tǒng)設(shè)計(jì)[J]. 邯鄲學(xué)院學(xué)報(bào).2009,19(3):81-84.
[10]馮洋.基于AT89C52 的水溫控制系統(tǒng)[J].渭南師范學(xué)院學(xué)報(bào).2011,26(2):49-52.
[11]張?jiān)?張炎,趙延軍.基于單片機(jī)和模糊控制的水溫自動(dòng)控制系統(tǒng)[J].儀表技術(shù)與傳感器.2007,4:71-72.
[12]李緯,沈勇.模糊控制在恒溫車間溫度控制中的應(yīng)用[J].計(jì)算機(jī)測(cè)量與控.2006,14(9):1191-1193.
[13]季寶杰,鄒彩虹,王永田.基于單片機(jī)的溫室自動(dòng)控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制.2007,15(1):73-75.