基于ARM電冰箱模糊控制系統仿真設計
2.2模糊規則
本系統采用IF E and DE then U 為模糊規則。模糊關系為R=E X DE X U; 模糊推理采用U =(E X DE )o R;
2.3 解模糊
本系統采用加權平均法(重心法)[1]來求的輸出的精確量U 的值:
(2.3.1)
其中 則
…. (2.3.2)
其中,Ci為論域對應值
圖2.3是模糊控制系統輸出曲面觀測器的輸出面。
在MATLAB命令窗口中鍵入simulink 建立一 wen.mdl文件如圖2.4,對模糊控制系統
進行仿真,得到曲線如圖2.5。可以看出,仿真輸出曲線超調量有點大,但系統反應較快即調節時間短,系統也比較穩定。單從仿真來看模糊控制切實可行。
3 在ARM上實現模糊控制器
3.1硬件設計
本文采用的微處理器是PHILIPS公司出品的Lpc2214[3]。這是一款支持實時仿真、嵌入式跟蹤、在系統編程和在應用編程的ARM7TDMI-STMCPU微處理器,ARM7TDMI是目前低端的ARM核。微處理器LPC2214對代碼規模有嚴格的控制,這種可以使用16位Thumb的模式將代碼規模降低超過30%,而性能的損失卻很小;由于這款微處理器具有很高的代碼處理速度、極低的功耗、多個32 位定時器、8路10位的ADC、PWM輸出以及多達9個外部中斷等特點;微處理器芯片自帶16K字節的片內靜態RAM和256K字節的片內閃存Flash,都可以用來存儲數據或代碼;Lpc2214是144腳封裝,是一款總線開放的微處理器,允許直接連接并行存儲芯片;由于內置了串行通信接口,它也適合于通信和各種類型的應用。系統框圖如圖3.1所示。
3.2軟件設計
當論域為離散時,經過量化后的輸入量的個數是有限的。因此可以針對輸入的不同組合離線計算出相應的控制量,從而組成一張控制表,實際控制時只要直接查這張控制表即可,在線的運算量是很少的。
由于LPC2214內存足夠大,無需考慮內存之憂。在LPC中如何實現控制規則表是整個系統的關鍵所在,本系統采用二維矩陣形式存儲控制規則表,假設二維矩陣為control[13][13]。在LPC2214只能存儲數字量,故在內存中模糊語言用十六進制表示:輸入量E,DE量化后分別為x, y,且x,y={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},在ARMz中則對應a,b={0,1,2,3,4,5,6,7,8,9,10,11,12}。假設E量化后x=-5, y=2,在ARM中對應a=1,b=8查表時只需查control[1][8]則這樣表示無論從數據管理還是從查表方便而言,都具有極大的優勢。
這種離線計算、在線查表的模糊控制方法比較容易滿足實時控制的要求。這種離線計算采用MATLAB計算出控制表,然后以二維矩陣形式存儲在ROM中,供在線查表。
另外,本設計還有一優點,就是模糊控制結合傳統控制方法PID控制,其中TP=6,TI=0.001,TD=1;軟件判斷E的大小范圍。
當E>+6℃或E-6℃時,系統自動跳到PID控制程序段,使系統能快速響應;
當-6℃
在ARM中實現模糊控制時,模糊化采用單點模糊集合,如果輸入量數據x0是準確的,則通常將其模糊化為單點模糊集合。設模糊集合用A表示,則有3.2.1
(3.2.1)
模糊集合的隸屬度函數,根據論域為離散和連續的不同情況,隸屬度函數也有離散和連續兩種方法。本設計中隸屬度函數采用離散方法,也就是連續隸屬度簡單離散化。解模糊用的仍然是重心法,只不過在求模糊控制規則表時,已用到這一步。控制主程序如圖4.1所示,模糊控制程序如圖4.2所示。
4 結論
模糊控制方法是一種的解決非線性、大滯后環節、變參數對象控制方法[4],對無法取得數學模型或數學模糊相對難求的系統可以取得比較滿意的效果。而且借助于MATLAB的模糊工具箱(fuzzy logic)和simulink仿真可以快速方便地設計仿真模糊控制系統。尤其是在家用電器的控制中模糊控制取得了越來越來廣泛的應用,具有重大的實用意義。
本文作者創新點為在ARM中用二維矩陣實現模糊控制表,簡單易行、速度快、足以滿足實時性要求。
評論