基于單片機模糊推理的洗衣機控制系統(tǒng)設計
依次類推,可以寫出其他規(guī)則,如表1所示。本文引用地址:http://www.ex-cimer.com/article/190014.htm
為了提高響應速度、縮小資源開銷,規(guī)則表(即知識庫)的獲取采用離線計算的方式獲取,將其固化到單片機的程序存儲器中。洗衣機工作時,采用查表法,從規(guī)則表中找到對應規(guī)則,從而進行模糊判斷和推理。推理時可采用最大最小推理法或者最大乘積推理法。兩種方法的推理結(jié)果在面積形式上有所差別,但差別不大。
在模糊推理結(jié)束之后,我們得到的是以模糊子集表示的水流強度和洗滌時間的校正量,它不能直接調(diào)節(jié)水流和洗滌時間,還需要進行反模糊化。
3.3 反模糊化
輸出反模糊化就是要將語言表達的模糊量恢復到精確的數(shù)值,即要根據(jù)輸出模糊子集的隸屬度計算出確定的值。反模糊化采用質(zhì)心法。質(zhì)心法對于輸出變量模糊子集三角形定義,其匯編語言編程相當復雜。為簡化編程,輸出變量模糊子集采用單值定義。這樣反模糊化過程編程就大為簡化。
3.4 軟件設計
洗衣機模糊控制系統(tǒng)的軟件主要包括以下6個功能模塊:系統(tǒng)初始化功能模塊、信號檢測與處理模塊、模糊推理模塊、中斷處理模塊、顯示輸出模塊、過載報警模塊。
所有模糊推理在洗滌之前都已執(zhí)行完畢。所以在程序進行完功能設置之后就開始啟動信號檢測模塊,開始一系列檢測工作,以確定模糊推理的先件條件(輸入變量值),然后進行模糊推理,確定洗滌時間及水流強度等輸出量。在推理完成后就開始洗滌工作。在洗滌過程中,如果發(fā)生故障,則系統(tǒng)自動報警并進入相應的中斷處理模塊。主程序框圖如圖5所示。
3.5 查表程序編制
圖6表示三輸入二輸出模糊控制系統(tǒng)的查表法過程。離線設計得到一查詢表用于在線運行,可以提高運算速度和精度。查詢表體現(xiàn)了模糊控制算法的最終運行結(jié)果。在每一采樣時刻,對采樣值ei、ej、ek進行量程轉(zhuǎn)換(即乘以量化因子K1、K2和K3)然后進行量化(即將輸入的物理信號值轉(zhuǎn)換為輸入論域上的點),再通過查詢表查到輸出的控制作用,它也是輸出論域上的點,再分別乘以比例因子K4和K5進行量程轉(zhuǎn)換,就得到了要求的物理量。
由于模糊規(guī)則表有3個輸入量構(gòu)成了一張三維數(shù)據(jù)表,假設規(guī)則表以三維數(shù)組a[i][j][k]和b[i][j][k]的形式存儲,并且各維變量定義如下:
i=0,1,2分別代表負載偏小、中等、偏大;
j=0,1,2分別代表質(zhì)料棉織品偏多、中等棉和化纖各半、化纖織品偏多;
k=0,1,2分別代表負載偏低、中等、偏高;
評論