Bài giảng Ứng dụng Matlab trong điều khiển tự động

1. Điều khiển học (Cybernctics):Ứng dụng MATLAB trong điều khiển tự động

Là khoa học nghiên cứu những quá trình điều khiển và truyền thông máy móc, sinh vật và

kinh tế. Điều khiển học mang đặc trưng tổng quát và được phân chia thành nhiều lĩnh vực khác

nhau như: toán điều khiển, điều khiễn học kỹ thuật, điều khiển học sinh vật (phỏng s inh vật:

bionics), điều khiển học kinh tế.

2. Lý thuyết điều khiển tự động:

Là cơ sở lý thuyết của điều khiển học kỹ thuật. Điều khiển tự động là thuật ngữ chỉ quá trình

điều khiển một đối tượng trong kỹ thuật mà khôn g có sự tham gia của con người (automatic) nó

ngược lại với quá trình điều khiển bằng tay (manual).

3. Hệ thống điều khiển tự động:

Một hệ thống điều khiển tự động bao gồm 3 phần chủ yếu:

Thiết bị điều khiển (TBĐK).

- Đối tượng điều khiển (ĐTĐK).

- Thiết bị đo lường.

Hình 1.1 là sơ đồ khối của hệ thống điều khiển tự động.

Trong đó:

C: tín hiệu cần điều khiển, thường gọi là tín hiệu ra (output).

U: tín hiệu điều khiển.

R: tín hiệu chủ đạo, chuẩn, tham chiếu (reference) thường gọi là tín hiệu vào (input).

N: tín hiệu nhiễu tác động từ bên ngoài vào hệ thống.

F: tín hiệu hồi tiếp, phản hồi (feedback).

4. Hệ thống điều khiển kín (closed loop control system) :

Là hệ htống điều khiển có phản hồi (feeback) nghĩa là tín hiệu ra được đo lường và đưa về

thiết bị điều khiển. Tín hiệu hồi tiếp phối hợp với tín hiệu vào để tạo ra tín hiệu điều khiển. Hình

1.1 chính là sơ đồ của hệ thống kín. Cơ sở lý thuyết để nghiên cứu hệ thống kín chính là lý thuyết

điều khiển tự động

 

pdf 299 trang yennguyen 11080
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Ứng dụng Matlab trong điều khiển tự động", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Ứng dụng Matlab trong điều khiển tự động

