設計一相位領先控制器,使閉迴路系統滿足以下條件:

Kv >= 12

PM >= 40度

---

解題步驟

Step1. 求 K 值


K = 12

Step2. 求系統相位邊限(PM)  值 (phi_l)

將K = 12代入未補償系統,以matlab求之,程式如下:


clc

clear all


k = 12;

num = k;

den = [1 1 0];

G = tf(num, den)

margin(G)


從圖得知,Pm = 16.4 deg (ph_l = 16.4),

Wn = 3.39


Step3.求最大相角 phi_m 

phi_m = phi_s (條件相位邊限) - phi_l(未補償系統之相位邊限) + e (安全邊限,值介於5~15)

phi_m = 40- 16.4 + 6 = 29.6 (deg)

phi_m = 29.6 (deg)


Step4.求控制器a參數

公式如下:


以matlab求解。此處要留意,matlab是以徑度計算,所以要將徑度轉換成角度,程式如下:

a = (1+sin(phi_m/180*pi)) / (1-sin(phi_m/180*pi));


求得 a = 2.9521


Step5.在 -10 log a (dB) 求 Wm (未補償系統增益所對應之頻率)

以 matlab 求之,程式如下:

-10*log10(a)


得 Wm = 4.48


Step6. 求 T

公式如下:


以 matlab 求之,程式如下:

T = 1/(sqrt(a)*wm)

得 T = 0.1299


Step7.檢視控制器是否滿足條件需求

檢查補償後系統是否符合性能規格,若相位邊限仍然太低,則應提高 e 值(安全邊限),再重新設計。


程式如下:

D = tf([a*T 1], [T 1]);

G = tf(num, den);

figure(1)

margin(D*G)

Gc = D*G/(1+D*G) % close-loop system

figure(2)

step(Gc) %畫系統步階響應圖

shg


從圖得之,Pm = 42.4 (deg),滿足條件 PM >= 40度。

---

完整程式碼如下:

clc

clear all


k = 12;

num = k;

den = [1 1 0];

phi_s = 40;

phi_l = 16.4;

e = 6;

phi_m = phi_s - phi_l + e; %phi_m=29.6 degree

a = (1+sin(phi_m/180*pi)) / (1-sin(phi_m/180*pi));

-10*log10(a)

wm=4.48;

T = 1/(sqrt(a)*wm)

D = tf([a*T 1], [T 1]);

G = tf(num, den);

figure(1)

margin(D*G)

Gc = D*G/(1+D*G) % close-loop system

figure(2)

step(Gc)

shg



相位領前控制器的目的在於增加開迴路系統增益交越點附近的相位,並在新的增益交越點配置最大的領前相位

---

#相位領先 #phase_lead

0 留言