1 引 言 模糊控制理論的提出,為我們提供了一種新的控制方法。這種方法以微處理器構成的模糊控制器為核心,以模擬人腦的思維方式為基本出發(fā)點(diǎn),不需要我們對控制對象準確建模,就能很好的解決非線(xiàn)性、大滯后環(huán)節、變參數對象的控制問(wèn)題[1]。依靠操作人員的經(jīng)驗來(lái)建立合理的模糊控制算法,就能使難控制的系統達到比較好的控制效果。 在電冰箱的控制中,溫度是主要的控制對象,控制的好就有顯著(zhù)的節能效果。影響溫度變化的因素很多,如環(huán)境溫度的高低,冰箱本身的容積,開(kāi)冰箱門(mén)的次數,每次開(kāi)門(mén)的時(shí)間,冰箱中食物的多少,以及食物的種類(lèi)和性質(zhì)等等。所以要想建立電冰箱溫度變化的精確數學(xué)模型是很困難的。因此可采用模糊控制解決。 在本設計中,模糊控制器輸入量為系統的誤差E和誤差變化率DE、輸出為系統的控制量U,因此模糊控制器的工作過(guò)程可以描述為:首先將模糊控制器的輸入量轉化為模糊量供模糊邏輯決策系統用,模糊邏輯決策器根據規則決定的模糊關(guān)系R,應用模糊邏輯推理算法得出控制器的模糊輸出量。最后經(jīng)精確化計算得到的控制值去控制被控對象。 2 模糊控制系統的設計 2.1輸入輸出 將傳感器測得的精確溫度在各自的變化區間上分為幾個(gè)檔次,使每檔對應一個(gè)模糊集。我們設定電冰箱溫度升降范圍-15℃"+15℃之間變化,而輸入變化范圍為-15℃"+15℃,輸入變化率變化范圍為-6"6之間。將它分為6檔,并和模糊變量負大,負小,負零,正零,正小,正大一一對應,所以K1=6/15=0.24,K2=6/6=1,K3=15/6=2.5。 在MATLAB環(huán)境下,鍵入Fuzzy命令,進(jìn)入模糊邏輯上具箱[2],在屏幕上出現帶有單輸入、單輸出、模糊規則的模塊系統,用戶(hù)雙擊輸入、輸出模塊,可進(jìn)行輸入、輸出變量的論域范圍、各個(gè)語(yǔ)臺變量的隸屬函數形狀等參數的編輯。并保存為wen.fis本例中3個(gè)變量的隸屬函數,它們的語(yǔ)言量值分別為: E ={NB NS ZR PS PB}、DE={NB NS ZR PS PB}、U ={NB NS ZR PS PB} 輸入偏差E論域:“正大”(PB)多數取在+6℃附近、“正小”(PS)多數取在+2℃附近、“正零”(ZR)多數取在零左右一點(diǎn)附近、“負小”(BS)多數取在-2℃附近、“負大”(NB)多數取在-6℃附近。輸入變化率DE語(yǔ)言變量值和輸出U的語(yǔ)言變量值同輸入變量E;輸入隸屬度函數如圖2.1所示 ,輸出隸屬度函數如圖2.2所示 圖2.4仿真框圖 2.2模糊規則 本系統采用IF E and DE then U 為模糊規則。模糊關(guān)系為R=E X DE X U; 模糊推理采用U =(E X DE )o R; 2.3 解模糊 本系統采用加權平均法(重心法)[1]來(lái)求的輸出的精確量U 的值: (2.3.1) 其中則 ….(2.3.2) 其中,Ci為論域對應值 圖2.3是模糊控制系統輸出曲面觀(guān)測器的輸出面。 在MATLAB命令窗口中鍵入simulink 建立一 wen.mdl文件如圖2.4,對模糊控制系統 進(jìn)行仿真,得到曲線(xiàn)如圖2.5?梢钥闯,仿真輸出曲線(xiàn)超調量有點(diǎn)大,但系統反應較快即調節時(shí)間短,系統也比較穩定。單從仿真來(lái)看模糊控制切實(shí)可行。 3 在ARM上實(shí)現模糊控制器 3.1硬件設計 本文采用的微處理器是PHILIPS公司出品的Lpc2214[3]。這是一款支持實(shí)時(shí)仿真、嵌入式跟蹤、在系統編程和在應用編程的ARM7TDMI-STMCPU微處理器,ARM7TDMI是目前低端的ARM核。微處理器LPC2214對代碼規模有嚴格的控制,這種可以使用16位Thumb的模式將代碼規模降低超過(guò)30%,而性能的損失卻很;由于這款微處理器具有很高的代碼處理速度、極低的功耗、多個(gè)32 位定時(shí)器、8路10位的ADC、PWM輸出以及多達9個(gè)外部中斷等特點(diǎn);微處理器芯片自帶16K字節的片內靜態(tài)RAM和256K字節的片內閃存Flash,都可以用來(lái)存儲數據或代碼;Lpc2214是144腳封裝,是一款總線(xiàn)開(kāi)放的微處理器,允許直接連接并行存儲芯片;由于內置了串行通信接口,它也適合于通信和各種類(lèi)型的應用。系統框圖如圖3.1所示。 3.2軟件設計 當論域為離散時(shí),經(jīng)過(guò)量化后的輸入量的個(gè)數是有限的。因此可以針對輸入的不同組合離線(xiàn)計算出相應的控制量,從而組成一張控制表,實(shí)際控制時(shí)只要直接查這張控制表即可,在線(xiàn)的運算量是很少的。 由于LPC2214內存足夠大,無(wú)需考慮內存之憂(yōu)。在LPC中如何實(shí)現控制規則表是整個(gè)系統的關(guān)鍵所在,本系統采用二維矩陣形式存儲控制規則表,假設二維矩陣為control[13][13]。在LPC2214只能存儲數字量,故在內存中模糊語(yǔ)言用十六進(jìn)制表示:輸入量E,DE量化后分別為x, y,且x,y={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},在A(yíng)RMz中則對應a,b={0,1,2,3,4,5,6,7,8,9,10,11,12}。假設E量化后x=-5, y=2,在A(yíng)RM中對應a=1,b=8查表時(shí)只需查control[1][8]則這樣表示無(wú)論從數據管理還是從查表方便而言,都具有極大的優(yōu)勢。 這種離線(xiàn)計算、在線(xiàn)查表的模糊控制方法比較容易滿(mǎn)足實(shí)時(shí)控制的要求。這種離線(xiàn)計算采用MATLAB計算出控制表,然后以二維矩陣形式存儲在ROM中,供在線(xiàn)查表。 另外,本設計還有一優(yōu)點(diǎn),就是模糊控制結合傳統控制方法PID控制,其中TP=6,TI=0.001,TD=1;軟件判斷E的大小范圍。 當E>+6℃或E<-6℃時(shí),系統自動(dòng)跳到PID控制程序段,使系統能快速響應; 當-6℃ 在A(yíng)RM中實(shí)現模糊控制時(shí),模糊化采用單點(diǎn)模糊集合,如果輸入量數據x0是準確的,則通常將其模糊化為單點(diǎn)模糊集合。設模糊集合用A表示,則有3.2.1 (3.2.1) 模糊集合的隸屬度函數,根據論域為離散和連續的不同情況,隸屬度函數也有離散和連續兩種方法。本設計中隸屬度函數采用離散方法,也就是連續隸屬度簡(jiǎn)單離散化。解模糊用的仍然是重心法,只不過(guò)在求模糊控制規則表時(shí),已用到這一步?刂浦鞒绦蛉鐖D4.1所示,模糊控制程序如圖4.2所示。 4 結論 模糊控制方法是一種的解決非線(xiàn)性、大滯后環(huán)節、變參數對象控制方法[4],對無(wú)法取得數學(xué)模型或數學(xué)模糊相對難求的系統可以取得比較滿(mǎn)意的效果。而且借助于MATLAB的模糊工具箱(fuzzy logic)和simulink仿真可以快速方便地設計仿真模糊控制系統。尤其是在家用電器的控制中模糊控制取得了越來(lái)越來(lái)廣泛的應用,具有重大的實(shí)用意義。 本文作者創(chuàng )新點(diǎn)為在A(yíng)RM中用二維矩陣實(shí)現模糊控制表,簡(jiǎn)單易行、速度快、足以滿(mǎn)足實(shí)時(shí)性要求。 |