5- Câu hỏi và bài tập
6.3- ứng dụng Matlab-Simulink để phân tích và khảo sát hệ thống điều khiển
khiển tự động trong miền thời gian và tần số
Trong phần này sẽ trình bày một số lệnh của Matlab dùng để phân tích các hệ điều khiển kinh điển, các lệnh này cũng có trong Control System Toolbox của Matlab.
Cho hàm truyền của một hệ điều khiển tự động G(s) = B(s)/A(s), trong đó B(s) - biểu thức tử số (numerator) và A(s) - biểu thức mẫu số (denominator). Chúng ta quan tâm đáp ứng của hệ thống trong miền thời gian cũng nh− trong miền tần số đối với các tín hiệu vào khác nhau nh− hàm xung, hàm b−ớc nhảy, hàm điều hòa v.v…
a). Miền thời gian
Chất l−ợng của các hệ thống tự động điều khiển th−ờng đ−ợc đánh giá dựa trên đáp ứng thời gian ứng với các tín hiệu vào khác nhau. Vì vậy đáp ứng thời gian có vai trị quan trọng trong việc phân tích và tổng hợp hệ thống.
Để tìm đáp ứng của hệ G(s) khi tín hiệu vào là hàm bậc thang đơn vị 1(t) Matlab dùng lệnh step. Cú pháp nh− sau:
>> y = step(num, den, t)
Tr−ớc tiên phải xác định trục thời gian t là một vectơ. Giá trị đáp ứng ra cũng là một vectơ có cùng kích th−ớc với vectơ t. Ví dụ vẽ đ−ờng cong đáp ứng của hàm 1(t) trong quãng thời gian từ t = 0 đến t = 10 sec, mỗi b−ớc tính là 0,1 sec của hệ thống có hàm truyền đạt sau đây: 2 10 G(s) s 2s 10 = + +
Các dòng lệnh sau đây sẽ vẽ đ−ờng cong đáp ứng nói trên: >>num = 10; den = [1 2 10];
>>t = [0:0.1:10]; y = step (num, den, t); plot(t,y) ;
Lệnh impulse sẽ cho ta đáp ứng ra khi tín hiệu đầu vào là xung. Cú pháp nh− sau : >>y = impulse (num, den, t);
Trong tr−ờng hợp đầu vào là hàm bất kỳ thì dùng lệnh lsim. Cú pháp nh− sau : >>y = lsim (num, den, u, t);
Trong đó u là vectơ tín hiệu đầu vào. Ví dụ đầu vào là hàm dốc ramp, cú pháp nh− sau : >> ramp = t ; y = lsim (num, den, ramp, t) ;
Nếu hàm vào là hàm rand(m,n) sẽ sinh ra ma trận mìn số ngẫu nhiên phân bố đều trong khoảng (0,1), cú pháp nh− sau :
Đáp ứng đầu ra khi đầu vào là hàm 1(t), khi điều kiện đầu bằng không, đ−ợc gọi là đặc tính quá độ h(t) của hệ thống. Từ đặc tính q độ có thể xác định đ−ợc các chỉ tiêu chất l−ợng của hệ thống sau :
- Độ quá điều chỉnh (Percent Overshoot) max h h % 100% h ∞ ∞ − δ =
- Thời gian cực đại tmax (Peak time) là quãng thời gian để đ−ờng quá độ đạt giá trị cực đại hmax
- Thời gian tăng tr (Rise time) là quãng thời gian từ khi đ−ờng quá độ đạt 10%h∞ đến 90%h∞
- Thời gian quá độ (Settling time) là quãng thời gian từ t = 0 đến khi đ−ờng h(t) đi vào vùng ±5%h∞.
Có thể lập ch−ơng trình để tính các chỉ tiêu chất l−ợng của hệ thống d−ới dạng một M- files.
Ví dụ 1 d−ới đây sẽ minh họa đáp ứng của hệ thống với hàm truyền =
+ + 2
5 G(s)
s 3s 20 trong thời gian từ 0 đến 10 giây, thời gian lấy mẫu là 0,1s ứng với 3 tr−ờng hợp: (1) tín hiệu đầu vào là b−ớc nhảy, (2) tín hiệu đầu vào là xung hoặc (3) tín hiệu đầu vào là ngẫu nhiên.
Ch−ơng trình viết d−ới dạng Scripts
% Dap ung cua he thong voi cac tin hieu dau vao khac nhau % Ten chuong trinh: gtmh1.m
num=5; den=[1, 3, 20]; t=[1: 0.1: 10];
disp(‘Bam phim 1 neu tin hieu vao la xung’); disp(‘Bam phim 2 neu tin hieu vao la buoc nhay’);
disp(‘Bam phim 3 neu tin hieu vao la tin hieu ngau nhien’); a=input(‘Ban chon dang tin hieu nao:’);
switch a case 1
y= impulse(num,den,t); plot(t,y,‘m’) ;
title(‘Dap ung he thong voi tin hieu xung’) ; case 2
Bộ mơn Tự động hố http://www.ebook.edu.vn Khoa Điện plot(t,y) ;
title(‘Dap ung he thong voi tin hieu buoc nhay’) ; case 3
noise=rand(101,1);
y=lsim(num,den,noise,t) ; plot(t,y,’g’) ;
title(‘Dap ung he thong voi tin hieu ngau nhien’); end
xlabel(‘Time[sec]’); ylabel(‘y’);
Chạy ch−ơng trình
Từ cửa sổ lệnh, chúng ta gõ tên Script file là gtmh1, sau đó đ−a vào giá trị chọn của dạng tín hiệu trong chỉ dẫn trên màn hình, ví dụ chọn dạng tín hiệu là b−ớc nhảy, chúng ta bấm phím 2.
>> gtmh1
Bam phim 1 neu tin hieu vao la xung Bam phim 2 neu tin hieu vao la buoc nhay
Bam phim 3 neu tin hieu vao la tin hieu ngau nhien Ban chon dang tin hieu nao:2
>>
Đáp ứng của hệ thống đ−ợc hiển thị trên Figure hình 6.1.
b). Miền tần số Các đáp ứng tần số cho ta một cách nhìn trực quan về chất l−ợng hệ thống do nó cho ta thấy rõ bản chất vật lý và ảnh h−ởng của các phần tử lên chất l−ợng hệ thống. Vì vậy các đáp ứng tần số, hay cịn gọi là đặc tính tần số, cho ta cơng cụ tốt để hiệu chỉnh hệ thống.
Có thể dùng các lệnh sau
đây để tìm đáp ứng tần số của hệ thống: bode, nyquist và nichols. Cú pháp của lệnh bode nh− sau:
>> bode (num, den)
Lệnh trên sẽ vẽ đồ thị biên độ (đơn vị là dB) và pha (đơn vị là độ). Từ đ−ờng đặc tính tần số ta có thể xác định đ−ợc các chỉ tiêu chất l−ợng trong miền tần số nh−:
- Cộng h−ởng đỉnh Mp, dB, là giá trị cực đại của đồ thì biên độ;
- Tần số cộng h−ởng ωr, rad/s, là tần số tại đó xuất hiện cộng h−ởng đỉnh;
- Tần số cắt ωc, rad/s, là tần số tại đó đ−ờng đặc tính tần số biên độ loga cắt trục thực.
- Băng thông ωB, rad/s, là giải thông của hệ thống từ tần số bằng khơng đến tần số mà ở đó biên độ giảm đi 3 dB.
Các chỉ tiêu chất l−ợng trong miền thời gian và trong miền tần số có quan hệ chặt chẽ với nhau. Thông th−ờng độ quá điều chỉnh δ% lớn thì MP cũng lớn t−ơng ứng. Giá trị cộng h−ởng đỉnh tối −u là nằm trong khoảng 1,1 ≤ MP ≤ 1,5. Thời gian quá độ ts lớn thì MP nhỏ vì vậy hệ thống tác động chậm. Băng thơng ωB rộng thì các tín hiệu tần số cao đ−ợc đ−a tới hệ thống nhiều hơn nên đáp ứng của hệ sẽ nhanh hơn và ng−ợc lại.
Ví dụ 2 sau đây sẽ minh họa đáp ứng tần số của hệ thống điều khiển tự động có hàm truyền G(s) đ−ợc mơ tả trong ví dụ 1.
Ch−ơng trình viết trên Scrips nh− sau:
% Dap ung tan so
% Ten chuong trinh: gtmh2 num=5; den=[1,3,20]; bode(num, den)
Chúng ta nhận đ−ợc đặc tính biên
độ (thứ nguyên là dB) và pha (độ) trên màn hình đồ họa nh− hình 6.2
6.4- ứng dụng Matlab - Simulink để phân tích và khảo sát hệ thống điều khiển tự động trong không gian trạng thái
So với ph−ơng pháp biểu diễn hệ thống điều khiển tự động bằng hàm truyền đạt Laplace, ph−ơng pháp biểu diễn bằng ph−ơng trình khơng gian trạng thái có một số −u điểm sau: hệ ph−ơng trình mơ tả hệ thống là hệ ph−ơng trình bậc nhất nên t−ơng ứng đơn giản trong tính tốn đồng thời các hệ số là các ma trận nên dùng MATLAB để giải rất thuận tiện. Ph−ơng trình khơng gian trạng thái đ−ợc viết trực tiếp trong miền thời gian vì vậy rất tiện cho việc giải bằng máy tính. Các hệ nhiều đầu vào nhiều đầu ra (MIMO) và các hệ phi tuyến không dừng th−ờng đ−ợc biểu diễn bằng khơng gian trạng thái.
Bộ mơn Tự động hố http://www.ebook.edu.vn Khoa Điện Hệ thống tuyến tính dừng (LTI-linear time invariant) đ−ợc mơ tả bởi ba mơ hình cơ bản
là mơ hình hàm truyền (TF-Transfer Function), mơ hình điểm khơng - điểm cực - khuyếch đại (ZPK-Zero-Pole-Gain) và mơ hình khơng gian trạng thái (SS - State Space).
Sau đây là các ví dụ về các dạng mơ hình nói trên - Mơ hình hàm truyền (TF) − + − + + + + = + + + n n 1 1 2 n 1 m m 1 1 2 m 1 p s p s ... p G(s) q s q s ... q Ví dụ 3: = + + 2 2s G(s) s 3s 20
Mơ hình hàm truyền đ−ợc biểu diễn trên Matlab nh− sau: >> num = [2 0]; % Tu so: s
>> den = [1 3 20]; % Mau so: s^2+3s+20 >> H = tf(num, den) % Ham truyen Transfer function:
2 s -------------- s^2 + 3 s + 20 >>
- Mơ hình điểm khơng - điểm cực - khuyếch đại (ZPK)
− − − = − − − 1 2 n 1 2 m (s z )(s z )...(s z ) G(s) K (s p )(s p )...(s p )
với K là hệ số khuyếch đại
z1… zn là các điểm không (zeros) của G(s) p1… pm là các điểm cực (poles) của G(s)
Ví dụ 4: Xác định trên Matlab hàm truyền dạng ZPK của hàm truyền G(s) nh− sau:
= − − − + s G(s) 2 (s 2)(s ^ 2 2s 2) Giải: >> k = -2; >> z = 0; >> p = [2 1+i 1-i];
>> G = zpk(z,p,k) Zero/pole/gain: − − − + 2s (s 2)(s ^ 2 2s 2) >>
- Mơ hình khơng gian trạng thái: = +
= +
&
x(t) A(t) Bu(t) y(t) Cx(t) Du(t)
Trong đó x(t) là vectơ trạng thái kích th−ớc nì1 và các thành phần của nó đ−ợc gọi là các biến trạng thái. Trong tr−ờng hợp chung, nếu hệ thống có bậc n, có p tín hiệu vào và m tín hiệu ra thì các ma trận có kích th−ớc nh− sau:
A = n ì n, B = n ì p, C = m ì n, D = m ì p.
A là ma trận hệ thống, B là ma trận hằng số. Ma trận C liên hệ đầu ra hệ thống với các biến trạng thái, ma trận D liên hệ trực tiếp đầu vào u(t) với đầu ra y(t) của hệ thống. Vectơ vào u(t) có kích th−ớc p ì p và vectơ ra y(t) có kích th−ớc m ì p.
Để xây dựng ph−ơng trình trạng thái ng−ời ta phải chuyển ph−ơng trình vi phân bậc n biểu diễn ĐKTĐ thành n ph−ơng trình vi phân bậc nhất đối với vectơ trạng thái. Do chọn biến trạng thái là khơng đơn trị nên có nhiều dạng ph−ơng trình trạng thái. Thơng th−ờng ph−ơng trình trạng thái đ−ợc viết d−ới dạng chuẩn điều khiển đ−ợc - CCF (Canonical controllable form) và dạng chuẩn quan sát đ−ợc - COF (Canonical observable form).
Ví dụ 5: Ph−ơng trình trạng thái đơn giản của một động cơ điện có dạng nh− sau:
= +
= +
&
x(t) A(t) Bu(t)
y(t) Cx(t) Du(t) Với =⎡⎢ ⎤⎥ =⎢ ⎥⎡ ⎤ =[ ] [ ] =⎡ ⎤⎢ ⎥
− −
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
0 1 0 y
A ; B ; C 1 0 ; D 0 ; x
5 2 3 dy
Xác lập hệ ph−ơng trình trạng thái của hệ trên Matlab. Giải: Lập M-file nh− sau:
% Mo hinh khong gian trang thai % Ten file: gtmh3
A = [2 3;-3 -1];
B = [0; 5]; C = [1 7]; D = 0; G = ss(A,B,C,D) Kết quả hiển thị nh− sau
>> gtmh3 a =
x1 x2 x1 2 3 x2 -3 -1
Bộ mơn Tự động hoá http://www.ebook.edu.vn Khoa Điện b = u1 x1 0 x2 5 c = x1 x2 y1 1 7 d = u1 y1 0
Để viết ph−ơng trình trạng thái cần xác định bốn ma trận [A,B,C,D], chúng ta có thể dùng các lệnh sau đây của MATLAB để chuyển từ hàm truyền và hàm điểm không - điểm cực - khuyếch đại sang dạng ph−ơng trình trạng thái và ng−ợc lại.
>> [a, b, c, d] = tf2ss(num, den); >> [a, b, c, d] = zp2ss(z, p, k); >> [num, den] = ss2tf(a, b, c, d, ui); >> [z, p, k] = ss2zp (a, b, c, d, ui);
Biến đầu vào của tf2ss là tử số và mẫu số của hàm truyền đạt cho d−ới dạng vectơ hàng (num, den). Biến đầu vào của zp2ss là số điểm không - điểm cực và hệ số khuyếch đại cho d−ới dạng vectơ cột (z, p, k). Các ph−ơng trình trạng thái nhận đ−ợc khi dùng các lệnh tf2ss, zp2ss đ−ợc viết d−ới dạng chuẩn điều khiển đ−ợc - CCF.
Khi biết ph−ơng trình trạng thái có thể dùng lệnh ss2tf để chuyển sang dạng hàm truyền đạt và lệnh ss2zp để chuyển sang dạng hàm số điểm không - điểm cực và hệ số khuyếch đại. Trong các lệnh trên tham số ui là số đầu vào cho hệ MIMO.
Ví dụ 6: Hãy tìm ph−ơng trình trạng thái của hệ thống có hàm truyền sau:
+ + = + + + 2 3 2 s 5s 2 G(s) s 7s 20s 15 >> num = [1 5 2]; den = [1 7 20 15]; >> [a, b, c, d] = tf2ss(num, den)
Kết quả nhận đ−ợc các ma trận của ph−ơng trình trạng thái: a =
-7 -20 -15 1 0 0 0 1 0
b = 1 0 0 c = 1 5 2 d = 0
Ví dụ 7: Hãy tìm hàm truyền của hệ thống có ph−ơng trình trạng thái sau:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢= ⎥ ⎢ ⎥ ⎢ ⎥+ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢− − − ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ & & & 1 1 2 2 3 3 x 0 1 0 x 10 x 0 1 1 x 0 u x 1 2 3 x 0 y = 1 0 0x Ta có các ma trận A = [0 1 0 ; 0 1 1 ; -1 -2 -3] ; B = [10 ; 0 ; 0] C = [1 0 0] ; D = [0] ; [num, den] = ss2tf(A, B, C, D)
Kết quả nhận đ−ợc num =
0 10 30 20 den =
1 3 2 1
Vậy hàm truyền đạt của hệ thống có dạng: + + = + + + 2 3 2 10s 30s 20 G(s) s 3s 2s 1
6.5- ứng dụng Simulink để mơ hình hóa, mơ phỏng, phân tích và khảo sát các hệ thống động học
SIMULINK là phần mở rộng của MATLAB dùng để mơ hình hóa các hệ động học. Giao diện đồ họa trên màn hình của SIMULINK cho phép thể hiện hệ thống d−ới dạng sơ đồ cấu trúc rất quen thuộc. Trong q trình mơ phỏng ta có thể trích tín hiệu tại vị trí bất kỳ của sơ đồ và hiển thị tín hiệu đó trên màn hình hoặc cất giữ vào bộ nhớ, điều đó rất thuận tiện trong việc khảo sát hệ thống.
D−ới đây là một số ví dụ về ứng dụng SIMULINK trong khảo sát đặc tính của các hệ thống th−ờng gặp trong lý thuyết điều khiển tự động và hệ thống điện cơ.
Bộ mơn Tự động hố http://www.ebook.edu.vn Khoa Điện Sơ đồ khối của hệ phi tuyến gồm khâu khuyếch đại bão hịa
Xây dựng mơ hình trên Simulink
Đặc tính của hệ thống hiển thị trên Scope có dạng nh− hình 6.5
Ví dụ 9: Giải ph−ơng trình vi phân bậc 2 Van der Pol
x” + (x2-1)x’ + x = 0
Xây dựng ch−ơng trình trên Simulink (xem hình 6.6)
Kết quả trên Scope cho chúng ta đặc tính của x và x’ (hình 6.7) 1 s 1 s u e y x
Hình 6.3- Sơ đồ khối của hệ điều khiển tự động
Hình 6.4- Thực hiện mơ hình trên Simulink
ứng dụng mơ phỏng trong khảo
sát các hệ thống điện cơ
Trong các hệ thống truyền động tự động th−ờng có yêu cầu về điều chỉnh dòng điện và tốc độ. Việc tổng hợp các mạch vòng điều chỉnh dòng điện và tốc độ đ−ợc thực hiện nhờ việc áp dụng các tiêu chuẩn tối −u mô dun hoặc mô đun đối xứng. Trên cơ sở cấu trúc các bộ điều chỉnh tổng hợp đ−ợc, chúng ta có thể tiến hành khảo sát các đặc tính của hệ thống trên MATLAB - SIMULINK. Các ví dụ d−ới đây sẽ trình bày hệ thống truyền động điều chỉnh dòng điện và tốc độ động cơ điện một chiều kích từ độc lập.
Ví dụ 10: Vẽ đặc tính dịng điện
và tốc độ của động cơ một chiều kích từ độc lập. Các thơng số định mức của động cơ đ−ợc ghi trong lý lịch của động cơ nh− sau:
Công suất định mức: Pđm = 1,5 kW; Dòng điện định mức: Iđm = 8,7 A;
Điện áp định mức: Uđm = 200 V; Tốc độ định mức: nđm = 1440 vịng/phút.
Hình 6.6- Sơ đồ Simulink giải ph−ơng trình VanderPol
Bộ mơn Tự động hố http://www.ebook.edu.vn Khoa Điện
Hình 6.9- Mơ hình Simulink của động cơ một chiều kích từ độc lập
Ph−ơng trình cân bằng điện áp mạch phần ứng có dạng biến đổi Laplace nh− sau: U(p) = R−I(p)(1+pT−) + Kφω
Ph−ơng trình cân bằng mơ men điện từ và mô men tải
KΦI(p) –Mc(p) = Jpω(p) Từ các thơng số định mức có thể tính tốn các thơng số cơ bản khác: η = dm = dm dm dm 1000P U I R− = 0.5(1-ηđm)Uđm/Iđm = = γ = ω u U L P I − Φ = dm dm u = dm dm 9, 55(U I R ) K n
Ch−ơng trình mơ phỏng dịng điện và tốc độ động cơ đ−ợc viết trên Simulink nh− sau:
Đặc tính dịng điện và tốc độ động cơ một chiều nh− sau:
Ví dụ 11: Mạch vịng điều chỉnh dòng điện và tốc độ 1 Jp U -E I ω u u 1 R 1 pT+ KΦ Mc KΦ
Hình 6.8- Sơ đồ cấu trúc của động cơ điện một chiều kích từ độc lập
Sơ đồ cấu trúc tổng quát của hệ thống điều chỉnh dòng điện và tốc độ của động cơ điện một chiều nh− sau:
Các hàm truyền của các phần tử trong mạch đ−ợc tính toán và tổng hợp nh− sau: Hàm truyền bộ biến đổi = =
+ + bd bd bd K 22 W 1 T s 0.005s 1
Hàm truyền bộ đo dòng điện = =
+ + I I I K 0.79 W 1 T s 0.001s 1 Hàm truyền bộ điều chỉnh dòng = + iI = + RI pI K 1 0.06s W K s 0.12s Hàm truyền máy phát tốc FT 0.9689 W 0.001s 1 = + Hàm truyền bộ điều chỉnh tốc độ I R p K 1 0.056s W K s 0.019s ω ω ω + = + =
Mô men tải Mc trong tr−ờng hợp này đ−ợc chọn bằng 0.
Ch−ơng trình mơ phỏng thực hiện trên Simulink nh− sau: bd bd K