Luận văn Mô phỏng hệ thống điều khiển mờ bằng Matlab

I. Đặt vấn đề:

Vào những năm đầu của thập kỷ 90, một ngành kỹ thuật điều khiển mới đã phát

triển rất mạnh mẽ và đã đem lại nhiều thành tựu bất ngờ trong lĩnh vực điều khiển, đó là

điều khiển mờ. Ưu điểm cơ bản của điều khiển mờ so với các phương pháp điều khiển

kinh điển là có thể tổng hợp được bộ điều khiển mà không cần biết trước đặc tính của

đối tượng một cách chính xác.

Ngành kỹ thuật mới mẻ này đã được ứng dụng vào thực tiễn và đã đạt được nhiều

thành công. Ở Việt Nam, ngành kỹ thuật này chỉ mới ở bước đầu nghiên cứu. Chính vì

vậy chúng em thực hiện đề tài “Nghiên cứu điều khiển mờ. Mô phỏng hệ thống điều

khiển mờ bằng MatLab” cũng nhằm mục đích tiếp cận được với ngành kỹ thuật mới

này.

II. Giới hạn vấn đề:

Do thời gian nghiên cứu thực hiện đề tài chỉ giới hạn trong vòng 10 tuần, đối

tượng nghiên cứu khá mới mẻ đối với chúng em. Vì vậy đề tài này chỉ thực hiện trong

phạm vi như sau:

- Khảo sát lý thuyết logic mờ.

- Xây dựng mô hình vật lý và mô hình toán học của một hệ thống điều khiển cụ

thể: Hệ thống điều khiển tự động nhiệt độ dùng VXL 8 bit ứng dụng giải thuật logic mờ.

- Mô phỏng mô hình trong MatLab.

pdf69 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 3905 | Lượt tải: 5download
Tóm tắt nội dung Luận văn Mô phỏng hệ thống điều khiển mờ bằng Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
lại trong FIS Editor, trong phần Defuzzification chọn phương pháp giải mờ. 
Có các phương pháp giải mờ như: 
Sử dụng Rule Editor để tạo bảng luật điều khiển cho bộ điều khiển mờ. Từ menu 
View, chọn Edit Rules để kích hoạt Rule Editor. 
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 
54
Để kiểm tra lại hoạt động của bộ điều khiển mờ, ta vào menu View, chọn View 
Rules. 
Tại ô Input, ta có thể nhập các giá trị của biến ngã vào để quan sát các giá trị của 
biến ngã ra. 
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 
55
Để xem luật điều khiển trong không gian, chọn View Surface trong menu View. 
Tại Listbox Z(output) có thể chọn cold hay hot để quan sát. 
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 
56
2. Mô phỏng trong Simulink: 
Tại dấu nhắc của MatLab, gõ ‘simulink’ để kích hoạt màn hình làm việc của 
Simulink. 
Dựa vào mô hình toán học ta vào thư viện lấy các khối tích phân, khuếch đại công 
suất, máy phát tín hiệu thử, scope để hiển thị kết quả. 
Trong thư viện simulink mở thư viện Blocksets & Toolboxes. 
Thư viện simulink 
Thư viện Blockset và Toolbox 
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 
57
Mở SIMULINK Fuzzy ta có các thành phần sau: 
Trong SIMULINK Fuzzy, ta lấy Fuzzy Logic Controller. 
Trở lại thư viện simulink, lần lượt mở các thư viện Sources, Sink và Linear để 
lấy các thành phần như: Constant, Signal Generator, Scope, Sum, … 
Thư viện SIMULINK Fuzzy 
Thư viện Sources 
Thư viện Sinks 
Thư viện Linear 
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 
58
 Thiết kế van nước lạnh: 
Van nước gồm một biến ngã vào là tốc độ đóng/mở van, hai biến ngã ra là nhiệt 
độ và tốc độ của dòng nước. 
Nhiệt độ của dòng nước lạnh là 10oC. 
Ngõ vào tốc độ đóng/mở van sau khi qua khâu tích phân rồi được qua khâu 
khuếch đại bão hoà. 
Hàm f(u) của khâu bão hoà được xác định theo công thức: 
k.u(1).(k.u(1)u(2)) + u(2).(k.u(1)>u(2)) 
Với k.u(1) là tín hiệu ra sau khâu tích phân, 
u(2) tốc độ cực đại của van. 
+ Khi k.u(1)  u(2) thì ngã ra là k.u(1), 
+ Khi k.u(1) > u(2) thì ngã ra là u(2). 
Sơ đồ hệ thống điều khiển 
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 
59
 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à 30oC. 
 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 
60
 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 
61
IV. Kết quả mô phỏng: 
Mô phỏng với nhiệt độ đặt trước là 23oC. Lưu tốc đặt trước là 0.7m3/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à 
fs1 = 0.3rad/s, biên độ là 0.2m
3/h đối với tốc độ dòng nước ra và fs2 = 0.2rad/s, biên độ 
là 4oC đố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 
62
+ Đối với tín hiệu thử có sự biến thiên là hàm sin có tần số là fs1 = 0.3rad/s, biên 
độ là 0.2m3/h đối với tốc độ dòng nước ra và fs2 = 0.2rad/s, biên độ là 4
oC đố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 
63
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 
64
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 
65
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 
66
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 
67
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 
68
[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 
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
TÀI LIỆU THAM KHẢO 
1. Trần Sum, 
Giáo trình: Lý thuyết điều khiển tự động, ĐH SPKT, 1998. 
2. Nguyễn Thị Phương Hà, 
Điều khiển tự động, NXB KHKT, 1996. 
3. Phan Xuân Minh – Nguyễn Doãn Phước, 
Lý thuyết Điều khiển mờ, NXB KHKT, 1997. 
4. Timothy J.Ross, 
Fuzzy Logic With Engineering Applications, McGraw-Hill, 1998. 
5. Kazuo Tanaka, 
An Introduction to fuzzy logic for practical applications, Spinger, 1996 
6. MatLab, 
The Student Edition of MatLab version 4 User’s Guide, Prentice Hall. 
7. Charles L.Phillips and HTroy Nagle, JR, 
Digital Control System Analysis and Design, Prentice Hall, 1984. 

File đính kèm:

  • pdfLuận văn Mô phỏng hệ thống điều khiển mờ bằng Matlab.pdf