單片機(jī)中模糊控制系統(tǒng)的實(shí)現(xiàn)與設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
模糊控制概述
模糊控制(Fuzzy Control)是目前自動(dòng)控制研究中活躍而富有成果的領(lǐng)域之一,模糊理論是當(dāng)前能用來(lái)對(duì)信息進(jìn)行軟處理的最新技術(shù),可以將人的定性思維和判斷方法定量化 為適合計(jì)算機(jī)處理的過(guò)程,使計(jì)算機(jī)能判斷像“大概”、“輕”這樣的模糊信息。采用傳統(tǒng)控制理論,不管是用經(jīng)典控制理論還是用現(xiàn)代控制理論來(lái)設(shè)計(jì)一個(gè)控制系 統(tǒng),都需要事先知道被控對(duì)象的精確數(shù)學(xué)模型。然而,在許多情況下被控對(duì)象(或生產(chǎn)過(guò)程)的精確數(shù)學(xué)模型很難建立;像建材工業(yè)生產(chǎn)中的水泥窯、玻璃窯,化學(xué) 生產(chǎn)中的化學(xué)反應(yīng)過(guò)程,食品生產(chǎn)中的發(fā)酵過(guò)程,還有眾多爐類(lèi)的熱處理過(guò)程。諸如此類(lèi)過(guò)程具有變量多,各種參數(shù)存在不同程度的時(shí)變性;且過(guò)程具有非線性,強(qiáng) 耦合,較大的隨機(jī)干擾、過(guò)程機(jī)理錯(cuò)終復(fù)雜、存在各種不確定性以及現(xiàn)場(chǎng)測(cè)量手段不完善等特點(diǎn)。這些特點(diǎn)使得建立這一類(lèi)過(guò)程的精確數(shù)學(xué)模型的難度很大,或甚至 根本辦不到。
模糊控制是基于規(guī)則的智能控制方式,它不依賴(lài)于被控對(duì)象的精確數(shù)學(xué)模型,特別適合對(duì)具有多輸入一多輸出的強(qiáng)耦合性、參數(shù)的時(shí)變性、嚴(yán) 重非線性與不確定性的復(fù)雜系統(tǒng)或過(guò)程的控制,且控制方法簡(jiǎn)單,魯棒性好[1][2]。將模糊控制技術(shù)應(yīng)用于一般的電子產(chǎn)品在國(guó)外已是很普遍的現(xiàn)象,單片機(jī) 常用的控制器件,把二者結(jié)合起來(lái),可使控制器的性能指標(biāo)達(dá)到最優(yōu)的目的。本文就是通過(guò)利用單片機(jī)作為平臺(tái),圍繞模糊控制規(guī)則,以模糊推理算法作為控制系統(tǒng) 核心,開(kāi)發(fā)出具有自校正能力的通用的模糊控制器。最后以一個(gè)溫度監(jiān)控系統(tǒng)為實(shí)例介紹了系統(tǒng)的軟硬件設(shè)計(jì)。
模糊控制系統(tǒng)的組成及原理
1.模糊控制系統(tǒng)的基本組成與原理
模糊控制器是模糊控制系統(tǒng)的核心部分,也是和其它控制器最大區(qū)別環(huán)節(jié)。模糊控制器有四個(gè)基本部分組成:
(1)模糊化。把輸入信號(hào)映射到相應(yīng)域上的一個(gè)點(diǎn)后,將其轉(zhuǎn)化為該論域上的一個(gè)模糊子集,即把輸入的精確量轉(zhuǎn)化為模糊量。
(2)知識(shí)庫(kù)。知識(shí)庫(kù)包含了具體應(yīng)用領(lǐng)域中的知識(shí)和要求的目標(biāo),通常由數(shù)據(jù)庫(kù)和模糊規(guī)則庫(kù)兩部分組成。數(shù)據(jù)庫(kù)主要包含各語(yǔ)言變量的隸屬函數(shù),尺度變換因子和模糊空間的分級(jí)數(shù)等;規(guī)則庫(kù)包含了用模糊語(yǔ)言變量表示的一系列控制規(guī)則,他們反映了控制專(zhuān)家的知識(shí)和經(jīng)驗(yàn)。
(3)模糊推理。模糊推理是模糊控制的核心,它具有模擬人的模糊推理的能力。該推理過(guò)程是基于模糊邏輯中的蘊(yùn)含關(guān)系及推理規(guī)則來(lái)進(jìn)行的。
(4)清晰化。清晰化又稱(chēng)為解模糊化,作用是將模糊推理得到的控制量(模糊量)變換為實(shí)際的可用于被控對(duì)象的精確量。它包括兩部分的內(nèi)容:一是將模糊的控制量經(jīng)解模糊化變換變成表示在論域范圍的精確量;二是將表示在論域范圍的精確量轉(zhuǎn)換成實(shí)際的控制量。
2. 模糊控制系統(tǒng)通常由計(jì)算機(jī)實(shí)現(xiàn)(包括PC機(jī)、單片機(jī)、單板機(jī)以及DSP等)
3.模糊語(yǔ)言變量確定隸屬函數(shù),即對(duì)模糊變量進(jìn)行賦值。
4.計(jì)算機(jī)經(jīng)過(guò)采樣和A/D轉(zhuǎn)換獲得被控量的精確值,然后將此量與給定值比較得到誤差信號(hào)e和ec。把e和ec模糊量化,得到e和ec的模糊子集(實(shí)際是模糊向量e和ec)。
5.根據(jù)模糊向量e、ec和模糊控制規(guī)則R,按推理合成規(guī)則進(jìn)行模糊決策,得到控制量(模糊向量u)。
基于單片機(jī)的溫控系統(tǒng)
1系統(tǒng)原理
本系統(tǒng)有溫度傳感器DS18B20 , ATmega8單片機(jī)、執(zhí)行機(jī)構(gòu),外圍電路包括鍵盤(pán),LED顯示以及保護(hù)電路構(gòu)成的閉環(huán)控制回路,控制對(duì)象為水溫。系統(tǒng)的原理框圖如圖1所示。
2 硬件設(shè)計(jì)
1、ATmega8是采用低功耗CMOS工藝生產(chǎn)的基于AVR RISC結(jié)構(gòu)的8位單片機(jī)。工作電壓4. 5-5.5 V,芯片內(nèi)部集成A/D轉(zhuǎn)換功能。通過(guò)編寫(xiě)程序,可將芯片的PC0至PC6口從普通的I/O口功能用作8位或10位A/D轉(zhuǎn)換,從而省去外圍的A/D轉(zhuǎn)換 電路。ATmega8內(nèi)部有3個(gè)定時(shí)器T0,T1和T2,本系統(tǒng)使用2個(gè),分別用作Ss的溫度數(shù)據(jù)采集和5 NS的LED刷新顯示。
2、 DS18B20支持“一線總線”接口,從而提高了系統(tǒng)的抗干擾性。溫度測(cè)量范圍從-55℃~+ 125℃,在-10℃~+85℃時(shí)測(cè)量精度為0. 5℃。
3、鍵盤(pán)用作上位機(jī)對(duì)下位機(jī)的通信控制。顯示電路采用10位共陰極LED,通過(guò)3片Max595芯片與單片機(jī)相連,同時(shí)顯示當(dāng)前溫度值和設(shè)定值。外圍電路同時(shí)有4個(gè)按鍵,可進(jìn)行溫度逐次加減、功能切換以及保存等功能。
軟件設(shè)計(jì)
整個(gè)系統(tǒng)的硬件電路設(shè)計(jì)相對(duì)簡(jiǎn)單。在本系統(tǒng)中采用增量型PID控制算法,即:
△u(k)=u(k)-u(k-1)=KP[e(k)一e(k-1)]+Ki(k)+Kd[e(k)一2e(k-1) +e(k-2)]
式中,△u(k)為控制增量;KP為比例參數(shù);Ki為積分參數(shù);Kd為微分參數(shù);e(k)為系統(tǒng)偏差。先根據(jù)KP、 Ki 、Kd的值,計(jì)算出輸出U的初值,再根據(jù)操作人員的給定值得到偏差e和偏差變化率ec,然后通過(guò)模糊規(guī)則表推導(dǎo)出KP'、 Ki' 、Kd'的值,再計(jì)算出△u。
模糊控制器的關(guān)鍵是總結(jié)操作人員和技術(shù)人員的實(shí)際操作經(jīng)驗(yàn)和技術(shù)知識(shí),并建立合適的模糊規(guī)則表,并將模糊規(guī)則表通過(guò)程序編寫(xiě)人單片機(jī)ATmega8中的EEPROM中去,在線時(shí)通過(guò)查詢(xún)得到合適的PID參數(shù)。
控制器的控制范圍為整個(gè)測(cè)量系統(tǒng)的測(cè)量范圍,各個(gè)隸屬函數(shù)的論域范圍既要滿足覆蓋的原則,又不要使規(guī)則過(guò)多。
總結(jié)
本文首先介紹了模糊控制理論的基本原理,在此基礎(chǔ)上將模糊控制理論與常規(guī)PID控制相結(jié)合,在以單片機(jī)ATmega8為系統(tǒng)核心部件對(duì)溫度進(jìn)行控制。相較單一的PID控制來(lái)說(shuō),模糊PID控制的效果具有動(dòng)態(tài)效果好,上升時(shí)間快,超調(diào)小的優(yōu)越性,在本系統(tǒng)中也取得了很好的控制效果。另外可以發(fā)現(xiàn),傳統(tǒng)控制與模糊控制是可以協(xié)同工作、相互補(bǔ)充的。