Bài giảng Ứng dụng Matlab trong điều khiển tự động
Ứng dụng MATLAB trong điều khiển tự động
GIỚI THIỆU LÝ THUYẾT ĐIỀU KHIỂN TỰ ĐỘNG
Điều khiển tự động đóng vai trò quan trọng trong sự phát triển của khoa học và kỹ thuật.
Lĩnh vực này hữu hiệu khắp nơi từ hệ thống phi thuyền không gian, hệ thống điều khiển te ân lửa,
máy bay không người lái, người máy, tay máy trong các quy trình sản xuất hiện đại, và ngay cả
trong đời sống hàng ngày: điều khiển nhiệt độ, độ ẩm...
Phát minh đầu tiên khởi đầu cho việc phát triển của lĩng vực đ iều khiển tự động là bộ điều
tốc ly tâm để điều chỉnh nhiệt độ máy hơi nước của Jame Watt năm 1874. Các công trình đáng
chú ý trong bước đầu phát triển lý thuyết điều khiển là của các nhà khoa học Minorsky, Hazen,
Nyquist...năm 1922. Minorky thực hiện hệ thống điều khiển tự động các con tàu và chứng minh
tính ổn định của hệ thống có thể được xác định từ phương trình vi phân mô tả hệ thống. Năm
1932, Nyquist đã đưa ra một nguyên tắc tương đố i đơn giản để xác định tính ổn định của hệ thống
vòng kìn dựa trên cơ sở đáp ứng vòng hở đối với các tính hiệu vào hình sin ở trạng thái xác lập.
Năm 1934, Hazen đã giới thiệu thuật ngữ điều chỉnh cơ tự động (servo mechani sm) cho những hệ
thống điều khiển định vị vâà thảo luận đến việc thiết kế hệ thống relay điều chỉnh động cơ với
ngõ vào tín hiệu thay đổi.
Trong suốt thập niên 40 của thế kỷ 20 phương pháp đáp ứng tần số đã giúp cjo các kỹ sư
thiết kế các hệ thống vòng kín tuyến tính thỏa các yêu cầu chất lượng điều khiển. Từ cuối thập
niên 40 cho đến đầu thập niên 50 phương pháp quỹ đạo nghiệm của Evan được phát triển khá
toàn vẹn.
Phương pháp quỹ đạo nghiệm và đáp ứng tần số được xem là cốt lõi của lý thuyết điều khiển
cổ điển cho phép ta thiết kế được những hệ thống ổn định và thỏa các chỉ tiêu chất lượng điều
khiển. Những hệ thống này được chấp nhận nhưng c hưa phải là tối ưu, hoàn thiện nhất. Cho tới
cuối thập niên 50 của thế kỷ 20 việc thiết kế một hay nhiều hệ thống dần dần được chuyển qua
việc thiết kế một hệ thống tối ưu với ý nghĩa đầy đủ hơn.
Khi các máy móc hiện đại ngày càng phức tạp hơn với nhi ều tín hiệu vào và ra thì việc mô
tả hệ thống điều khiển hiện đại này đòi hỏi một lượng rất lớn các phương trình. Lý thuyết điều
khiển cổ điển liên quan các hệ thống một ngõ vào va ø một ngõ ra trở nên bất lực để phân tích các
hệ thống nhiều đầu vào, nhiều đầu ra. Kể từ khoảng năm 1960 trở đi nhờ máy tính so ácho phép ta
phân tích các hệ thống phức tạp trong miền thời gian, lý thuyết điều khiển hiệ n đại phát triển để
đối phó với sự phức tạp của các hệ thống hiện đại. Lý thuyết điều khiển hiện đại dựa trên phân
tích trong miền thới gian và tổng hợp dùng các biến trạng thái, cho phép giải các bài toán điều
khiển có các yêu cầu chặt chẽ về độ chính xác, trọng lượng và giá thành của các hệ thống trong
lĩnh vực kỹ nghệ không gian và quân sự.
Sự phát triển gần đây của lý thuyết điều khiển hiện đại là trong nhiều lĩnh vực đie åu khiển tối
ưu của các hệ thống ngẫu nhiên và tiền định. Hiện nay máy vi tính ngày càng rẽ, gọn nhưng khả
năng xử lý lại rất mạnh nên nó được dùng như là một phần tử trong các hệ thống điều khiển.
Những áp dụng gần đây của lý thuyết điều khiển hiện đại vào ngay cả những ngành kỹ thuật
như: sinh học, y học, kinh tế, kinh tế xã hội.
I. NHỮNG KHÁI NIỆM CƠ BẢN
1. Điều khiển học (Cybernctics) :
Ứng dụng MATLAB trong điều khiển tự động
Là khoa học nghiên cứu những quá trình điều khiển và truyền thông máy móc, sinh vật và
kinh tế. Điều khiển học mang đặc trưng tổng quát và được phân chia thành nhiều lĩnh vực khác
nhau như: toán điều khiển, điều khiễn học kỹ thuật, điều khiển học sinh vật (phỏng s inh vật:
bionics), điều khiển học kinh tế.
2. Lý thuyết điều khiển tự động :
Là cơ sở lý thuyết của điều khiển học kỹ thuật. Điều khiển tự động là thuật ngữ chỉ quá trình
điều khiển một đối tượng trong kỹ thuật mà khôn g có sự tham gia của con người (automatic) nó
ngược lại với quá trình điều khiển bằng tay (manual).
3. Hệ thống điều khiển tự động:
Một hệ thống điều khiển tự động bao gồm 3 phần chủ yếu:
Thiết bị điều khiển (TBĐK).
- Đối tượng điều khiển (ĐTĐK).
- Thiết bị đo lường.
Hình 1.1 là sơ đồ khối của hệ thống điều khiển tự động.
Hình 1.1
Trong đó:
C: tín hiệu cần điều khiển, thường gọi là tín hiệu ra (output).
U: tín hiệu điều khiển.
R: tín hiệu chủ đạo, chuẩn, tham chiếu (reference) thường gọi là tín hiệu vào (input).
N: tín hiệu nhiễu tác động từ bên ngoài vào hệ thống.
F: tín hiệu hồi tiếp, phản hồi (feedback).
4. Hệ thống điều khiển kín (closed loop control system) :
Là hệ htống điều khiển có phản hồi (feeback) nghĩa là tín hiệu ra được đo lường và đưa về
thiết bị điều khiển. Tín hiệu hồi tiếp phối hợp với tín hiệu vào để tạo ra tín hiệu điều khiển. Hình
1.1 chính là sơ đồ của hệ thống kín. Cơ sở lý thuyết để nghiên cứu hệ thống kín chính là lý thuyết
điều khiển tự động.
5. Hệ thống điều khiển hở :
Đối với hệ thống hở, khâu đo lường không được dùng đến. Mọi sự thay đổi của tín hiệu ra
không được phản hồi về thiết bị điều khiển. Sơ đồ hình 1.2 là hệ thống điều khiển hở.
Hình 1.2: Hệ thống điều khiển hở
R TBĐK ĐTĐKU C
N
CTBĐK ĐTĐK
TBĐL
F
R
Ứng dụng MATLAB trong điều khiển tự động
Cơ sở lý thuyết để nghiên cứu hệ thống hở là lý thuyết về relay và lý thuyết ôtômát hữu
hạn.
II. PHÂN LOẠI HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG
Hệ thống điều khiển có thể phân loại bằng nhiều cách khác nhau. Sau đây là một số phương
pháp phân loại:
1. Hệ tuyến tính và phi tuyến:
Có thể nói hầu hết các hệ thống vật lý đều là hệ phi tuyến, có nghĩa là trong hệ thống có ít
nhất một phần tử là phần tử phi tuyến (quan hệ vào ra là quan hệ phi tuyến). Tuy nhiên, nếu
phạm vi thay đổi của các biến hệ thống không lớn, hệ thống có thể được tuyến tín h hóa trong
phạm vi biến thiên của các biến tương đối nhỏ. Đối với hệ tuyến tính, phương pháp xếp chồng có
thể được áp dụng.
2. Hệ bất biến và biến thiên theo thời gian :
Hệ bất biến theo thời gian (hệ dừng) là hệ thống có các tham số không đổi (theo thời gian).
Đáp ứng của các hệ này không phụ thuộc vào thời điểm mà tín hiệu vào được đặt vào hệ thống
điều khiển phi thuyền không gian, với khối lượng giảm theo thời gian do tiêu thụ nă ng lượng
trong khi bay.
3. Hệ liên tục và gián đoạn theo thời gian :
Trong hệ liên tục theo thìi gian, tất cả các biến là hàm liên tục theo thời gian. Công cụ phân
tích hệ thống liên tục là phép biến đổi Laplace hay Fourier. Tronh khi đó, hệ gián đoạn là hệ
thống có ít nhất một tín hiệu là hàm gián đoạn theo thời gian. Người ta phân biệt hệ thống gián
đoạn gồm:
- Hệ thống xung: là hệ thống mà trong đó có một phần tử xung (khóa đóng ngắt) hay là tín
hiệu được lấy mẫu (sample) và giữ (hold). (Hình 1.3)
Hình 1.3: Hệ thống điều khiển xung.
- Hệ thống số: là hệ thống gián đoạn trong đó tín hiệu được mã hóa thanh logic 1, 0. Đó là
các hệ thống có các khâu biến đổi tương tự / số (A/D), số/ tương tự (D/A) và để kết nối kết nối tín
hiệu với máy tính số. (Hình 1.4)
c(t) H G(p)
F(p)
e(t)
r(t)
(-)
Đối tượng điều khiển
Ứng dụng MATLAB trong điều khiển tự động
Hình 1.4: Hệ thống điều khiển số
Công cụ để phân tích hệ thống gián đoạn là phép biến đổi Laplace, Fourier gián đoạ n hay
phép biến đổi Z.
4. Hệ đơn biến và đa biến:
Hệ đơn biến là hệ chỉ có một ngõ vào và một ngõ ra. Công cụ để phân tích và tổng hợp hệ
đơn biến là lý thuyết điều khiển cổ điển. Ví dụ: hệ điều khiển định vị (vị trí) .
Hệ đa biến là hệ có nhiều ngõ vào và nhiều ngõ ra. Công cụ để phân tích và tổng hợp hệ đa
biến là lý thuyềt điều khiển hiện đại dựa trên cơ sở biểu diễn hệ trong không gian trạng thái. Ví
dụ: hệ điều khiển quá tr ình (Process Control System) có thể gồm có điều khiển nhiệt độ và áp
suất.
5. Hệ thống thích nghi và hệ thống không thích nghi :
Hệ thống thích nghi là hệ htống hoạt động theo nguyên tắc tự chỉnh định, trong đó hệ thống
tự phát hiện những thay đổi của các tham số do ảnh hưởng của môi trường bên ngoài và thực hiện
việc điều chỉnh tham số để đạt được chỉ tiêu tối ưu được đề ra.
6. Hệ xác định (deterministic) và hệ ngẫu nhiên (stochastic) :
Một hệ thống điều khiển là xác định khi đáp ứng đối với một ngõ vào nhất định có thể được
biết trước (predictable) và có thể lặp lại được (repeatable). Nếu không thỏa mãn 2 điều kiện trên,
hệ thống điều khiển là ngẫu nhiên .
III. NHIỆM VỤ CỦA LÝ THUYẾT ĐIỀU KHIỂN TỰ ĐỘNG
Để khảo sát và thiết kế một hệ thống điều khiển tự động người ta thực hiện các bước sau:
a) Dựa trên các yêu cầu thực tiễn, các mô hình vật lý ta xây dựng mô hình toán học dựa trên
các quy luật, hiện tượng, quan hệ của các đối tượng vật lý. Mô hình toán học của hệ thống được
xây dựng từ các mô hình toán học của các phần tử riêng lẻ.
b) Dựa trên lý thuyết ổn định, ta khảo sá t tính ổn định của hệ thống. Nếu hệ thống không ổn
định ta thay đổi đặc tính của hệ thống bằng cách đưa vào một khâu bổ chính (compensation) hay
thay đổi thay đổi tham số của hệ để hệ thành ổn định.
c) Khảo sát chất lượng của hệ theo các chỉ tiêu đề ra ban đầu. Nếu hệ không đạt chỉ tiêu
chất lượng ban đầu, ta thực hiện bổ chính hệ thống.
d) Mô phỏng hệ thống trên máy tính để kiểm tra lại thiết kế.
e) Thực hiện mô hình mẫu (prototype) và kiểm tra thiết kế bằng thực nghiệm.
f) Tinh chỉnh lại thiết kế để tối ưu hóa chỉ tiêu chất lượng và hạ thấp giá thành nều có yêu
cầu.
g) Xây dựng hệ thống thực tế.
 MTS G(p) c(t)
 G(p)
