Tải bản đầy đủ (.docx) (27 trang)

Bài tập lớn cơ sở hệ thống tự động (Lí thuyết điều khiển ) sử dụng matlap sử dụng bộ điều khiển PID (có code đầy đủ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.88 MB, 27 trang )

BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

MỤC LỤC

PHẦN 1: MỞ ĐẦU
1.1 Khái quát về cơ sở hệ thống tự động

Trang

1.2 Cơ sở hệ thống tự động cổ điển và hiện đại

2
2

1.3 Phân loại hệ thống

5

1.4 Những phương thức điều khiển chính

5

PHẦN 2: KẾT QUẢ NGHIÊN CỨU

Trang

…………………………………
2.1 Nội dung 1

6


2.2 Nội dung 2

14

2.3 Nội dung 3

21

PHẦN 3: KẾT LUẬN VÀ BÀI HỌC KINH NGHIỆM

Trang

3.1 Kết luận

25

3.1 Bài học kinh nghiệm

25

PHẦN 4:TÀI LIỆU THAM KHẢO

Trang

4.1 Trên Googgle

25

4.2 Trên Youtube


26

4.3 Tài liệu học tập

26

PHẦN 1: MỞ ĐẦU
Trang 1


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

1.1 Khái quát về cơ sở hệ thống tự động
Cơ sở hệ thống tự động: là một nhánh liên ngành của kỹ thuật và toán học,
liên quan đến hành vi của các hệ thống động lực. Đầu ra mong muốn của một
hệ thống được gọi là giá trị đặt trước. Khi một hoặc nhiều biến đầu ra của hệ
thống cần tuân theo một giá trị đặt trước theo thời gian, một bộ điều
khiển điều khiển các đầu vào cho hệ thống để đạt được hiệu quả mong muốn
trên đầu ra hệ thống.
Lịch sử
Bộ điều tốc ly tâm trong một động cơ Boulton và Watt năm 1788
Mặc dù nhiều dạng của hệ thống điều khiển có từ thời cổ đại, nghiên cứu
chính thức của lĩnh vực này bắt đầu với một phân tích động học của hệ điều
tốc li tâm, được thực hiển bởi nhà vật lý James Clerk Maxwell vào năm 1868
với tựa đề On Governors(hệ điều tốc). Tài liệu này miêu tả và phân tích hiện
tượng "dao động", trong đó sự trễ pha trong hệ thống có thể dẫn đến trạng thái
bù quá mức và không ổn định. Điều này tạo ra sự hấp dẫn trong đề tài này,
trong những bạn học với Maxwell, Edward John Routh tổng quát hóa các kết
quả của Maxwell cho lớp tổng quát trong các hệ tuyến tính. Một cách độc
lập, Adolf Hurwitz đã phân tích sự ổn định của hệ thống sử dụng phương

trình vi phân vào năm 1877, kết quả là ta có được định lý Routh-Hurwitz.
Một ứng dụng đáng chú ý của điều khiển động học là trong lĩnh vực điều
khiển máy bay. Anh em nhà Wright đã lần đầu tiên thử nghiệm chuyến bay
thành công vào ngày 17 tháng 12, năm 1903 và được đánh dấu bởi khả năng
điều khiển máy bay của họ trong thời gian đáng kể (nhiều hơn so với khả
năng sinh ra lực nâng từ cánh máy bay, đã được biết). Điều khiển của máy
bay rất cần thiết cho sự an toàn của chuyến bay.
Vào Chiến tranh thế giới thứ II, lý thuyết điều khiển đã là một phần quan
trọng của hệ thống kiểm soát hỏa lực, hệ thống dẫn đường và điện tử
học. Cuộc chạy đua khơng gian cũng phụ thuộc vào sự chính xác của việc
điều khiển tàu không gian. Tuy nhiên, lý thuyết điều khiển cũng được sử dụng
trong các lĩnh vực khác càng ngày càng nhiều như trong kinh tế học.
1.2 Cơ sở hệ thống tự động cổ điển và hiện đại
a. Lý thuyết điều khiển cổ điển
Để tránh các vấn đề của bộ điều khiển vòng hở, lý thuyết điều khiển đề xuất
khái niệm phản hồi. Một bộ điều khiển vịng kín sử dụng tín hiệu phản hồi để
điều khiển trạng thái hoặc đầu ra của một hệ thống động lực. Tên của nó đến
từ đường đi của thơng tin trong hệ thống: q trình đầu vào (ví dụ Vơn dùng
trong một động cơ điện) theo hiệu ứng ở chu trình đầu ra (ví dụ: tốc độ hoặc
momen của động cơ), đo được với cảm biến và được xử lý bởi bộ điều khiển;
Trang 2


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

