如何在matlab中進行水箱水位模糊控制的系統模擬?

水位控制系統在各個領域上都有廣泛應用,雖然其結構簡單但由於控制過程具有多變數,大滯後,時變性等特點,且在控制過程中系統會受到各種不確定因素的影響,難於建立精確的數學模型。雖然自適應、自校正控制理論可以對缺乏數學模型的被控物件進行識別,但這種遞推法複雜,實時性差。

近年來模糊控制在許多控制應用中都取得了成功,模糊控制應用於控制系統設計不需要知道被控物件精確的數學模型,對於許多無法建立精確數學模型的複雜系統能獲得較好的控制效果,同時又能簡化系統的設計,因此,在水箱水位自動控制系統中,模糊控制就成為較好的選擇。

工具/原料

matlab軟體

方法/步驟

問題概述:假定一個水箱有一個進水口和一個出水口,可以通過控制進水口閥門和出水閥門來控制流入和流出水箱的水量(即控制水箱的中水位高度)。

u為可控進水閥的控制量; q1為水箱的進水量; q2為水箱的流出水量;h為水位高度。水箱流出水量q2取決於出水管道的半徑(為定值)、出水閥的開度,同時與水箱水位h有關。水箱水位高度h與進水閥控制量u之間的傳遞函式為慣性環節,即如下式所示,式中,K為比例係數; T為水箱的時間常數。

如何在matlab中進行水箱水位模糊控制的系統模擬

構建模糊推理系:在MATLAB環境中構建一個模糊推理系統,在MATLAB命令視窗中輸入命令fuzzy→Enter,進入模糊推理編輯視窗,增加一個輸入變數。

如何在matlab中進行水箱水位模糊控制的系統模擬

編輯輸入語言變數及輸出語言變數的隸屬函式,其模糊集論域分別為[-6,6],[-9,9],在模糊集論域上語言變數的取值皆為NB,NM,NS,ZO,PS,PM,PB七個模糊集合。

如何在matlab中進行水箱水位模糊控制的系統模擬

如何在matlab中進行水箱水位模糊控制的系統模擬

編輯好輸入及輸出變數的隸屬函式後將他們均匯入workplace中。

如何在matlab中進行水箱水位模糊控制的系統模擬

建立控制規則。

如何在matlab中進行水箱水位模糊控制的系統模擬

在Simulink中進行模擬:在MATLAB命令視窗中單擊Simulink圖示,啟用模擬模組庫,建立模擬模型編輯環境視窗,將模擬所需要的模組用滑鼠拖入其中並連線好,如圖6所示。模擬系統中,模糊控制器的輸出採用增量式輸出,系統給定值h=2 m,水箱數學模型如下,其中,時間常數為T=100 s,比例係數為1

如何在matlab中進行水箱水位模糊控制的系統模擬

如何在matlab中進行水箱水位模糊控制的系統模擬

模擬結果及分析:模擬結果見下圖,該結果表明,在水箱水位給定值為h=2 m時,系統跟蹤有偏差,其原因是被控物件為慣性環節,採用PD模糊控制器,系統中沒有積分環節,系統有靜態偏差,但水位最終能較好的穩定在所要求的位置。

如何在matlab中進行水箱水位模糊控制的系統模擬

相關問題答案