Báo cáo bài tập lớn môn Cơ sở hệ thống tự động: Mô hình hóa và khảo sát chất lượng, thiết kế bộ điều khiển của hệ thống treo xe buýtkhảo sát, đánh giá chất lượng hệ thống và thiết kế bộ điều khiển PID
Trang 1Trường đại học Công Nghiệp Hà Nội
Khoa cơ khí – Bộ môn cơ điện tử
Báo cáo bài tập lớn môn Cơ sở hệ thống tự động
GV hưỡng dẫn:
Sinh viên thực hiện:
Lớp:
Mã sinh viên:
Tên chủ đề: Mô hình hóa và khảo sát chất lượng, thiết kế bộ điều khiển của hệ thống
Trang 2Muc luc
Trang 3Bảng thông số:
Spring constant of Suspension system >> k1 80 000 N/m
Spring constant of wheel and tire >> k2 500 000 N/m
Damping constant of Suspension system >> b1 350 Ns/m
Damping constant of wheel and tire >> b2 15 020 Ns/m
Trang 4I Mô hình hóa hệ thống và đáp ứng hệ thống theo thời gian
1 Mô hình hóa hệ thống
Phương
trình vi
phân:
Từ hình dưới và định luật Newton, chúng ta có được các phương trình động học như sau:
Hàm
truyền
của hệ
thống:
Giả sử rằng tất cả các điều kiện ban đầu là số không, do vậy các phương trình này đại diện cho tình huống khi bánh xe buýt đi trên đường gồ ghề
Ta laplace các phương trình vi phân được các hàm truyền sau:
Với các đầu vào (U và W) đầu ra là (X1 - X2)
Viết các phương trình hàm truyền dưới dạng ma trận như sau:
Trang 5Tìm nghịch đảo của ma trận A và sau đó bội với các đầu vào
U (s) và W (s) ở phía bên tay phải như sau:
Khi chúng ta chỉ muốn xem xét đầu vào điều khiển U (s) , chúng ta đặt W (s) = 0 Do đó, chúng ta có được hàm truyền G1 (s) như sau:
Khi chúng ta chỉ muốn xem xét các đầu vào nhiễu (W) , chúng ta đặt U (s) = 0 Do đó, chúng ta có được hàm truyền G2 (s) như sau:
Phương
trình
trạng
thái:
Ta có các phương trình hàm truyền:
Sau khi đặt thêm các biến trạng thái Y1 = X1 - X2 và
Ta được phương trình trạng thái sau:
Trang 62 Đáp ứng hệ thống theo thời gian
Các câu lệnh trên
matlab cho G1(s)
m1=2500;
m2=320;
k1=80000;
k2=500000;
b1 = 350;
b2 = 15020;
nump=[(m1+m2) b2 k2];
denp=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+ (b2*k1) k1*k2];
G1=tf(nump,denp);
%đáp ứng hàm nấc
step(G1) xlabel('t-sec'),ylabel('c(t)');
axis([0 100 0 2.5*10^-5])
%đáp ưng xung
Impules(G2) xlabel('t-sec'),ylabel('c(t)');
Các câu lệnh trên
matlab cho G2(s)
m1=2500;
m2=320;
k1=80000;
k2=500000;
b1 = 350;
b2 = 15020;
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+ (b2*k1) k1*k2];
G2=tf(0.1*num1,den1);
%đáp ứng hàm nấc
step(G2) xlabel('t-sec'),ylabel('c(t)');
axis([0 100 -0.1 0.1])
Trang 7%đáp ưng xung
Impules(G2)
xlabel('t-sec'),ylabel('c(t)');
Trang 8G1(s) có độ vọt lố
POT=80.8%
Đầu ra C(t)
C(t)max=2.26*
10^-5
C(t)xl=1.25*10
^-5
Step (đáp ứng thời gian)
Impulse (đáp ứng xung)
Trang 9G2(s) có độ vọt lố
POT=92.108%
Đầu ra C(t)
C(t)max=0.
0814
C(t)xl=9.35*
10^-5
Step (đáp ứng thời gian với bước nhảy 10 cm)
Impulse (đáp ứng xung)
Trang 10II Khảo sát sự phụ thuộc của đáp ứng hệ thống theo độ cứng K1 thay
đổi từ 10000 dến 20000 N/m
Để khảo sát sự phụ thuộc của hệ thống theo độ cứng K1 ta xét trên các biểu
đồ (step, impulse)
Ta có sơ đồ trên simulink của matlab như sau:
(Sơ đồ được vẽ theo các phương trình vi phân của hệ thống)
Hệ thu gọn
Trang 11k1=10000 (N/m) k1=11000 (N/m)
Trang 12k1=16000 (N/m) k1=17000 (N/m)
k1=20000 (N/m)
Nhận xét và kết luận:
Qua sự thay đổi của K1 từ 10000 đến 20000 (N/m) ta thấy được thời gian đáp ứng giảm xuống tuy nhiện độ vọt lố của hệ không thay đổi nhiều vẫn
ở mức cao
Ta có: tqđ1= 36 sec với k1=10000 (N/m)
tqđ6= 18 sec với k1=15000(N/m)
tqđ11=11 sec với k1=20000 (N/m)
Trang 13III Thiết lập bộ điều khiển PID khảo sát sự phụ thuộc chất lượng điều
khiển vị trí theo các tham số PID
1 Phương
trình hàm
truyền
của hệ
thống
2 Sơ đồ hệ
thống
điều
khiển
bằng PID
3 Cơ sở lý
thuyết
của hiệu
chỉnh
PID
Ta có bộ điều khiển PID là trường hợp đặc biệt của khâu hiệu chỉnh sớm trễ pha nên về nguyên tắc có thể thiết kế bộ điều khiển PID bằng phương pháp biểu đồ Bode hoặc quỹ đạo nghiệm số
Công thức hàm truyền của PID la:
GC(s)=Kp+(KI/s)+KDs
Trang 144 Thiết kế
bộ điều
khiển
PID
(điều
khiển
khi xe
bus đi
phải ổ
gà hay
nhiễu
W=10
cm)
Nhập mô hình hệ thống vào matlab:
m1 = 2500;
m2 = 320;
k1 = 80000;
k2 = 500000;
b1 = 350;
b2 = 15020;
nump=[(m1+m2) b2 k2];
denp=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+ (b1*b2) (b1*k2)+(b2*k1) k1*k2];
G1=tf(nump,denp);
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+ (b1*b2) (b1*k2)+(b2*k1) k1*k2];
G2=tf(num1,den1);
numf=num1;
denf=nump;
F=tf(numf,denf);
Ta lựa chọn các giá trị KP, KI, KD như sau:
do độ vọt lố ban đầu của hệ thống là rất lớn khoảng 80-90%
do vậy KP, KI, KD cần thay đổi là:
KP = 208025, KI = 832100 và KD = 624075
Trang 15Nhập lệnh sau vào chương trình matlab để có được các tham
số của bộ PID
Kd = 208025;
Kp = 832100;
Ki = 624075;
C = pid(Kp,Ki,Kd);
sys_cl=F*feedback(G1,C);
Ta xét hệ thống chịu tác dụng của mặt đường với nhiễu W=0.1m khi nó tác động lên X1-X2 Ta nhập thêm câu lệnh:
t=0:0.05:5;
step(0.1*sys_cl,t)
title( 'Response to a 0.1-m Step under PID Control' )
Ta được đồ thị sau:
Trang 164.1 Nhận xét: ta có bảng sau
KI= 624075
KP=832100
Thời gian để hệ ổn định khi bị nhiễu đã giảm tuy nhiên độ vọt lố vẫn chưa được như mong muốn nhỏ hơn 5% tức dao động nằm trong phạm vi +/-5mm
Để cho dao động nằm trong giới hạn cho phép hay POT<5% ta cần tiếp tục thay đổi bộ tham số của PID
Chúng ta tiến hành tăng các giá trị tham số PID lên gấp đôi để cho độ vọt lố có thể giảm đi một nửa
Chúng ta nhập thêm
mã lệnh sau để có thể
thay đổi bộ tham số
ban đầu:
Kd=2*Kd;
Kp=2*Kp;
Ki=2*Ki;
C=pid(Kp,Ki,Kd);
sys_cl=F*feedback(G1,C);
step(0.1*sys_cl,t) title( 'Response to a 0.1-m Step w/ High-Gain PID' )
Trang 17Sau đó ta được một
đồ thị mới như bên:
4.2 Nhận xét: ta có bảng sau
KP=1664200
KD=208025 POT=4.2%-5% Txl=2.78 sec < 5 sec KI=1248150
4.3 Kết luận chung:
Hệ thống khi chưa có bộ
PID
Trang 18Hệ thống khi có PID
Hệ thống sau khi điều
chỉnh PID
Như vậy ta có thể thấy bộ điều khiển PID đã làm cho độ vọt lố về khoảng 5% của biên độ và thời gian xác lập nhỏ hơn yêu cầu là 5s
4.4 Kết Luận
Đối với vấn đề này, hóa ra phương pháp thiết kế PID điều khiển
hệ thống đầy đủ Điều này có thể được nhìn thấy bằng cách nhìn vào đồ thị step của hệ thống Chúng ta có thể đạt được yêu cầu bằng cách chỉ thay đổi mức tăng của bộ điều khiển
PID Thay đổi tất cả ba thông số Kp, Kd, Kp, theo yêu cầu của bài Tuy nhiên trong nhiều trường hợp khi chọn thay đổi cả 3 bộ tham số PID có thể làm cho độ vọt lố hoặc thời gian xác lập tăng lên rất nhiều