基于單片機(jī)模糊推理的洗衣機(jī)控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了更好的模仿人工洗滌過程,提高洗衣機(jī)的洗滌質(zhì)量,針對(duì)以單片機(jī)為核心的洗衣機(jī)控制系統(tǒng),引入了模糊推理技術(shù)。首先闡述了模糊洗衣機(jī)的基本原理,完成了系統(tǒng)硬件設(shè)計(jì);在軟件方面,對(duì)檢測到的水溫及骯臟度、衣質(zhì)、衣量等物理量進(jìn)行模糊化處理,建立了洗滌規(guī)則庫,通過模糊推理,實(shí)現(xiàn)對(duì)洗滌時(shí)間、水流強(qiáng)弱、洗滌劑用量以及脫水時(shí)間的自動(dòng)控制,提高了洗衣機(jī)的自動(dòng)控制和智能化程度。
關(guān)鍵詞:單片機(jī);模糊推理;洗衣機(jī);自動(dòng)控制
模糊控制洗衣機(jī)是一種智能型的、真正全自動(dòng)的洗衣機(jī)。它能自動(dòng)識(shí)別衣質(zhì)、衣量及骯臟程度,自動(dòng)決定水量,自動(dòng)投入適量的洗滌劑,從而全部自動(dòng)地完成整個(gè)洗滌過程。洗滌程序是通過模糊推理來決定的,因此有極高的洗滌效能,不僅提高了洗衣機(jī)的全自動(dòng)化程度,而且大大提高了洗衣質(zhì)量。
1 控制系統(tǒng)基本原理
模糊洗衣機(jī)通過對(duì)衣質(zhì)、衣量、衣物骯臟度及初始水位高低情況等輸入量,來決定洗滌時(shí)間、水流強(qiáng)弱、洗滌劑用量以及脫水時(shí)間等。因此,系統(tǒng)的被控對(duì)象主要是洗滌時(shí)間、水流強(qiáng)弱、洗滌劑用量及脫水時(shí)間等,即輸出量。洗衣機(jī)中被控對(duì)象的運(yùn)動(dòng)規(guī)律極其復(fù)雜,很難用數(shù)學(xué)語言的形式來表達(dá)。而模糊控制無需建立被控對(duì)象的數(shù)學(xué)模型,因此適用于洗衣機(jī)控制。模糊型洗衣機(jī)無需人為按鍵設(shè)置水位、水流方式、洗滌時(shí)間、清洗時(shí)間和脫水時(shí)間,用戶只需放進(jìn)待洗衣物,按下啟動(dòng)鍵,洗衣機(jī)便能自動(dòng)完成洗滌過程,實(shí)現(xiàn)了真正的“全自動(dòng)”。
模糊洗衣機(jī)要求控制系統(tǒng)能根據(jù)測得的衣質(zhì)、衣量情況,確定適當(dāng)水位、水流強(qiáng)度、洗滌時(shí)間、洗滌劑用量,并根據(jù)骯臟度的變化合理地修正洗滌時(shí)間,以達(dá)到節(jié)水和節(jié)能的目的。
圖1為模糊洗衣機(jī)的一般電路構(gòu)成。模糊控制系統(tǒng)主要由電源電路、洗衣機(jī)狀態(tài)控制電路、顯示電路及輸出控制電路等組成。由單片機(jī)組成的邏輯控制系統(tǒng)是模糊洗衣機(jī)硬件控制系統(tǒng)的核心,也是進(jìn)行模糊推理的物理基礎(chǔ)。單片機(jī)系統(tǒng)對(duì)洗衣機(jī)狀態(tài)的檢測,是為了提取模糊推理的一些前件狀態(tài),從而得到用于推斷后件結(jié)果的先前條件。用于進(jìn)行模糊推理的前件模糊量包括衣質(zhì)、衣量、骯臟度及水溫等的有關(guān)語言值。
2 控制系統(tǒng)硬件設(shè)計(jì)
圖2模糊控制系統(tǒng)結(jié)構(gòu)圖。各傳感器的輸出端連接到單片機(jī)上,單片機(jī)根據(jù)各傳感器檢測到的負(fù)載、衣質(zhì)、水位、水溫以及洗滌劑類型等信息,進(jìn)行分段評(píng)估計(jì)算,使其模糊化,再根據(jù)模糊規(guī)則進(jìn)行推理,最后從規(guī)則庫中查找對(duì)應(yīng)規(guī)則進(jìn)行模糊判決,從而確定最適當(dāng)?shù)乃鳌⑺?、洗滌時(shí)間、清洗方式及脫水時(shí)間。由此可見,模糊洗衣機(jī)的控制系統(tǒng)是一個(gè)多輸入多輸出的模糊控制系統(tǒng)。
在模糊洗衣機(jī)中,骯臟度、衣質(zhì)和衣量無法直接測量的。在實(shí)際中是通過有關(guān)電路以及有關(guān)洗衣機(jī)的動(dòng)態(tài)過程,并從這個(gè)動(dòng)態(tài)過程在電路中反映出來的有關(guān)電信號(hào)去進(jìn)行分析,最終通過模糊化處理得出衣質(zhì)和衣量的情況。根據(jù)經(jīng)驗(yàn),衣質(zhì)分為棉織品、化纖織品以及二者的混織品,棉織品洗滌更困難,而化纖織品洗滌更容易;衣量多一些,則洗滌過程長一些,反之則短一些。由于骯臟度與洗滌水的污濁度有關(guān),水的污濁度又與水的透光率有關(guān),所以通過光電傳感器來檢測衣物的骯臟度。水位的檢測是用專用的水位傳感器來實(shí)現(xiàn)的。水溫則通過熱敏電阻來測量。各傳感器的選擇及測量電路在這里不再贅述。
3 模糊控制的軟件實(shí)現(xiàn)
僅就模糊控制原理部分而言,模糊型洗衣機(jī)的開發(fā)工作包括:3個(gè)輸入變量(骯臟度、農(nóng)量、衣質(zhì))的語言變量值的隸屬函數(shù)的定義,2個(gè)輸出變量(洗滌時(shí)間、水流強(qiáng)度)的語言變量值的隸屬函數(shù)的定義以及連接3個(gè)輸入到兩個(gè)輸出的規(guī)則表的制定。
3.1 模糊化
為簡化推理及演算和縮小存儲(chǔ)容量,隸屬度函數(shù)采用最簡單的三角隸屬度函數(shù)。在圖3中,(a)表示負(fù)載的隸屬度函數(shù),負(fù)載大小由負(fù)載傳感器檢測到的脈沖數(shù)決定,負(fù)載越大,脈沖數(shù)越少;(b)表示水溫的隸屬度函數(shù);(c)表示衣質(zhì)的隸屬度函數(shù),由衣質(zhì)傳感器檢測到的脈沖數(shù)增量來確定。在圖4中,(a)和(b)分別表示輸出量水流強(qiáng)度和洗滌時(shí)間的隸屬度函數(shù)。
1)輸入量(分三級(jí))
負(fù)載:偏大、中等、偏小;
衣質(zhì):棉織品偏多、棉和化纖各半、化纖織品偏多;
水溫:偏高、中等、偏低。
2)輸出量(分五級(jí))
水流強(qiáng)度:特強(qiáng)、強(qiáng)、中等、弱、特弱;
洗滌時(shí)間:特長、長、中等、短、特短。
3.2 模糊推理
洗農(nóng)機(jī)模糊控制系統(tǒng)的主要工作就是依據(jù)語言規(guī)則進(jìn)行模糊推理決策。因此,在進(jìn)行模糊規(guī)則推理之前,先要確定好語言控制規(guī)則(即知識(shí)庫)。語言控制規(guī)則是根據(jù)經(jīng)驗(yàn)知識(shí)來確定的,并在實(shí)驗(yàn)過程中不斷加以修正和完善。它相當(dāng)于計(jì)算機(jī)程序設(shè)計(jì)語言的條件語句:“IF……THEN……”。
根據(jù)輸入量與輸出量的分級(jí)組合,對(duì)于水流強(qiáng)度和洗滌時(shí)間可以用以下27(=3×3×3)條模糊規(guī)則來表示。
規(guī)則一:如果負(fù)載偏小,衣質(zhì)化纖織品偏多,且水溫偏高;那么將水流特弱,洗滌時(shí)間特短。
規(guī)則二:如果負(fù)載偏大,衣質(zhì)化纖織品偏多,且水溫偏高;那么將水流中等,洗滌時(shí)間中等。
……
依次類推,可以寫出其他規(guī)則,如表1所示。
為了提高響應(yīng)速度、縮小資源開銷,規(guī)則表(即知識(shí)庫)的獲取采用離線計(jì)算的方式獲取,將其固化到單片機(jī)的程序存儲(chǔ)器中。洗衣機(jī)工作時(shí),采用查表法,從規(guī)則表中找到對(duì)應(yīng)規(guī)則,從而進(jìn)行模糊判斷和推理。推理時(shí)可采用最大最小推理法或者最大乘積推理法。兩種方法的推理結(jié)果在面積形式上有所差別,但差別不大。
在模糊推理結(jié)束之后,我們得到的是以模糊子集表示的水流強(qiáng)度和洗滌時(shí)間的校正量,它不能直接調(diào)節(jié)水流和洗滌時(shí)間,還需要進(jìn)行反模糊化。
3.3 反模糊化
輸出反模糊化就是要將語言表達(dá)的模糊量恢復(fù)到精確的數(shù)值,即要根據(jù)輸出模糊子集的隸屬度計(jì)算出確定的值。反模糊化采用質(zhì)心法。質(zhì)心法對(duì)于輸出變量模糊子集三角形定義,其匯編語言編程相當(dāng)復(fù)雜。為簡化編程,輸出變量模糊子集采用單值定義。這樣反模糊化過程編程就大為簡化。
3.4 軟件設(shè)計(jì)
洗衣機(jī)模糊控制系統(tǒng)的軟件主要包括以下6個(gè)功能模塊:系統(tǒng)初始化功能模塊、信號(hào)檢測與處理模塊、模糊推理模塊、中斷處理模塊、顯示輸出模塊、過載報(bào)警模塊。
所有模糊推理在洗滌之前都已執(zhí)行完畢。所以在程序進(jìn)行完功能設(shè)置之后就開始啟動(dòng)信號(hào)檢測模塊,開始一系列檢測工作,以確定模糊推理的先件條件(輸入變量值),然后進(jìn)行模糊推理,確定洗滌時(shí)間及水流強(qiáng)度等輸出量。在推理完成后就開始洗滌工作。在洗滌過程中,如果發(fā)生故障,則系統(tǒng)自動(dòng)報(bào)警并進(jìn)入相應(yīng)的中斷處理模塊。主程序框圖如圖5所示。
3.5 查表程序編制
圖6表示三輸入二輸出模糊控制系統(tǒng)的查表法過程。離線設(shè)計(jì)得到一查詢表用于在線運(yùn)行,可以提高運(yùn)算速度和精度。查詢表體現(xiàn)了模糊控制算法的最終運(yùn)行結(jié)果。在每一采樣時(shí)刻,對(duì)采樣值ei、ej、ek進(jìn)行量程轉(zhuǎn)換(即乘以量化因子K1、K2和K3)然后進(jìn)行量化(即將輸入的物理信號(hào)值轉(zhuǎn)換為輸入論域上的點(diǎn)),再通過查詢表查到輸出的控制作用,它也是輸出論域上的點(diǎn),再分別乘以比例因子K4和K5進(jìn)行量程轉(zhuǎn)換,就得到了要求的物理量。
由于模糊規(guī)則表有3個(gè)輸入量構(gòu)成了一張三維數(shù)據(jù)表,假設(shè)規(guī)則表以三維數(shù)組a[i][j][k]和b[i][j][k]的形式存儲(chǔ),并且各維變量定義如下:
i=0,1,2分別代表負(fù)載偏小、中等、偏大;
j=0,1,2分別代表質(zhì)料棉織品偏多、中等棉和化纖各半、化纖織品偏多;
k=0,1,2分別代表負(fù)載偏低、中等、偏高;
數(shù)組a中某元素的值表示水流的某個(gè)模糊值(特弱、弱、中等、強(qiáng)、特強(qiáng)分別用數(shù)值0,1,2,3,4來表示);數(shù)組b中某元素的值表示洗滌時(shí)間的某個(gè)模糊值(特短、短、中等、長、特長分別用數(shù)值0,1,2,3,4來表示)。例如:a[0][2][2]=0且b[O][2][2]=0它代表規(guī)則一,即“如果負(fù)載偏小,衣質(zhì)化纖織品偏多,且水溫偏高時(shí),那么將水流特弱,洗滌時(shí)間特短。”同理a[2][2][2]=2且b[0][2][2]=2代表規(guī)則二。依次類推可以得到如下查詢表,如表2所示。
當(dāng)模糊控制系統(tǒng)主程序調(diào)用查表子程序時(shí),通過參數(shù)傳遞,將采集到的輸入量ei、ej、ek經(jīng)量化后得到的模糊量作為實(shí)參,分別傳送給查表子程序的形參i、j、k然后通過查找對(duì)應(yīng)數(shù)組元素來確定它所符合的模糊規(guī)則,完成模糊推理。將對(duì)應(yīng)數(shù)組元素的數(shù)值作為子程序的返回值。查表程序如下:
在調(diào)用以上查表子程序之后,得到的數(shù)值如果是-1則認(rèn)為出現(xiàn)故障;正確數(shù)值數(shù)為整數(shù)0到4,必須將其轉(zhuǎn)化為相應(yīng)的模糊量,然后再進(jìn)行乘以相應(yīng)的比例因子進(jìn)行量程轉(zhuǎn)換,得到物理量,這樣就是需要的水流強(qiáng)度和洗滌時(shí)間。
4 結(jié)論
文中針對(duì)以單片機(jī)控制為核心的洗衣機(jī)控制系統(tǒng),采用模糊控制技術(shù)進(jìn)行優(yōu)化改進(jìn),能自動(dòng)識(shí)別衣料、衣量等,更好的模仿人工洗滌過程,實(shí)現(xiàn)了一鍵全自動(dòng)洗衣,提高了洗衣機(jī)的智能化程度和洗滌效果。