kết quả (tín hiệu điều khiển) được sử dụng làm đầu vào cho chu trình xử lý,
đóng kín vịng lặp.
Các bộ điều khiển vịng kín có những ưu điểm so với các bộ điều khiển vòng
hở là:




Loại trừ nhiễu (như ma sát không đo được ở động cơ)
Đảm bảo được thực hiện ngay cả với mơ hình khơng chắc chắn, khi cấu
trúc mơ hình khơng phù hợp hồn hảo với q trình thực và các thơng số
mơ hình khơng chính xác



Các chu trình khơng ổn định có thể ổn định hóa



Giảm độ nhạy cho các thông số biến đổi



Kết quả theo dõi đặt trước được cải thiện

Trong một vài hệ thống, điều khiển vịng kín và điều khiển vịng hở được sử
dụng đồng thời. Trong những hệ thống như vậy, điều khiển vòng hở được nằm
trong vòng tiến nhằm nâng cao kết quả theo dõi giá trị đặt trước.
Một cấu trúc điều khiển kín phổ biến là bộ điều khiển PID.
Hàm truyền vịng kín
Đầu ra của hệ thống y(t) được hồi tiếp qua một cảm biến đo lường F để so
sánh với giá trị đặt trước r(t). Bộ điều khiển C lấy sai số e (độ chênh lệch)
giữa giá trị đặt và tín hiệu đầu ra để thay đổi đầu vào u cho hệ thống dưới điều
khiển P. Điều này được thể hiện như trong hình vẽ. Loại này là điều khiển
vịng kín hay cịn gọi là điều khiển hồi tiếp.
Đây là một hệ điều khiển một đầu vào, một đầu ra(SISO); hệ

thống MIMO (Nhiều đầu vào, nhiều đầu ra), với nhiều hơn một đầu vào/đầu
ra thì phổ biến. Trong trường hợp này các biến được biểu diễn qua
các vector thay vì các giá trị vơ hướng đơn giản. Trong vài hệ thống tham số
phân thán, các vector có thể là có chiều vơ hạn (các hàm đặc trưng).

Nếu chúng ta giả thiết bộ điều khiển C, cơ cấu P, và cảm biến F là tuyến
tính và bất biến theo thời gian (ví dụ: các yêu tố trong hàm truyền C(s), P(s),
và F(s) của chúng không phụ thuộc vào thời gian), hệ thống trên có thể được
Trang 3


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

