摘 要: 針對水溫控制系統的控制對象具有熱存儲能力大、慣性大、時變的特點,使用常規的PID調節器難以實現水溫穩定的自動控制。設計一種以STC89C52單片機為核心、采用模糊控制算法的水溫控制系統,并闡述模糊控制理論的思想和系統的硬、軟件設計。實驗表明,該系統具有良好的控制性能,能夠實現溫度的準確測量及穩定自動控制,能夠推廣應用于工業控制系統以及熱帶魚養殖的恒溫環境中。
關鍵詞: 水溫控制;模糊控制;STC89C52單片機;LCD1602;DS18B20
溫度控制系統屬于純滯后系統,采用經典控制理論設計的控制器會因實際的工業生產當中有許多系統難以建立準確的數學模型而難以實現溫度穩定的自動控制[1-2]。模糊控制應用在具有明顯的非線性系統以及滯后環節(如水溫控制系統)中可以獲得很好的控制性能。
由于水在加熱過程中難以獲得精確的數學模型,控制參數變化范圍大,采用傳統PID控制難以解決系統穩定性和準確性的問題[3]。本系統充分發揮模糊控制的魯棒性好、動態響應好、上升時間快和超調小的特點,在實際應用中取得了較好的效果。系統還具有成本低、可移植性強等特點。
1系統硬件設計
系統選用與MCS-51系列兼容的STC89C52單片機,它是一種低功耗、高性能、CMOS 8位微處理器[4]。本文就通過STC89C52單片機來實現自動控制水溫系統的設計,使水溫能夠在30℃~90℃實現恒定溫度調節。該自動控制水溫系統能及時反映當前系統工作區的溫度信息,溫度信息通過液晶屏直觀地顯示給用戶,用戶可根據自己對水溫的實用要求,通過鍵盤自行設定溫度,還設置了溫度超限報警,系統結構如圖1。
1.1 電源模塊
本次設計涉及的電壓有直流5 V、12 V及交流220 V三種電壓。為節約硬件資源,簡化電路,利用變壓器降壓經過橋式整流后通過三端穩壓管得到5 V和12 V的電壓。采用L7805穩壓模塊進行穩壓,經過L7805降壓至5 V直接為單片機供電,線路簡單,如圖2所示,單片機工作穩定,不會因電壓不穩定而出現反復復位的情況。
1.2 系統電路設計
系統采用按鍵輸入設定溫度,液晶顯示屏LCD1602上實時顯示預設溫度和由DS18B20測得的實時水溫。通過測取溫度誤差,經過模糊算法來控制執行器件的具體操作。當控制溫度低于30℃或是高于90℃時,系統會通過蜂鳴器報警。系統控制電路設計如圖3所示。
2 系統軟件設計
2.1 模糊控制的原理
模糊控制理論的基礎是模糊集合理論,由美國加尼亞大學ZADEH L A教授于1965年首先提出,1973年他給出了模糊控制的定義及相關定理[5]。1974年,英國MAMDANI E H首先用模糊控制語句設計模糊控制器,并成功用于鍋爐和蒸汽機的控制,這一工作標志著模糊控制理論的誕生[6]。模糊控制系統基本結構如圖4所示。
由于人的經驗一般是用自然語言來描述的,因此,基于經驗的規則也只能是語言化的、模糊的。運用模糊理論、模糊語言變量和模糊邏輯推理的知識,就可以把這些模糊的語言規則上升為數值運算,從而能夠利用計算機來完成對這些規則的具體實現,達到以機器代替人對某些對象進行自動控制的目的[7]。
在整個模糊控制系統中,其控制步驟為:計算機中斷采樣獲取被控制量的精確值,然后將此量與給定值比較得到誤差信號e。一般選取誤差e作為模糊控制器的一個輸入量。把誤差信號e的精確量進行模糊化得到模糊量,誤差的模糊量可用相應的模糊語言來表示。至此,得到了誤差e的模糊語言集合的一個子集E,再由E和模糊控制規則R(模糊關系),根據推理的合成規則進行模糊決策,得到模糊控制量U為:
其中,U為一個模糊量。為了對被控對象施加精確的控制,還需將模糊量U轉化為精確量,這一步稱為去模糊化處理。得到了精確的數字控制量后,經數模轉換為精確的模擬量送給執行機構,對被控對象進行控制。然后,不斷中斷對被控量進行采集和控制,就實現了對被控對象的模糊控制。
2.2 模糊控制器的設計
容器內水的溫度通過脈寬調制PWM(Pulse-Width Modulation)技術調節電熱絲上的發熱功率,從而實現溫度的自動控制[8]。模糊控制器的輸入和輸出均為精確的物理量。對于輸入量,其變化范圍一般為(-x,x), 。通常直接測取值為(a,b),并非完全對稱,但總可經過式(2)轉換成(-n,n)的連續變化量,其中
(采用四舍五入取整處理),對于輸出量也可作同樣處理[9]。
根據水箱水溫變化特點,設當前測量溫度值為Ti、設定溫度值為Ts、當前偏差為e(e=Ti-Ts),將e的結果劃分為負大(記為NLe)、負中(記為NMe)、負小(負小NSe)、相等(記為Oe)、正小(記為PSe)、正中(記為PMe)、正大(記為PLe)7個等級,將所得的偏差范圍按照式(2)進行論域規范化,得到X={-4,-3,-2,-1,0,1,2,3,4}共9個等級。
整個水箱的模糊控制系統結構示意圖如圖5所示。
模糊集合完全由隸屬函數所表征,不同的隸屬函數決定不同的隸屬度,隸屬度的大小能夠比較正確、直觀地反映事物的本質特征。本文采用正態形隸屬函數分布,如圖6所示。
建立當前偏差e的模糊集合,如表1所示。
將模糊控制輸出量記為u,同理將輸出u的變化范圍進行規范化分為共9個等級,則U的模糊集合如表2所示。
模糊語言控制規則可歸納為:
將模糊關系集合記為R,為多段型[8],則R為:
采用四舍五入取整后的結果u'=-2,即在當前溫度測量值Ti遠高于溫度設定值Ts時,采用PWM控制技術能比較大幅度地減小電熱絲的發熱功率,甚至開通制冷設備。
3 系統測試及結果分析
校驗溫度計:采用YAOHUA QUANQIN紅色酒精液柱溫度計,精度為±1℃,測溫范圍0℃~100℃,插入到水中與DS18B20處于相同水深。表3為系統測量溫度與標準酒精溫度計測量溫度的對比。
對比表3中的實測溫度與系統顯示值數據可知,該系統的誤差均控制在0.5 ℃以內。在對于存在干擾的狀況,如突然加入冷水或熱水,由于熱量交換而導致的大延時情況下,控制系統具有較好的抗干擾能力,抑制非線性變化帶來的影響。綜合以上數據,此測溫方法能夠滿足系統的需要,系統總體穩態性能良好。測試實物圖如圖7所示。
本文針對水溫控制系統的控制對象具有熱存儲能力大、慣性大、時變的特點,使用常規的PID調節器難以實現水溫穩定的自動控制。設計了一種以STC89C52單片機為核心、采用模糊控制算法的水溫控制系統,建立并實現了簡單易行、適合在單片機系統運行的模糊控制算法,系統可移植性強,硬件電路簡單。經實驗表明,算法水箱水溫的控制精度、響應速度以及穩定性能等表現良好,可廣泛推廣和移植到工業以及熱帶魚養殖恒溫系統中。
參考文獻
[1] 黎惠成,曾碧,吳清泉,等. 一種基于模糊控制的溫度控制系統設計[J].計算機技術與發展,2009(19):236-239.
[2] 于光普,黎東升,尤傳富. 智能水溫控制系統的設計與實現[J].長春工業大學學報,2011(32):30-32.
[3] 張小娟. 一種基于模糊控制的溫度控制系統設計[J].儀表技術與傳感器,2010(11):76-78.
[4] 余永權,曾碧. 單片機模糊邏輯控制[M].北京:北京航空航天大學出版社,1995.
[5] 張恩勤,施頌椒,高衛華,等. 模糊控制系統近年來的研究與發展[J].控制理論與應用,2001(18):7-11.
[6] 鄭亞林,黃德隆,郭健. Fuzzy推理的Mamdani算法[J].寶雞文理學院學報(自然科學版),2001(21):168-173.
[7] 王春林,任洪波. 煙葉烤房溫度模糊控制[J].控制工程,2012(19):1157-1160.
[8] 王兆安,劉進軍. 電力電子技術(第五版)[M].北京:機械工業出版社,2009.
[9] 曹謝東. 模糊信息處理及應用[J].北京:科學出版社,2003:137-149.