D/A
Đối tượng điều khiển
Ngã vào
dạng số
Ứng dụng MATLAB trong điều khiển tự động
Ứùng dụng MATLAB trong điều khiển tự động
TẬP LỆNH CƠ BẢN CỦA MATLAB
I. LỆNH CƠ BẢN
Chú ý: Các lệnh đều viết bằng chữ thường, nhưng vì tác giả muốn viết hoa để người xem tiện
theo dõi.
1. Lệnh ANS
a) Công dụng: (Purpose)
Là biến chứa kết quả mặc định.
b) Giải thích: (Description)
Khi thực hiện một lệnh nào đó mà chưa có biến chứa kết quả, thì MATLAB lấy biến Ans
làm biến chứa kết quả đó.
c) Ví dụ: (Examples)
2-1
ans = 1
2. Lệnh CLOCK
a) Công dụng: (Purpose)
 Thông báo ngày giờ hiện t ại.
b) Cú pháp:(Syntax)
c = clock
c) Giải thích: (Description)
 Để thông báo dễ đọc ta dùng hàm fix.
d) Ví dụ: (Examples)
 c = clock
c =
1.0e+003*
2.0010 0.0040 0.0200 0.0030 0.0420 0.0501
c = fix(clock)
c = 2001 4 20 3 43 3
3. Lệnh COMPUTER
 a) Công dụng: (Purpose)
Cho biết hệ điều hành của máy vi tính đang sử dụng Matlab.
b) Cú pháp: (Syntax)
Ứùng dụng MATLAB trong điều khiển tự động
 computer
[c,m] = computer
c) Giải thích: (Description)
 c: chứa thông báo hệ điều hành c ủa máy.
m: số phần tử của ma trận lớn nhất mà máy có thể làm việc được với Matlab.
d) Ví dụ: (Examples)
» [c,m]=computer
c =
PCWIN
m =
 2.1475e+009
4. Lệnh DATE
a) Công dụng: (Purpose)
 Thông báo ngày tháng năm hiện tại
b) Cú pháp: (Syntax)
s = date
c) Ví dụ:
» s=date
s =
20-Apr-2001
5. Lệnh CD
a) Công dụng:
Chuyển đổi thư mục làm việc.
b) Cú pháp:
Ứùng dụng MATLAB trong điều khiển tự động
cd
cd diretory
cd ..
c) Giải thích:
cd: cho biết thư nục hiện hành.
diretory: đường dẫn đến thư mục muốn làm việc.
cd .. chuyển đến thư mục cấp cao hơn một bậc.
6. Lệnh CLC
a) Công dụng:
Xóa cửa sổ lệnh.
b) Cú pháp:
clc
c) Ví dụ:
clc, for i: 25, home, A = rand(5), end.
7. Lệnh CLEAR
a) Công dụng:
Xóa các đề mục trong bộ nhớ.
b) Cú pháp:
clear
clear name
clear name1 name2 name3
clear functions
clear variables
clear mex
clear global
clear all
c) Giải thích:
clear: xóa tất cả các biến khỏi vùng làm việc.
clear name: xóa các biến hay hàm được chỉ ra trong name.
clear functions: xóa tất cả các hàm trong bộ nhơ.ù
clear variables: xóa tất cả các biến ra khỏi bộ nhớ.
Ứùng dụng MATLAB trong điều khiển tự động
clear mex: xóa tất cả các tập tin .mex ra khỏi bộ nhớ.
clear: xóa tất cả các biến chung.
clear all: xóa tất cả các biến, hàm, và các tập tin .mex khỏi bộ nhớ. Lệnh này làm cho bộ nhớ
trống hoàn toàn.
8. Lệnh DELETE
a) Công dụng:
Xóa tập tin và đối tượng đồ họa.
b) Cú pháp:
delete filename
delete (n)
c) Giải thích:
file name: tên tập tin cần xóa.
n: biến chứa đối tượng đồ họa cần xóa. Nếu đối tượng là một cửa sổ thì cửa sổ sẽ đóng lại
và bị xóa.
9. Lệnh DEMO
a) Công dụng:
Chạy chương trình mặc định của Matlab.
b) Cú pháp:
demo
c) Giải thích:
demo: là chương trình có sẵn trong trong Matlab, chương trình này minh họa một số chức
năng của Matlab.
10. Lệnh DIARY
a) Công dụng:
Lưu vùng thành file trên đĩa.
b) Cú pháp:
diary filename
c) Giải thích:
filename: tên của tập tin.
11. Lệnh DIR
a) Công dụng:
Liệt kê các tập tin và thư mục.
Ứùng dụng MATLAB trong điều khiển tự động
b) Cú pháp:
dir
dir name
c) Giải thích:
dir: liệt kê các tập tin và thư mục có trong thư mục hiện hành.
dir name: đường dẫn đến thư mục cần liệt kê.
12. lệnh DISP
a) Công dụng:
Trình bày nội dung của biến (x) ra màn hình
b) Cú pháp:
disp (x)
c) giải thích:
x: là tên của ma trận hay là tên của biến chứa chuỗi ký tự, nếu trình bày trực tiếp chuỗi
ký tự thì chuỗi ký tự được đặt trong dấu ‘’
d) Ví dụ:
» num=('Matlab')
num =
Matlab
» disp(num)
Matlab
» num=[2 0 0 1]
num =
 2 0 0 1
» disp(num)
 2 0 0 1
Ứùng dụng MATLAB trong điều khiển tự động
» num='PHAM QUOC TRUONG'
num =
PHAM QUOC TRUONG
13. Lệnh ECHO
a) Công dụng:
Hiển thị hay không hiển thị dòng lệnh đang thi hành trong file *.m.
b) Cú pháp:
echo on
 ... 
0 50 100
0
0.2
0.4
0.6
0.8
1
bai tong hop
 Bài 10: Cho hàm truyền như sau:
2s1s
4s)s(G
 Viết theo cấu trúc sau ta có được đồ thị biểu diễn quỹ đạo nghiệm:
Ứùng dụng MATLAB trong điều khiển tự động
 » num=[1 4];
 » den=conv([1 1],[1 2])
 » rlocus(num,den)
 Kết quả như hình sau:
Ứùng dụng MATLAB trong điều khiển tự động
KHẢO SÁT SỰ ỔN ĐỊNH CỦA HỆ THỐNG
LÝ THUYẾT:
Hệ thống ổn định ở trạng thái hở, sẽ ổn định ở trạng thái kín nếu biểu đồ
Nyquist không bao điểm (-1+i0) trên mặt phẳng phức.
Hệ thống không ổn định ở trạng thái hở, sẽ o ån định ở trạng thái kín nếu biểu
đồ Nyquist bao điểm (-1+i0)p lần ngược chiều kim đồng hồ (p là số cực GH
nằm ở phải mặt phẳng phức).
Từ dấu nhắc của cửa sổ MATLAB, ta nhập:
» num = [nhập các hệ số của tử số theo chi ều giảm dần của số mũ].
» den = [nhập các hệ số của mẩu số theo chiều giảm dần của số mũ ].
» nyquist(num,den)
Bài tập 1:
GH(s) =
st1
k
 (với k =10, t =1)
» num = 10;
» den = [-1 1];
» nyquist(num,den)
Kết quả:
Real Ax is
Im
a
gi
n
a
ry
Ax
is
Nyquist Diagrams
0 2 4 6 8 10
-5
-4
-3
-2
-1
0
1
2
3
4
5
(A)
Ứùng dụng MATLAB trong điều khiển tự động
Nhận xét: hàm truyền vòng hở có 1 cực nằm bên phải mặt phẳng phức. Biểu đồ
Nyquist không bao điểm A ( -1+j0).
 Điểm –1 ký hiệu ( ) nằm trên trục thực âm (Real Axis), điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ không ổn định.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ .
Từ dấu nhắc của cửa sổ lệnh MATLAB ta dùng lệnh ‘margin’:
» num = 10;
» den = [-1 1];
» margin(num,den);
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
0
5
10
15
20
Gm = 0 dB, Pm = 0 (unstable closed loop)
100
20
40
60
80
Kết luận:
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0 ).
Warning: Closed loop is unstable (hệ vòng kín không ổn định).
Bài tập 2:
GH(s) =
st1s
k
 (k = 10, t = 1)
» num = 10;
» den = [-1 1 0];
» nyquist(num,den)
Ứùng dụng MATLAB trong điều khiển tự động
Real Ax is
Im
a
gi
n
a
ry
Ax
is
Nyquist Diagrams
0 2 4 6 8 10
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhận xét: hàm truyền vòng hở có 1 cực nằm bên phải mặt phẳng phức và 1 cực nằm
tại gốc tọa độ. Biểu đồ Nyquist không bao điểm A ( -1+j0).
 Điểm –1 ký hiệu ( ) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục ảo
(Imaginary Axis).
Kết luận: hệ không ổn định.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ .
Từ dấu nhắc của cửa sổ lệnh MATLAB ta dùng lệnh ‘margin’:
» num = 10;
» den = [-1 1 0];
»margin(num,den)
(A)
Ứùng dụng MATLAB trong điều khiển tự động
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstable closed loop)
10-1 100
-80
-60
-40
-20
Kết luận:
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0 ).
Warning: Closed loop is unstable (hệ vòng kín không ổn định).
Bài tập 3:
GH(s) =
1st1st
k
21
(k =10, t1 = 1, t2 = 2)
» num = 10;
» den = [2 3 1];
» nyquist(num,den)
Ứùng dụng MATLAB trong điều khiển tự động
Real Ax is
Im
a
gi
n
a
ry
Ax
is
Nyquist Diagrams
0 2 4 6 8 10
-6
-4
-2
0
2
4
6
Nhận xét: hàm truyền vòng hở có 2 cực nằm bên trá i mặt phẳng phức. Biểu đồ
Nyquist không bao điểm A ( -1+j0).
Điểm –1 ký hiệu ( ) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ thống ổn định.
* Dùng lệnh margin để tìm biên dự trữ v à pha dự trữ.
 Từ dấu nhắc của cửa sổ MATLAB dùng lệnh ‘margin’.
