1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập Cơ điện tử pps

13 336 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 270,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

sys_cl=feedbackcontr*plant,1; t=0:0.01:2; stepsys_cl,t Chạy m- file ta được kết quả như sau: H3 Như vậy nếu tăng P thì sẽ làm giảm thời gian quá độ, tăng overshoot, và giảm steady-state

Trang 1

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)

Trang 2

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:

Kp=300;

Trang 3

sys_cl=feedback(contr*plant,1);

t=0:0.01:2;

step(sys_cl,t)

Chạy m-file trong MATLAB ta được kết quả như sau

Thay đổi Kp= 1000 và thêm vào vào m-file đoạn mã lệnh như sau: Kp=1000;

contr=Kp;

sys_cl=feedback(contr*plant,1);

t=0:0.01:2;

step(sys_cl,t)

Chạy m- file ta được kết quả như sau: H2

Thay đổi Kp= 50 và thêm vào vào m-file đoạn mã lệnh như sau: Kp=50;

Trang 4

sys_cl=feedback(contr*plant,1);

t=0:0.01:2;

step(sys_cl,t)

Chạy m- file ta được kết quả như sau: H3

Như vậy nếu tăng P thì sẽ làm giảm thời gian quá độ, tăng overshoot, và giảm steady-state error Và ngược lại

Điều khiển tỉ lệ-tích phân

Trước khi xây dựng bộ điều khiển PID, chúng ta xem xét tới luật điều khiển PI Như bảng tổng kết, ta thấy rằng luậ đ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 Với hệ thống trên, chuyển thành hàm truyền vòng kín với luật điều khiển PI ta được hàm truyền mới:

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

Trang 5

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à:

Trang 6

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;

Kd=50;

contr=tf([Kd Kp Ki],[1 0]);

sys_cl=feedback(contr*plant,1);

t=0:0.01:2;

step(sys_cl,t)

Ta tiếp tục thay đổi, giữ nguyên Kp= 350, Ki= 300, và thay đổi Kd= 10 tạo m- file như bên dưới:

Kp=350;

Ki=300;

Kd=10;

contr=tf([Kd Kp Ki],[1 0]);

sys_cl=feedback(contr*plant,1);

t=0:0.01:2;

step(sys_cl,t)

Chạy m-file ta được đồ thị như sau:

Trang 7

Ta tiếp tục thay đổi, giữ nguyên Kp= 350, Ki= 300, và thay đổi Kd= 150 tạo m- file như bên dưới:

Kp=350;

Ki=300;

Kd=150;

contr=tf([Kd Kp Ki],[1 0]);

sys_cl=feedback(contr*plant,1);

t=0:0.01:2;

step(sys_cl,t)

Chạy m-file ta được đồ thị như sau: H6

sau khi hiệu chỉnh các thông số ta thu được đồ thị như mong muốn với các thông số:

Tqd = 0,649 (sec)

n = 0

Trang 8

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);

Trang 9

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:

Trang 10

Nếu chọn Kp= 1000 trong m-file ta được đồ thi như sau

Nếu chọn Kp= 10 trong m-file ta được đồ thi như sau

Trang 11

Điều khiển PID

Ta cùng thử bộ điều khiển PID với các giá trị nhỏ của Ki và Kd Sửa lại m-file như dưới đây Sau đó chạy m-file ta sẽ có đồ thị

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);

Kp=100;

Ki=1;

Kd=1;

contr=tf([Kd Kp Ki],[1 0]);

sys_cl=feedback(contr*motor,1);

step(sys_cl)

title('PID Control with small Ki and Kd')

Chạy m-file xong ta được đồ thị như sau

Trang 12

Ta thay đổi các thông số

Kp=100,

Ki=150,

Kd=20,

Chạy lại m-file ta được đồ thị như sau:

Trang 13

Như vậy sau khi hiệu chỉnh các thông số ta thu được đồ thị như mong muốn với các thông số:

Tqd = 0,649 (sec)

n = 0

Ngày đăng: 31/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

w