phân tích sử dụng phép biến đổi Laplace vào các biến. Điều này đưa tới
những quan hệ sau:
Giải ra Y(s) theo R(s) được:
Biểu thức được xem như hàm truyền vịng kín của hệ thống. Tử số là độ lợi ở
phía trên (vòng hở) thu được từ r đến y, và mẫu số là 1 cộng với độ lợi xung
quanh vòng hồi tiếp, được gọi là độ lợi vòng lặp. Nếu , có nghĩa là nó có
một tiêu chuẩn lớn với mỗi giá trị của s, và nếu , thì Y(s) xấp xỉ bằng R(s). Do
đó đã cài đặt giá trị đặt trước để điều khiển đầu ra.
Bộ điều khiển PID
Bộ điều khiển PID có lẽ là thiết kế điều khiển hồi tiếp được sử dụng nhiều
nhất. PID là từ viết tắt của Proportional-Integral-Derivative (có nghĩa là tỉ lệtích phân-vi phân), đề cập đến 3 khâu hoạt động trên tín hiệu sai số để tạo ra
một tín hiệu điều khiển. Nếu u(t) là tín hiệu điều khiển gửi tới hệ thống, y(t) là
đầu ra đo được và r(t) là đầu ra mong muốn, và sai số theo dõi , một bộ điều
khiển PID có dạng tổng qt như sau:
Đặc tính động học của vịng kín mong muốn đạt được bằng cách điều
chỉnh 3 thông số , và , thường lặp đi lặp lại bằng cách "điều chỉnh" và khơng
cần có kiến thức cụ thể về một mơ hình. Sự ổn định có thể thường được chắc