» num = 10;
» den = [2 3 1];
» margin(num,den)
(A)
Ứùng dụng MATLAB trong điều khiển tự động
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
-20
-10
0
10
20
Gm = Inf, Pm=38.94 deg. (at 2.095 rad/sec)
100
-150
-100
-50
Kết luận: hệ thống ổn định.
Độ dự trữ biên (Gm = ).
Độ dự trữ pha (Pm = 38.94 ), tại tần số cắt biên 2.095 rad/sec.
Bài tập 4:
GH(s) =
1st1sts
k
21
 (k = 10 t1=1, t2 =2)
» num = 10;
» den = [2 3 1 0];
» nyquist(num,den)
Ứùng dụng MATLAB trong điều khiển tự động
Real Ax is
Im
a
gi
n
a
ry
Ax
is
Nyquist Diagrams
-30 -25 -20 -15 -10 -5
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhận xét: hàm truyền vòng hở có 2 cực nằm bên trái mặt phẳng phức và 1 cực ở zero.
Biểu đồ Nyquist bao điểm A(-1+j0).
Điểm –1 ký hiệu ( ) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ không ổn định.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ .
Từ dấu nhắc của cư ûa sổ MATLAB ta dùng lệnh ‘margin’ để kiểm chứng lại hệ:
» num = 10;
» den = [2 3 1 0];
»margin(num,den)
(A)
Ứùng dụng MATLAB trong điều khiển tự động
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
-40
-20
0
20
40
60
Gm = 0 dB, Pm = 0 (unstable closed loop)
10-1 100
-250
-200
-150
-100
Kết luận: hệ thống không ổn định.
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0 )
Bài tập 5:
GH(s) =
1st1st1sts
k
321
 ( t1 =1, t2 = 2, t3 = 3, k = 10)
» num = 10;
» den = [6 11 6 1 0];
» nyquist(num,den)
Ứùng dụng MATLAB trong điều khiển tự động
Real Ax is
Im
a
gi
n
a
ry
Ax
is
Nyquist Diagrams
-60 -50 -40 -30 -20 -10 0
-1000
-800
-600
-400
-200
0
200
400
600
800
1000
Nhận xét: hàm truyền vòng hở có 3 cực nằm bên trái mặt phẳng phức và 1 cực ở zero.
Biểu đồ Nyquist bao điểm A ( -1+i0).
Điểm –1 ký hiệu ( ) nằm trên trục thực âm (Real Axis) , điểm 0 nằm trên trục
ảo (Imaginary Axis).
Kết luận: hệ không ổn định.
* Dùng lệnh margin để tìm biên dự trữ và pha dự trữ .
Từ dấu nhắc của cửa sổ MATLAB, dùng lệnh ‘margin’ để kiểm chứng lại hệ:
» num = 10;
» den = [6 11 6 1 0];
» margin(num,den)
(A)
Ứùng dụng MATLAB trong điều khiển tự động
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
-50
0
50
Gm = 0 dB, Pm = 0 (unstable closed loop)
10-2 10-1 100
-300
-200
-100
Kết luận: hệ thống không ổn định.
Độ dự trữ biên (Gm = 0 dB).
Độ dự trữ pha (Pm = 0 ).
Bài tập 6: Sau đây là dạng bài tập tổng quát với tử và mẫu của một hàm truyền là
các số liệu mà ta phải nhập vào.
Chương trình:
%%Tap tin khao sat on dinh he thong
%%PHAM QUOC TRUONG - DT: 9230774
function ondinh()
promptstr={'Nhap tu so num:','Nhap mau so den:'};
inistr={'',''};
dlgTitle='Nhap du lieu';
lineNo=1;
result=inputdlg(promptstr,dlgTitle,lineNo,inistr);
num=str2num(char(result(1)));
den=str2num(char(result(2)));
[z,p,k]=residue(num,den); %Tim cac cuc p
z=roots(num) %Tim cac zero z
zplane(z,p) %Ve cuc va zero
Sau khi chạy chương trình ta được kết quả:
Ứùng dụng MATLAB trong điều khiển tự động
Bạn hãy nhập số liệu vào:
Gỉa sử ta nhập số liệu sau và chọn OK:
Kết quả ngoài cửa sổ MATLAB Command Windows
z =
 0 + 3.0000i
 0 - 3.0000i
Hình vẽ cực và zero:
Ứùng dụng MATLAB trong điều khiển tự động
-4 -3 -2 -1 0 1 2 3 4
-3
-2
-1
0
1
2
3
Real Part
Im
ag
in
ar
y 
Pa
rt
Khảo sát hệ thống theo tiêu chuẩn Hurwitz
ÔN LẠI LÝ THUYẾT:
Xét Phương trình đặc trưng:
 F(s) = ansn+an-1++a0 với an 0
