Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 61 Thiết kế van nước nóng: Tương tự như đối với van nước lạnh. Nhiệt độ của dòng nước nóng là 30 o C. Thiết kế khâu lưu tốc đặt trước: Khâu bao gồm tốc độ đặt trước và máy phát tín hiệu thử. Thiết kế khâu nhiệt độ đặt trước: Khâu bao gồm nhiệt độ đặt trước và máy phát tín hiệu thử. . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 62 Thiết kế hàm đối tượng: Hàm lưu tốc: u(1)+u(3) Với u(1) là tốc độ của dòng nước nóng. u(3) là tốc độ của dòng nước lạnh. Hàm nhiệt độ: )3()1( )4().3()2().1( uu uuuu Với u(1) là tốc độ của dòng nước nóng. u(2) là nhiệt độ của dòng nước nóng. u(3) là tốc độ của dòng nước lạnh. u(4) là nhiệt độ của dòng nước lạnh. . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 63 IV. Kết quả mô phỏng: Mô phỏng với nhiệt độ đặt trước là 23 o C. Lưu tốc đặt trước là 0.7m 3 /h. + Đối với tín hiệu thử có sự biến thiên là hàm xung vuông có tần số là f s1 = 0.3rad/s, biên độ là 0.2m 3 /h đối với tốc độ dòng nước ra và f s2 = 0.2rad/s, biên độ là 4 o C đối với nhiệt độ của dòng nước ra. Ta có các đáp ứng sau: Đáp ứng của nhiệt độ Đáp ứng của lưu tốc tín hiệu thử đáp ứng ra đáp ứng ra tín hiệu thử . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 64 + Đối với tín hiệu thử có sự biến thiên là hàm sin có tần số là f s1 = 0.3rad/s, biên độ là 0.2m 3 /h đối với tốc độ dòng nước ra và f s2 = 0.2rad/s, biên độ là 4 o C đối với nhiệt độ của dòng nước ra. Ta có các đáp ứng sau: Đáp ứng của lưu tốc Đáp ứng của nhiệt độ đáp ứng ra tín hiệu thử đáp ứng ra tín hiệu thử . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 65 Chương IV Kết luận đề nghò Trải qua 10 tuần thực hiện đề tài, chúng em đã trình bày được phần lý thuyết cơ bản của logic mờ, cách ứng dụng logic mờ trong điều khiển và đã rút ra được những ưu nhược điểm của kỹ thuật điều khiển mờ so với các kỹ thuật điều khiển cổ điển trước đây. Thêm vào đó, chúng em đã mô phỏng hệ thống điều khiển mờ bằng phần mềm MatLab để từ đó có thể quan sát được đáp ứng hay chất lượng của hệ thống. Hướng phát triển của đề tài: Xây dựng mô hình mẫu để có thể quan sát và kiểm tra lại lý thuyết bằng thực nghiệm. . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 66 PHẦN C PHỤ LỤC . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 67 CẤU TRÚC FILE .FIS (Fuzzy Inference System) Cấu trúc của file .FIS được tạo bởi FIS Editor bao gồm các phần sau: 1. [System] Name = : khai báo tên, được đặt trong dấu nháy. Type = : khai báo loại, được đặt trong dấu nháy. NumInputs = : số lượng ngã vào, là một số nguyên. NumOutputs = : số lượng ngã ra, là một số nguyên. NumRules = : số lượng luật điều khiển, là một số nguyên. AndMethod = : tên phương pháp AND. + các phương pháp được sử dụng là: ‘min’ và ‘prod’. OrMethod = : tên phương pháp OR. + các phương pháp được sử dụng là: ‘max’ và ‘probor’. ImpMethod = : tên phương pháp kéo theo. + các phương pháp được sử dụng là: ‘min’ và ‘prod’. AggMethod = : tên phương pháp tập hợp. + các phương pháp được sử dụng là: ‘max’, ‘sum’ và ‘probor’. DefuzzMethod = : tên phương pháp giải mờ. + các phương pháp được sử dụng là: ‘centroid’, ‘bisector’, ‘mom’, ‘lom’ và ‘som’. 2.[Input1] Name = : tên của ngã vào, được đặt trong dấu nháy. Range = : giới hạn dưới và trên của biến vào được đặt trong ngoặc vuông. NumMFs = : số lượng hàm liên thuộc, là một số nguyên. MF1=: khai báo dữ liệu về hàm liên thuộc, báo đầu bằng tên hàm được đặt trong dấu nháy, theo sau bởi dấu hai chấm và tên loại hàm liên thuộc, kế tiếp là dấu phẩy và các thông số của hàm được đặt trong ngoặc vuông. Cứ như vậy cho đến MFn, với n là số lượng hàm liên thuộc. Có bao nhiêu ngã vào thì lần lượt khai báo các dữ liệu cho các ngã vào [Inputi], với i là số thứ tự của ngã vào. . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 68 3.[Output1] Name = : tên của ngã ra, được đặt trong dấu nháy. Range = : giới hạn dưới và trên của biến ra được đặt trong ngoặc vuông. MF1=: khai báo dữ liệu về hàm liên thuộc, báo đầu bằng tên hàm được đặt trong dấu nháy, theo sau bởi dấu hai chấm và tên loại hàm liên thuộc, kế tiếp là dấu phẩy và các thông số của hàm được đặt trong ngoặc vuông. Cứ như vậy cho đến MFn, với n là số lượng hàm liên thuộc. Có bao nhiêu ngã ra thì lần lượt khai báo các dữ liệu cho các ngã ra [Outputi], với i là số thứ tự của ngã ra. * Các loại hàm liên thuộc có thể chọn là: ‘trimf’: có 3 thông số. ‘trapmf’: có 4 thông số. ‘gbellmf’: có 4 thông số. ‘gaussmf’: có 2 thông số. ‘gauss2mf’: có 4 thông số. ‘sigmf’: có 2 thông số. ‘dsigmf’: có 4 thông số. ‘psigmf’: có 4 thông số. ‘pimf’: có 4 thông số. ‘smf’: có 2 thông số. ‘zmf’: có 2 thông số. 4.[Rules] Mô tả bảng luật điều khiển dưới dạng ma trận, khai báo luật điều khiển theo cấu trúc sau: Hàng, cột, luật_điều_khiển_ ngã_ra_1 (luật_điều_khiển_ ngã_ra_2) … Hàng kế tiếp với cột được tăng lên 1, cứ như vậy cho đến cột cuối cùng, tiếp theo hàng được tăng lên 1, … cứ như vậy cho đến luật điều khiển cuối cùng. . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 69 LIỆT KÊ FILE SHOWER.FIS % $Revision: 1.1 $ [System] Name = 'shower' Type = 'mamdani' NumInputs = 2 NumOutputs = 2 NumRules = 9 AndMethod = 'min' OrMethod = 'max' ImpMethod = 'min' AggMethod = 'max' DefuzzMethod = 'centroid' [Input1] Name = 'temp' Range = [-20 20] NumMFs = 3 MF1='cold':'trapmf',[-30 -30 -15 0] MF2='good':'trimf',[-10 0 10 0] MF3='hot':'trapmf',[0 15 30 30] [Input2] Name = 'flow' Range = [-1 1] NumMFs = 3 MF1='soft':'trapmf',[-3 -3 -0.8 0] MF2='good':'trimf',[-0.4 0 0.4 0] MF3='hard':'trapmf',[0 0.8 3 3] [Output1] Name = 'cold' Range = [-1 1] NumMFs = 5 MF1='closeFast':'trimf',[-1 -0.6 -0.3 0] MF2='closeSlow':'trimf',[-0.6 -0.3 0 0] MF3='steady':'trimf',[-0.3 0 0.3 0] MF4='openSlow':'trimf',[0 0.3 0.6 0] MF5='openFast':'trimf',[0.3 0.6 1 0] . . Luận văn tốt nghiệp Nghiên cứu điều khiển mờ – Mô phỏng hệ thống điều khiển mờ bằng MatLab 70 [Output2] Name = 'hot' Range = [-1 1] NumMFs = 5 MF1='closeFast':'trimf',[-1 -0.6 -0.3 0] MF2='closeSlow':'trimf',[-0.6 -0.3 0 0] MF3='steady':'trimf',[-0.3 0 0.3 0] MF4='openSlow':'trimf',[0 0.3 0.6 0] MF5='openFast':'trimf',[0.3 0.6 1 0] [Rules] 1 1, 4 5 (1) : 1 1 2, 2 4 (1) : 1 1 3, 1 2 (1) : 1 2 1, 4 4 (1) : 1 2 2, 3 3 (1) : 1 2 3, 2 2 (1) : 1 3 1, 5 4 (1) : 1 3 2, 4 2 (1) : 1 3 3, 2 1 (1) : 1 . . . 'cold' Range = [-1 1] NumMFs = 5 MF1='closeFast':'trimf',[-1 -0.6 -0.3 0] MF2='closeSlow':'trimf',[-0.6 -0.3 0 0] MF3='steady':'trimf',[-0.3. 'hot' Range = [-1 1] NumMFs = 5 MF1='closeFast':'trimf',[-1 -0.6 -0.3 0] MF2='closeSlow':'trimf',[-0.6 -0.3 0 0] MF3='steady':'trimf',[-0.3. FILE SHOWER.FIS % $Revision: 1.1 $ [System] Name = 'shower' Type = 'mamdani' NumInputs = 2 NumOutputs = 2 NumRules = 9 AndMethod = 'min' OrMethod = 'max'