CHƯƠNG 6: MATLAB VÀ ĐIỀU KHIỂN TỰ ĐỘNG
§1. CÁC VẤN ĐỀ CHUNG
1. Các dạng mô hình hệ thống: Để xây dựng mô hình của hệ thống, MATLAB
cung cấp một số lệnh. Mô hình hệ thống mô tả bằng hàm truyền được xây
dựng nhờ lệnh tf(ts,ms) với ts là đa thức tử số và ms là đa thức mẫu số. Hàm
zpk(z, p, k) với z là vec tơ điểm không, p là vec tơ điểm cực và k là hệ số
khuyếch đại tạo nên mô hình điểm không‐điểm cực. Hàm ss(a, b, cʹ, d) với a, b,
c, d là các ma trận tạo nên mô hình không gian‐trạng thái.
Ví dụ: Ta tạo ra một số mô hình nhờ các lệnh MATLAB sau(lưu trong
ct6_1.m):
clc
ts = [1 2];
ms = [1 5 4];
sys1 = tf(ts,ms)
sys2 = zpk([‐6 1 1],[‐5 1],3)
sys3 = ss([1 2; 3 4],[1 1; 0 1],[0 1; 1 2; 3 1],0)
Kết quả là:
Transfer function:
s + 2
‐‐‐‐‐‐‐‐‐‐‐‐‐
s^2 + 5 s + 4
Zero/pole/gain:
3 (s+6) (s‐1)^2
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
(s+5) (s‐1)
a =
x1 x2
x1 1 2
x2 3 4
b =
u1 u2
x1 1 1
x2 0 1
122
c =
x1 x2
y1 0 1
y2 1 2
y3 3 1
d =
u1 u2
y1 0 0
y2 0 0
y3 0 0
Continuous‐time model.
2. Điểm cực và điểm zero của hàm truyền: Để biến đổi hệ thống cho bởi hàm
truyền thành hệ cho bởi điểm cực, điểm zero và hệ số khuếch đại dùng hàm
tf2zp. Ta cũng có thể dùng hàm pole(sys) để tìm điểm cực của hệ thống sys và
dung hàm zero(sys) để tìm điểm không của hệ thống sys
Ví dụ: Cho hàm truyền:
s 3 + 11s 2 + 30s
H(s) = 4
s + 9s 3 + 45s 2 + 87 s + 50
Ta cần tìm các điểm cực p, điểm zero z và hệ số khuếch đại k của nó. Ta dùng
các lệnh MATLAB sau(lưu trong ct6_2.m):
ts = [1 11 30 0];
ms = [1 9 45 87 50];
[z,p,k] = tf2zp(ts,ms)
z =
0
‐6
‐5
p =
‐3.0 + 4.0i
‐3.0 ‐ 4.0i
‐2.0
‐1.0
k =
1
Như vậy:
123
ms = [1 2*z*wn wn^2];
sys = tf(ts,ms);
t = 0:0.02:4;
c = step(sys,t);
plot(t,c)
Từ sơ đồ khối ta có:
C(s)
d
= 2
R(s) s + (de + 1)s + d
Phương trình đặc tính là:
s2 + (de + 1)s + d = s2 + 2ωnζs + ω2n
Với ω2n = wn = 0.28 và z = ζ = 4.0906 ta có d = 16.733 và e = 0.077
Khi có một hàm truyền ta có thể xác định hệ số tắt ζ và tần số tự nhiên ωn bằng
lệnh damp.
Ví dụ: Cho hệ có hàm truyền:
2 s 2 + 5s + 1
H(s) = 2
s + 2s + 3
Tìm hệ số tắt ζ và tần số tự nhiên ωn. Các lệnh MATLAB (lưu trong ct6_22.m)
như sau:
h = tf([2 5 1],[1 2 3]);
damp(h)
Eigenvalue Damping Freq. (rad/s)
‐1.00e+000 + 1.41e+000i 5.77e‐001 1.73e+000
‐1.00e+000 ‐ 1.41e+000i 5.77e‐001 1.73e+000
2. Đáp ứng trong miền thời gian của hệ thống:
a. Đáp giá trị ban đầu: Đáp ứng giá trị ban đầu mô tả phản ứng của hệ
khi không có kích thích dầu vào nhưng tồn tại các giá trị ban đầu của vec tơ
trạng thái x0. Phản ứng đó được gọi là chuyển động tự do của hệ. Đáp ứng này
được xác định bằng hàm initial. Ta có các lệnh MATLAB tìm đáp ứng ban đầu
của một hệ thống (lưu trong ct6_23.m)như sau:
clc
a = [‐0.5572 ‐0.7814;0.7814 0];
c = [1.9691 6.4493];
x0 = [1 ; 0]
sys = ss(a,[],c,[]);
initial(sys,x0)
134