Nguyễn Văn Quang – Cơ điện tử 5
Bài tập PTTĐ mô tả trên Matlab
Bài 1: Xe lửa.
Điều kiện ta có 1 hệ khối lượng, lò xo và chống rung như sau.
Phương trình động lực học của hệ thống trên là
(1)
Biến đổi Laplace từ (1), ta có
Hàm truyền giữa dịch chuyển X(s) và đầu vào F(s) bây giờ là
Lấy các giá trị
• M = 1kg
• b = 10 N.s/m
• k = 20 N/m
• F(s) = 1
Lắp các giá trị trên vào hàm truyền ta có
Trước hết ta khảo sát đáp ứng bậc thang đơn vị của hệ thống hở. Tạo một m-file có các
lệnh như sau:
num=1;
den=[1 10 20];
plant=tf(num,den);
step(plant)
Chạy m-file này ta sẽ có đồ thị như sau.
Thay đổi các giá trị của M, b, k ta có
num=1;
den=[1 5 100];
plant=tf(num,den);
step(plant)
Chạy m-file này ta sẽ có đồ thị như sau. H1
Luật điều khiển P
. Hàm truyền điều khiển vòng kín với luật điều khiển P bây giờ là:
Chọn Kp = 300 và thêm vào m-file đoạn mã lệnh sau:
Bây giờ ta chọn lại Kp = 30, Ki = 70. Tạo m-file với các dòng lệnh sau.
Kp=30;
Ki=70;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*plant,1);
t=0:0.01:2;
step(sys_cl,t)
Chạy chương trình trong MATLAB ta được đồ thị sau.
Giữ nguyên giá trị Kp=30 và thay đổi Ki= 300 . Tạo dòng lệnh trong m- file ta được
Kp=30;
Ki=300;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*plant,1);
t=0:0.01:2;
step(sys_cl,t)
Chạy chương trình trong MATLAB ta được đồ thị sau. H4
Như vây là đúng như quy luật trong bảng điều khiển I làm giảm thời gian quá độ, nhưng
làm tăng độ quá điều chỉnh và kéo dài thời gian đến ổn định của hệ thống, nhưng lại khử
được steady-state error.
Điều khiển tỉ lệ-tích phân-vi phân(PID)
Bây giờ ta xét đến bộ điều khiển PID. Hàm truyền của hệ thống trên với bộ điều khiển
PID vòng kín bây giờ là:
Sau một số lần chạy thử với các tham số khác nhau, ta chọn được Kp=350, Ki=300, và
Kd=50 hệ thống sẽ đạt được đặc tính như mong muốn. Bạn đọc có thể thử lại bằng cách
tạo m-file với các lệnh sau và chạy thử. Chúng ta sẽ được đồ thị đáp ứng như mong
muốn.
Kp=350;
Ki=300;
Bài 2: Điều khiển tốc độ động cơ
Ta có phương trình động lực học của và hàm truyền hở của mô hình động cơ 1 chiều như
sau:
và sơ đồ khối của hệ thống có dạng như sau:
Với hàm đầu vào bậc thang 1 rad/sec, mục tiêu thiết kế là:
• Thời gian ổn định nhỏ hơn 2 giây
• Độ quá điều chỉnh nhỏ hơn 5%
• Sai số xác lập nhỏ hơn 1%
Trước hết tạo một m-file gồm các câu lệnh sau
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
motor=tf(num,den);
Nhớ lại hàm truyền của bộ điều khiển PID.
Điều khiển P
Thử điều khiển P với Kp = 100. Để lập hàm truyền điều khiển vòng kín, ta dùng lệnh
feedback. Thêm vào cuối m-file vừa rồi các lệnh sau:
Kp=100;
contr=Kp;
sys_cl=feedback(contr*motor,1);
Bây giờ ta sẽ xem đáp ứng bậc thang của hê thống như thế nào. Lại thêm tiếp vàp cuối m-
file vừa rồi đoạn lệnh sau:
t=0:0.01:5;
step(sys_cl,t)
title('Step response with Proportional Control')
Khi chạy m-file ta sẽ có đồ thị như sau: