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
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
Ứ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:
- bai_giang_ung_dung_matlab_trong_dieu_khien_tu_dong.pdf