Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 17 – GVHD: PHẠM QUANG HUY
Bài 9: Trích từ trang 5-19 sách ‘Control System Toolbox’
Bài này tổng hợp các lệnh:
» h=tf([4 8.4 30.8 60],[1 4.12 17.4 30.8 60]);
» subplot(221)
» bode(h)
» subplot(222)
» step(h)
» subplot(223)
» pzmap(h)
» subplot(224)
» plot(rand(1,100)
» plot(rand(1,100))
Frequency (rad/sec)
Phase (deg); Magnitude (dB)
Bode Diagrams
-20
0
20
From: U(1)
10
-1
10
0
10
1
-100
0
100
To: Y (1)
Time (sec.)
Amplitude
Step Response
0 2 4 6 8 10 12
0
0.5
1
1.5
From: U(1)
To: Y (1)
Real Axis
Im ag A xis
Pole-zero map
-3 -2 -1 0 1
-4
-2
0
2
4
0 50 100
0
0.2
0.4
0.6
0.8
1
bai tong hop
Bài 10: Cho hàm truyền như sau:
()()
2s1s
4s
)s(G
++
+
=
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 18 – GVHD: PHẠM QUANG HUY
Viết theo cấu trúc sau ta có được đồ thò biểu diễn quỹ đạo nghiệm:
» num=[1 4];
» den=conv([1 1],[1 2])
» rlocus(num,den)
Kết quả như hình sau:
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 1 - GVHD: PHẠM QUANG HUY
KHẢO SÁT SỰ ỔN ĐỊNH CỦA HỆ THỐNG
LÝ THUYẾT:
• Hệ thống ổn đònh ở trạng thái hở, sẽ ổn đònh ở trạng thái kín nếu biểu đồ
Nyquist không bao điểm (-1+i0) trên mặt phẳng phức.
• Hệ thống không ổn đònh ở trạng thái hở, sẽ ổn đònh ở trạng thái kín nếu biểu
đồ Nyquist bao điểm (-1+i0)p lần ngược chiều kim đồng hồ (p là số cực GH
nằm ở phải mặt phẳng phức).
Từ dấu nhắc của cửa sổ MATLAB, ta nhập:
» num = [nhập các hệ số của tử số theo chiều giảm dần của số mũ].
» den = [nhập các hệ số của mẩu số theo chiều giảm dần của số mũ].
» nyquist(num,den)
Bài tập 1:
GH(s) =
st1
k
−
(với k =10, t =1)
» num = 10;
» den = [-1 1];
» nyquist(num,den)
Kết quả:
Real Ax i s
Imaginary Axis
Nyqu ist Di agram s
0 2 4 6 8 10
-5
-4
-3
-2
-1
0
1
2
3
4
5
(A)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 2 - GVHD: PHẠM QUANG HUY
Nhận xét: hàm truyền vòng hở có 1 cực nằm bên phải mặt phẳng phức. Biểu đồ
Nyquist không bao điểm A (-1+j0).
Điểm –1 ký hiệu (+) nằm trên trục thực âm (Real Axis), điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ không ổn đònh.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ.
Từ dấu nhắc của cửa sổ lệnh MATLAB ta dùng lệnh ‘margin’:
» num = 10;
» den = [-1 1];
» margin(num,den);
Frequency (rad/sec)
Phase (deg); Magnitude (dB)
Bode Diagrams
0
5
10
15
20
Gm = 0 dB, Pm = 0 (unstable closed loop)
10
0
20
40
60
80
Kết luận:
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0°).
Warning: Closed loop is unstable (hệ vòng kín không ổn đònh).
Bài tập 2
:
GH(s) =
()
st1s
k
−
(k = 10, t = 1)
» num = 10;
» den = [-1 1 0];
» nyquist(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 3 - GVHD: PHẠM QUANG HUY
Real Axis
Imaginary Axis
Nyquist Diagrams
0 2 4 6 8 10
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhận xét: hàm truyền vòng hở có 1 cực nằm bên phải mặt phẳng phức và 1 cực nằm
tại gốc tọa độ. Biểu đồ Nyquist không bao điểm A (-1+j0).
Điểm –1 ký hiệu (+) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục ảo
(Imaginary Axis).
Kết luận: hệ không ổn đònh.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ.
Từ dấu nhắc của cửa sổ lệnh MATLAB ta dùng lệnh ‘margin’:
» num = 10;
» den = [-1 1 0];
»margin(num,den)
(A)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 4 - GVHD: PHẠM QUANG HUY
Frequency (rad/sec)
Phase (deg); Magnitude (dB)
Bode Diagrams
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstable closed loop)
10
-1
10
0
-80
-60
-40
-20
Kết luận:
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0°).
Warning: Closed loop is unstable (hệ vòng kín không ổn đònh).
Bài tập 3:
GH(s) =
()()
1st1st
k
21
++
(k =10, t
1
= 1, t
2
= 2)
» num = 10;
» den = [2 3 1];
» nyquist(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 5 - GVHD: PHẠM QUANG HUY
Real Ax i s
Imaginary Axis
Nyqu ist Di agram s
0 2 4 6 8 10
-6
-4
-2
0
2
4
6
Nhận xét: hàm truyền vòng hở có 2 cực nằm bên trái mặt phẳng phức. Biểu đồ
Nyquist không bao điểm A (-1+j0).
Điểm –1 ký hiệu (+) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ thống ổn đònh.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ.
Từ dấu nhắc của cửa sổ MATLAB dùng lệnh ‘margin’.
» num = 10;
» den = [2 3 1];
» margin(num,den)
(A)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 6 - GVHD: PHẠM QUANG HUY
Frequency (rad/sec)
Phase (deg); Magnitude (dB)
Bode Diagrams
-20
-10
0
10
20
Gm = Inf, Pm=38.94 deg. (at 2.095 rad/sec)
10
0
-150
-100
-50
Kết luận: hệ thống ổn đònh.
Độ dự trữ biên (Gm = ∞).
Độ dự trữ pha (Pm = 38.94°), tại tần số cắt biên 2.095 rad/sec.
Bài tập 4:
GH(s) =
()()
1st1sts
k
21
++
(k = 10 t
1
=1, t
2
=2)
» num = 10;
» den = [2 3 1 0];
» nyquist(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 7 - GVHD: PHẠM QUANG HUY
Real Ax is
Imaginary Axis
Nyqui st Di agram s
-30 -25 -20 -15 -10 -5
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhận xét: hàm truyền vòng hở có 2 cực nằm bên trái mặt phẳng phức và 1 cực ở zero.
Biểu đồ Nyquist bao điểm A(-1+j0).
Điểm –1 ký hiệu (+) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ không ổn đònh.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ.
Từ dấu nhắc của cửa sổ MATLAB ta dùng lệnh ‘margin’ để kiểm chứng lại
hệ:
» num = 10;
» den = [2 3 1 0];
»margin(num,den)
(A)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 8 - GVHD: PHẠM QUANG HUY
Frequency (rad/sec)
Phase (deg); Magnitude (dB)
Bode Diagrams
-40
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstable closed loop)
10
-1
10
0
-250
-200
-150
-100
Kết luận: hệ thống không ổn đònh.
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0°)
Bài tập 5:
GH(s) =
()()()
1st1st1sts
k
321
+++
( t
1
=1, t
2
= 2, t
3
= 3, k = 10)
» num = 10;
» den = [6 11 6 1 0];
» nyquist(num,den)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 9 - GVHD: PHẠM QUANG HUY
Real Ax i s
Imaginary Axis
Nyqu ist Di agram s
-60 -50 -40 -30 -20 -10 0
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhận xét: hàm truyền vòng hở có 3 cực nằm bên trái mặt phẳng phức và 1 cực ở zero.
Biểu đồ Nyquist bao điểm A (-1+i0).
Điểm –1 ký hiệu (+) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ không ổn đònh.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ.
Từ dấu nhắc của cửa sổ MATLAB, dùng lệnh ‘margin’ để kiểm chứng lại hệ:
» num = 10;
» den = [6 11 6 1 0];
» margin(num,den)
(A)
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 10 - GVHD: PHẠM QUANG HUY
Frequency (rad/sec)
Phase (deg); Magnitude (dB)
Bode Diagrams
-50
0
50
Gm = 0 dB, Pm = 0 (unstable closed loop)
10
-2
10
-1
10
0
-300
-200
-100
Kết luận: hệ thống không ổn đònh.
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0°).
Bài tập 6: Sau đây là dạng bài tập tổng quát với tử và mẫu của một hàm truyền là
các số liệu mà ta phải nhập vào.
Chương trình:
%%Tap tin khao sat on dinh he thong
%%PHAM QUOC TRUONG - DT: 9230774
function ondinh()
promptstr={'Nhap tu so num:','Nhap mau so den:'};
inistr={'',''};
dlgTitle='Nhap du lieu';
lineNo=1;
result=inputdlg(promptstr,dlgTitle,lineNo,inistr);
num=str2num(char(result(1)));
den=str2num(char(result(2)));
[z,p,k]=residue(num,den); %Tim cac cuc p
z=roots(num) %Tim cac zero z
zplane(z,p) %Ve cuc va zero
Sau khi chạy chương trình ta được kết quả:
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 11 - GVHD: PHẠM QUANG HUY
Bạn hãy nhập số liệu vào:
Gỉa sử ta nhập số liệu sau và chọn OK:
Kết quả ngoài cửa sổ MATLAB Command Windows
z =
0 + 3.0000i
0 - 3.0000i
Hình vẽ cực và zero:
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 12 - GVHD: PHẠM QUANG HUY
-4 -3 -2 -1 0 1 2 3 4
-3
-2
-1
0
1
2
3
Real Part
Imaginary Part
Khảo sát hệ thống theo tiêu chuẩn Hurwitz
ÔN LẠI LÝ THUYẾT:
Xét Phương trình đặc trưng:
F(s) = a
n
s
n
+a
n-1
+…+a
0
với a
n
≠ 0
1. Điều kiện cần để hệ ổn đònh:
• Các hệ số a
j
(j = 0, … n-1) cùng dấu với a
n
.
• a
j
≠ 0 (j = 0,…,n)
2. Tiêu chuẩn Hurwitz:
Điều kiện cần và đủ để hệ ổn đònh (các nghiệm của phương trình đặt trưng nằm
bên trái mặt phẳng phức) là tất cả các đònh thức Hurwitz D
k
đều cùng dấu (k = 0 n)
3. Tiêu chuẩn Routh:
Điều cần và đủ để hệ ổn đònh là tất cả các phần tử của cột 1 bảng Routh đều
cùng dấu, nếu có sự đổi dấu thì số lần đổi dấu thì số lần đổi dấu bằng số nghiệm ở
phải mặt phẳng phức.
Khảo sát ứng dụng MATLAB trong điều khiển tự động
Thực hiện: PHẠM QUỐC TRƯỜNG - 13 - GVHD: PHẠM QUANG HUY
Bài tập 7:Cho hệ thống điều khiển phản hồi:
Dùng giản đồ Bode để khảo sát ổn đònh của hệ thống trên.
Khảo sát hệ xem hệ có ổn đònh hay không.
Trước tiên ta dùng lệnh ‘series’kết nối 2 hệ thống:
» num1 = [1 1];
» den1 = [1 0];
» num2 = 2;
» den2 = [1 4 3];
» [num,den] = series(num1,den1,num2,den2)
num =
0 0 2 2
den =
1 4 3 0
Hàm truyền nối tiếp là:
GH(s) =
s3s4s
2s2
23
+
+
+
Dùng giản đồ Bode để khảo sát ổn đònh:
» num = [2 2];
» den = [1 4 3 0];
» margin(num,den)
s
1s
+
3s4s
2
2
+
+
_