Luaän vaên toát nghieäp 61

 Thieát keá van nöôùc noùng:

Töông töï nhö ñoái vôùi van nöôùc laïnh. Nhieät ñoä cuûa doøng nöôùc noùng laø 30oC.

 Thieát keá khaâu löu toác ñaët tröôùc:

Khaâu bao goàm toác ñoä ñaët tröôùc vaø maùy phaùt tín hieäu thöû.

 Thieát keá khaâu nhieät ñoä ñaët tröôùc:

Khaâu bao goàm nhieät ñoä ñaët tröôùc vaø maùy phaùt tín hieäu thöû.

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 62

 Thieát keá haøm ñoái töôïng:

Haøm löu toác:

u(1)+u(3)

Vôùi u(1) laø toác ñoä cuûa doøng nöôùc noùng.

u(3) laø toác ñoä cuûa doøng nöôùc laïnh.

u

)4(

u ).1( )2( u )1(

 

u u

u ).3( )3(

Haøm nhieät ñoä:

Vôùi u(1) laø toác ñoä cuûa doøng nöôùc noùng.

u(2) laø nhieät ñoä cuûa doøng nöôùc noùng.

u(3) laø toác ñoä cuûa doøng nöôùc laïnh.

u(4) laø nhieät ñoä cuûa doøng nöôùc laïnh.

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 63

IV. Keát quaû moâ phoûng:

Moâ phoûng vôùi nhieät ñoä ñaët tröôùc laø 23oC. Löu toác ñaët tröôùc laø 0.7m3/h.

tín hieäu thöû

ñaùp öùng ra

+ Ñoái vôùi tín hieäu thöû coù söï bieán thieân laø haøm xung vuoâng coù taàn soá laø fs1 = 0.3rad/s, bieân ñoä laø 0.2m3/h ñoái vôùi toác ñoä doøng nöôùc ra vaø fs2 = 0.2rad/s, bieân ñoä laø 4oC ñoái vôùi nhieät ñoä cuûa doøng nöôùc ra. Ta coù caùc ñaùp öùng sau:

tín hieäu thöû

ñaùp öùng ra

Ñaùp öùng cuûa löu toác

Ñaùp öùng cuûa nhieät ñoä

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 64

tín hieäu thöû

ñaùp öùng ra

+ Ñoái vôùi tín hieäu thöû coù söï bieán thieân laø haøm sin coù taàn soá laø fs1 = 0.3rad/s, bieân ñoä laø 0.2m3/h ñoái vôùi toác ñoä doøng nöôùc ra vaø fs2 = 0.2rad/s, bieân ñoä laø 4oC ñoái vôùi nhieät ñoä cuûa doøng nöôùc ra. Ta coù caùc ñaùp öùng sau:

tín hieäu thöû

ñaùp öùng ra

Ñaùp öùng cuûa löu toác

Ñaùp öùng cuûa nhieät ñoä

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 65

Chöông IV

Keát luaän ñeà nghò

Traûi qua 10 tuaàn thöïc hieän ñeà taøi, chuùng em ñaõ trình baøy ñöôïc phaàn lyù thuyeát cô baûn cuûa logic môø, caùch öùng duïng logic môø trong ñieàu khieån vaø ñaõ ruùt ra ñöôïc nhöõng öu nhöôïc ñieåm cuûa kyõ thuaät ñieàu khieån môø so vôùi caùc kyõ thuaät ñieàu khieån coå ñieån tröôùc ñaây.

Theâm vaøo ñoù, chuùng em ñaõ moâ phoûng heä thoáng ñieàu khieån môø baèng phaàn meàm MatLab ñeå töø ñoù coù theå quan saùt ñöôïc ñaùp öùng hay chaát löôïng cuûa heä thoáng.

Höôùng phaùt trieån cuûa ñeà taøi: Xaây döïng moâ hình maãu ñeå coù theå quan saùt vaø

kieåm tra laïi lyù thuyeát baèng thöïc nghieäm.

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 66

PHAÀN C

PHUÏ LUÏC

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 67

CAÁU TRUÙC FILE .FIS (Fuzzy Inference System)

Caáu truùc cuûa file .FIS ñöôïc taïo bôûi FIS Editor bao goàm caùc phaàn sau:

1. [System]

Name = : khai baùo teân, ñöôïc ñaët trong daáu nhaùy.

Type = : khai baùo loaïi, ñöôïc ñaët trong daáu nhaùy.

NumInputs = : soá löôïng ngaõ vaøo, laø moät soá nguyeân.

NumOutputs = : soá löôïng ngaõ ra, laø moät soá nguyeân.

NumRules = : soá löôïng luaät ñieàu khieån, laø moät soá nguyeân.

AndMethod = : teân phöông phaùp AND.

+ caùc phöông phaùp ñöôïc söû duïng laø: ‘min’ vaø ‘prod’.

OrMethod = : teân phöông phaùp OR.

+ caùc phöông phaùp ñöôïc söû duïng laø: ‘max’ vaø ‘probor’.

ImpMethod = : teân phöông phaùp keùo theo.

+ caùc phöông phaùp ñöôïc söû duïng laø: ‘min’ vaø ‘prod’.

AggMethod = : teân phöông phaùp taäp hôïp.

+ caùc phöông phaùp ñöôïc söû duïng laø: ‘max’, ‘sum’ vaø ‘probor’.

DefuzzMethod = : teân phöông phaùp giaûi môø.

+ caùc phöông phaùp ñöôïc söû duïng laø: ‘centroid’, ‘bisector’, ‘mom’, ‘lom’ vaø

‘som’.

2.[Input1]

Name = : teân cuûa ngaõ vaøo, ñöôïc ñaët trong daáu nhaùy.

Range = : giôùi haïn döôùi vaø treân cuûa bieán vaøo ñöôïc ñaët trong ngoaëc vuoâng.

NumMFs = : soá löôïng haøm lieân thuoäc, laø moät soá nguyeân.

MF1=: khai baùo döõ lieäu veà haøm lieân thuoäc, baùo ñaàu baèng teân haøm ñöôïc ñaët trong daáu nhaùy, theo sau bôûi daáu hai chaám vaø teân loaïi haøm lieân thuoäc, keá tieáp laø daáu phaåy vaø caùc thoâng soá cuûa haøm ñöôïc ñaët trong ngoaëc vuoâng.

Cöù nhö vaäy cho ñeán MFn, vôùi n laø soá löôïng haøm lieân thuoäc.

Coù bao nhieâu ngaõ vaøo thì laàn löôït khai baùo caùc döõ lieäu cho caùc ngaõ vaøo [Inputi], vôùi i laø soá thöù töï cuûa ngaõ vaøo.

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 68

3.[Output1]

Name = : teân cuûa ngaõ ra, ñöôïc ñaët trong daáu nhaùy.

Range = : giôùi haïn döôùi vaø treân cuûa bieán ra ñöôïc ñaët trong ngoaëc vuoâng.

MF1=: khai baùo döõ lieäu veà haøm lieân thuoäc, baùo ñaàu baèng teân haøm ñöôïc ñaët trong daáu nhaùy, theo sau bôûi daáu hai chaám vaø teân loaïi haøm lieân thuoäc, keá tieáp laø daáu phaåy vaø caùc thoâng soá cuûa haøm ñöôïc ñaët trong ngoaëc vuoâng.

Cöù nhö vaäy cho ñeán MFn, vôùi n laø soá löôïng haøm lieân thuoäc.

Coù bao nhieâu ngaõ ra thì laàn löôït khai baùo caùc döõ lieäu cho caùc ngaõ ra [Outputi],

vôùi i laø soá thöù töï cuûa ngaõ ra.

* Caùc loaïi haøm lieân thuoäc coù theå choïn laø:

‘trimf’: coù 3 thoâng soá.

‘trapmf’: coù 4 thoâng soá.

‘gbellmf’: coù 4 thoâng soá.

‘gaussmf’: coù 2 thoâng soá.

‘gauss2mf’: coù 4 thoâng soá.

‘sigmf’: coù 2 thoâng soá.

‘dsigmf’: coù 4 thoâng soá.

‘psigmf’: coù 4 thoâng soá.

‘pimf’: coù 4 thoâng soá.

‘smf’: coù 2 thoâng soá.

‘zmf’: coù 2 thoâng soá.

4.[Rules]

Moâ taû baûng luaät ñieàu khieån döôùi daïng ma traän, khai baùo luaät ñieàu khieån theo

caáu truùc sau:

Haøng, coät, luaät_ñieàu_khieån_ ngaõ_ra_1 (luaät_ñieàu_khieån_ ngaõ_ra_2) …

Haøng keá tieáp vôùi coät ñöôïc taêng leân 1, cöù nhö vaäy cho ñeán coät cuoái cuøng, tieáp theo haøng ñöôïc taêng leân 1, … cöù nhö vaäy cho ñeán luaät ñieàu khieån cuoái cuøng.

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 69

LIEÄT KEÂ 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]

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab

Luaän vaên toát nghieäp 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

Nghieân cöùu ñieàu khieån môø – Moâ phoûng heä thoáng ñieàu khieån môø baèng MatLab