chắn bằng cách chỉ sử dụng khâu tỉ lệ. Khâu tích phân cho phép loại bỏ một
bậc nhiễu (thường là một đặc điểm đặc trưng trong điều khiển quá trình. Khâu
vi phân được sử dụng để cung cấp sự giảm dần hoặc hình dạng của đáp ứng.
Các bộ điều khiển PID là lớp thiết lập tốt nhất trong hệ thống điều khiển: tuy
nhiên, chúng không thể được sử dụng trong nhiều trường hợp phức tạp hơn,
đặc biệt nếu các hệ thống MIMO được xem xét.
Việc ứng dụng các kết quả của biến đồi Laplace trong phương trình bộ
điều khiển PID được biến đổi với hàm truyền của bộ điều khiển PID
b.Lý thuyết điều khiển hiện đại
Trái ngược với phân tích trong miền tần số trong lý thuyết điều khiển cổ điển,
lý thuyết điều khiển hiện đại sử dụng mô tả không gian trạng thái trong miền
thời gian, một mơ hình tốn học của một hệ thống vật lý như là một cụm đầu
vào, đầu ra và các biến trạng thái quan hệ với phương trình trạng thái bậc một.
Để trừu tượng hóa từ số lượng đầu vào, đầu ra và trạng thái, các biến và biểu
thức như vector và phương trình vi phân, phương trình đại số được viết dưới
dạng ma trận (những thứ sau chỉ có thể thực hiện khi hệ thống động lực là
tuyến tính). Biểu diễn khơng gian trạng
thái(cịn gọi là "xấp xỉ miền thời gian ") cung cấp một cách thức ngắn gọn và
thuật tiện cho bắt chước và phân tích hệ thống với nhiều đầu vào và đâu ra.
Với các đầu vào và đầu ra, chúng ta có thể có cách viết khác cho phép biến
đổi Laplace để mã hóa tồn bộ thông tin về một hệ thống. Không giống như
xấp xỉ miền tần số, việc sử dụng biểu diễn không gian trạng thái không bị giới
Trang 4


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

hạn với hệ thống bằng các thành phần tuyến tính và các điều kiện zero ban
đầu. "Không gian trạng thái" đề cập đếp không gian mà các hệ trục là các biến
trạng thái. Trạng thái của hệ thống có thể được biểu diễn như một vector trong

khơng gian đó.
1.3 Phân loại hệ thống
-Hệ thống tuyến tính
-Hệ thống điều khiển phi tuyến
-Hệ thống phân tán
1.4 Những phương thức điều khiển chính
Mọi hệ thống điều khiển phải đảm bảo trước hết độ ổn định của trạng thái
vịng kín. Trong các hệ thống tuyến tính, điều này có thể đạt được bằng cách
thay thế trực tiếp các cực. Các hệ điều khiển phi tuyến sử dụng các lý thuyết
đặc biệt (thường dựa trên học thuyết của Aleksandr Lyapunov) để đảm bảo độ
ổn định mà khơng cần phải quan tâm đến các q trình động học bên trong hệ
thống. Khả năng đáp ứng các biến đổi chức năng khác nhau từ việc nhận dạng
mơ hình và việc chọn phương thức điều khiển. Sau đây là danh sách giản lược
của các kỹ thuật điều khiển chính:
-Điều khiển thích nghi
-Điều khiển phân cấp
-Điều khiển thơng minh
-Điều khiển tối ưu
-Điều khiển bền vững
-Điều khiển ngẫu nhiên
PHẦN 2: KẾT QUẢ NGHIÊN CỨU
Tên chủ đề: Mơ hình hóa và khảo sát chất lượng, và thiết kế bộ điều khiển
của hệ thống.

Trang 5


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Số liệu đề bài cho:

-Khối lượng cơ thể (m1) =2500kg
-Khối lượng treo (m2) =320kg
-Hằng số lò xo của hệ thống treo (k1) = 80000 N/m
-Hằng số lò xo của bánh xe và lốp xe (k2) = 500000 N/m
-Hằng số giảm xóc của hệ thống treo (b1) = 350 Ns/m
-Hằng số giảm xóc của bánh xe và lốp xe (b2) = 15020 Ns/m
-control force (u)= lực từ bộ điều khiển chính ta thiết kế
u cầu:
Nội dung 1: Mơ hình hóa hệ thống, tìm đáp ứng hệ thống theo thời gian. Mục
tiêu chuẩn đầu ra.
Nội dung 2: Khảo sát sự phụ thuộc của đáp ứng hệ thống theo hệ sô cản b2
thay đổi từ 10 đến 100 Ns/m. Mục tiêu chuẩn đầu ra
Nội dung 3: 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. Mục tiêu chuẩn đầu ra.
Giải
Nội dung 1:
Trang 6


BÀI TẬP LỚN MƠN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Mơ hình hóa hệ thống:
Phương trình vi phân:

Phương pháp phân tích lực:
Nhận xét:
Tọa độ(x,y) được hướng như hình khi:
Hệ đứng yên ở trạng thái cân bằng(tĩnh)(cho phép trọng lượng được phép bỏ
qua).
Giả sử cả lò xo và giảm chấn (damper), đều tuyến tính.

Ta chọn chiều dương theo hướng như hình vẽ (chiều tích cực).
Phân tích ta tưởng tượng cố định:

Ta có:

.

.
Phân tích ta tưởng tượng và mặt đất cố định.

Trang 7


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Ta có:

.

.
Theo định luật II Newton:

Vật

Vật

Từ hình trên và định luật Newton, chúng ta có thể có được các phương
trình động như sau:

Trang 8



BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Phương trình hàm truyền:
Giả sử rằng tất cả các điều kiện ban đầu là số khơng, vì 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 lên một vết sưng. Các
phương trình động ở trên có thể được biểu diễn dưới dạng các hàm truyền
bằng cách lấy Laplace Transform của các phương trình trên. Đạo hàm từ các
phương trình trên của Hàm truyền G1 (s) và G2 (s) của đầu ra, x1 - x2 và hai
đầu vào, u và w, như sau:

Hoặc:
Tì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 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:
Nhập phương trình vào Matlab:
Chúng ta có thể đặt các phương trình Hàm truyền ở trên vào Matlab bằng cách
xác định tử số và mẫu số của Hàm truyền ở dạng, nump / denp cho đầu vào lực
được kích hoạt và num1 / den1 cho đầu vào nhiễu, của hàm truyền tiêu
chuẩn G1 (s) và G2 (s) :
G1 (s) = nump / denp
G2 (s) = num1 / den1

Phản ứng vòng lặp mở
Trang 9



BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Chúng ta có thể sử dụng MATLAB để hiển thị cách hệ thống vịng lặp mở
ban đầu hoạt động (khơng có bất kỳ điều khiển phản hồi nào). Thêm các lệnh
sau vào tệp m và chạy nó trong cửa sổ lệnh MATLAB để xem phản hồi của
bước đơn vị được kích hoạt lực đầu vào và đầu vào nhiễu bước đơn vị. Lưu ý
rằng lệnh bước sẽ tạo các đầu vào bước đơn vị cho mỗi đầu vào.
step (G1)
Code trong matlab:
m1=2500;
m2=320;
k1=80000;
k2=500000;
b1 = 350;
b2 = 15020;
num=[(m1+m2) b2 k2];
den=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
G1=tf(num,den);
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);
t=0:0.01:50;
step(G1,t)
title('do thi ham so cua G1 theo t’)
grid on


Trang 10


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Từ biểu đồ này của phản ứng vòng hở cho một lực tác động của bước đơn
vị, chúng ta có thể thấy rằng hệ thống bị thiếu. Những người ngồi trong xe
buýt sẽ cảm thấy dao động rất nhỏ và sai số trạng thái ổn định là khoảng
0,013 mm. Hơn nữa, xe buýt mất một thời gian dài không thể chấp nhận để
đạt đến trạng thái ổn định (thời gian giải quyết là rất lớn). Giải pháp cho vấn
đề này là thêm bộ điều khiển phản hồi vào hệ thống.
step (G2)
Code trong matlab:
m1=2500;
m2=320;
k1=80000;
k2=500000;
b1 = 350;
b2 = 15020;
num=[(m1+m2) b2 k2];
den=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
G1=tf(num,den);
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);
t=0:0.01:50;
Trang 11



BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG
step(G2,t)
title('do thi ham so cua G2 theo t voi k2=500000')
grid on

Để xem một số chi tiết, chúng ta thay đổi trục:
axis ([0 0,01 10])
Code trong matlab:
m1=2500;
m2=320;
k1=80000;
k2=500000;
b1 = 350;
b2 = 15020;
num=[(m1+m2) b2 k2];
den=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
G1=tf(num,den);
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);
t=0:0.01:10;
step(G2,t)
title('do thi ham so cua G2 theo t voi k2=500000')
grid on
Trang 12



BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Từ biểu đồ phản ứng vòng hở này cho nhiễu loạn bước 0,1 m, chúng ta có
thể thấy rằng khi xe buýt vượt qua một vết sưng cao 10 cm trên đường, thân
xe buýt sẽ dao động trong một thời gian dài không thể chấp nhận được (100
giây) với biên độ lớn hơn, 13 cm, hơn tác động ban đầu. Những người ngồi
trong xe buýt sẽ không thoải mái với sự dao động như vậy. Việc vượt quá lớn
(từ chính tác động) và thời gian xử lý chậm sẽ gây ra thiệt hại cho hệ thống
treo. Giải pháp cho vấn đề này là thêm bộ điều khiển phản hồi vào hệ thống
để cải thiện hiệu suất. Sơ đồ của hệ thống vịng kín là như sau:

Trang 13


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Từ các hàm truyền và sơ đồ trên, chúng ta có thể vẽ sơ đồ khối hệ thống
xe buýt như sau:

Từ sơ đồ trên chúng ta thấy rằng:
Plant = nump/denp
F * Plant=num1/den1
Vậy nên:
F=num1/(den1*Plant)

Nội dung 2:
Thay đổi giá trị b2 từ 10-100 Ns/m để khảo sát sự phụ thuộc của đáp ứng
hệ thống theo hệ sô cản b2. Thay giá trị b2=
10;20;30;30;40;50;60;70;80;90;100.
Đối với P:

Code trong matlab:
m1=2500;
m2=320;
k1=80000;
b1 = 350;
k2=500000;
t=0:0.01:50;
b2 = 10;
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];
P=tf(nump,denp)
step(P,t,'--figure(1);
hold on
b2 = 20;
Trang 14


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG
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];
P=tf(nump,denp)
step(P,t,'--*b');
b2 = 30;
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];
P=tf(nump,denp)

