Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK CHƯƠNG I: TÌM HIỂU VỀ LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA PHẦN MỀM MATLAB & SIMULINK5 1.1: Lịch sử hình thành và phát triển của Matlab & Simulink5 1.1.1: Lịch sử hình thành5 1.1.2: Ngôn ngữ lập trình6 1.2: Phạm vi ứng dụng của Matlab6 CHƯƠNG II: GIỚI THIỆU CƠ BẢN VỀ MATLAB9 2.1: Làm việc với Matlab9 2.1.1: Chương trình trên Matlab9 2.1.2: Cơ cấu làm việc của matlab9 2.1.3: Câu lệnh, chỉ thị và biến9 2.1.4: Làm việc trong chế độ hội thoại10 2.1.5: Chương trình trên Matlab10 2.2: Giới thiệu một số lệnh cơ bản trên Matlab10 CHƯƠNG 3: GIỚI THIỆU SƠ LƯỢC VỀ CÁC CHỨC NĂNG CHÍNH CỦA PHẦN MỀM18 3.1: Giới thiệu một số toolbox về tính toán số, phân tích dữ liệu, hiển thị đồ thị…18 3.1.1: Symbolic toolbox18 3.1.2: Control system toolbox – Công cụ khảo sát, thiết kế hệ thống điều khiển21 3.1.3: Optimization toolbox – Công cụ tính toán tìm tối ưu21 3.1.4: Signal processing toolbox – Công cụ xử lý tín hiệu21 3.2: Giới thiệu về lập trình Matlab22 3.2.1: Sơ lược lập trình Matlab22 3.2.2: Lập trình Gui trong Matlab22 3.2.2.1: Mở phần mềm22 3.2.2.2: Các công cụ trong cửa sổ Gui23 3.2.2.3: Kéo tha các điều kiện24 3.2.2.4: Thay đổi các thuộc tính của các điều kiện25 3.2.2.5: Viết lệnh cho chương trình26 3.3: Khái quát về Simulink26 3.3.1: Khởi động Simulink26 3.3.2: Đặc điểm của Simulink26 3.3.3: Các thao tác cơ bản sử dụng trong Simulink26 3.4: Tín hiệu và các loại dữ liệu28 3.4.1: Làm việc với tín hiệu28 3.4.2: Làm việc với các loại số liệu28 3.5: Thư viện của Simulink29 3.5.1: Thư viện Sources29 3.5.2: Thư viện Sinks33 3.5.3: Thư viện Math35 3.5.4: Thư viện Constinous37 3.5.5: Thư viện Tables39 CHƯƠNG 4: MỘT SỐ VÍ DỤ MINH HỌA TÍNH NĂNG CỦA PHẦN MỀM41 Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK Đồ án Tìm hiểu về phần mềm mô phỏng MATLAB & SIMULINK
Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng NHẬN XÉT CỦA GIÁO VIÊN ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………… …………………………………………………………………………………………………… Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng LỜI MỞ ĐẦU Thời đại công nghệ thông tin phát triển mạnh mẽ, với hàng loạt phần mềm hỗ trợ kèm theo, MATLAB & SIMULINK phần mềm mà ứng dụng điều khiển tự động không nhỏ MATLAB & SIMULINK ngôn ngữ đa Nó tạo môi trường để SIMULINK thực liên kết SIMULINK với bên Trong lòng MATLAB tích hợp sẵn nhiều công cụ chuyên dùng để giải toán khác như: Nhận dạng đối tượng động học, điều khiển tối ưu, điều khiển bền vững, điều khiển mờ, xử lý tín số…Mô hệ thống điều khiển tự động MATLAB cho phép ta sử dụng mô hình toán học khác hệ thống đối tượng cần khảo sát như: Dùng hàm truyền đạt, dùng hàm trạng thái, dùng mô hình sơ đồ cấu trúc SIMULINK MATLAB cho phép ta khảo sát hệ thống điều khiển tự động miền tần số miền thời gian MATLAB cho phép liên kết tối đa môi trường để tổ chức mô với mô hình bán tự nhiên, mô thời gian thực mô hệ thống lớn Đối với kỹ thuật viên tự động hóa cần phải có khả phân tích thiết kế hệ thống Do đó, việc tìm hiểu nắm vững kiến thức công cụ phần mềm mô MATLAB & SIMULINK cần thiết Sau thời gian thực đề tài, chúng em gặp nhiều khó khăn với giúp đỡ cô Th.S Lê Quốc Dũng thầy cô khoa CNTD cố gắng nỗ lực thân, đề tài “Tìm hiểu phần mềm mô MATLAB & SIMULINK” hoàn thành tiến độ Dù cố gắng nỗ lực để thực đề tài này, kiến thức thời gian có hạn nên không tránh khỏi thiếu sót hạn chế, chúng em mong nhận ý kiến đóng góp quý thầy cô bạn Sinh viên thực Nguyễn Minh Tiến Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng MỤC LỤC Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng CHƯƠNG I: TÌM HIỂU VỀ LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA PHẦN MỀM MATLAB & SIMULINK 1.1: Lịch sử hình thành phát triển Matlab & Simulink Matlab môi trường tính toán số lập trình, thiết kế công ty MathWorks Matlab cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực thuật toán, tạo giao diện người dùng liên kết với chương trình máy tính viết ngôn ngữ lập trình khác Với thư viện Toolbox, matlab cho phép mô tính toán, thực nghiệm nhiều mô hình thực tế kỹ thuật 1.1.1: Lịch sử hình thành Matlab viết tắt từ "MATrix LABoratory", Cleve Moler phát minh vào cuối thập niên 1970, sau chủ nhiệm khoa máy tính Đại học New Mexico MATLAB, nguyên sơ viết ngôn ngữ Fortran, 1980 phận dùng nội Đại học Stanford Năm 1983, Jack Little, người học MIT Stanford, viết lại MATLAB ngôn ngữ C xây dựng thêm thư viện phục vụ cho thiết kế hệ thống điều khiển, hệ thống hộp công cụ (tool box), mô Jack xây dựng MATLAB trở thành mô hình ngôn ngữ lập trình sở ma trận (matrix-based programming language) Steve Bangert người viết trình thông dịch cho MATLAB Công việc kéo dài gần 1½ năm Sau này, Jack Little kết hợp với Moler Steve Bangert định đưa MATLAB thành dự án thương mại - công ty The MathWorks đời thời gian - năm 1984 Phiên MATLAB 1.0 dời năm 1984 viết C cho MS-DOS PC phát hành IEEE Conference on Design and Control (Hội nghị IEEE thiết kế điều khiển) Las Vegas, Nevada Ban đầu Matlab phát triển để hỗ trợ sinh viên sử dụng hai thư viện LINPACK EISPACK dùng cho đại số tuyến tính (viết Fortran) mà không cần biết lập trình Fortran Năm 1986, MATLAB đời hỗ trợ UNIX Năm 1987, MATLAB phát hành Năm 1990 Simulink 1.0 phát hành gói chung với MATLAB Năm 1992 MATLAB thêm vào hỗ trợ 2-D 3-D đồ họa màu ma trận truy tìm Năm cho phát hành phiên MATLAB Student Edition (MATLAB ấn cho học sinh) Năm 1993 MATLAB cho MS Windows đời Đồng thời công ty có trang web www.mathworks.com Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng Năm 1995 MATLAB cho Linux đời Trình dịch MATLAB có khả chuyển dịch từ ngôn ngữ MATLAB sang ngôn ngữ C phát hành dịp Năm 1996 MATLAB bao gồm thêm kiểu liệu, hình ảnh hóa, truy sửa lỗi (debugger), tạo dựng GUI Năm 2000 MATLAB cho đổi môi trường làm việc MATLAB, thay LINPACK EISPACK LAPACK BLAS Năm 2002 MATLAB 6.5 phát hành cải thiện tốc độ tính toán, sử dụng phương pháp dịch JIT (Just in Time) tái hỗ trợ MAC Năm 2004 MATLAB phát hành, có khả xác đơn kiểu nguyên, hỗ trợ hàm lồng nhau, công cụ vẽ điểm, có môi trường phân tích số liệu tương tác Đến tháng 12, 2008, phiên 7.7 phát hành với SP3 cải thiện Simulink với 75 sản phẩm khác Năm 2009 cho đời phiên 7.8 (R2009a) 7.9 (R2009b) Năm 2010 phiên 7.10 (R2010a) phát hành Matlab dùng rộng rãi giáo dục, phổ biến giải toán số trị (cả đại số tuyến tính lẫn giải tích) nhiều lĩnh vực kĩ thuật 1.1.2: Ngôn ngữ lập trình Ngôn ngữ lập trình dùng hệ tính toán số có tên gọi Matlab Nó thuộc kiểu lập trình thủ tục (với số đặc điểm lập trình hướng đối tượng bổ sung phiên gần đây) 1.2: Phạm vi ứng dụng Matlab Matlab phần mềm ứng dụng chạy môi trường Windows, tích hợp công cụ mạnh phục vụ tính toán, lập trình, thiết kế, mô môi trường dễ sử dụng, đócác toán lời giải biểu diễn theo kí hiệu toán học quen thuộc Có thể nói Matlab ngôn ngữ kỹ thuật, nhà khoa học, cán kỹ thuật, giảng viên sinh viên trường đại học kỹ thuật ứng dụng Các ứng dụng điển hình là: - Toán học tính toán - Phát triển thuật toán - Tạo mô hình mô tạo giao thức - Khảo sát phân tích số liệu - Đồ họa khoa học kỹ thuật - Phát triển ứng dụng gồm xây dựng giao diện người dùng - Thiết kế hệ thống điều khiển thời gian thực Matlab cung cấp họ phương pháp theo hướng chuyên dụng hóa gọi toolbox (hộp công cụ) Các toolbox cho phép người dùng sử dụng học áp dụng Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng kỹ thuật chuyên dụng cho lĩnh vực Toolbox tập hợp toàn diện hàm Matlab (M-file) cho phép mở rộng môi trường Matlab để giải lớp toán cụ thể Các lĩnh vực có sẵn toolbox bao gồm: Xử lý tín hiệu, hệ thống điều khiển, logic mờ, mạng nơron, mô Hệ thống Matlab gồm phần chính: - Ngôn ngữ Matlab: Là ngôn ngữ ma trận, mảng cấp cao với câu lệnh, hàm, cấu trúc liệu vào ra, tính lập trình hướng đối tượng Nó cho phép lập trình ứng dụng từ nhỏ đến ứng dụng lớn, từ ứng dụng đơn giản đến ứng dụng phức tạp - Môi trường làm việc Matlab: Đây công cụ phương tiện mà bạn sử dụng với tư cách người dùng người lập trình Matlab Nó bao gồm phương tiện cho việc quản lý biến không gian làm việc wordspace xuất nhập liệu Nó bao gồm công cụ để phát triển, quản lý, gỡ rối, định hình M-file, ứng dụng Matlab - Xử lý đồ họa: Đây hệ thống đồ họa Matlab Nó bao gồm lệnh cao cấp cho trực quan hóa liệu hai chiều ba chiều, xử lý ảnh, ảnh động cung cấp lệnh cấp thấp cho phép bạn tùy biến giao diện đồ họa xây dựng giao diện đồ họa hoàn chỉnh cho ứng dụng Matlab - Thư viện toán học Matlab: Đây tập hợp khổng lồ thuật toán tính toán từ hàm cộng, trừ, nhân, chia, sin, cos, số phức tới hàm phức tạp như: Nghịch đảo, ma trận, tìm trị riêng ma trận, phép biến đổi Fourier nhanh - Giao diện chương trình ứng dụng Matlab API (Application Program Interface): Đây thư viện cho phép bạn viết chương trình C Fortran tương thích với Matlab Simulink chương trình kèm Matlab, hệ thống tương tác với việc mô hệ thống động học phi tuyến Nó trình đồ họa sử dụng chuột để thao tác cho phép mô hình hóa hệ thống cách vẽ sơ đồ khối hình Nó làm việc với hệ thống tuyến tính, phi tuyến, hệ thống liên tục theo thời gian, hệ thống gián đoạn theo thời gian, hệ thống đa biến Đối với hệ thống phức tạp, phi tuyến, ngẫu nhiên, tham số biến đổi theo thời gian, phương pháp giải tích truyền thống cho ta lời giải xác Lúc phương pháp mô hình hóa mô pháp huy mạnh nhiều trường hợp giải pháp để nghiên cứu hệ thống phức tạp Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng CHƯƠNG II: GIỚI THIỆU CƠ BẢN VỀ MATLAB 2.1: Làm việc với Matlab 2.1.1: Chương trình Matlab Matlab làm việc siêu máy tính cầm tay cần matlab thực số lệnh cách đánh trực tiếp cửa số lệnh Chương trình Matlab là: Kịch (Scripts) hàm (Funcitions) - Scripts: Dãy lệnh ghi file đưa vào cửa sổ lệnh thực tức - Funcitions: Các môđun chương trình tiếp nhận liệu vào trả lại kết (VD: hàm sin nhận đầu vào x trả lại giá trị sin(x)) Chương trình soạn thảo soạn thảo văn (tuy nhiên Matlab cung cấp soạn thảo chương trình riêng mình) 2.1.2: Cơ cấu làm việc matlab Matlab ngôn ngữ thông dịch (Interpreted language): - Các câu lệnh đánh trực tiếp cửa sổ lệnh thực tức - Các biến phân bố nhớ lần chúng khởi tạo - Muốn thực lại lệnh cần gõ lại lệnh Tất biến sử dụng cửa sổ lệnh cất vào vùng nhớ làm việc Base Wordspace: - Có thể gán giá trị cho biến cần thiết - Có thể chọn để xóa bỏ số biến khỏi vùng nhớ làm việc - Vùng nhớ làm việc cất file liệu - Phần mở rộng file liệu mat (VD: mydata.mat) - File mở rộng nhị phân - Các file liệu đuôi mat nạp trở lại vào vùng nhớ làm việc 2.1.3: Câu lệnh, thị biến Tại dấu nhắc cửa sổ lệnh, người sử dụng gỡ: - Lệnh (Command): + Save mydata (cất giữ vùng nhớ làm việc vào mydata.mat) + Whos (hiển thị danh mục biến vùng nhớ làm việc) - Chỉ thị gán (Assignment Statemend): + A = 285 + B = 108 + Câu lênh gán có tên biến vế trái toán tử gán (=) vế phải tính dựa vào giá trị thời biến kết tính gán cho biến vế trái + Giá trị dạng số dạng ký tự + Kiểu biến cập nhật gán giá trị Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng 2.1.4: Làm việc chế độ hội thoại Khi sử dụng chế độ hội thoại, người sử dụng đánh trực tiếp câu lệnh vào sau dấu nhắc Matlab Khi ấn nút Enter, dòng lệnh thực VD: >>x=1; >>4*atan(x) Sau ấn Enter, kết đưa hình dạng ans=4.1416 Dấu “;” cuối dòng lệnh ngăn Matlab không đưa kết phép thao tác 2.1.5: Chương trình Matlab Một cách làm việc khác với Matlab ta viết chương trình thực tính toán Để làm việc ta cần phải soạn thảo file văn soạn thảo văn nào, có soạn thảo Matlab File văn chứa câu lệnh đặt tên với đuôi *m, không Matlab không chấp nhận chương trình Chương trình soạn thảo cất giấu thư mục làm việc thời Matlab 2.2: Giới thiệu số lệnh Matlab 2.2.1: Lệnh ANS a) Công dụng: Là biến chứa kết mặc định b) Giải thích: Khi thực lệnh mà chưa có biến chứa kết Matlab lấy biến Ans làm biến chứa kết 2.2.2: Lệnh CLOCK a) Công dụng: Thông báo ngày b) Cú pháp: c = clock c) Giải thích: Để thông báo dễ đọc ta dùng hàm fix Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng 2.2.3: Lệnh COMPUTER a) Công dụng: Cho biết hệ điều hành máy vi tính sử dụng Matlab b) Cú pháp: computer [c,m] = computer c) Giải thích: c: Chứa thông báo hệ điều hành máy m: Số phần tử ma trận lớn mà máy làm việc với Matlab 2.2.4: Lệnh DATA a) Công dụng: Thông báo ngày tháng năm b) Cú pháp: s = data 2.2.5: Lệnh CD a) Công dụng: Chuyển đổi thư mục làm việc b) Cú pháp: cd cd diretory cd c) Giải thích: cd: Cho biết thư mục 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 bậc 2.2.6: Lệnh CLC a) Công dụng: Xóa cửa sổ lệnh b) Cú pháp: clc 2.2.7: Lệnh CLEAR a) Công dụng: Xóa đề mục nhớ b) Cú pháp: 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 biến khỏi vùng làm việc clear name: Xóa tất biến hay hàm name clear functions: Xóa tất hàm khỏi nhớ phụ clear variables: Xóa tất biến khỏi nhớ clear mex: Xóa tất tập tin mex khỏi nhớ clear global: Xóa tất biến chung Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng clear all: Xóa tất biến, hàm tập tin mex khỏi nhớ Lệnh làm cho nhớ trống hoàn toàn 2.2.8: Lệnh DELETE a) Công dụng: Xóa tập tin đối tượng đồ họa b) Cú pháp: Delete filename Delete (n) c) Giải thích: Filename: 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 cửa sổ đóng lại bị xóa 2.2.9: Lệnh DEMO a) Công dụng: Chạy chương trình mặc định Matlab b) Cú pháp: demo c) Giải thích: Demo chương trình có sẵn Matlab, chương trình minh họa số chức Matlab 2.2.10: Lệnh DIARY a) Công dụng: Lưu vùng thành file đĩa b) Cú pháp: diary filename c) Giải thích: filename tên tập tin 10 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng CHƯƠNG 4: MỘT SỐ VÍ DỤ MINH HỌA TÍNH NĂNG CỦA PHẦN MỀM 4.1: Thiết kế điều khiển máy điều hòa không khí Bước 1: Chọn biến vào - giá trị giới hạn - Đầu vào có hai biến nhiệt độ phòng Tt nhiệt độ trời Tn - Đầu có biến tốc độ quạt với Bước 2: Chọn hàm liên thuộc giá trị biến ngôn ngữ Chọn hàm liên thuộc dạng hình tam giác với tập giá trị sau: - Với biến đầu vào theo kinh nghiệm ta có chọn sau: Đối với nhiệt độ phòng trời lạnh, vừa, nóng nóng - Với biến tốc độ đầu ra, ta chọn v/phút tốc độ 0, 100 v/phút chậm, 200 v/phút trung bình, 300 v/phút nhanh 400 v/phút nhanh Quá trình lựa chọn thể hình đây: Hình 4.1: Bộ điều khiển mờ đầu vào, đầu 40 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng + Biến ngôn ngữ đầu vào NhietDoTt có miền giá trị khoảng [0 50] có hàm liên thuộc rời rạc hóa sau: Hình 4.2: Biến ngôn ngữ đầu vào Tt + Biến ngôn ngữ đầu vào NhietDoTn có miền giá trị khoảng [0 50] có hàm liên thuộc rời rạc hóa sau: Hình 4.3: Biến ngôn ngữ đầu vào Tn 41 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng + Biến ngôn ngữ đầu TocDoV có miền giá trị khoảng [-100 500] có hàm liên thuộc rời rạc hóa sau: Hình 4.4: Biến ngôn ngữ đầu vào V Bước 3: Luật điều khiển Tất nhiên ta lựa chọn nhiều luật điều khiển hiệu chỉnh cho phù hợp với thực tế, song trước ta chọn luật điều khiển sau: Bảng 4.1: Luật điều khiển Tốc độ quạt V Nhiệt độ Lạnh Vừa Nóng Rất nóng Nhiệt độ Lạnh Không Không - Vừa Chậm Trung bình Trung bình - 42 Nóng Nhanh Nhanh Nhanh Rất nóng Rất nhanh Rất nhanh Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng Bước 4: Quy tắc hợp thành giải mờ Chọn luật hợp thành Max - Min giải mờ theo phương pháp trọng tâm Từ kết ta dễ dàng tìm ra, ứng với tốc độ quay 270 v/phút 4.2: Thiết kế điều khiển nhiệt độ cho lò điện trở dùng PID Bộ điều khiển PID có hàm truyền: Đối tượng điều khiển khâu quán tính bậc có trễ với hàm truyền: 43 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng Hệ thống có sơ đồ khối hình vẽ: Giả sử cho L/T = 0.9, T = 95 L = 85.5 ta có tham số: , , Dùng Matlab để phân tích hệ thống: >> L= 85.5;T=95; >> Kp=1.2*T/L; >> Ti=2*L; >> Td=0.5*L; >> [ts,ms]=pade(L,3) ts = -1.0000 0.1404 -0.0082 0.0002 ms = 1.0000 0.1404 0.0082 0.0002 >> Wdt=tf(ts,ms)*tf(1,[T 1]) Transfer function: -s^3 + 0.1404 s^2 - 0.008208 s + 0.000192 95 s^4 + 14.33 s^3 + 0.9201 s^2 + 0.02645 s + 0.000192 >> Wpid=tf([Kp*Ti*Td Kp*Ti Kp],[Ti 0]) Transfer function: 9747 s^2 + 228 s + 1.333 171 s >> Wkin=feedback(Wpid*Wdt,1) Transfer function: -9747 s^5 + 1140 s^4 - 49.33 s^3 + 0.1871 s^2 + 0.03283 s + 0.000256 6498 s^5 + 3591 s^4 + 108 s^3 + 4.71 s^2 + 0.06566 s + 0.000256 >> step(Wkin) >> nyquist(Wkin) >> pzmap(Wkin) 44 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng >> [p,z]=pzmap(Wkin) p= -0.5235 -0.0060 + 0.0322i -0.0060 - 0.0322i -0.0102 -0.0069 z= 0.0430 + 0.0410i 0.0430 - 0.0410i 0.0543 -0.0117 -0.0117 Step Response 1.5 Amplitude 0.5 -0.5 -1 -1.5 100 200 300 400 500 600 Time (sec) Hình 4.5: Đặc tính độ 45 700 800 900 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng Nyquist Diagram 1.5 Imaginary Axis 0.5 -0.5 -1 -1.5 -2 -1.5 -1 -0.5 0.5 1.5 -0.1 0.1 Real Axis Hình 4.6: Đặc tính tần số Pole-Zero Map 0.05 0.04 0.03 Imaginary Axis 0.02 0.01 -0.01 -0.02 -0.03 -0.04 -0.05 -0.6 -0.5 -0.4 -0.3 -0.2 Real Axis Hình 4.7: Đồ thị điểm không – điểm cực Nhận xét: - Các điểm cực nằm bên trái trục ảo nên hệ thống ổn định, nhiên có điểm cực phức liên hợp nằm sát trục ảo nên độ dự trữ ổn định nhỏ 46 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng - Độ điều chỉnh: - Thời gian tăng tốc: 108s - Thời gian độ: 477s Hiệu chỉnh để có hiệu tốt hơn: : , , Chương trình Matlab: >> Kp=0.7; >> Ti=110; >> Td=10; >> Wpid=tf([Kp*Ti Kp*Ti Kp],[Ti 0]) Transfer function: 77 s^2 + 77 s + 0.7 110 s >> Wkin=feedback(Wpid*wdt,1) Transfer function: -77 s^5 - 66.19 s^4 + 9.475 s^3 - 0.519 s^2 + 0.009038 s + 0.0001344 -10373 s^5 + 1510 s^4 + 110.7 s^3 + 2.39 s^2+ 0.03016 s + 0.0001344 >> step(Wkin) Step Response 1.2 Amplitude 0.8 0.6 0.4 0.2 -0.2 100 200 300 400 500 600 700 800 Time (sec) Nhận xét: - Độ điều chỉnh: Hình 4.8: Đặc tính độ sau hiệu chỉnh 47 900 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng - Thời gian tăng tốc: 224s - Thời gian độ: 284s Như vậy, hệ số sau hiệu chỉnh cho đặc tính độ tốt hơn, thời gian độ ngắn, độ điều chỉnh nhỏ Để có hệ số tốt cho điều khiển, ta sử dụng thư viện Simulink 4.3: Hệ thống ổn định nhiệt độ lưu tốc bồn nước Mux flow scope luu toc dat truoc Mux5 van nuoc nong f(u) flow error ham luu toc Mux f(u) Mux2 ham nhiet van nuoc lanh temp error Scope Scope1 Mux temp scope Demux Mux4 nhiet dat truoc Mux Demux Mux3 Fuzzy Logic Controller Hình 4.9: Sơ đồ hệ thống điều khiển a) Thiết kế van nước lạnh: - Van nước gồm biến vào tốc độ đóng/mở van, hai biến nhiệt độ tốc độ dòng nước Nhiệt độ dòng nước lạnh - Hàm f(u) khâu bão hòa xác định theo công thức: Với tín hiệu sau khâu tích phân tốc độ cực đại van - Khi đầu ngược lại đầu 1/s in_1 valve setting (cold) max flow constant 10 temp (cold) out_2 48 Mux f(u) Mux flow rate (cold) out_1 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng Hình : Van nước lạnh b) Thiết kế van nước nóng: Tương tự với van nước lạnh Nhiệt độ dòng nước nóng 1/s in_1 valve setting (hot) Mux f(u) Mux flow rate (hot) out_1 max flow constant 30 temp (hot) out_2 Hình 4.10: Van nước nóng c) Thiết kế khâu lưu tốc đặt trước: Gồm tốc độ đặt trước máy phát tín hiệu .7 flow setpoint flow out_1 flow variation Hình 4.11: Khâu lưu tốc đặt trước d) Thiết kế hàm đối tượng: - Hàm lưu tốc: , với tốc độ dòng nước nóng tốc độ dòng nước lạnh - Hàm nhiệt độ Với tốc độ dòng nước nóng nhiệt độ dòng nước nóng tốc độ dòng nước lạnh nhiệt độ dòng nước lạnh e) Thiết kế khâu Fuzzy: - Định nghĩa biến vào ra: Gọi nhiệt độ cần ổn định Giả sử nhiệt độ môi trường cần điều kiện thay đổi khoảng (- k, +k) Sai lệch nhiệt độ cần điều khiển với tiến hiệu chủ đạo kí hiệu et et Chọn k = 20 et 49 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng Gọi lưu tốc dòng nước cần giữ ổn định Tương tự nhiệt độ lưu tốc thay đổi khoảng ( – V, + V) (kg/s) Sai lệch lưu tốc cần điều khiển với tín hiệu chủ đạo kí hiệu ev ev Chọn V = ev Đại lượng đầu vào điều khiển mờ tín hiệu sai lệch vận tốc ev tín hiệu sai lệch nhiệt độ et Để hệ thống ổn định đạt độ xác cao ta thêm vào khâu tích phân phía sau khâu mờ Nên tín hiệu ngõ điều khiển mờ tốc độ biến đổi công suất tốc độ đóng mở van nước nóng đóng mở van nước lạnh Giả sử Chọn p = - Chọn số lượng tập mờ: Ta chọn giá trị cho biến đầu vào: Đối với et: Cold, Good, Hot Đối với ev: Soft, Good, Hard Chọn giá trị cho biến đầu ra: CloseFast, CloseSlow, Steady, OpenSlow, OpenFast h) Xác định hàm liên thuộc: Hình 4.12: Nhiệt độ bồn nước Hình 4.13: Lưu tốc dòng nước 50 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng Hình 4.14: Van nước lạnh Hình 4.15: Van nước nóng 51 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng g) Xây dựng luật điều khiển: Hình 4.16: Luật hợp thành mờ 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 10 20 30 40 50 60 70 Hình 4.17: Đáp ứng lưu tốc 52 80 90 100 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng 30 28 26 24 22 20 18 10 20 30 40 50 60 70 80 90 100 80 90 100 Hình 4.19: Đáp ứng nhiệt độ -2 -4 -6 -8 10 20 30 40 50 60 70 Hình 4.20: Lưu tốc nhiệt độ trước qua điều khiển mờ 53 Đồ án Mô hình hóa mô GVHD: Ths Lê Quốc Dũng 0.6 0.5 0.4 0.3 0.2 0.1 -0.1 -0.2 -0.3 -0.4 10 20 30 40 50 60 70 80 90 100 Hình 4.21: Lưu tốc nhiệt độ sau qua điều khiển mờ 54 [...]... thước, số phần tử và xét các phần tử ảo có khác 0 không whos global và who global: Liệt kệ các biến trong vùng làm việc chung 15 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng CHƯƠNG 3: GIỚI THIỆU SƠ LƯỢC VỀ CÁC CHỨC NĂNG CHÍNH CỦA PHẦN MỀM Phần mềm bao gồm 3 bộ công cụ quan trọng nhất đó là: - Tính toán số, lập trình, phân tích dữ liệu, hiển thị đồ thị… - Mô phỏng bằng khối, thiết kế mô hình,... như của tham số thuộc các khối chức năng trong Simulink là đặc biêtk có ý nghĩa, nếu ta dự định tạo ra từ mô hình Simulink mã chạy cho các ứng dụng thời gian thực Nhu cầu về bộ nhớ và các tốc độ tính toán phụ thuộc vào loại số liệu được ta chọn 26 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng Hình 3.7: Cửa sổ làm việc của Simulink 3.5: Thư viện của Simulink 3.5.1: Thư viện Sources Trong thư viện... Simulink Vào Matlab có 2 cách vào cửa sổ Simulink: Cách 1: Vào trực tiếp Simulink bằng cách nhấp chuột vào biểu tượng trong menu của Matlab Cách 2: Gõ lệnh Simulink sau đó ấn enter 3.3.2: Đặc điểm của Simulink Simulink phân biệt (không phụ thuộc vào thư viện con) hai loại khối chức năng: khối ảo (virtual) và khối thực (notvirtual) Các khối thực đóng vai trò quyết định khi chạy mô phỏng mô hình Simulink. .. (sawtooth) + Sóng ngẫu nhiên (random) 28 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng Với Pluse Generator tạo chuỗi xung hình chữ nhật Biên độ và tần số có thể khai báo tùy ý Đối với Pluse Generator ta còn có khả năng chọn tỉ lệ cho độ rộng xung (tính bằng phần trăm cho cả chu kỳ) Hình 3.11: Khối Pulse Genertor và cửa sổ cài đặt thông số 29 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng Repeating... sử dụng để tạo tín hiệu hình sin cho cả 2 loại mô hình liên tục (tham số Sample Time = 0) và gián đoạn (tham số Sample Time = 1) Hình 3.13: Khối Sine Wave 30 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng - From Workspace: Có nhiệm vụ lấy số liệu từ cửa sổ Matlab Workspace để cung cấp cho mô hình Simulink Các số liệu lấy có phải dạng của biểu thức Matlab khai báo tại dòng data Hình 3.14: Khối... trong quá trình mô phỏng Hình 3.16: Khối Scope và cửa sổ hiển thị - XY Graph: Khối này biểu diễn 2 tín hiệu đầu vào trên hệ tọa độ XY dưới dạng đồ họa Matlab, đầu vào thứ nhất (bên trái) ứng với trục X, đầu vào thứ 2 ứng với trục Y Hình 3.17: Khối XY Graph 32 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng - To Workspace: Khối này gửi số liệu ở đầu vào của khối tới môi trường Matlab Workspace... thể lấy số liệu từ 1 Mat-file có sẵn Mat-file có thể là kết quả của một lần mô phỏng trước đó, đã được tạo nên và cất đi nhờ khối To file trong sơ đồ Simulink Hình 3.10: Khối From File và cửa sổ cài đặt thông số 31 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng 3.5.2: Thư viện Sinks Thư viện này bao gồm các khối xuất của Simulink Ngoài khả năng hiển thị đơn giản bằng số, còn có các khối dao động... hóa và mô phỏng GVHD: Ths Lê Quốc Dũng 3.1.3: Optimization toolbox – Công cụ tính toán tìm tối ưu Mục đích của Optimization toolbox không phải là phân tích hay tổng hợp (thiết kế) các thuật toán tìm tối ưu, mục đích của bộ công cụ này là làm sao sử dụng một cách tiện lợi các thuật toán đã biết Khi đi tìm cực trị ta sẽ không phân biệt giữa cực tiểu và cực đại nữa mà chỉ tập chung vào bài toán tìm cực... thiệu, mỗi tín hiệu thuộc sơ đồ cấu trúc Simulink đều được gán một loại tín hiệu nhất định và nó quyết định đến dung lượng bộ nhớ dành cho tín hiệu Simulink cũng hỗ trợ tất cả các loại số liệu của Matlab: - Doubel: Chính xác cao, dấu phẩy động - Signal: Chính xác vừa, dấu phẩy động - Boolean: 0 hoặc 1, logic Loại số mặc định sẵn của Simulink là doubel Trong quá trình mô phỏng Simulink sẽ kiểm tra xem việc... khi sử dụng Matlab máy tính xuất hiện thông báo ‘Out of memory’ thì lệnh pack có thể tìm thấy một số vùng nhớ còn trống mà không cần phải xóa bớt các biến 12 Đồ án Mô hình hóa và mô phỏng GVHD: Ths Lê Quốc Dũng Lệnh pack giải phóng không gian bộ nhớ cần thiết, bằng cách nén thông tin trong vùng nhớ xuống cực tiểu Vì Matlab quản lý bộ nhớ bằng phương pháp xếp chồng nên các đoạn chương trình Matlab có