١. Điều kiện cần để hệ ổn định:
Các hệ số aj (j = 0,  n-1) cùng dấu với an.
aj 0 (j = 0,,n)
٢. Tiêu chuẩn Hurwitz:
 Điều kiện cần và đủ để hệ ổn định (các nghiệm của phương trình đặt trưng nằm
bên trái mặt phẳng phức) là tất cả các định thức Hurwitz D k đều cùng dấu (k = 0..n)
٣. Tiêu chuẩn Routh:
Điều cần và đủ để hệ ổn định là tất cả các phần tử của cột 1 bảng Routh đều
cùng dấu, nếu có sự đổi dấu thì số lần đổi dấu thì số lần đổi dấu bằng số nghiệm ở
phải mặt phẳng phức.
Ứùng dụng MATLAB trong điều khiển tự động
Bài tập 7:Cho hệ thống điều khiển phản hồi:
Dùng giản đồ Bode để khảo sát ổn định của hệ thống trên.
Khảo sát hệ xem hệ có ổn định hay không.
Trước tiên ta dùng lệnh ‘series’kết nối 2 hệ thống:
» num1 = [1 1];
» den1 = [1 0];
» num2 = 2;
» den2 = [1 4 3];
» [num,den] = series(num1,den1,num2,den2)
num =
 0 0 2 2
den =
 1 4 3 0
Hàm truyền nối tiếp là:
GH(s) =
s3s4s
2s2
23
Dùng giản đồ Bode để khảo sát ổn định:
» num = [2 2];
» den = [1 4 3 0];
» margin(num,den)
s
1s
3s4s
2
2
_
Ứùng dụng MATLAB trong điều khiển tự động
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
-60
-40
-20
0
20
Gm = Inf, Pm=77.748 deg. (at 0.65148 rad/sec)
10-1 100 101
-180
-160
-140
-120
-100
Kết luận:
Biên dự trữ: Gm =
Pha dự trữ Pm = 77.74 tại tần số cắt biên wb = 0.65
Vậy hệ thống ổn định.
Vẽ biểu đồ Nyquist:
» nyquist(num,den)
Real Ax is
Im
a
gi
n
a
ry
Ax
is
Nyquist Diagrams
-1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1
-60
-40
-20
0
20
40
60
Ứùng dụng MATLAB trong điều khiển tự động
Bên cạnh đó ta có thể khảo sát ổn định bằng tiêu chuẩn đại số:
Phương trình đặc trưng: s 3 + 4s2 +5s + 2 = 0
Trước tiên ta gọi ‘hurwitz’ từ cửa sổ lệnh:(liên hệ PQT để có chương trình)
» hurwitz
Cho biet so bac cao nhat cua ham: 3
Cho biet he so a(0): 1
Cho biet he so a(1): 4
Cho biet he so a(2): 5
Cho biet he so a(3): 2
Cac dinh thuc Hurwitz:
 D[1] = 1
 D[2] = 4
 D[3] = 18
 D[4] = 36
- HE THONG ON DINH. -
Bài tập 8: Khảo sát hệ thống:
Trước tiên, ta kết nối hệ thống:
Từ cửa sổ lệnh của MATLAB, ta nhập lệnh:
» num1 = [2 1];
» den1 = [1 0];
» num2 = 10;
» den2 = [1 5];
» [num,den] = series(num1,den1,num2,den2)
Và ta sẽ có:
s
1s2
5s
10
1s
1
_
+
Ứùng dụng MATLAB trong điều khiển tự động
num =
 0 20 10
den =
 1 5 0
Ta nhập tiếp:
» numc = [20 10];
» denc = [1 5 0];
» numd = 1;
» dend = [1 1];
» [num,den] = feedback(numc,denc,numd,dend)
 (nếu sau dend, có 1 tức là hồi tiếp dương)
num =
 0 20 30 10
den =
 1 6 25 10
Hàm truyền của hệ thống là: G(s)H(s) =
10s25s6s
10s30s20
23
2
Vẽ giản đồ Bode của hệ:
» num = [20 30 10];
» den = [1 6 25 10];
» bode(num,den)
Ứùng dụng MATLAB trong điều khiển tự động
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
-10
-5
0
5
10
10-1 100 101 102
-80
-60
-40
-20
0
20
Tính biên dự trữ và pha dự trữ của hệ:
» margin(num,den)
Frequency (rad/sec)
Ph
a
se
(de
g);
M
a
gn
itu
de
(dB
)
Bode Diagrams
-10
-5
0
5
10
Gm = Inf, Pm=103.14 deg. (at 20.347 rad/sec)
100 101
-150
-100
-50
0
Kết luận:
Hệ ổn định.
Biên dự trữ: Gm = .
Ứùng dụng MATLAB trong điều khiển tự động
Pha dự trữ: Pm = 103.14o tại tần số cắt biên là 20.347 rad/sec.
Chú ý: Sau khi đã vào cửa sổ lập trình, ta lập chương trình khảo sát hệ có phương trình
đặc trưng theo tiêu chuẩn đại số (tiêu chuẩn Hurwitz) xem hệ có ổn định hay khôn g.
Trong cửa sổ lệnh (cửa sổ làm việc), gọi lệnh » hurwitz (chương trình đã được
soạn thảo trong phần lập trình mang tên Hurwitz) sẽ có những hàng chữ:
 cho biet so bac cao nhat cua ham: (nhập vào hệ số a n)
 cho biet he so a(0):
 . . .
 cho biet he so a(n):