step(P,t,'g');
b2 = 40;
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];
P=tf(nump,denp)
step(P,t,'--oy');
b2 = 50;
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];
P=tf(nump,denp)
step(P,t,'--r');
b2 = 60;
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];
P=tf(nump,denp)
step(P,t,'--g');
b2 = 70;
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];
P=tf(nump,denp)
step(P,t,'--b');
b2 = 80;
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];
P=tf(nump,denp)

step(P,t,'r');
b2 = 90;
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];
P=tf(nump,denp)
step(P,t,'y');
b2 = 100;
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];
P=tf(nump,denp)
step(P,t,'b');
legend('voi b2 = 10','voi b2 = 20','voi b2 = 30','voi b2 =
40','voi b2 = 50','voi b2 = 60','voi b2 = 70','voi b2 = 80','voi
b2 = 90','voi b2 = 100');
Trang 15


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG
title('do thi cua P theo b2');
axis([0 10 0 .000025]);

Zoom một số góc để nhìn rõ hơn:

Trang 16


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG


Nhận xét: Theo biểu dồ ta thấy khi thay đổi giá trị b2 từ 10-100 Nm/s ta thấy
biểu đồ không mấy thay đổi. Ta có thể thấy nó thay đổi một chút tại thời gian
Trang 17


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

t=0,51-0,68 s. Từ t=3s hầu như biểu đồ nó khơng con thay đổi mấy. Cho thấy
mức độ ảnh hưởng khi thay đổi b2 đối với P là không nhiều

Đối với G2:
Code trong matlab:
m1=2500;
m2=320;
k1=80000;
b1 = 350;
t=0:0.01:5;
k2=500000;
b2 = 10;
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1)
(b1*k2)+(b2*k1) k1*k2];
G2=tf(0.1*num1,den1)
step(G2,t,'--figure(1);
hold on
b2 =20;
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1)
(b1*k2)+(b2*k1) k1*k2];

G2=tf(0.1*num1,den1)
step(G2,t,'--*b');
b2 =30;
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1)
(b1*k2)+(b2*k1) k1*k2];
G2=tf(0.1*num1,den1)
step(G2,t,'g');
b2 =40;
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1)
(b1*k2)+(b2*k1) k1*k2];
G2=tf(0.1*num1,den1)
step(G2,t,'--oy');
b2 =50;
num1=[-(m1*b2) -(m1*k2) 0 0];
den1=[(m1*m2) (m1*(b1+b2))+(m2*b1)
(b1*k2)+(b2*k1) k1*k2];
G2=tf(0.1*num1,den1)
step(G2,t,'--r');
b2 = 60;

(m1*(k1+k2))+(m2*k1)+(b1*b2)

(m1*(k1+k2))+(m2*k1)+(b1*b2)

(m1*(k1+k2))+(m2*k1)+(b1*b2)

(m1*(k1+k2))+(m2*k1)+(b1*b2)


(m1*(k1+k2))+(m2*k1)+(b1*b2)

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)
step(G2,t,'--g');
b2 = 70;
num1=[-(m1*b2) -(m1*k2) 0 0];
Trang 18


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG
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)
step(G2,t,'--b');
b2 = 80;
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)
step(G2,t,'r');
b2 = 90;
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)
step(G2,t,'y');
b2 =100;

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)
step(G2,t,'b');
legend('voi b2 =10;','voi b2 =20;','voi b2 =30;','voi b2
=40;','voi b2 =50;','voi b2 =60;','voi b2 =70;','voi b2 =80;','voi
b2 =90;','voi b2 =100;');
title('do thi cua G2 theo b2');
axis([0 5 -.2 .2]);

Trang 19


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Zoom một số góc để quan sát rõ hơn sự thay đổi:

Trang 20


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Nhận xét: theo biểu đồ ta thấy khơng có mấy sự thay đổi ảnh hưởng đến G2
khi thay đổi b2 từ 10-100 Nm/s. Ta có thể thấy nó có biến động một chút tại
thời điểm từ 1,5 s nhiều hơn là 0-1,5 s. Tại thời điểm biến động nhất của G2
chênh lệch nhau khoảng 0,01.
Trang 21



BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG

Nội dung 3:
Từ bài tốn chính, các phương trình động ở dạng hàm truyền như sau:

Do
và sơ đồ hệ thống giống như sau:

Chúng tôi muốn thiết kế bộ điều khiển phản hồi để khi nhiễu đường (w) được
mô phỏng theo đầu vào bước đơn vị, đầu ra ( x1-x2) có thời gian xử lý dưới 5
giây và độ vọt lố dưới 5%. Ví dụ: khi xe buýt chạy lên một bước cao 10 cm,
thân xe buýt sẽ dao động trong phạm vi +/- 5 mm và sẽ ngừng dao động trong
vòng 5 giây.
Hàm truyền cho bộ điều khiển PID là:

Mơ hình hệ thống có thể được biểu diễn trong Matlab khi thêm bộ điều khiển
PID như sau:
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];
Trang 22



BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG
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);
KD=208000;
KP=832000;
KI=624000;
contr=tf([KD KP KI],[1 0]);
sys_cl=F*feedback(F*G1,contr);
t=0:0.001:5;
step(0.1*sys_cl,t);
title('closed-loop response to 0.1m high step w/ pid controller')
grid on

Chúng ta thấy phản hồi ( x1-x2) cho bước w như sau:

Từ biểu đồ, phần trăm vượt quá là 9mm, lớn hơn yêu cầu 5 mm, nhưng thời
gian giải quyết được thỏa mãn, dưới 5 giây. Để chọn mức tăng thích hợp
mang lại đầu ra hợp lý ngay từ đầu, chúng ta bắt đầu với việc chọn một cực và
hai số không cho bộ điều khiển PID. Một cực của bộ điều khiển này phải ở 0
và một trong các số 0 phải rất gần với cực ở gốc, tại 1. Số 0 khác, chúng ta sẽ
đặt thêm từ số 0 đầu tiên, ở mức 3, thực sự chúng ta có thể điều chỉnh vị trí
của second-zero để hệ thống thực hiện yêu cầu. Thêm các lệnh sau vào tệp m,
để có thể điều chỉnh vị trí của số 0 và chọn mức tăng để có ý tưởng sơ bộ về
mức tang chúng ta sử dụng cho KD, KP và KI.
z1=1;

z2=3;
Trang 23


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG
p1=0;
numc=conv([1 z1],[1 z2]);
denc=[1 p1];
contr=tf(numc,denc);
rlocus(contr*G1)
title('root locus with PID controller')
[K,p]=rlocfind(contr*G1)

Chúng ta sẽ thấy các cực và số khơng vịng kín trên mặt phẳng s như sau
chúng ta có thể chọn các cực và cực trội trên biểu đồ:

Chọn mức tăng cho bộ điều khiển PID
Bây giờ chúng ta có chức năng chuyển vịng kín, việc điều khiển hệ thống là
vấn đề thay đổi các biến thể KD, KP và KI. Từ hình trên, chúng ta có thể thấy
rằng hệ thống có giảm xóc lớn hơn yêu cầu, nhưng thời gian giải quyết rất
ngắn. Phản hồi này vẫn không đáp ứng yêu cầu vượt quá 5%. Điều chỉnh biến
thiên KD, KP và KI để tìm phản hồi tốt hơn. Tăng KD, KP, KI lên 2 lần để
quan sát.
Chúng ta được biểu đồ sau:

Trang 24


BÀI TẬP LỚN MÔN CƠ SỞ HỆ THỐNG TỰ ĐỘNG


Để so sánh biểu đồ này với biểu đồ của bộ điều khiển PID có mức tăng thấp,
ta có thể thay đổi trục:
axis ([0 5 -.01 .01])

Bây giờ chúng ta thấy rằng phần trăm vượt quá và thời gian giải quyết đáp
Trang 25


×