董雷剛 蔡朝暉 崔曉微 馬英瑞 李梓 董驍
摘要:以STC89C52單片機(jī)為核心,采用模糊控制算法設(shè)計(jì)了一種溫度控制系統(tǒng),包括模塊控制的主要構(gòu)成、系統(tǒng)參數(shù)及,硬件模塊和相應(yīng)的軟件模塊,該溫控系統(tǒng)可實(shí)現(xiàn)對溫度的有效控制。
關(guān)鍵詞:MCU;模糊控制;溫控系統(tǒng)
模糊控制作為以模糊集合論、模糊語言變量及模糊邏輯推理為基礎(chǔ)的一種計(jì)算機(jī)數(shù)字控制,其主要特點(diǎn)是能表示出常識及規(guī)則,且可以用語言來表述上述內(nèi)容。如“溫度上升過快,則稍微降低升溫速度”就是一種基于經(jīng)驗(yàn)表達(dá)的語言。模糊控制實(shí)質(zhì)上是用計(jì)算機(jī)去執(zhí)行操作人員的控制策略,因而可以避開較復(fù)雜的數(shù)學(xué)理論,從而具有比較理想的控制狀態(tài)。文章將MCU與模塊控制理論相聯(lián)系,設(shè)計(jì)一種模糊溫控系統(tǒng)。
1模糊控制器設(shè)計(jì)
1.1基本結(jié)構(gòu)
作為模糊控制系統(tǒng)的核心,模糊控制器的選擇至關(guān)重要。為了對溫度實(shí)現(xiàn)穩(wěn)定且精確的控制,我們采用二維模糊控制器,通過計(jì)算設(shè)定溫度與當(dāng)前溫度的差值e,以及溫度誤差變化量ec,并對這兩類數(shù)據(jù)實(shí)施模糊化計(jì)算,從而獲得其隸屬度,并推導(dǎo)出模糊推理的輸入EC和E。然后,制定基于以往操作的控制量表格,并以IF-THEN的格式在規(guī)則庫中進(jìn)行存儲,從而在實(shí)施控制過程中對模糊推理進(jìn)行查詢。然后對于輸出量采用模糊判決處理,獲得對應(yīng)的控制參數(shù)信息,再通過去模糊化的方式對控制參數(shù)進(jìn)行計(jì)算,進(jìn)而獲得精確值用于實(shí)際控制過程,使受控溫度得到有效調(diào)節(jié)。
1.2確定輸入/出變量
模糊控制器采用雙input和單output模式。Input包括:變化前的水溫、自定義的偏差和溫度變化率;output:加熱時(shí)間的提前量。
溫控系統(tǒng)的控制器Input的語句值設(shè)定為5個(gè),分別為NB(負(fù)大)、NS(負(fù)?。?,Z(零)、PS(正小),PB(正大)。相應(yīng)的論域?yàn)椋簻囟日`差E={-2,-1,0,1,2},溫度誤差變化率EC={-2,-1,0,1,2}。輸出控制量U的語言值也設(shè)定為5個(gè),論域?yàn)閁={-2,-1,0,1,2}。
1.3確定控制規(guī)則
模糊控制規(guī)則一般采用表格的方式進(jìn)行描述,其實(shí)就是通過對控制過程進(jìn)行推理總結(jié),從而產(chǎn)生模糊條件語句。通常情況下,對于雙input單output類型的控制系統(tǒng),會使用“if A and B then C”語句來表示。例如,當(dāng)溫度誤差為正的前提下,當(dāng)誤差為正大且誤差變化為負(fù)時(shí),則表示誤差在逐步減小,故要設(shè)置較小的控制量。如果誤差變化為正大,就不能增大控制量,以免會導(dǎo)致正誤差,故應(yīng)該設(shè)置控制量變化為負(fù)大。當(dāng)誤差為正小時(shí),整個(gè)控制系統(tǒng)比較平穩(wěn)。當(dāng)誤差變化為正,則要設(shè)置控制量變化為負(fù)大,從而調(diào)整誤差方向;當(dāng)誤差變化為負(fù)時(shí),這只控制量變化為正小??傊?,控制量的選取要以趨向平穩(wěn)為主,目的是讓控制系統(tǒng)更穩(wěn)定。
1.4模糊判決及清晰化
根據(jù)表1的控制規(guī)則,按下面兩個(gè)式子進(jìn)行模糊推理:
uRk( U)=min{uEi(E),uEcj(Ec),uUk( U)}
uRk( U)=max{uRk( U)}
采用下面的公式進(jìn)行加權(quán)平均判決計(jì)算,對每個(gè)模糊子集R進(jìn)行清晰化,得出對應(yīng)于每組E、EC的U,并對計(jì)算值進(jìn)行優(yōu)化。
2系統(tǒng)硬件設(shè)計(jì)
溫控系統(tǒng)基于STC89C52處理器芯片,采用模糊控制方法實(shí)現(xiàn)溫度調(diào)整。主要硬件是電阻爐,加熱功率1000W,電壓0~220V(AC),溫度范圍為常溫~100oC,控制精細(xì)度為±2oC。
整個(gè)系統(tǒng)分為五個(gè)模塊:MCU模塊、顯示模塊、溫度檢測通道、按鍵模塊、輸出控制通道。通過安靜模塊設(shè)定要控制的溫度,數(shù)值會在LCD上顯示出來,然后溫度傳感器也將測得的溫度顯示在LCD上。接下來,對于當(dāng)前溫度和預(yù)定溫度的差值,采用模塊控制理論,通過PWM信號控制繼電器的通電時(shí)間,從而控制加熱器的平均加熱功率,最終達(dá)到控制水溫的效果。
3系統(tǒng)軟件設(shè)計(jì)
程序采用的是中斷方式,主程序首先進(jìn)行單片機(jī)最小系統(tǒng)和各外部設(shè)備的初始化,然后根據(jù)功能鍵SET判斷接下來的工作方式,當(dāng)定時(shí)器完成計(jì)數(shù)時(shí)產(chǎn)生中斷。在中斷服務(wù)程序中,實(shí)現(xiàn)對溫度的讀取和顯示,并根據(jù)讀取的溫度值進(jìn)行模糊運(yùn)算,從而得到控制結(jié)果來實(shí)現(xiàn)對水溫的控制。
4總結(jié)
本文介紹了一種采用模糊控制技術(shù)實(shí)現(xiàn)控制水溫的系統(tǒng)。系統(tǒng)采用單片機(jī)為核心,通過傳感器得到水的溫度,并運(yùn)用模糊控制方法將輸出控制結(jié)果作用于加熱裝置,從而實(shí)現(xiàn)對水溫的模糊控制。該方法以提高控制的實(shí)時(shí)性、穩(wěn)定性和精確度,并且實(shí)現(xiàn)了操作過程的簡化。
參考文獻(xiàn):
[1]任新瑞,馬立新.負(fù)荷跟蹤型主蒸汽溫度智能控制系統(tǒng)研究[J].控制工程:1-7[2021-03-26].
[2]林芳.基于單片機(jī)的電爐溫度控制系統(tǒng)設(shè)計(jì)與優(yōu)化分析[J].電子測試,2019(24):12-13.
[3]莫中凱.基于單片機(jī)的鍍液溫度智能控制系統(tǒng)設(shè)計(jì)方法淺談[J].電子測試,2018(19):21-22.
[4]張少杰.基于模糊PID的電熱爐溫度智能控制系統(tǒng)[J].科技與創(chuàng)新,2018(13):96-97.
[5]李巧俠.基于嵌入式系統(tǒng)的智能溫度控制研究[J].微型電腦應(yīng)用,2018,34(10):84-86.
基金項(xiàng)目:黑龍江自然科學(xué)基金項(xiàng)目(LH2019F039)。