You are on page 1of 21

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.

HCM

KHOA CÔNG NGHỆ ĐIỆN TỬ

Bài báo cáo thí nghiệm điều khiển tự động


GVHD: TH.S Huỳnh Minh Ngọc

SVTH: Bùi Văn Hải 07709981

Trần Danh Cầu 07707361

Trần Ngọc Ca 07705741

Lớp : DHDT3

Bài 1: thiết kế khâu hiệu chỉnh sớm trễ pha dùng phương pháp biểu đồ bode

R(s)
20ss+1(s+2)
Gc(s
)

Sao cho Kv = 10 , độ dự trữ biên bằng 12dB, độ dự trữ pha bằng 500.

Bài làm.

1. Tính toán lý thuyết.

Khâu hiệu chỉnh sớm trễ pha có dạng: Gc(s) = Gc1(S)*Gc2(s).

a) Thiết kế khâu sớm pha Gc1(s)


Hàm truyền khâu hiệu chỉnh sớm pha cần thiết kế là:

Gc1s=Kc 1+∝T.s1+T.s với ∝ >1


B1: xác định Kc.

Hệ số vận tốc của hệ sau khi hiệu chỉnh là:

Kv*=lims→0s.Gcs.Gs=lims→0(s. Kc 1+∝T.s1+T.s. 20ss+1(s+2)) = 10Kc

⇨ Kc=Kv*10=1010=1
B2: Đặt G1s=KcGs= 20ss+1s+2
B3 : Tần số cắt của hệ trước khi hiệu chỉnh.

G1jwc=1⟺ 20jwcjwc+1jwc+2=1⟺20wc wc+12 wc+42=1⟺wc wc+12 wc+42-


20=0

⟺wc6+5wc4+4wc2-400=0⟺wc2=5.88wc2=-5.44⟹wc=2.43 (rad/s)

Vậy tần số cắt biên trước khi hiệu chỉnh là wc=2.43 (rads)

B4 : độ dự trữ pha của hệ khi chưa hiệu chỉnh là

∅M=1800+φ1wc⟹∅M=1800+arg 20jwcjwc+1jwc+2=1800-
900+arctgwc1+arctgwc2

⟹∅M=1800-900+arctg2.431+arctg2.432=1800-900-680-510=-290

B5 : Góc pha cần bù

φmax=∅M*-∅M+θ ; với θ=50÷200 chọn θ=50

⟹φmax=500-(-290)+50=840

B6: Tính α

α=1+sinφmax1-sinφmax=1+sin8401-sin840=364

B7: Tính tần số cắt mới.

G1(wc')=1α⟺ 20jwc'jwc'+1jwc'+2=1364⟺20wc' wc+1'2


wc+4'2=1364⟺wc'6+5wc'4+4wc'2-145600=0

⟺wc'2=50.9wc'2=-27.98⟹wc'=7.14 (rad/s)

B8: Tính T

• T=1wc'α=17.14364=0.0073
• αT=364*0.0073=2.67

Vậy khâu hiệu chỉnh sớm pha cần thiết kế là:

Gc1s=1+2.67s1+0.0073s

B9 : Kiểm tra lại điều kiện về biên độ bằng biểu đồ bode.

Hàm truyền sau khi hiệu chỉnh sớm pha là


Gsp(s) = G(s)*Gc1(s) =
20ss+1s+2*1+2.67s1+0.0073s=102.67s+1ss+10.5s+10.0073s+1

a) Thiết kế khâu trễ pha Gc2(s)

Hàm truyền khâu hiệu chỉnh trễ pha cần thiết kế là:

Gcs=Kc 1+βT.s1+T.s với β <1

B1 : Xác định Kc.

Hệ số vận tốc của hệ sau khi hiệu chỉnh là:

Kv*=lims→0s.Gcs.Gs=lims→0(s. Kc 1+βT.s1+T.s.
10(2.67s+1)ss+10.5s+1(0.0073s+1)) = 10Kc

⇨ Kc=Kv*10=1010=1

B2: Đặt G2s=KcGs= 10(2.67s+1)ss+10.5s+1(0.0073s+1)

