MỤC LỤC Lời nói đầu 2 Bài 1: Khảo sát hệ thống điều khiển tự động dùng MATLAB 5 1. Phần mềm MATLAB và cách sử dụng 1.Hàm truyền đạt, phương pháp biến trạng thái 1.Đáp ứng và phân tích chất lượng hệ thống 1. Miền tần số của hệ thống điều khiển. Quỹ đạo nghiệm số.Hàm truyền đạt, và phương trình trạng thái 1.Đáp ứng và phân tích chất lượng hệ thống 1.Khảo sát hệ thống tự động dùng giản đồ Bode và Nyquist.
Khảo sát hệ thống bằng phương pháp quỹ đạo nghiệm số 1. Kiểm tra đánh giá Bài 2: Thiết kế hệ thống điều khiển tự động dùng MATLAB 64 2. Công cụ Sisotool 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. Thiết kế ở miền tần số 2.
Thiết kế bộ hiệu chỉnh sớm pha 2. Thiết kế bộ hiệu chỉnh trễ pha.Thiết kế bộ hiệu chỉnh sớm trễ pha. Thiết kế bộ điều khiển PID dung sisotool trong Matlab. Kiểm tra đánh giá Bài 3: Khảo sát và mô phỏng hệ thống điều khiển tự động dùng Simulink 97 3.
Giới thiệu về Simulink. 2 Các bước tiến hành mô phỏng. Hàm truyền lò nhiệt và đáp ứng hệ hở của Ziegler-Nichol. Điều khiển on/off 3.
Điều khiển tuyến tính (tỉ lệ).Hàm truyền động cơ DC 3. Điều khiển PID 3. Phương trình động học của của hệ con lắc ngược. Hệ thống điều khiển robotic.
Khảo sát hệ thống ổn định nhiệt độ.Khảo sát mô hình hệ thống điều khiển tốc độ và vị trí động cơ DC. Mô phỏng hệ thống điều khiển hệ con lắc ngược. Hệ thống điều khiển ronotic. Kiểm tra đánh giá Bài 4: Hiện thực hệ thống điều khiển nhiệt độ .Sơ đồ khối, nguyên lí hoạt động của hệ thống điều khiển nhiệt độ.Hàm truyền đạt lò điện và mô hình của Ziegler-Nichols 4.Nguyên lý điều khiển ON-FF (dùng khâu rơle có trễ) 4.Nguyên lý điều khiển tuyến tính.
Điều khiển PID : PI và PD 4. Nhận dạng hàm truyền lò nhiệt. Điều khiển PID số. Mô phỏng 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 cơ một chiều 5. Hàm truyền động cơ Dc. Bộ điều khiển PID và phương pháp Ziegler-Nichol 1, 2.Tìm hàm truyền động cơ DC dựa vào đáp ứng hệ hở. Điều khiển PID vòng kín hệ thống điều khiển tốc độ động cơ 5.
Mô phỏng hệ thống điều khiển số tốc độ động cơ DC dùng Matlab.Nhận xét đánh giá. Bài 6: Hiện thực hệ thống điều khiển vị trí động cơ một chiều Bài 7 : Hệ thống điều khiển mức nước 3 7. Mô phỏng hệ bồn nước. Tuyến tính hóa hệ bồn nước và điều khiển PID cho hệ bồn được tuyến hóa.Nhận xét đánh giá.
Tài liệu tham khảo Phụ lục BÀI 1 KHẢO SÁT HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG DÙNG MATLAB 1. Mục tiêu: -Căn bản Matlab: giới thiệu,mô tả toá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ố .Phần mềm MATLAB và cách sử dụng 1.Giới thiệu về Matlab 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 double-click 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ộ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 .Lệnh và Biến số: 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 để 4 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 Bảng 1.
Các phép toán học + Cộng - Trừ * Nhân / Chia ^ lũy thừa 1.Các phép tính toán vector: Một vector bậc n là một dãy hàng hay dãy cột của n số hạng. Để biểu diễn vector cột ta nhập : các phần tử nằm trong dấu ngoặc vuông [], cách nhau bởi dâú chấm phẩy (;). Ví dụ : >>X=[2;-4;8] Kết quả là : X= 2 -4 8 Nếu các phần tử được phân cách bởi các dấu phẩy hoặc khoảng trắng thì đó là vector hàng. Ví dụ : >>R=[tan(pi/4) sqrt(9) -5] Kết quả sẽ là : R= 1.0000 Chuyển vị một vector.
Ví dụ : >>Y=R’ sẽ cho ra : Y= 1.0000 Các vector có cùng kích thước có thể cộng hoặc trừ. Ví dụ : >>P=5*R sẽ cho ra kết quả sau : P= 5.* ‘ thực hiện phép tính nhân tương ứng các phần tử với nhau. Ví dụ : với X và Y ở trên ta có : >>E=X.*Y Kết quả sẽ là : E= 2 -12 -40 Tích vô hướng của 2 vector X và Y là số vô hướng được xác định bởi ∑n Xi. i=1 Nếu X và Y là hai vector cột được xác định ở trên thì tích vô hướng của chúng là : S=X’*Y.
Kết quả sẽ là: S= -50 Có các hàm của Matlab để tính chuẩn của vector. Ví dụ tính Norm Euclid >>N=norm(X) Đưa ra kết quả N= 9.1652 Góc giữa hai vector X và Y được xác định bằng X. Dòng lệnh: » theta=acos(X'*Y/(norm(X)*norm(Y))) Kết quả là : theta = 2.7444 trong đó theta được đo bằng radian. Biểu diễn một vector zero.
Ví dụ: » Z=zeros(1,4) Z= 0 0 0 0 Trong MATLAB(:) có thể sử dụng để tính vector hàng. Ví dụ như : 6 » x=1:8 cho ra một vector hàng của các số nguyên từ 1 đến 8. Ma trận Trong MATLAB một ma trận được tạo bởi một dãy số trong ngoặc vuông. Các phần tử trong mỗi hàng được phân biệt bởi các khoảng trống hoặc dấu phẩy.
Dấu chấm phẩy được dùng để kết thúc một hàng. Ví dụ: » r3=A(3,:) Kết quả là : r3 = 2 4 9 Tương tự A(:,2) biểu thị tất cả các phần tử của cột thứ 2 trong A. » A(:,2) ans = 1 8 4 Cộng 2 ma trận A và B. Ví dụ : » A=[6 1 2;-1 8 3;2 4 9] A= 6 1 2 -1 8 3 -2 4 9 » B=[1 2 3;-2 4 6;1 3 7] B= 7 1 2 4 -2 4 4 1 3 4 » D=A+B D= 7 3 5 -3 12 9 3 7 16 Trừ hai ma trận A và B.
Ví dụ : » C=A-B C= 5 -1 -1 1 4 -3 1 1 2 Nhân hai ma trận A và B từ phép tính A*B nếu chúng tương thích. Ví dụ : » E=A*B E= 6 22 38 -14 39 66 3 47 93 Hai ký hiệu được sử dụng để chia ma trận. A\B tương ứng A-1*B và A/B tương ứng với A*B-1.1: AX=B 4 − 2 −10 x1 −10 2 10 −12 x2 = 32 − 4 − 6 16 x3 −16 » A=[4 -2 -10;2 10 -12;-4 -6 16] A= 8 4 -2 -10 2 10 -12 -4 -6 16 » B=[-10;32;-16] B= -10 32 -16 » X=A\B Kết quả là : X= 2.0000 Ngoài ra còn rất nhiều hàm toán học khác trong file.2: Nên sử dụng chức năng inv để xác định nghịch đảo của ma trận A rồi sau đó xác định ma trận X.1000 » X=C*B X= 2 4 1 A=[] : tạo ma trận rỗng. A=ones(n,m) : tạo ma trận nxm các số 1.
Thí dụ: >>A=ones(3,5) kết quả: A= 11111 11111 11111 A=eye(n,n) : tạo ra ma trận đơn vị. Thí dụ: >>B=eye(3,3) kết quả: B= 100 010 001 A=zeros(n,m): tạo ra ma trận nxm các số 0. Thí dụ: >>C=zeros(2,3) Kết quả: C= 000 000 1.Giá trị riêng: Nếu ma trận A là một ma trận có (nxn) phần tử, thì có n số λ thỏamãn Ax=λx là giá trị riêng của A. Chúng tìm được bằng cách sử dụng lệnh eig(A).
Giá trị riêng và vector riêng của A cũng có thể tìm được bằng lệnh [X,D]=eig(A). Các phần tử trên đường chéo chính của ma trận chéo D là các λ, còn các cột của 10 ma trận X là các vector riêng thỏa mãn AX=XD.3: Tìm giá trị riêng và vector riêng của ma trận A cho bởi: » A=[0 1 -1;-6 -11 6;-6 -11 5] A= 0 1 -1 -6 -11 6 -6 -11 5 » [X,D]=eig(A) X= 0.Số phức : Hầu hết các phép tính số phức đều có thể sử dụng được trong chương trình Matlab. Số ảo −1 được ngầm định trước bởi hai biến số i và j trong chương trình. Nếu i và j được sử dụng cho các giá trị khác thì ta phải định nghĩa phần ảo như sau: » j=sqrt(-1) j= 0 + 1.4: Tính Zc cosh g + sinh g/Zc, với Zc=200+ i300 và g=0.5*j; » V=Zc*cosh(g)+sinh(g)/Zc Kết quả là: : V= 8.
Đồ thị : Chương trình MATLAB có thể tạo ra các loại đồ thị 2-D, 3-D, đường log, semilog, đồ thị cực, đồ thị khối và đường viền trên máy vẽ, máy in kim, máy in laser. Một số đồ thị 2-D có thể vẽ bằng các lệnh plot, loglog, semilogx, semilogy, polar(‘text’), xlabel(‘text’), ylabel(‘text’), title(‘text’) và text(‘text’) có thể được sử dụng để đặt tên và thêm các chú thích trên đồ thị. Cú pháp của các câu lệnh trên bao gồm các ký hiệu (.,+,*,0,x) và màu sắc (r,b,g,w). Ví dụ: dòng lệnh sau » plot(t,y1,'r',t,y2,'+b') sẽ cho màu đỏ trên đường cong thứ nhất và màu xanh trên đường cong thứ hai.
Lệnh plot(x,y)- vẽ đồ thị y theo x.5: Vẽ đồ thị quan hệ x-y với nhiều biến khác nhau : X0 1 2 3 4 5 6 7 8 9 10 11 12 Y 0 0.5 16 16 16 16]; » plot(x,y) » grid 12 Hình 1. Để lưu hình vẽ, ta chọn menu File-Save As và đặt tên với đuôi. Đồ thị mắt lưới 3 chiều : Lệnh mesh(Z) tạo một đồ thị 3 chiều của các phần tử trong ma trận Z. Bề mặt mắt lưới được định nghĩa bởi toạ độ Z của các điểm ở trên một ô lưới trong mặt phẳng X-Y.
Biểu đồ được hình thành bởi sự liên kết các điểm gần kề với các đường thẳng.