Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
1. UVOD
Kod nas je vjerovatno još uvijek najraširenija upotreba dvopoložajnog analognog regulatora temperature. Njegova cijena i jednostavnost ne mogu se poreći. Primjena mikroračunara u oblasti industrije omogućila je razvoj regulatora čiji kvalitet mnogo zavisi od napisanog softvera. Današnji trend u oblasti regulacione tehnike je da se analogni regulatori zamjene digitalnim (mikrokontroleri, PLC-ovi i drugi digitalni uređaji koji se mogu programirati). Kod digitalnog upravljanja procesima kvalitet regulacije zavisi od kvaliteta programiranja čime se djelovanje inženjera automatike usjmerava na programerski dio. Postoje različiti algoritmi upravljanja, ovdje je predstavljen fazi jer je to jedna od savremenih metoda upravljanja bliska čovjekovom pristupu regulaciji.
ppaallee@hotmail.com
1
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
2. Fazi u običnom životu Pojam fazi (engl. fuzzy - maglovit, nejasan) se najbolje može razumjeti na osnovu jednog primjera iz svakodnevnog života. Ujutro, kada krećete na posao, školu ili negde drugdje, obično pitate nekoga od svojih ko je malo prije bio van kuće:”Kakvo je vrijeme napolju?”. Pitanje je postavljeno sa namjeroma da odaberete odjeću tako da se prilagodite vremenu. Posmatrajući problem izbora odjeće malo apstraktnije, može se primjeniti sljedeći način zaključivanja: ako je hladno treba uzeti toplu zimsku jaknu, a ako je toplo uzeti majicu kratkih rukava. Da li ste zadovoljni ovakvim savjetom? A šta ako je napolju prijatno vrijeme koje zahteva umjerenu odjeću, recimo lakšu proljetnuu jaknu? Očigledno da opis vremenskih prilika oznakama toplo i hladno nije dovoljan. Potrebna je nekakva finija logika da bi savjet stvarno bio koristan. Uvođenje oznaka jako hladno, srednje hladno, malo hladnije, umereno hladno, malo toplije, srednje toplo, vruće i jako vruće može da pomogne u ovakvoj situaciji jer ćete na osnovu preciznijeg opisa lakše odabrati odjeću. Ovakav pristup postepenosti i laganih prelaza (prepoznavanja situacije) odgovara načinu kako fazi logika pristupa problemima i kako ih rješava.
Slika 1. Primer regulacije temperature vode u posudi 2
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Sistem upravljanja u oblasti automatike se može primeniti sličan “algoritam”. Neka je zadatak regulacija temperature. Na Slici 1. je prikaz sistema upravljanja (grijač, termometar, posuda sa vodom, mikrokontroler - koji su povezani u jednu cjelinu). Malim slovima su označene sljedeće veličine: r je referentna vrijednost temperature (proizvoljno je odabrano 40°C), c je stvarna temperatura vode u posudi, e je razlika referentne i stvarne vrijednosti i naziva se greška upravljanja (e=r-c), u je upravljačka promenljiva i predstavlja snagu grijača. Sistem regulacije funkcioniše tako što se na osnovu referentne vrijednosti (r) i izmjerene temperature (c) odredi kolikom snagom grijača (u) treba grijati da bi se postigla i održavala zadata temperatura. Pravougaoni blok predstavlja regulator-mikrokontroler koji upravlja procesom. U sintezi regulatora polazi se prvo od procesa koji se može kratko opisati: posudu sa vodom grije grijač promenljive snage (upravljačka promjenljiva u je iz intervala 0-Pmax). Dakle, snaga grijača se može mjenjati što utiče na brzinu zagrijavanja vode. Regulator kao cjelinu čini mikrokontroler sa programom u kome je sadržan algoritam upravljanja koji je opisan funkcijom F(e) koja izračunava upravljanje (snagu grejača odnosno položaj komutatora). Funkcija F(e) predstavlja suštinu upravljanja, ili u prenesenom značenju “inteligenciju”. Ne ulazeći u detalje hardvera i softvera, ovde se želi pokazati vrlo jednostavno fazi zaključivanje koje se može iskoristiti kod regulacije temperature. Poenta je u tome kako dozirati (algoritam) dovođenje i odvođenje toplotne energije dok je tehnička realizacija sekundarni problem, odnosno mjerenje i fizički smisao upravljanja u praksi su podposlovi koji zahtjevaju šire objašnjenje. Naime, termometar za mjerenje i otpornici koji utiču na struju kroz grijač (slika 1.) se trebaju shvatiti slikovito. Promjena temperature u vremenu je prikazana na slici 2.
3
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 2. Dijagram temperatura - vreme Na početku, temperatura je najudaljenija od zadane, ali se vremenom ta razlika treba smanjiti na nulu.
2.1. Dvopoložajni regulator Dvopoložajni algoritam upravljana se rječima može opisati: ako je stvarna temperatura (npr. 8°C ) manja od zadane (40°C) neka je snaga grijača maksimalna. Dakle, grijač grije “svom snagom” sve dok se ne postigne zadata temperatura. Bilo bi lijepo kada okolina nebi uticala na temperaturu vode u posudi jer tada više nebi bilo potrebno nikakvo grijanje. Ali ako je temperatura okoline na primjer 15°C tada će ona tako djelovati na posudu sa vodom da se voda počinje hladiti. Zbog toga je potrebno dalje održavati temperaturu vode na sljedeći način: •
ako je temperatura manja od 39°C snaga grijača max.
•
ako je temperatura veća od 41°C snaga grijača je 0.
Gornji način regulacije je poznat kao dvopoložajni regulator sa histerezisom i upotrebljava se kada se ne zahtjeva visok kvalitet regulacije pri čemu treba težiti da se dobije što jeftiniji regulator.
4
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 3. Dvopoložajni regulator sa histerezisom Postavlja se pitanje da li takav način regulacije ima smisla primenjivati ako se za regulaciju koriste mikrokontroleri? Za njegovu realizaciju su dovoljne analogne elektronske komponente (komparatori, pojačavači itd.) čime se postiže niža cijena (bimetal je tipičan primjer) nego ako se koristi mikrokontroler čije su memorije za skladištenje programa reda desetina kilobajta i namjenjene za složenije algoritme upravljanja.
2.2. Pseudo-fazi regulator Fazi pristup cijelom problemu je malo finiji. Iskreno rečeno ono što sljedi nije pravo fazilogičko zaključivanje ali se radi boljeg razumjevanja može smatrati kao da jeste. Sljedeće pitanje, koje je posljedica konstrukcije samog sistema upravljanja, jeste: kako iskoristiti promenljivu snagu grijača? Nekako logično izgleda sljedeće intuitivno zaključivanje: 1. ako je temperatura mnogo manja od zadane onda je snaga grijača maksimalna 2. ako je temperatura manja od zadane onda je snaga grijača malo manja od maksimalne 3. ako je temperatura malo manja od zadane onda je snaga grijača puno manja od max. 4. ako je temperatura približna zadanoj onda je snaga grijača 0. U gornjem primjeru postoje 4 fazi pravila. Fazi pravilo na razumljiv način opisuje akciju (kolika treba da bude snaga grijača) na osnovu poznatog podatka (trenutna vrijednost temperature).
5
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 4. Pseudo - fazi ili četvoropoložajni regulator Broj fazi pravila se može mjenjati kao i upravljačka akcija “kolikom snagom treba grijati” na osnovu poznavanja realnog sistema. Snaga grijača se izračunava po formuli P=(U/(RG+R))2 *R (R je ili R1 ili R2), gdje je U mrežni napon od 220V, RG je otpornost greiača, a R je otpornost otpornika vezanog na red čiji je zadatak da kontroliše struju kroz kolo. Otpornici su tako podešeni da se dobije odgovarajuća snaga na grijaču. Maksimalna snaga je Pmax=U2/RG (položaj 1), a minimalna je 0 (položaj 2). Postoje još dvije vrijednosti snage (U/(RG+R1))2 *R1=0.6Pmax i (U/(RG+R2))2 *R2=0.3Pmax (položaji 2 i 3 respektivno), gde je R1=0.28RG i R2=0.85RG. Prethodni račun je naveden radi ilustracije, naime, disipacija energije na otpornicima drastično ruši iskorištenje električne energije pa se ovakav način regulacije obično ne primjenjuje. Zbog toga se u praksi primjenjuje impulsno širinska modulacija (PWM - Pulse Width Modulation), a ne otpornici na red koji su samo poslužili za ilustraciju kako se podešava promjenljiva snaga grijača. PWM je posebna tema koja zahteva malo detaljnija objašnjenja i ovdje se ne analizira. Zbog čega je uvedena opisna podjela stvarne temperature? Zato što se na taj način rječima običnog jezika finije opisuju upravljačke akcije. Ako se prikupljanje informacija o vrijednosti temperature ograniči samo na to da li je stvarna temperatura veća od zadane ili ne, tada se ne može poreći siromaštvo takve informacije. Količina i još više kvalitet informacija koje 6
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima postoje u fazi logici su mnogo veći pa je i kvalitet akcije kao odgovor na informaciju mnogo efikasniji. I sam čovjek kada preduzima određenu akciju sa nekim ciljem lakše će se odlučiti ako zna prave informacije i ako ih zna protumačiti. Naravno, potrebno je pronaći takav kompromis jer čoveku previše informacija može biti smetnja. Tako i u slučaju fazi pravila treba odabrati optimalan broj koji još uvek jasno sadrži logiku koja se može razumjeti.
2.3. Algoritam Kako na kraju izgleda taj veoma, veoma pojednostavljeni fazi regulator temperature. Prevodeći pravila koja su izražena rječima na inženjerski jezik, postupak regulacije temperature izgleda ovako: Algoritam: fazi regulator temperature izmeri se stvarna vrednost temperature c(0) izračuna se greška e(0)=r-c(0) to je maksimalna greška emax=e(0) k=1 labela1 meri se stvarna temperatura c(k) izračuna se e(k)=r-c(k) izračuna se relativna greška erel=e(k)/emax ako je: erel > 0.8 onda je u=Pmax erel > 0.6 I erel <= 0.8 onda je u=0.6Pmax erel > 0.1 I erel <= 0.6 onda je u=0.3Pmax erel <= 0.1 onda je u=0 skok na labelu1 posle isteka vremena T (k=k+1), gde 0,1,…,k-1,k,k+1,… predstavljavu trenutke odabiranja 0,T,…,(k-1)T,kT,(k+1)T,… itd., a T je perioda odabiranja (konstantni vremenski interval između dva merenja)
Algoritam možda izgleda previše običan i nematematički. Međutim, postoje situacije kada je primjena klasičnih algoritama upravljanja povezana sa velikim teškoćama. Takva situacija je na primjer regulacija objekta upravljanja koji je izrazito nelinearan. U takvim neodređenim problemima primjena fazi logike može biti korisna. Iskreno rečeno, gornji algoritam predstavlja četvoropoložajni regulator sa programiranim pragovima prelaza. U stvari, to je lagani korak prema fazi regulatorima jer se vrednost neke fizičke veličine izrazi običnim rječima. Ideja pravog fazi upravljanja i jeste da čovjek “rječima” opiše svoje poznavanje nekog sistema kako bi se to znanje “pretočilo” u upravljačke algoritme. Ovakav pristup se može opisati kao “račun pomoću reči” (engl. CW - Computing with Words). Jednakost u prenesenom smislu, fazi logika = CW, 7
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima čiji je autor Lofti A. Zadeh jedan od najeminentnijh stručnjaka u oblasti inteligentnog upravljanja sistemima, najbolje odražava suštinu fazi logike.
3. FAZI LOGIČKI KONTROLERI Sa razvojem mikroračunarske tehnike otvorene su velike mogućnosti na polju digitalnog upravljanja sistemima. Informacije dobijene mjerenjima se brzo obrađuju i moguće je ostvariti 8
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima upravljanje složenim sistemima koje je vrlo teško matematički opisati - modelovati. Softver za upravljanje postaje raznovrstan, a ljudska kreativnost dolazi do izražaja. Jedan relativno nov pristup upravljanju je primjena fazi regulatora. Suština je u formiranju programskog koda koji implementira znanje čovjeka eksperta o nekim procesom. Automatsko upravljanje procesima i mašinama je do pojave mikroračunara bilo zasnovano na analognim regulatorima. Iako su digitalni upravljački algoritmi u odnosu na analogne sporiji, prednosti koje su omogućene upravljanjem na bazi softvera su višestruke.
Slika 5. Detalji aparature Jedna velika prednost je i fleksibilnost u pogledu realizacije upravljanja pomoću softvera, koji se po potrebi može mjenjati kako bi se prilagodio eventualnim promjenama u sistemu upravljanja. Danas se u literaturi i časopisima prezentuju savremene metode upravljanja koje u mnogim uslovima pokazuju dobre rezultate. Konkretno se to odnosi na primjenu neuronskih mreža i fazi logike na upravljanje sistemima.
3.1. Digitalno upravljanje 9
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima Digitalno upravljanje otvara mogućnost primjene nekih novih postupaka koje analogni regulator ne može (ili vrlo teško) da odradi: akviziciju podataka, identifikaciju sistema, adaptivno upravljanje itd. (pojmovi poznati iz teorije digitalnog upravljanja). Za digitalne sisteme se vezuju dva važna pojma: diskretizacija po vremenu (pojam periode odabiranja) i kvantizacija po nivou. Periodom odabiranja se definišu sukcesivni trenuci u kojima se vrši odabir kontinualnih veličina. Kvantizacija kontinualne veličine nastaje usljed AD konverzije. Primjena inteligentnog upravljanja se može razumjeti na osnovu potrebe da se izvrši regulacija neke fizičke veličine u sljedećim uslovima: 1. Na realne sisteme neprekidno deluju različiti poremećaji 2. Realni procesi su većinom nelinearni 3. Sami procesi su promenljivi. Navedeni uslovi se često sreću u praksi i zbog toga je neophodno inteligentno upravljanje.
3.2. Faze projektovanja FLC Fazi logički kontroler (FLC) je jedan način takvog upravljanja koji je naročito pogodan za sisteme koji se vrlo teško mogu modelovati. Kod projektovanja Fazi regulatora redosljed operacija je sljedeći: 1. Analiza procesa. 2. Dobijanje pravila od strane eksperta. 3. Simulacija fazi regulatora, ako se ne dobiju željeni rezultati ponoviti cio postupak. Realizacija FLC u digitalnom sistemu upravljanja se svodi na pisanje programskog koda (ovdje je korišten programski jezik C) koji na osnovu zadate vrijednosti temperature dostiže tu vrijednost i održava je sve dok se u sistemu ne dogodi zahtjev za nekom drugom vrijednošću koju postavlja korisnik. Prije pisanja programa neophodna je analiza (i posmatranje) konkretnog sistema upravljanja i poželjno je matematički opisati sistem kako bi se prije praktične implementacije programa u mikrokontroleru izvršila simulacija. Svrha simulacije je da se 10
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima matematičkim algoritmima pokušaju opisati pojave u realnom sistemu kako bi praktična realizacija algoritma upravljanja u realnom sistemu ispunila zahteve. Obično se zahtevi zadaju u vremenskom domenu, a najčešći su da se obezbjedi stabilnost, tačnost i brzina.
Pojmovi : FLC: Algoritam upravljanja baziran na fazi logici koji je implementiran u mikrokontroleru. FUNKCIJE PRIPADNOSTI: Funkcije koje definišu stepen pripadnosti elemenata nekom fazi skupu. FAZI SKUP: Pored klasičnih elemenata skupa neophodno sadrži i informaciju o stepenu pripadnosti tih elemenata. FAZIFIKACIJA: Skaliranje realnih vrednosti u fazi vrednosti. DEFAZIFIKACIJA: Skaliranje fazi vrednosti u realne vrednosti. METODA TEŽIŠTA: Jedan od algoritama za izračunava-nje fazi upravljanja. LOOK_UP TABELA: Tabela čiji su ulazi fazi greška i fazi promena greše, a izlaz fazi upravljanje. FAZI PRAVILA: Način na koji se opisuje znanje eksperta u obliku IF THEN pravila.
3.3. Fazi logika U klasičnoj teoriji skupova, kada se posmatra odnos pripadnosti nekih elemenata prema skupu kaže se da neki element ili pripada nekom skupu ili ne pripada. S obzirom na izbor eksperimenta (reguliše se temperatura vode) što bi grubo značilo da je voda ili topla ili hladna. Ovakav pristup je relativno pojednostavljivanje stvarne situacije Slika 6. Funkcija pripadnosti oblika trougla (nstepen pripadnosti, F-fazi vrednost)
koji je očigledno neprecizan jer su zanemarene nijanse koje postoje u gradaciji vrednosti temperature.
U svakodnevnom govoru se mogu čuti i sljedeći izrazi: malo toplije, hladno, jako hladno itd. šti pristup problemu je uvođenje sljedećih oznaka (Sika 6.) za neku vrijednost: jako negativno, malo negativno, približno ula, malo pozitivno i jako pozitivno (JN,MN,PN,MP i JP). Za predstavljanje ovakvih informacija uvedena je teorija fuzzy skupova čiji je tvorac Lotfi Zadeh. Neka vrijednost može pripadati različitim oznakama čime njen opis postaje nejasan, odnosno maglovit 11
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima (engl.fuzzy). Na primjer, fazi vrednost F=3.5 je MP sa stepenom pripadnosti n=0.25 i JP sa n=0.75.
3.4. Ekspertni sistemi Fazi logika se obično svrstava u oblast ekspertnih sistema u kojima se akcije koje u praksi preduzimaju eksperti mogu iskoristiti za programiranje računarskih sistema koji tada mogu zamjeniti (ili imitirati) eksperta. Kod ručnog upravljanja, suština inteligentne akcije je u čoveku koji posmatra i upravlja nekim procesom. Ovakvim pristupom se može ostvariti dobro upravljanje jer ekspert zna kako treba upravljati sistemom da bi se napisao program. Za FLC potrebno je na neki način uvesti skup fazi pravila koja opisuju akciju eksperta. Situacija u sistemu upravljanja se može opisati na sljedeći način: ekspert posmatra sistem (npr. koliko trenutna vrijednost temperature odstupa od zadane) i na osnovu toga donosi odgovarajuću odluku koliko dugo grijati.
Slika 7. Potrebni elementi za eksperiment
3.5. Fazi pravila
12
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima U ekspertnim sistemima, znanje eksperta opisano je na sljedeći način: AKO je greška tolika TADA grijati toliko. U većini programskih jezika ovo se implementira primjenom IF THEN pravila. Neka sljedeća situacija posluži kao primjer upravljanja: grije se voda koja se trenutno nalazi na sobnoj temperaturi (oko 22 oC) i treba je zagrijati na 40 oC. “Prosječan” ekspert će vjerovatno reagovati ovako: neka se voda grije sve dok se ne postigne 40 oC, a zatim održavati zahtjevanu temperaturu na 40 oC po principu rada ON/OFF regulatora. Umjesto običnog ON/OFF često se koristi ON/OFF regulator sa histerezisom, što znači da se temperatura održava u određenim granicama, na primjer između 39 oC i 41 oC. Da li je ovakvo upravljanje sistemom dobro zavisi od zahtjeva kupca koji naručuje proizvod (regulator temperature). Prvo, možda bi bilo korisno primjetiti da na ovakav način vrednost temperature osciluje između 39 i 41 oC. Drugo, ako u sistemu postoji primjetno kašnjenje (pojava da se energija grijača ne prenosi trenutno) tada je za očekivati da se pri dostizanju temperature prebaci vrijednost od 41 oC (više što je kašnjenje veće) i da se interval (39, 41) povećava.
Slika 8. Struktura sistema upravljanja Kada bi se regulacija temperature po principu ON/OFF regulatora implementirala u fazi logici tada bi postupak upravljanja bio: IF temperatura < 39 oC THEN grejač ON IFtemperatura > 41 oC THEN grejač OFF Ovakav regulator se može softverski ili hardverski (digitalno i analogno upravljanje respektivno) relativno lako realizovati i prilično je jasan. Postoji skup pravila kojima se može opisati malo finije upravljanje temperaturom u istom sistemu.
13
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 9. Greška i promena greške (e i de) Teoretski je pokazano (Bart Kosko) da je Bulova algebra (ili jeste 1 ili nije 0) samo specijalan slučaj fazi logike, odnosno da je njen podskup. Dakle, ON/OFF regulator je samo specijalan slučaj FLC. FLC treba posmatrati kao postupak (algoritam) koji na osnovu dvije veličine (greška i promjena greške) izračunava upravljanje odnosno koliko (u okviru periode T=4 sekunde) grijati da bi postigli zadatu vrednost temparature (Slika 9).
Slika 10. Struktura Fazi logičkog kontrolera Greška (zadata vrijednost - trenutna vrijednost) daje informaciju koliko je trenutna temperatura daleko od zadate , dok promjena greške (trenutna greška - prethodna greška) daje informaciju o brzini kojom se dostiže zadata vrijednost (Slika 9). Ove dvije veličine su ulaz u FLC i one imaju konkretne vrednosti (u oC). Dobijanje stvarne vrednosti upravljanja Obrada dobijenih (izmerenih) informacija se odvija u tri faze: 14
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima 1. Fazifikacija (skaliranje), 2. Look-up tabela (izračunavanje fazi upravljanja) i 3. Defazifikacija (inverzno skaliranje).
Slika 11. PWM signal FAZIFIKACIA: Greška i promjena greške se fazifikuju. Npr., ako je zadata vrijednost 40 oC, a trenutna vrijednost je 30 oC tada je greška e=10 oC. Ako je prethodna vrijednost greške bila 28 o
C, tada je de=2 oC. Ove vrijednosti se dobijaju u trenucima k*T gde je cio broj. Greška i
promjena greške se zatim preračunaju u fazi promenljive ef i def. Usvojeno je da se fazi vrijednosti nalaze u intervalu -4 do 4, kome je pridružen odgovarajući interval realnih vrijednosti (e i de). Na osnovu zadane vrijednosti i početne vrijednosti temperature, određuje se emin i emax. Npr. ako je zadata vrijednost temperature 40oC i početna vrijednost 10 oC, izračuna se emin=30oC i emax=30oC. Pod pretpostavkom da se za 4 sekunde temperatura maksimalno može povećati za 1 oC sljedi da je demin=-1 oC i demax=1 oC. Def ef
-4
-3
-2
-1
0
1
2
3
4
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
2
2
2
0
0
0
2
2
2
2
3
4
4
3
2
2
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
15
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima Tabela 1. LOOK UP TABELA: (izracunavanje fazi upravljanja). Kada se odrede ef i def , tada se na osnovu Look_up tabele odredi uf (fazi upravljanje).
Slika 12. Look up tabela u 3D koordinatnom sistemu DEFAZIFIKACIJA: Realno upravljanje zahtjeva prevođenje fazi upravljanja u realnu vrijednost. Kako je perioda T=4 sekunde, tada upravljanje određuje u kom je dijelu intervala grijač uključen (Slika 11). Upravljanje ima oblik PWM signala koji služi da uključuje i isključuje grijač. prethodnom izlaganju postupci fazifikacije i defazifikacije su relativno jednostavni. Ostalo je nedorečeno kako se dobije LOOK_UP tabela koja je u stvari osnova samog algoritma upravljanja.
3.6. Formiranje Look-up tabele Prije izlaganja samog postupka dobijanja Look-up tabele pretpostavimo za trenutak da postoji gotova tabela. Analizom Look-up tabele može se primjetiti da upravljanje može biti samo pozitivno odnosno da se sistem može isključivo zagrrijavati (hladi se tako što se grijanje isključi). Kako su vrijednosti uf 1,2,3 ili 4 to je u periodi od 4 sekunde grijač uključen 1,2,3 ili 4 sekunde. Može se primjetiti da je fazi upravljanje mnogo finije od ON/OFF upravljanja. Koliko je “finije” zavisi od same strukture FLC odnosno softvera. Postupak dobijanja vrijednosti (0,1,2,3 i 4) koje se upisuju u Look-up tabela se može razumjeti na osnovu pomoćne tabele koja se naziva Fazi Asocijativna Memorija (Tabela 2) i Slike 13. 16
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima TABELA 2
JN
MN
PN
MP
JP
JN
-
-
-
-
-
MN
PN
PN
PN
PN
PN
PN
PN
PN
PN
PN
PN
MP
MP
MP
JP
-
-
JP
JP
JP
JP
JP
JP
Pomoćna tabela (Tabela 2) predstavlja znanje koje se može opisati na sljedeći način:
1.
IF 2. 3. 4. 5. 6. IF e
Kako
IF IF IF JP
su
IF e e e
e
MP MP MP THEN u JP
napisana
e
PN AND AND AND
gore
MN de de de
JN MN PN
THEN THEN THEN THEN THEN
navedena
u u
u u u
PN PN MP MP JP
pravila?
1. i 2. onemogućavaju da temperatura bude veća od zadane. Pravila 3. i 4. ukazuju da ne treba previše grijati ako greška nije jako velika i postoji tendencija da se dostigne zadana vrijednost temperature. Pravilo 5. kaže, da ako greška nije velika ali ne postoji tendencija da se dostigne zadana vrednost, tada treba grijati jače (duže). Pravilo 6. kaže da za jako veliku grešku treba jako grijati. U jednom trenutku postoji jedna fazi greška (ef) i jedna fazi promjena greške (def). Na osnovu Slike 13. se određuje stepen pripadnosti ef i def za prvo pravilo, zatim se odredi minimum od ove dvije vrijednosti i tako se dobije šrafirana površina. Postupak se ponovi i za ostala pravila. Dobijene površine se sumiraju (unija skupova), a jednom od metoda odredi se fazi upravljanje.
3.7. Određivanje upravljanja Za izračunavanje fazi upravljanja potrebno je da se odredi težište unije površina (metoda težišta), koja je formirana u prethodnom koraku. Uprošteno izračunavanje je na osnovu formule: uf=(F1*n1+...+Fk*k)/(n1+...+nk), k=1: 6 17
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima se može razumjeti na osnovu analogije sa izračunavanjem težišta mase u mehanici. Na primer, ako je ef=0.5 i def=-1 tada se sa Slike 13 vidi da je uf=(0*1+2*0.25+4*0.25)/(1+0.25+0.25)=1. Ovim načinom se za bilo koji par vrijednosti e i de iz skupa (-4,4)X(-4,4) može izračunati uf. Za formiranje Look-up tabele od interesa su cjelobrojne vrijednosti (-4,-3,...,3,4). Dobijena Look-up tabela se unosi u program koji se izvršava u mikrokontroleru gdje se koristi za realno upravljanje. Poslje opisa postupka dobijanja Look-up tabele treba uočiti gdje se krije mogućnost podešavanja algoritma upravljanja, odnosno koji su to parametri od kojih zavise performanse FLC: •
Postavljanje rezolucuje fazi promenljive (za stalne granice realnih vrednosti). Rezolucija usvojena u ovom primeru je od -4 do 4. Ne postoji ograničenje i da te vrijednosti budu (2, 2) ili (-10, 10). U prvom slučaju je izabrano grubo upravljanje, a u drugom finije.
•
Broj oznaka je 5 (vrlo negativno,...,vrlo pozitivno). Taj broj može biti 3 ili 7 ili 9 itd. Manji broj oznaka podrazumjeva grublje, a veći broj oznaka finije upravljanje.
•
Funkcija pripadnosti može biti različitih dimenzija i oblika: trapezoida, Gausov, trouglasti itd. U primjeru je korištena funkcija pripadnosti u obliku trougla
•
Broj IF...THEN pravila je proizvoljan, u njima je sadržano znanje eksperta.
Iz navedenih primjedbi se vidi gdje se krije mogućnost podešavanja. Poznavanje procesa kojim se upravlja je od velike važnosti za dobro podešavanje FLC. Prije praktične primjene FLC-a, poželjno je da se uradi simulacija upravljanja na računaru i tako testira moguće ponašanje procesa u toku upravljanja. Za simulaciju se obično koristi programski paket MATLAB.
18
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 13. Određivanje fazi upravljanja metodom težišta
3.8. Fuzzy Logic Toolbox u Matlab – u 19
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima FIS Editor Središnji dio FLT-a je FIS Editor u kojem se određuje broj ulaza, imena ulaznih i izlaznih varijabli te tip regulatora ( mamdani ili sugeno). U FIS editoru biraju se metode odlučivanja i po potrebi otvaraju drugi prozori FLT-a pomoću izbornika View. Izbor neizrazitog regulatora tipa Mamdani podrazumijeva da su jezične vrijednosti izlazne varijable regularni neizraziti skupovi. Izbor neizrazitog regulatora tipa Sugeno podrazumijeva da su jezične vrijednosti izlazne varijable neizraziti skupovi tipa singleton. FIS editor također omogućava izbor izračunavanja ukupnog skupa izlazne varijable (agregacije). Tako npr. agregacija tipa max void na izračunavanje izlaza preko centra površine, dok sum vodi prema proračunu centra težišta.
Slika 14. FIS Editor Da bi se FLT povezao sa Simulinkom, potrebno je definirati FIS-matricu, a to se može napraviti na jedan od sljedeća dva načina: 20
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
1. Naredbom u Matlabovom komandnom prozoru: > w=readfis(‘ime_dat.fis’), nakon čega slijedi ispis svih elemenata FIS matrice. 2. U meniju File FIS Editora odaberemo opciju Save to workspace. Editor funkcija pripadnosti
Editor prikazan na slici 15. omogućava definiciju oblika funkcija pripadnosti (naredba Type) za ulaze i izlaz te zadavanje graničnih parametara svake pojedine funkcije (naredba Params). Na raspolaganju je 11 standardnih funkcija (trokut, trapez, zvono, Z-oblik, Pi-oblik, Soblik, Gauss i dr. - vidi sliku 1.3.). Moguće je odrediti raspon funkcija (naredba Range), imenovati funkcije (naredba Name) te mijenjati raspon prikaza (naredba Display Range). U izborniku Help dan je detaljan prikaz i objašnjenje svih operacija.
Slika 15. Editor funkcija pripadnosti U izborniku Edit naredbom Add MFs unose se nove funkcije pripadnosti, čiji nazivi i oblici su dati na slici. 21
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 16. Oblici funkcija pripadnosti u FLT-u Metode neizrazito-binarne (N/B) pretvorbe u FLT-u U FLT-u se može izabrati jedna od 5 metoda N/B pretvorbe, a postoji i opcija Customize u okviru koje se može definirati vlastita metoda pretvorbe.
Slika 17. Metode neizrazito-binarne pretvorbe u FLT-u FLT sprema podatke o regulatoru u *.fis datoteku. Svi parametri regulatora mogu se jednostavno promijeniti editiranjem *.fis datoteke (npr. u NOTEPAD-u), u kojoj se nalazi jednostavan 22
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima tekstualni prikaz svih pravila, funkcija pripadnosti, metoda odlučivanja i dr. U tabeli 3. date su neke naredbe Fuzzy Logic Toolbox-a.
Tabela 3. Primjeri naredbi u FLT
4. Opis realnog sistema 23
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima Centralni dio FLC-a je pločica sa motorolinim mikrokontrolerom MC68HC11F1 na 8 MHz. Na pločici se pored mikrokontrolera nalaze: memorija od 32 Kb, naponski regulator 7805, naponski monitor sa reset kolom TL7705, kao i svi potrebni pasivni elementi za rad pločice. Za prikaz očitane temperature izabran je sedmo-segmentni displej sa 4 cifre pokretan motorolinim čipom MC14499. Potrošač (grijač) je vezan na mrežni napon preko tiristora koji se aktivira optokaplerom sa zero-crossing kolom MOC 3043. Optokapler je spojen na nultu liniju porta G ( PG0 ), i nakon toga se aktivira na logičku ‘0’. Grijač jačine 150W služi kao izvršni organ sa namjenom da digitalni signal (PWM) pretvori u konkretnu akciju grijanja vode. Pored grijača u posudi se nalazi NTC otpornik, termometar i mješalica. Mješanje je od izuzetne važnosti, jer smanjuje kašnjenje u sistemu i obezbeđuje ravnomjernu raspodjelu temperature. U ovom slučaju razlika temperature između vrha i dna posude iznosi 0.2 ºC, što se može smatrati vrlo dobrim rezultatom. NTC otpornik služi kao merni instrument čija je namena da daje informaciju o trenutnoj vrijednosti temperature.
Slika 18. Zavisnost otpora od temperature NTC otpornika Za mjerenje temperature se koristio NTC otpornik od 47K, firme Simens sa tolerancijom od 10%. Oznaka NTC (Negativni Temperaturni Koeficijent) opisuje prirodu otpornika da u zavisnosti od promjene temperature mjenja i svoju otpornost. Promjena može biti pozitivna, gdje se otpornost 24
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima povećava sa porastom temperature i negativna gdje se otpornost smanjuje, kako se temperatura povećava. U ovom slučaju na 0 ºC otpornost je 165.642K a na 25 ºC ( koja im je ujedno i referentna) 47K. Inače, oznaka 47K označava vrijednosti otpora na referentnoj temperaturi.
Slika 19. AD konverzija i realno upravljanje Zavisnost otpornosti se može i matematički opisati kao: R=RO exp(b/T) RO je konstanta koja zavisi od materijala i dimenzija otpornika, b je koeficijent temperaturne osetljivosti i T je temperatura (K). Promjenom temperature mjenja se otpornost NTC otpornika, a sa njom i napon koji se snima na AD konverteru. Korišćen je interni 8-mo bitni AD konvertor sa tačnošću od 1LSB. Za prikaz temperature na displej potrebno je preračunavanje napona NTC-a u temperaturu. Postoje dva načina. Jedan je da se pomoću formule direktno izračuna temperatura. Drugi je da se eksperimentalno odredi tabela koja linearizuje stvarnu karakteristiku. U primjeru je korišćen drugi pristup. Oznake PE0 i PG0 predstavljaju portove mikrokontrolera. Npr. PE0 je port E (ulaz AD konvertera), nulta linija. Na osnovu upotrebljenih komponenti maksimalna tačnost koja se može dobiti je 1 ºC što je u mjerenju temperature najčešći slučaj. Upotrebom kvalitetnijih mjernih pretvarača i AD konvertora veće rezolucije, mogu se postići bolji rezuiltati ali sa neproporcionalnim troškovima. 25
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 20. Dijagram toka programa Postupak upravljanja je sljedeći: zadana je referentna vrijednost, a u periodičnim vremenskim intervalima (perioda odabiranja je ovde 4 sekunde) se prima digitalizovana informacija o trenutnoj vrijednosti temperature. Nakon toga izračunava se greška i promjena greške na osnovu kojih (prethodno fazificirane) se iz Look-up tabele, očita fazifikovana vrijednost upravljanja (od 0 do 4) koja se zatim defazifikuje i kao takva predstavlja vremenski interval u kome je grijač uključen. Zadatak mikrokontrolera je da obezbjedi da grejač bude uključen onoliko dugo koliko je izračunato. Na Slici 16. prikazan je blok dijagram za opisani sistem upravljanja.
26
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima Algoritam upravljanja se nalazi u interapt rutini koja se aktivira svakih 16.384 ms. Da bi se podesila perioda odabiranja od 4s potrebno je približno 244 RTI prekida. Kada se izračuna vrijeme rada grijača (0<TIME_ON<4) potrebno je obezbjediti isključenje grijača nakon isteka tog vremenskog intervala čime se generiše PWM signal sa periodom 4s koji predstavlja upravljanje.
Listing 1 - fazi1.c
unsigned char LOOK_UP[9][9]={{0, 0, 0, 0, 0, 0, 0, 0, 0 }, {0, 0, 0, 0, 0, 0, 0, 0, 0 }, {0, 0, 0, 0, 0, 0, 0, 0, 0 }, {0, 0, 0, 0, 0, 0, 0, 0, 0 }, {0, 0, 0, 0, 0, 0, 0, 0, 0 }, {1, 1, 1, 2, 2, 2, 2, 2, 1 }, {2, 2, 2, 3, 4, 4, 3, 4, 4 }, {3, 3, 3, 3, 4, 4, 4, 4, 4 }, {4, 4, 4, 4, 4, 4, 4, 4, 4 }}; unsigned char REF,TEMP, ERRMAX,DERRMAX, FUPR; unsigned int ITIME, TIME_ON,T, PRIV; unsigned char C1,C2,ISPISI,UPRMAX; signed char ERR,ERR2,FERR,DERR,FDERR;
Na listingu 1 se deklarišu promjenljive korišćene u programu i inicijalizuje Look-up tabela.
Listing 2 - fazi2.c
27
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima static void interrupt intr(void) { ITIME=ITIME+1; ADCTL=0; do{}while(ADCTL !=0x80); PRIV=PRIV+ADR1; if(ITIME==T) { if(TIME_ON!=0) PORTG=0; /* T=4s*/ PRIV=PRIV/244; TEMP=(unsigned char)(PRIV); PRIV=0; DERR=(signed char)(ERR-ERR2); FERR=4*ERR/ERRMAX; FDERR=4*DERR/DERRMAX; FUPR=LOOK_UP[FERR+4][FDERR+4]; TIME_ON=FUPR*UPRMAX/4; ERR2=ERR; ITIME=0; } if (ITIME==TIME_ON) PORTG=0xFF; TFLG2=0x40; }
Listing 2 predstavlja RTI ( Real Time Interrupt) interapt rutinu u kojoj se vrši obrada rezultata AD konverzije i izračunava vrijeme uključenja grijača. U periodu od 4 sekunde ulazi se 244 puta u interapt rutinu i svaki put se očita vrijednost sa AD konvertora. Njihov ukupan zbir (PRIV) se po isteku 4s dijeli sa brojem 244 čime se dobija veoma ujednačeno očitavanje temperature. Računanjem srednje vrijednosti dobijaju se pouzdaniji rezultati i umanjuje se uticaj šuma.
Listing 3 - fazi3.c
28
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima main()
{ PRIV=0; ITIME=0; REF=114; T=244; UPRMAX=T; TIME_ON=0; /* Upravljanje na pocetku rada */ OPTION=0x80; /* Inicijalizacija AD konverzije */ ADCTL=0; /* Vrsimo AD konv. da bi podesili ERRMAX */ do{}while(ADCTL !=0x80); ERRMAX=ADR1-REF; ERR2=ERRMAX; DERRMAX=ERRMAX/5; PORTD=0x2F; /* Inicijalizacija SPI komunikacije */ DDRD=0x38; SPCR=0x5C; DDRG=0xFF; /* Inicijalizacija porta G kao izlaznog */ PORTG=0xFF; /* Inicijalizacija RTI interapta */ PACTL=0x02; /* faktor deljenja; --> 16.384 ms */ TMSK2=0x40; /* omogucava interapt */ TFLG2=0x40; /* setuje se RTIF */ di(); set_vector((isr *)0xFFF0,intr); /* Postavljanje interapt vektora */ ei(); for(;;) { Konvertuj(TEMP); /* Prilagodjava vred. tem. za displej */ Ispisi(); /* Prikazuje rezultat na displeju */ } }
Listing 3 je glavni program. U prvom dijelu se inicijalizuju promenljive koje se pojavljuju u programu, SPI komunikacija i RTI interapt. U beskonačnoj petlji se nalaze samo dvije funkcije, prva vrši konverziju vrijednosti temperature iz binarnog u decimalni oblik (potreban za displej) i druga koja šalje decimalne cifre trenutne vrijednosti temperature preko SPI komunikacije.
4.1.Komentar rezultata Prije implementacije algoritma upravljanja na realnom sistemu izvršena simulacija. je izvedena na osnovu fizičkog zakona o transformaciji energije. Pretvaranje električne energije u toplotu se može opisati jednačinom :
P*dt=m*c*dT
29
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima gde je P=150W, snaga grijača, dt je vreme rada grijača, m=0.4 kg masa vode, c=4186J/Kg*K, specifični toplotni kapacitet vode a dT promjena temperature vode usljed grijanja. Nakon simulacije algoritam upravljanja je testiran na realnom sistemu.
Slika 21. Simulirani odziv sistema sa Look-up tabelom Svake 4 sekunde vrijednost sa AD konvertora se smješta u dio eksternog RAM-a, a zatim se te vrijednosti serijskom komunikacijom prebacuju na računar gdje su rezultati obrađeni.
30
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
Slika 22. Odziv realnog sistema Poređenjem simuliranog i realnog odziva sistema, može se primjetiti velik stepen saglasnosti. Razlika između simuliranog i realnog odziva nastaje usljed postojanja šuma u sistemu kao i nemogućnosti da se u potpunosti simulira realan sistem. Umjesto zaključka, ponuđen je odgovor na pitanje zašto je fazi kontroler pogodan za inženjere automatike? •
Opisuje rješenje bez kompleksnog matematičkog modela sistema.
•
Optimizuje već poznata rešenja sa namerom dobijanja jednostavnijeg i efikasnijeg krajnjeg proizvoda
•
Smanjuje cijenu krajnjeg proizvoda na osnovu pojednostavljenja postupka projektovanja istog
•
Pojašnjava sistem. Sistem je razumljiviji, pogodniji za održavanje i unaprjeđivanje
•
Veća otpornost na greške i promjene u okolini sistema.
•
Povećana robusnost sistema bez smanjenja njegove osetljivosti.
Na osnovu dobijenih eksperimentalnih rezultata može se zaključiti da je fazi logički kontroler primjenljiv u problemima regulacije temperature, ali se ne može dati završna ocjena o mogućnostima i kvalitetu, jer sistem nije testiran u uslovima poremećaja, niti je poređen sa drugim algoritmima upravljanja (od koji je PID regulator tipičan predstavnik). 31
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
5.
MC68HC11F1
MC68HC11F1 je mikrokontroler visokih performansi (MCU) i on je poboljšana verzija od M68HC11 familije mikrokontrolera i posjeduje mnogo poboljšanih karakteristika. Ovaj MCU karakteriše velika brzina rada i mala potrošnja energije. Osnovne karakteristike odnosno specifikacije ovog mikrokontrolera su : M68HC11 centralna procesna jedinica Štednja energije u STOP i WAIT modu 512 bajta EEPROM memorije 1024 bajta RAM-a Nemultipleksirane adrese Poboljšan 16-bitni tajmer Tri ulazna kanala (IC) Četiri izlazna kanala (OC) Jedan dodatni kanal koji može biti ili ulazni ili izlazni 8-bitni pulsni akumulator Kolo u realnom vremenu Unaprijeđen sinhronizirani serijski periferni interfejs (SPI) Analogno digitalni converter
32
Realizacija fazi logiÄ?kog kontrolera u digitalnim upravljaÄ?kim sistemima
Slika 23. Blok dijagram MC68HC11F1
33
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima Ovaj mikrokontroler je dostupan u plastičnom kučištu sa 68 pinova (PLCC) ili u plastičnom kučištu sa 80 pinova (QFP). Većina ovih pinova ima dvije ili čak i više funkcija, koji su prikazani na naradenoj slici.
Slika 24. Raspored pinova kod mikrokontrolera MC68HC11F1 sa 68 pinova
34
Realizacija fazi logiÄ?kog kontrolera u digitalnim upravljaÄ?kim sistemima
Slika 25. Raspored pinova kod mikrokontrolera MC68HC11F1 sa 80 pinova
35
Realizacija fazi logiÄ?kog kontrolera u digitalnim upravljaÄ?kim sistemima
Slika 26. Primjer jednog MCU
36
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
6.
Zaključak
U prošlosti se koristila analogna tehnologija koja je danas sve manje u upotrebi zbog napredka u polju digitalne tehnike. Raznim poboljšanjima u polju industrije i pojavom sve naprednijih mikroračunara omogućen je lakši rad u svim poljima tehnologije. U ovom diplomskom je opisan rad jednog mikrokontrolera koji je u svrsi regulatora temperature. Jedna od prednosti upotrebe mikrokontrolera je prednost u realizaciji procesa upravljanja i fleksibilnost u promjeni softvera u zavisnosti kojim objektom upravljamo i gdje se primjenjuje mikrokontroler.
37
Realizacija fazi logičkog kontrolera u digitalnim upravljačkim sistemima
7. Literatura [1] Freescale semiconductor MC68HC11F1 tehnical data, 2004. Godine [2] Temperatura je fazi, Nebojša Matić i Stevan Tošić, 2001. Godina [3] http://www.mikrocontroller.net/topic/90323
38