Mục lục 1 Giới thiệu về MATLAB và SIMULINK 5 1 1 Hiểu về môi trường làm việc của MATLAB 5 1 1 1 Cú pháp cơ bản 6 1 1 2 Biến (variable) 8 1 1 3 Vector 9 1 1 4 Vẽ đồ thị (plotting) 11 1 1 5 Đa thức (pol.
Mục lục Giới thiệu MATLAB SIMULINK 1.1 Hiểu môi trường làm việc MATLAB 1.1.1 Cú pháp 1.1.2 Biến (variable) 1.1.3 Vector 1.1.4 Vẽ đồ thị (plotting) 11 1.1.5 Đa thức (polynomial) 11 1.1.6 Sử dụng m-file 1.1.7 Khai báo hàm truyền MATLAB 16 1.1.8 Biến đổi Laplace với MATLAB 17 1.1.9 Biến đổi Laplace ngược 18 13 1.1.10 Khai triển phân thức với MATLAB 18 1.1.11 Tìm zero cực đa thức với MATLAB 20 1.2 Giới thiệu SIMULINK 20 1.2.1 Khởi động Simulink 21 1.2.2 Một ví dụ 23 MỤC LỤC GIỚI THIỆU: MƠ HÌNH HĨA HỆ THỐNG 27 2.1 Các hệ động học (Dynamic systems) 27 2.2 Hàm truyền 29 2.3 Một số ví dụ mơ hình hóa 30 2.3.1 Hệ học 30 2.3.2 Hệ thống điện (electrical systems): 33 PHÂN TÍCH HỆ THỐNG (SYSTEM ANALYSIS) 39 3.1 Tổng quát đáp ứng thời gian (Time response overview) 39 3.2 Tổng quát đáp ứng tần số (Frequency response overview) 40 3.3 Sự ổn định 40 3.4 Bậc hệ (System Order) 42 3.5 3.4.1 Các hệ bậc (First-order systems) 42 3.4.2 Các hệ bậc hai (Second-order systems) 45 Tìm hiểu dạng đáp ứng với MATLAB 49 THIẾT KẾ BỘ ĐIỀU KHIỂN PID (PID CONTROLLER DESIGN) 55 4.1 Tổng quát PID 55 4.2 Những tính chất hạng tử (term) P, I, D 57 4.3 Bài tốn ví dụ (example problem) 58 4.3.1 Đáp ứng step vòng hở (Open-loop step response) 59 4.3.2 Điều khiển vòng kín với điều khiển tỉ lệ (Proportional control) 60 4.3.3 Điều khiển vịng kín với điều khiển Vi phân -Tỉ lệ (ProportionalDerivative control) 61 MỤC LỤC 4.3.4 Điều khiển vịng kín với điều khiển Tích phân-Tỉ lệ (ProportionalIntegral control) 61 4.3.5 Điều khiển vịng kín với điều khiển Tỉ lệ-Tích phân-Vi phân (ProportionalIntegral-Derivative control) 4.3.6 62 Hướng dẫn chung để thiết kế điều khiển PID 62 THIẾT KẾ BỘ ĐIỀU KHIỂN DÙNG QUỸ ĐẠO NGHIỆM SỐ (ROOT LOCUS CONTROLLER DESIGN) 65 5.1 Các cực vịng kín (closed-loop poles) 66 5.2 Biểu diễn quỹ đạo nghiệm số hàm truyền (Plotting the root locus of a tranfer function) 67 5.2.1 Chọn giá trị K từ quỹ đạo nghiệm số (Choosing a value of K from the Root Locus) 67 5.3 Đáp ứng vịng kín (Closed-loop response) 70 5.4 Sử dụng Bộ thiết kế hệ điều khiển cho thiết kế quỹ đạo nghiệm số (Using Control System Designer for Root Locus Design) 70 HOẠT ĐỘNG DỰA TRÊN PHẦN CỨNG: MẠCH RC 75 6.1 Sử dụng gói hỗ trợ Arduino Hardware Support Package 75 6.2 Gói Simulink ArduinoIO 77 6.3 Bắt đầu 77 6.4 Một ví dụ đơn giản 79 6.5 Hoạt động Phần (a): XÁC ĐỊNH ĐÁP ỨNG BƯỚC CỦA MỘT MẠCH TỤ ĐIỆN-ĐIỆN TRỞ (RC CIRCUIT) 83 6.5.1 Mục đích 84 MỤC LỤC 6.5.2 Mơ hình hóa từ ngun lý thứ nhất/đầu tiên (modelling from first principles) 85 6.5.3 6.6 Thí nghiệm nhận dạng hệ thống 86 Phần b: NHẬN DẠNG ĐÁP ỨNG TẦN SỐ CỦA MỘT MẠCH ĐIỆN TRỞ-TỤ ĐIỆN (RC) 94 6.7 ĐIỀU KHIỂN ĐIỆN ÁP CHO MỘT MẠCH ĐIỆN TRỞ-TỤ ĐIỆN (RC) 104 Chương Giới thiệu MATLAB SIMULINK MATLAB (matrix laboratory) ngơn ngữ lập trình cấp cao hệ thứ tư môi trường tương tác để tính tốn, hiển thị lập trình MATLAB phát triển MathWorks Nó cho phép kiểm soát ma trận; biểu diễn hàm số số liệu; thực thi thuật toán; tạo giao diện người dùng; tương tác với chương trình viết ngôn ngữ khác C, C++, Java, FORTRAN; phân tích số liệu; phát triển thuật tốn; tạo mơ hình ứng dụng MATLAB có nhiều lệnh hàm toán học xây dựng sẵn mà giúp ta việc tính tốn, tạo đồ thị, thực phương pháp tính số 1.1 Hiểu môi trường làm việc MATLAB Môi trường làm việc MATLAB khởi tạo từ biểu tượng hình desktop Cửa sổ làm việc MATLAB gọi desktop Khi MATLAB bắt đầu, desktop xuất bố cục mặc định Current Folder: Ô cho phép xem thư mục tập tin dự án Command Window: Đây khu vực mà lệnh nhập vào dịng lệnh Nó thị dấu nhắc lệnh (») Workspace: hiển thị tất biến tạo và/hoặc nhập vào từ tập tin CHƯƠNG GIỚI THIỆU VỀ MATLAB VÀ SIMULINK Command History: Ô hiển thị trả lệnh mà nhập dòng lệnh 1.1.1 Cú pháp Môi trường MATLAB hành xử giống máy tính siêu phức tạp Ta nhập vào lệnh dấu nhắc lệnh » MATLAB mơi trường biên dịch Nói cách khác, ta đưa lệnh MATLAB thực thi 5+5 ans = 10 Sử dụng dấu chấm phẩy (;) MATLAB Dấu chấm phẩy (;) thị kết thúc câu lệnh Tuy nhiên, ta không muốn hiển thị kết biểu thức MATLAB, ta phải thêm vào dấu (;) sau biểu thức x = 3; 1.1 HIỂU VỀ MÔI TRƯỜNG LÀM VIỆC CỦA MATLAB y = x + y = Khi ta bấm Enter, MATLAB thực thi kết trả y = Thêm vào bình luận (comment) Biểu tượng phần trăm (%) sử dụng để thị dịng bình luận x = % assign for x Hằng số biến đặc biệt MATLAB hỗ trợ biến số đặc biệt sau: Tên Ý Nghĩa ans Kết gần i,j Đơn vị ảo Inf Vô pi số pi Tên biến Tên biến bao gồm ký tự theo sau số lượng ký tự, số dấu gạch chân MATLAB phân biệt chữ hoa, chữ thường Tên biến có độ dài bất kỳ, nhiên, MATLAB sử dụng N ký tự đầu tiên, N cho hàm namelengthmax x=3; y_1=5; CHƯƠNG GIỚI THIỆU VỀ MATLAB VÀ SIMULINK 1.1.2 Biến (variable) Trong môi trường MATLAB, biến mảng (array) ma trận (matrix) Ta gán biến theo cách đơn giản Ví dụ: x = % định nghĩa biến x gán cho giá trị MATLAB thực thi câu lệnh trả x=3 Nó tạo ma trận 1x1 tên x lưu giá trị phần tử Chú ý rằng: Một biến nhập vào hệ, ta liên hệ sau Các biến phải có giá trị trước sử dụng Khi biểu thức trả kết mà chưa gán cho biến nào, hệ thống gán cho biến tên ans Ví dụ: sqrt(9) ans = Nếu ta quên tên biến Lệnh who liệt kê tất tên biến mà ta sử dụng Ví dụ: who Your variables are: a ans b c Lệnh whos liệt kê chi tiết biến: Các biến thời nhớ; Loại biến; Bộ nhớ phân cho biến; Biến biến phức hay khơng whos 1.1 HIỂU VỀ MƠI TRƯỜNG LÀM VIỆC CỦA MATLAB Attr Name Size Bytes Class ==== ==== ==== ==== ===== a 1x1 ans 1x70 double 757 cell b 1x1 double c 1x1 double Total is 73 elements using 781 bytes Lệnh clear xóa tất biến từ nhớ clear x % xóa biến x clear % xóa tất biến workspace 1.1.3 Vector Một vector mảng chiều MATLAB cho phép tạo hai loại vector: vector hàng vector cột Vector hàng tạo cách bao quanh tập hợp phần tử dấu ngoặc vuông, sử dụng khoảng trắng dấu phẩy để phân định phần tử Ví dụ: Hãy tạo vector a cách nhập vào cửa sổ lệnh MATLAB (MATLAB command window) sau: a = [1 6] Tạo vector với phần tử từ đến 20 cách đơn vị (cách thường xuyên dùng để tạo vector thời gian): t = 0:2:20 Cộng thêm vào phần tử vector a để có vector b : b = a + 10 CHƯƠNG GIỚI THIỆU VỀ MATLAB VÀ SIMULINK Cộng/trừ hai vector chúng có độ dài nhau: c = a + b; d = a – b; Vector cột tạo cách bao quanh tập hợp phần tử dấu ngoặc vuông, sử dụng dấu chấm phẩy (;) để phân định phần tử Ví dụ: c = [7; 8; 9; 10; 11] Bài Tập: Nhập vector hàng a có phần tử: 1, 3, 5, 7, Nhập vector côt b có phần tử: 2, 4, 6, 8, 10 Tìm vector: c=a*b Ma trận Một ma trận mảng hai chiều Trong MATLAB, ma trận tạo cách nhập dòng dãy phần tử cách khoảng trống dấu phẩy, cuối dịng dấu chấm phẩy Ví dụ: B = [1 4; 8; 10 11 12] Ma trận MATLAB biến đổi theo nhiều cách Tìm ma trận chuyển vị B cách: C = B' Nhân phần tử tương ứng ma trận với cách sử dụng toán tử * E = [1 2; 4] F = [2 3; 5] G = E.*F ... (RC) 104 Chương Giới thiệu MATLAB SIMULINK MATLAB (matrix laboratory) ngơn ngữ lập trình cấp cao hệ thứ tư môi trường tương tác để tính tốn, hiển thị lập trình MATLAB phát triển MathWorks Nó... số liệu; thực thi thuật toán; tạo giao diện người dùng; tương tác với chương trình viết ngơn ngữ khác C, C++, Java, FORTRAN; phân tích số liệu; phát triển thuật toán; tạo mơ hình ứng dụng MATLAB. .. MATLAB có nhiều lệnh hàm toán học xây dựng sẵn mà giúp ta việc tính tốn, tạo đồ thị, thực phương pháp tính số 1.1 Hiểu môi trường làm việc MATLAB Môi trường làm việc MATLAB khởi tạo từ biểu tượng