Dưới dây là phần đánh vào cửa sổ lập trình
%%%%%%%%%%% PHAM QUOC TRUONG - MSSV: 97102589 %%%%%%%%%%%
%%%%%%%%%%% DT: 9230774 %%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Hurwitz()
%
 % * Cong dung: Xet tinh on dinh cua he thong theo tieu chuan
Hurwitz.
%
% * Cach su dung:
% Truoc tien, nhap vao da thuc dac trung f theo dang:
% f = [a(n) a(n-1) a(n-2) ..... a(1) a(0)]
% voi a(n), a(n-1), a(n-2), ....., a(1),a(0) la cac he so cua da
thuc dac trung.
% Sau do, goi lenh Hurwitz(f)
XIN VUI LONG LIÊN HỆ PHẠM QUỐC TRƯỜNG ĐỂ CÓ CHƯƠNG TRÌNH
Chạy chương trình các ví dụ:
Ví dụ 1: Cho phương trình đặc trưng:
F(s) = s4 + 3s3 + 2s2 + 2s + 1
» Hurwitz
Cho biet so bac cao nhat cua ham: 4 (nhập xong nhấn Enter)
Cho biet he so a(0) = 1
Cho biet he so a(1) = 3
Cho biet he so a(2) = 2
Cho biet he so a(3) = 2
Cho biet he so a(4) = 1
Sau khi đã nhập các hệ số, MATLAB sẽ tự động giải và cho ta kết quả:
Cac dinh thuc Hurwitz:
 D[1] = 1
 D[2] = 3
 D[3] = 4
Ứùng dụng MATLAB trong điều khiển tự động
 D[4] = -1
 D[5] = -1
- HE THONG KHONG ON DINH. –
Ví dụ 2: Cho phương trình đặc trưng:
F(s) = 5s4 + 8s3 + 21s2 + 10s + 3
» Hurwitz
Cho biet so bac cao nhat cua ham: 4
Cho biet he so a(0) = 5
Cho biet he so a(1) = 8
Cho biet he so a(2) = 21
Cho biet he so a(3) = 10
Cho biet he so a(4) = 3
Cac dinh thuc Hurwitz:
 D[1] = 5
 D[2] = 8
 D[3] = 118
 D[4] = 988
 D[5] = 2964
- HE THONG ON DINH. -
Ví dụ 3: Cho phương trình đặc trưng:
F(s) = s5 + 10s4 + 16s3 + 160s2 + s + 10
» hurwitz
Cho biet so bac cao nhat cua ham: 5
Cho biet he so a(0) = 1
Cho biet he so a(2) = 10
Cho biet he so a(3) = 16
Cho biet he so a(4) = 160
Cho biet he so a(5) = 1
Cho biet he so a(6) = 10
Sau khi đã nhập các hệ số, MATLAB sẽ tự động giải và cho ta kết quả:
Cac dinh thuc Hurwitz:
Ứùng dụng MATLAB trong điều khiển tự động
 D[1] = 1
 D[2] = 10
 D[3] = 0
 D[4] = 0
 D[5] = 0
 D[6] = 0
- HE THONG O BIEN ON DINH. –
Khảo sát hệ thống theo tiêu chuẩn Routh
Chương trình:(liên hệ PQT)
%%%%%%%%%%%%%%%%%% PHAM QUOC TRUONG MSSV:97102589 %%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Dien thoai: 9230774 %%%%%%%%%%%%%%%% %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Chạy chương trình các ví dụ:
Ví dụ 1: Cho phương trình đặc trưng
F(s) = s4 + 3s3 + 2s2 + 2s + 1
 » routh
- CHUONG TRINH TAO HAM ROUTH -
 Cho biet so bac cao nhat cua he: 4
 Cho biet he so a(0) = 1
 Cho biet he so a(1) = 3
 Cho biet he so a(2) = 2
 Cho biet he so a(3) = 2
 Cho biet he so a(4) = 1
- HE THONG KHONG ON DINH. -
Ví dụ 2: Cho phương trình đặc trưng
 F(s) = s5 + s4 + 4s3 + 4s2 + 2s +1
» routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 5
Ứùng dụng MATLAB trong điều khiển tự động
Cho biet he so a(0) = 1
Cho biet he so a(1) = 1
Cho biet he so a(2) = 4
Cho biet he so a(3) = 4
Cho biet he so a(4) = 2
Cho biet he so a(5) = 1
- HE THONG KHONG ON DINH. -
Ví dụ 3: Cho phương trình đặc trưng
 F(s) = s5 + 10s4 + 16s3 + 160s2 + s + 10
» routh
- CHUONG TRINH TAO HAM ROUTH -
Cho biet so bac cao nhat cua he: 5
Cho biet he so a[0] = 1
Cho biet he so a[1] = 10
Cho biet he so a[2] = 16
Cho biet he so a[3] = 160
Cho biet he so a[4] = 1
Cho biet he so a[5] = 10
- HE THONG ON DINH. -
Ứùng dụng MATLAB trong điều khiển tự động

File đính kèm:

  • pdfbai_giang_ung_dung_matlab_trong_dieu_khien_tu_dong.pdf