Matlab được phát triển bởi công ty Math Works Inc, là một chương trình phân tích ma trận, thiết kế điều khiển, nhận dạng hệ thống và đồ thị kỹ thuật. Gõ đường dẫn : MATLAB khi đó sẽ xuất hiện dấu nhắc “>>” hoặc doubleclick vào biểu tượng Matlab trên màn hình nền. Matlab cũng có khả năng thi hành một dãy lệnh chứa trong một tập tin, tập tin file.M. Một chương trình có thể được viết và ghi lại ở dạng ASCII với tên tập tin có phần mở rộng ra trong thư mục mà Matlab đang chạy. Tên tập tin phải ở dạng chữ thường. Dạng tập tin file.M này được coi như là tập tin hay tập lệnh nguyên bản. Để chạy chương trình tại dấu nhắc “>>”đánh tên tập tin không có phần mở rộng .m Lệnh có dạng ở hình sau. Matlab dùng phép gán để dấu « = » chỉ ra rằng gán biểu thức vào một biến. >>biến= biểu thức Dạng lệnh Matlab >>: dấu nhắc lệnh Biểu thức nhập vào mà không có tên biến thì Matlab tính toán và kết quả được nhớ và hiển thị sau từ ans. Kết quả một biểu thức gán vào một tên biến để tiện cho việc sử dụng khác. Tên biến có thể đến 19 ký tự (bao gồm chữ và số), tuy nhiên ký tự đầu tiên của một tên biến phải bắt đầu bằng một chữ. Chuỗi ký tự: Một chuỗi ký tự nối tiếp nhau trong các câu sau được gôi là một chuỗi ký tự hoặc biến câu. >>C=’Good’ Kết quả sẽ là : C=Good
MỤC LỤC Lời nói đầu Bài 1: Khảo sát hệ thống điều khiển tự động dùng MATLAB 1.1 Mục tiêu 1.2 Nội dung 1.2.1 Phần mềm MATLAB cách sử dụng 1.2.2.Hàm truyền đạt, phương pháp biến trạng thái 1.2.3.Đáp ứng phân tích chất lượng hệ thống 1.2.4 Miền tần số hệ thống điều khiển 1.2.5 Quỹ đạo nghiệm số 1.3 Thí nghiệm 1.3.1.Hàm truyền đạt, phương trình trạng thái 1.3.2.Đáp ứng phân tích chất lượng hệ thống 1.3.3.Khảo sát hệ thống tự động dùng giản đồ Bode Nyquist 3.4 Khảo sát hệ thống phương pháp quỹ đạo nghiệm số 1.4 Kiểm tra đánh giá 64 Bài 2: Thiết kế hệ thống điều khiển tự động dùng MATLAB 2.1 Mục tiêu 2.2 Nội dung 2.2.1 Công cụ Sisotool 2.2.2.Thiết kế h ệ th ống điều khiển dùng phương pháp quỹ đạo nghiệm số b ằng Matlab 2.2.3 Thiết kế miền tần số 2.3 Thí nghiệm 2.3.1 Thiết kế hiệu chỉnh sớm pha 2.3.2 Thiết kế hiệu chỉnh trễ pha 2.3.3.Thiết kế hiệu chỉnh sớm trễ pha 2.3.4 Thiết kế điều khiển PID dung sisotool Matlab 2.4 Kiểm tra đánh giá Bài 3: Khảo sát mô hệ thống điều khiển tự động dùng Simulink 97 3.1 Mục tiêu 3.2 Nội dung 3.2.1 Giới thiệu Simulink Các bước tiến hành mô 3.2.2 Hàm truyền lò nhiệt đáp ứng hệ hở Ziegler-Nichol 3.2.3 Điều khiển on/off 3.2.4 Điều khiển tuyến tính (tỉ lệ) 3.2.5.Hàm truyền động DC 3.2.6 Điều khiển PID 3.2.7 Phương trình động học của hệ lắc ngược 3.2.8 Hệ thống điều khiển robotic 3.3 Thí nghiệm 3.3.1 Khảo sát hệ thống ổn định nhiệt độ 3.3.2.Khảo sát mơ hình hệ thống điều khiển tốc độ vị trí động DC 3.3.3 Mơ hệ thống điều khiển hệ lắc ngược 3.3.4 Hệ thống điều khiển ronotic 3.4 Kiểm tra đánh giá Bài 4: Hiện thực hệ thống điều khiển nhiệt độ 4.1.Mục tiêu 4.2.Nội dung 4.2.1.Sơ đồ khối, nguyên lí hoạt động hệ thống điều khiển nhiệt độ 4.2.2.Hàm truyền đạt lị điện mơ hình Ziegler-Nichols 4.2.3.Ngun lý điều khiển ON-FF (dùng khâu rơle có trễ) 4.2 4.Nguyên lý điều khiển tuyến tính 4.2.5 Điều khiển PID : PI PD 4.3 Thí nghiệm 4.3.1 Nhận dạng hàm truyền lị nhiệt 4.3.2 Điều khiển PID số 4.3.3 Mơ hệ thống điều khiển số lò nhiệt dùng Matlab Bài 5: Hiện thực hệ thống điều khiển tốc độ động chiều 5.1.Mục tiêu 5.2.Nội dung 5.2.1 Hàm truyền động Dc 5.2.2 Bộ điều khiển PID phương pháp Ziegler-Nichol 1, 5.3.Thí nghiệm 5.3 Tìm hàm truyền động DC dựa vào đáp ứng hệ hở 5.3.2 Điều khiển PID vịng kín hệ thống điều khiển tốc độ động 5.3.3 Mô hệ thống điều khiển số tốc độ động DC dùng Matlab 5.5.Nhận xét đánh giá Bài 6: Hiện thực hệ thống điều khiển vị trí động chiều Bài : Hệ thống điều khiển mức nước 7.1.Mục tiêu 7.2.N ội dung 7.3.Thí nghiệm 7.3.1 Mơ hệ bồn nước 7.3.2 Tuyến tính hóa hệ bồn nước điều khiển PID cho hệ bồn tuyến hóa 7.4.Nhận xét đánh giá Tài liệu tham khảo Phụ lục BÀI KHẢO SÁT HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG DÙNG MATLAB 1.1 Mục tiêu: -Căn Matlab: giới thiệu,mơ tả tốn học hệ thống dùng hàm truyền đạt, phương pháp biến trạng thái, đặc tính động học, khảo sát tính ổn định hệ, đánh giá chất lượng (sai số xác lập) - Phân tích miền tần số: Biểu đồ Bode, Nyquist -Khảo sát hệ dùng phương pháp quỹ đạo nghiệm số 1.2 Nội dung 1.2.1.Phần mềm MATLAB cách sử dụng 1.2.1.1.Giới thiệu Matlab Matlab phát triển cơng ty Math Works Inc, chương trình phân tích ma trận, thiết kế điều khiển, nhận dạng hệ thống đồ thị kỹ thuật Gõ đường dẫn : MATLAB xuất dấu nhắc “>>” double-click vào biểu tượng Matlab hình Matlab có khả thi hành dãy lệnh chứa tập tin, tập tin file.M Một chương trình viết ghi lại dạng ASCII với tên tập tin có phần mở rộng thư mục mà Matlab chạy Tên tập tin phải dạng chữ thường Dạng tập tin file.M coi tập tin hay tập lệnh nguyên Để chạy chương trình dấu nhắc “>>”đánh tên tập tin khơng có phần mở rộng m 1.2.1.2.Lệnh Biến số: Lệnh có dạng hình sau Matlab dùng phép gán để dấu « = » gán biểu thức vào biến >>biến= biểu thức Dạng lệnh Matlab >>: dấu nhắc lệnh Biểu thức nhập vào mà khơng có tên biến Matlab tính tốn kết nhớ hiển thị sau từ ans Kết biểu thức gán vào tên biến để tiện cho việc sử dụng khác Tên biến đến 19 ký tự (bao gồm chữ số), nhiên ký tự tên biến phải bắt đầu chữ Chuỗi ký tự: Một chuỗi ký tự nối tiếp câu sau gôi chuỗi ký tự biến câu >>C=’Good’ Kết : C=Good Bảng 1.1 Các phép toán học + * / ^ Cộng Trừ Nhân Chia lũy thừa 1.2.1.3.Các phép tính tốn vector: Một vector bậc n dãy hàng hay dãy cột n số hạng Để biểu diễn vector cột ta nhập : phần tử nằm dấu ngoặc vuông [], cách dâú chấm phẩy (;) Ví dụ : >>X=[2;-4;8] Kết : X= -4 Nếu phần tử phân cách dấu phẩy khoảng trắng vector hàng Ví dụ : >>R=[tan(pi/4) sqrt(9) -5] Kết : R= 1.0000 3.0000 -5.0000 Chuyển vị vector Ví dụ : >>Y=R’ cho : Y= 1.0000 3.0000 -5.0000 Các vector có kích thước cộng trừ Ví dụ : >>P=5*R cho kết sau : P= 5.0000 15.0000 -25.0000 Toán tử ‘ * ‘ thực phép tính nhân tương ứng phần tử với Ví dụ : với X Y ta có : >>E=X.*Y Kết : E= -12 -40 Tích vơ hướng vector X Y số vô hướng xác định ∑ Xi.Yi n i=1 Nếu X Y hai vector cột xác định tích vơ hướng chúng : S=X’*Y Kết là: S= -50 Có hàm Matlab để tính chuẩn vector Ví dụ tính Norm Euclid >>N=norm(X) Đưa kết N= 9.1652 Góc hai vector X Y xác định X.Y/(MođunX MođunY) Dòng lệnh: » theta=acos(X'*Y/(norm(X)*norm(Y))) Kết : theta = 2.7444 theta đo radian Biểu diễn vector zero Ví dụ: » Z=zeros(1,4) Z= 0 0 Trong MATLAB(:) sử dụng để tính vector hàng Ví dụ : » x=1:8 cho vector hàng số nguyên từ đến x= 1.2.1.4 Ma trận Trong MATLAB ma trận tạo dãy số ngoặc vuông Các phần tử hàng phân biệt khoảng trống dấu phẩy Dấu chấm phẩy dùng để kết thúc hàng Ví dụ: » A=[6 2;-1 3;2 9] Kết : A= -1 -2 Một cột hàng ma trận ký hiệu (:) Ví dụ: » r3=A(3,:) Kết : r3 = Tương tự A(:,2) biểu thị tất phần tử cột thứ A » A(:,2) ans = Cộng ma trận A B Ví dụ : » A=[6 2;-1 3;2 9] A= -1 -2 » B=[1 3;-2 6;1 7] B= -2 4 4 » D=A+B D= -3 12 16 Trừ hai ma trận A B Ví dụ : » C=A-B C= -1 -1 -3 1 Nhân hai ma trận A B từ phép tính A*B chúng tương thích Ví dụ : » E=A*B E= 22 38 -14 39 66 47 93 Hai ký hiệu sử dụng để chia ma trận A\B tương ứng A-1*B A/B tương ứng với A*B-1 Ví dụ: Ví dụ 1.1: AX=B − −10 −10 x1 10 −12 − − 16 x2 = 32 x3 −16 » A=[4 -2 -10;2 10 -12;-4 -6 16] A= -2 -10 10 -12 -4 -6 16 » B=[-10;32;-16] B= -10 32 -16 » X=A\B Kết : X= 2.0000 4.0000 1.0000 Ngồi cịn nhiều hàm tốn học khác file.m Ví dụ 1.2: Nên sử dụng chức inv để xác định nghịch đảo ma trận A sau xác định ma trận X » A=[4 -2 -10;2 10 -12;-4 -6 16] A= -2 -10 10 -12 -4 -6 16 » B=[-10;32;-16] B= -10 32 -16 » C=inv(A) C= 2.2000 0.4000 0.7000 2.3000 0.6000 0.8000 3.1000 0.7000 1.1000 » X=C*B X= A=[] : tạo ma trận rỗng A=ones(n,m) : tạo ma trận nxm số Thí dụ: >>A=ones(3,5) kết quả: A= 11111 11111 11111 A=eye(n,n) : tạo ma trận đơn vị Thí dụ: >>B=eye(3,3) kết quả: B= 100 010 001 A=zeros(n,m): tạo ma trận nxm số Thí dụ: >>C=zeros(2,3) Kết quả: C= 000 000 1.2.1.5.Giá trị riêng: Nếu ma trận A ma trận có (nxn) phần tử, có n số λ thỏamãn Ax=λx giá trị riêng A Chúng tìm cách sử dụng lệnh eig(A) Giá trị riêng vector riêng A tìm lệnh [X,D]=eig(A) Các phần tử đường chéo ma trận chéo D λ, cột 10 ma trận X vector riêng thỏa mãn AX=XD Ví dụ 1.3: Tìm giá trị riêng vector riêng ma trận A cho bởi: » A=[0 -1;-6 -11 6;-6 -11 5] A= -1 -6 -11 -6 -11 » [X,D]=eig(A) X= 0.7071 -0.2182 -0.0921 0.0000 -0.4364 -0.5523 0.7071 -0.8729 -0.8285 D= -1.0000 0 -2.0000 0 -3.0000 1.2.1.6.Số phức : Hầu hết phép tính số phức sử dụng chương trình Matlab Số ảo −1 ngầm định trước hai biến số i j chương trình Nếu i j sử dụng cho giá trị khác ta phải định nghĩa phần ảo sau: » j=sqrt(-1) j= + 1.0000i : » i=sqrt(1) i= + 1.0000i ... truyền động DC dựa vào đáp ứng hệ hở 5.3.2 Điều khiển PID vịng kín hệ thống điều khiển tốc độ động 5.3.3 Mô hệ thống điều khiển số tốc độ động DC dùng Matlab 5.5.Nhận xét đánh giá Bài 6: Hiện thực. .. 4.3.3 Mô hệ thống điều khiển số lò nhiệt dùng Matlab Bài 5: Hiện thực hệ thống điều khiển tốc độ động chiều 5.1.Mục tiêu 5.2.Nội dung 5.2.1 Hàm truyền động Dc 5.2.2 Bộ điều khiển PID phương pháp... tiến hành mô 3.2.2 Hàm truyền lò nhiệt đáp ứng hệ hở Ziegler-Nichol 3.2.3 Điều khiển on/off 3.2.4 Điều khiển tuyến tính (tỉ lệ) 3.2.5.Hàm truyền động DC 3.2.6 Điều khiển PID 3.2.7 Phương trình động