B3: xác định tần số cắt biên mới

Ta có: φ1wc'=-1800+ ∅M*+θ ; chọn θ=50

⟹arg 10(2.67s+1)jwc'jwc'+1(0.5s+1)0.0073jwc'+1=-1800+500+50

⟹-900+arctg0.02wc'+arctg0.0042wc'=-1250

⟹ arctgwc'+arctg0.5wc'+arctg0.0073wc'-arctg2.67wc'=350

⟹tan(arctgwc'+arctg0.5wc'+arctg0.0073wc'-arctg2.67wc')=tan(350)=0.7

Áp dụng công thức tana±b=tan(a)±tan(b)1∓tan(a)tan(b) ta tính được

wc'=2.32 (rad/s)

B4: tìm β

Ta có : G1jwc'=1β⟺ 102.67s+1jwc'jwc'+10.5s+10.0073jwc'+1=1β

⟺10(2.67wc'2+1)wc' (wc'2+1)(0.5wc'2+1) (0.0073wc'2+1)=1β

⟺10(2.32*2.672+1)2.32 2.322+1(0.5*2.322+1) (2.32*0.00732+1)=1β

⟹β=0.143

B5: Chọn zero của khâu trễ pha


1Tβ≪wc'=2.32 ⟹chọn 1Tβ = 0.1

⟹βT=10

B6 : Tính thời hằng T:

1T=β1βT= 0.143*0.1 = 0.0143

⟹T= 70

Ta có hàm truyền khâu trễ pha là Gc2s=Kc 1+βT.s1+T.s = 1+10s 1+70s

Vậy hàm truyền khâu hiệu chỉnh sớm trễ pha cần thiết kế là: Gc(s) = 1+2.67s1+0.0073s*
1+10s 1+70s

1. Thực hiện bằng sisotool.

Thiết kế khâu hiệu chỉnh sớm trễ pha

Khai báo hàm truyền G(s) ,H(s) và gõ lệnh sisotool trong vùng làm việc của matlab

>> G=tf(20,conv([1 1 0],[1 2]))

Transfer function:

20

-----------------

s^3 + 3 s^2 + 2 s

>> H=tf(1)

Transfer function:

>> sisotool

Import các hàm truyền vào hệ thống.

Biểu đồ bode và quỹ đạo nghiệm của hệ trước hiệu chỉnh.


Root Locus Editor (C) Open-Loop Bode Editor (C)
4 100

3 50

2 0

1 -50 G.M.: -10.5 dB


Freq: 1.41 rad/sec
Unstable loop
0
-100
-90
-1

-2
-180

-3
P.M.: -28.1 deg
Freq: 2.43 rad/sec
-4 -270
-6 -4 -2 0 2 10
-2
10
-1
10
0
10
1
10
2

Real Axis Frequency (rad/sec)

• Thiết kế khâu sớm pha

vào add pole or zero chon lead để thêm khâu hiệu chỉnh sớm pha.

Dùng chuột di chuyển các cực và zero để hệ thống thỏa điều kiện.
Biểu đồ bode và quỹ đạo nghiệm của hệ trước khi hiệu chỉnh trễ pha là:

Root LocusEditor (C) Open-LoopBodeEditor (C)


300 100

50

200 0

-50

100 -100
G.M.: 16.7dB
-150 Freq: 19rad/sec
Stableloop
0
-200
0

-100
-90

-200
-180

P.M.: 17.6deg
Freq: 7.14rad/sec
-300 -270
-400 -300 -200 -100 0 100 200 10
-2
10
0
10
2
10
4

Real Axis Frequency(rad/sec)

Ta thêm khâu hiệu chỉnh trễ pha vào hệ :


Dịch chuyển cực và zero mới để hệ thỏa điều kiện bài toán.
Ta có biểu đồ bode của hệ sau khi hiệu chỉnh sớm trễ pha là:
Root Locus Editor (C) Open-Loop Bode Editor (C)
300 100

50

200
0

-50
100

-100 G.M.: 33.3 dB


Freq: 18.7 rad/sec
0 Stable loop
-150
0

-100
-90

-200
-180

P.M.: 51.8 deg


Freq: 2.32 rad/sec
-300 -270
-400 -300 -200 -100 0 100 200 0 500 1000 1500 2000 2500
Real Axis Frequency (rad/sec)

Ta thấy Gm và Pm đều thỏa mãn điều kiện ,hệ hoạt động ổn định.
Nhận xét:
Với những bài toán đơn giản thì không cần vẽ biểu đồ bode ,nhưng với những bài toán phức tạp
thì bắt buộc phải vẽ biểu đồ bode mới giải được.

Bài 2 : Thiết kế khâu hiệu chỉnh sớm trễ pha dùng phương pháp biểu đồ bode

R(s)
80s0.02s+1(0.05s+
Gc(s
1)
)

Sao cho : Kv = 80 ,độ dự trữ biên bằng 10dB, độ dự trữ pha là 500

Bài làm

1. Tính toán lý thuyết.

Khâu hiệu chỉnh sớm trễ pha có dạng: Gc(s) = Gc1(S)*Gc2(s).


a) Thiết kế khâu sớm pha Gc1(s)

Hàm truyền khâu hiệu chỉnh sớm pha cần thiết kế là:

Gc1s=Kc 1+∝T.s1+T.s với ∝ >1


B1: xác định Kc.

Hệ số vận tốc của hệ sau khi hiệu chỉnh là:

Kv*=lims→0s.Gcs.Gs=lims→0(s. Kc 1+∝T.s1+T.s. 80s0.02s+1(0.05s+1)) = 80Kc

⇨ Kc=Kv*80=8080=1
B2: Đặt G1s=KcGs= 80s0.02s+1(0.05s+1)

Biểu đồ bode của hệ trước khi hiệu chỉnh sớm pha:

B3 : Tần số cắt của hệ trước khi hiệu chỉnh.

G1jwc=1⟺ 80jwc0.02jwc+10.05jwc+1=1⟺10wc 0.02wc+12 0.05wc+12=1⟺wc


0.02wc+12 -80=0

⟺10^(-6)wc6+0.00025wc4+0.0004wc2-6400=0⟺wc2=1140.8wc2=-
2020⟹wc=33.8 (rad/s)

Vậy tần số cắt biên trước khi hiệu chỉnh là wc=33.8(rads)

B4 : độ dự trữ pha của hệ khi chưa hiệu chỉnh là

∅M=1800+φ1wc⟹∅M=1800+arg 80jwc0.02jwc+10.05jwc+1=1800-
900+arctg0.02wc1+arctg0.05wc1

⟹∅M=1800-900+arctg0.6761+arctg1.691=1800-900-340-590=-30

B5 : Góc pha cần bù

φmax=∅M*-∅M+θ ; với θ=50÷200 chọn θ=50

⟹φmax=500-(-30)+50=580

B6: Tính α

α=1+sinφmax1-sinφmax=1+sin5801-sin580=12

B7: Tính tần số cắt mới.


G1(wc')=1α⟺ 80jwc'0.02jwc'+10.05jwc'+1=112⟺80wc' 0.02wc+1'2
0.05wc+1'2=112⟺10^(-6)wc'6+0.00029wc'4+wc'2-76800=0

⟺wc'2=3410wc12'2=-3155⟹wc'=58 (rad/s)

B8: Tính T

• T=1wc'α=15812=0.0042
• αT=12*0.0042=0.05

Vậy khâu hiệu chỉnh sớm pha cần thiết kế là:

Gc1s=1+0.05s1+0.0042s

B9 : Kiểm tra lại điều kiện về biên độ bằng biểu đồ bode.

Hàm truyền sau khi hiệu chỉnh sớm pha là

Gsp(s) = G(s)*Gc1(s) =
80s0.02s+1(0.05s+1)*1+0.05s1+0.0042s=80s(0.02s+1)1+0.0042s

b) Hàm truyền khâu hiệu chỉnh trễ pha cần thiết kế là:

Gc2s=Kc 1+βT.s1+T.s với β<1

B1 : Xác định Kc.

Hệ số vận tốc của hệ sau khi hiệu chỉnh là:

Kv*=lims→0s.Gcs.Gs=lims→0(s. Kc 1+βT.s1+T.s. 80s0.02s+1(0.0042s+1)) = 80Kc

⇨ Kc=Kv*80=8080=1

B2: Đặt G2s=KcGs= 80s0.02s+1(0.0042s+1)

B3 : Tính tần số cắt mới wc'.

Ta có: φ1wc'=-1800+ ∅M*+θ ; chọn θ=50

⟹arg 80jwc'0.02jwc'+10.0042jwc'+1=-1800+500+50

⟹-900+arctg0.02wc'+arctg0.0042wc'=-1250

⟹ arctg0.02wc'+arctg0.0042wc'=350

⟹tan(arctg0.02wc'+arctg0.0042wc')=tan(350)

⟹0.02wc'+0.0042wc'1-0.02wc'0.0042wc'=0.7⟹0.000058(wc')2+0.0242wc'-0.7=0
⟺wc'=27.2wc'=-444.3⟹wc'=27.2 (rad/s)

Vậy tần số cắt của hệ sau hiệu chỉnh là wc'=27.2 (rad/s)

B4: Tìm β

Ta có : G1jwc'=1β⟺ 80jwc'0.02jwc'+10.0042jwc'+1=1β⟺80wc' (0.02wc'2+1)


(0.0042wc'2+1)=1β

⟺8027.2 0.02*27.22+1 (0.05*27.22+1)=1β

⟹β=0.39

B5: Chọn zero của khâu trễ pha

1Tβ≪wc'=27.2 ⟹chọn 1Tβ = 0.1

⟹βT=10

B6 : Tính thời hằng T:

1T=β1βT= 0.39*0.1 = 0.039

⟹T= 25.6

Ta có hàm truyền khâu trễ pha là Gc2s=Kc 1+βT.s1+T.s = 1+10s 1+25.6s

Vậy hàm truyền khâu hiệu chỉnh sớm trễ pha là: Gc(s) = 1+0.05s1+0.0042s* 1+10s
1+25.6s

B7 : Kiểm tra lại điều kiện về biên độ

Dựa vào biểu đồ bode

1. Thực hiện bằng sisotool.

Thực hiện tương tự như câu 2 bài 1.

Trên cửa sổ common window của matlab khai báo hàm truyền G(s) ,H(s). gõ lệnh sisotool

>> G=tf(80,conv([0.02 1 0],[0.05 1]))

Transfer function:

80

------------------------
0.001 s^3 + 0.07 s^2 + s

>> H=tf(1)

Transfer function:

>> sisotool

Thực hiện import vào hệ thống.

Thêm khâu hiệu chỉnh sớm trễ pha ,dich chuyển cực và zero để thỏa điều kiện bài toán.

Ta có biểu đồ bode của hệ trước và sau hiệu chỉnh như sau:

Root Locus Editor (C) Open-Loop Bode Editor (C)


100 50

80

0
60

40
-50
20 G.M.: -1.16 dB
Freq: 31.6 rad/sec
Unstable loop
0
-100
-90
-20

-40

-60 -180

-80
P.M.: -3.41 deg
Freq: 33.8 rad/sec
-100 -270
-150 -100 -50 0 50 0 200 400 600 800 1000 1200
Real Axis Frequency (rad/sec)
Root Locus Editor (C) Open-Loop Bode Editor (C)
500 100

400 50

300 0

200 -50

100 -100 G.M.: 19.3 dB


Freq: 109 rad/sec
Stable loop
0
-150
-90
-100

-200

-300 -180

-400
P.M.: 54.8 deg
Freq: 27.2 rad/sec
-500 -270
-800 -600 -400 -200 0 200 0 1000 2000 3000 4000 5000
Real Axis Frequency (rad/sec)

Ta thấy biểu đồ bode của hệ sau hiệu chỉnh có Gm, Pm thỏa điều kiện bài toán . Hệ ổn định.

BÀI 3: xem xét mô hình bậc 2 của hệ thống điều khiển hành vi máy bay. Hàm
truyền đối tượng là:

Gcs=4500s(s+361,2)

Thiết kế bộ điều khiển PD với hàm truyền Gcs=kp+ kD.s để các tiêu chuẩn thỏa mãn :

– Sai số xác lập với ngõ vào unit-ramp ≤0.001


– Vọt lố cực đại ≤5%
– Thời gian lên tr≤0.005sec
– Thời gian thiết lập ts ≤0.005sec
A> Tính toán lý thuyết:
Theo đề bài thì đây là dao động bậc 2. Nên ta có độ vọt lố được tính theo
công thức
POT=exp x100%
 ξΠ 
− 
 1−ξ 2 
 

Theo đề bài POT=exp < 0.05


 ξΠ 
− 
 1−ξ 2 
 

-ξπ1-ξ2≤ln0.05 ≈ -3 ↔ 1,05ξ ≥ 1-ξ2  ξ ≥0.689

Chọn ξ =1

Do thời gian thiết lập <0.005sec. dựa vào tiêu chuẩn 2%

Tqd=4ξωn=4ωn <0.005  ωn > 800 chọn ωn = 810

Hàm truyền PD có dạng:

Gcs= kp + kD.s

Phương trình đặt tính của hệ sau khi hiệu chỉnh:

1 + Gcs Gs=0

↔ 1 + (kp + kD.s)( 4500s(s+361,2) )=0

↔ s2 + s(361,2 + 4500.kD) + 4500.kp = 0 (1)

Để hệ thống có cặp nghiệm phức ξ=1, ωn=810 thì phương trình đặc tính phải có dạng

s2 + 2ξωn s+ ωn2 = 0

hay s2 + 1620 s+ 656100 = 0 (2)

cân bằng nghiệm số (1),(2) ta được :

361,2+4500kD=16204500kp=656100 kD=0,28kp=145,8

Vậy hàm truyền : Gcs= 145,8 + 0,28.s

B> Mô phỏng kiểm chứng :


Nhập hàm truyền:
>> G1=tf(4500,conv([1 0],[1 361.2]))
Transfer function:
4500
-------------
s^2 + 361.2 s

>> sisotool

+Đầu tiên ta thiết lập các hàm truyền: file/import…


Lúc này cửa sổ import system data xuất hiện ta thiết lập hàm
truyền. thiết lập xong chọn Ok
+ bây giờ ta xem hàm khi chưa hiệu chỉnh: vào menu chọn analysis/other
loop pesponses chọn các thiết lập tương ứng ta được hình sau:
R
oot LocusE
ditor (C
) Open-LoopBodeE
ditor (C
)
6 0

-20
4

-40

2
-60 G.M .: Inf
Freq: Inf
Stableloop
0
-80
-90

-2

-135
-4

P.M.: 88deg
Freq: 12.5rad/sec
-6 -180
-400 -300 -200 -100 0 0 1000 2000 3000 4000 5000 6000
R
ealAxis Frequency(rad/sec)
S
te
pRe
spo
nse
1

0
.9

0
.8

0
.7
Amplitude

0
.6

0
.5

0
.4

0
.3

0
.2

0
.1

0
0 0
.0
5 0
.1 0
.1
5 0
.2 0
.2
5 0
.3 0
.3
5 0
.4 0
.4
5
T
im
e(s
ec)

theo yêu cầu đề bài ta xác lập các thông số theo yêu cầu chất lượng:

kích chuột phải vào đồ thị hàm truyền chọn:


+Design constraints/ new
+Hộp thoại xuất hiện ta chọn các thông số theo đề bài: độ vọt lố (precent
overshoot), thời gian thiết lập (setting time)…> chọn ok

Ta tiến hành thêm cực zero tương ứng như lý thuyết ta được:
Nhưng hàm này không đáp ứng được tiêu chuẩn nên ta tiến hành chỉnh sửa theo yêu cầu
chất lượng:
Step Response
1

0.9

0.8

0.7

0.6
Amplitude

0.5

0.4

0.3

0.2

0.1

0
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018
Time (sec)

Bài 4: thiết kế khâu hiệu chỉnh trễ pha dùng phương pháp biểu đồ bode sao cho hệ
thống sau khi hiệu chỉnh có kv* = 5: ΦM*≥ 40 ; GM* ≥ 10dB

R(s) C(s)
1ss+1(0.5s+1)
Gc(s)

A) Tính toán lý thuyết:

Hàm truyền khâu hiệu chỉnh trễ pha cần thiết kế là:

Gcs=Kc1+αTs1+Ts,( α<1)

Hệ số vận tốc sau khi hiệu chỉnh là:


kv*=lims→0sGcsGs=lims→0sKc1+αTs1+Ts1s+1s+5s =Kc

Vậy Kc = K* = 5
V

Đặt G1s=KcGs1ss+1(0.5s+1) ⇨ G1s=5ss+1(0.5s+1)


tần số cắt mới: φ1( ω’c) = - 180o + ΦM* +θ

⇨ -90o – arctan( ω’c) - arctan( 0.5ω’c) = - 180o + 40o + 5o

⇨ arctan( ω’c) + arctan( 0.5ω’c) = 45o

⇨ ω’c+0.5ω’c1-0.5ω’c=tan450=1 ⇨ ω’c = 0.56 (rad/sec)

Tính α:

G1(jω’c)=1α ↔ |5ss+1(0.5s+1)|s=jω’c=1α

⇨ |5j0.56j0.56+1(0.5x0.56j+1)|s=jω’c=1α ⇨ α = 0.133

Chọn zero của khâu trễ pha:

1αT≪ ω’c=0.56 ⇨ αT = 20

T = αT/α = 20/0.133 = 150

Vậy Gcs=51+20s1+150s

A>Mô phỏng bằng matlab:


Khai báo hàm truyền :

>> G1=tf(1,conv([1 1 0],[0.5 1]))

Transfer function:
1
---------------------
0.5 s^3 + 1.5 s^2 + s

>> sisotool
Trước khi hiệu chỉnh
+Đầu tiên ta thiết lập các hàm truyền: file/import…
Lúc này cửa sổ import system data xuất hiện ta thiết lập hàm
truyền. thiết lập xong chọn Ok
R
oot LocusE
ditor (C
) Open-LoopBodeE
ditor (C
)
4 40

20

3
0

-20

Magnitude (dB)
2
-40

-60

-80
Imag Axis

-100 G.M .: 9.54dB


Freq: 1.41rad/sec
0
Stableloop
-120
-90

-1

-135

Phase (deg)
-2

-180

-3
-225

P.M.: 32.6deg
Freq: 0.749rad/sec
-4 -270
-6 -5 -4 -3 -2 -1 0 1 2 -2 -1 0 1 2
10 10 10 10 10
R
ealAxis Frequency(rad/sec)

+ dựa vào hàm Gc(s) tìm được ta nhập vào matlab để xem sự thay đổi khi
hiệu chỉnh.
Nhưng đầu tiên ta thiết lập:
Kích chuột phải trong biểu đồ Root Locus Editor chọn: Edit Compensator……
Hộp thoại sau xuất hiện:

Ta tiến hành thêm các cực tương ứng như lý thuyết vừa tính được ta có được như
hình sau:
R o o t L o c u s E d ito r ( C ) O p e n - L o o p B o d e E d it o r ( C )
4 100

50
3

Magnitude (dB)
2

-50

-100

G .M . : 1 2 . 5 d B
Imag Ax is

F r e q : 1 . 3 7 r a d /s e c
0
S t a b le lo o p

-150
-90

-1

-135

-2
Phase (deg)

-180

-3
-225

P.M .: 4 0 .6 d e g
F r e q : 0 .5 6 2 r a d /s e c
-4 -270
-6 -5 -4 -3 -2 -1 0 1 2 -4 -3 -2 -1 0 1 2
10 10 10 10 10 10 10
R e a l A x is F r e q u e n c y ( r a d /s e c )

ta thấy rằng các thông số điều đáp ứng với đề bài.

You might also like