[matlab練習] 設計滿足規格的相位落後(Phase-Lag)控制器
設計一相位落後控制器,使閉迴路系統滿足以下條件
Kv >= 50
PM >= 50度
---
解題步驟
Step1. 求 K 值
K=100
Step2. 求系統相位邊限(PM) 值 (phi_l)
以matlab求之,程式如下:
clc
clear all
k = 100;
num = k;
den = [1 2 0];
G = tf(num, den)
margin(G)
shg
從下圖得知,Pm = 11.4 deg (ph_l = 11.4)
Step2. 求phi_m (phi_s + e)
phi_s 為規格要求的相位邊限 (此例為50度)
e 為使用者調整的相位邊限 (範圍 5~15,此處我們先從 5 調起)
phi_m = phi_s + e = 50 + 5 = 55 (deg)
-180 + 55 = -125
接著在剛才的波德圖中,在相位圖中找到 -125 度對應的頻率(Wc),其值為1.39。
Wc = 1.39
Step4. 求增益值 A
利用剛才的波德圖,在增益圖中,尋找 Wc = 1.39 對應的增益為A,A值為 29.4 dB。
A = 29.4
使用 matlab,利用 A 值求 -20 log( a ),a = 0.0339 ( < 1)。
程式如下:
A = 29.4;
a = 10 ^ (-A/20)
Step5. 求 T
以 matlab 求之,T = 212.3172
程式如下:
T = 10/(wc * a)
Step6. 將所有參數代回系統,檢視設計出的控制器是否滿足規格
程式如下:
D = tf([a*T 1], [T 1]);
G = tf(num, den);
margin(D*G)
從結果來看,Pm = 49.6 deg,未滿足條件要求(50),因此回到Step2,調整e值。
---
Step7.優化
phi_s 為 規格要求的相位邊限 (此例為50度)
e 為使用者調整的相位邊限 (範圍 5~15,此處我們先從 6 調起)
phi_m = phi_s + e = 50 + 6 = 56 (deg)
-180 + 56 = -124
接著在剛才的波德圖中,在相位圖中找到 -125 度對應的頻率(Wc),其值為1.33。
Wc = 1.33
利用剛才的波德圖,在增益圖中,尋找 Wc = 1.33 對應的增益為A,A值為 29.9 dB。
A = 29.9
使用 matlab,利用 A 值求 -20 log( a ),a = 0.032 ( < 1)。
以 matlab 求之,T = 235.0436
接著使用下列程式檢視控制器是否滿足題目條件 ( PM>50 degree )
D = tf([a*T 1], [T 1]);
G = tf(num, den);
margin(D*G)
得出下圖
從圖上得知 Pm 為 50.7 deg ,滿足題目條件 ( PM>50 degree )。
完整程式碼如下:
clc
clear all
k = 100;
num = k;
den = [1 2 0];
G = tf(num, den)
margin(G)
wc = 1.33;
A = 29.9;
a = 10 ^ (-A/20);
T = 10/(wc * a);
D = tf([a*T 1], [T 1]);
G = tf(num, den);
margin(D*G)
shg
相位落後控制器的目的則在將增益交越點移向所設計相位邊限可以實現之較低頻處,並保持波德圖的相位曲線在增益交越頻率處不變。
---
#相位落後 #Phase-Lag
0 留言