Software projekti
 

FAZI LOGIČKI KONTROLERI

Sa razvojem mikroračunarske tehnike otvorene su velike mogućnosti na polju digitalnog upravljanja sistemima. Informacije dobijene merenjima se brzo obrađuju i moguće je ostvariti 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 primena fazi regulatora. Suština je u formiranju programskog koda koji implementira znanje čoveka 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.

3b10.jpg (24749 bytes)
Detalji aparature

Jedna velika prednost je i fleksibilnost u pogledu realizacije upravljanja pomoću softvera, koji se po potrebi može menjati kako bi se prilagodio eventualnim promenama 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 primenu neuronskih mreža i fazi logike na upra-vljanje sistemima.

Digitalno upravljanje

Digitalno upravljanje otvara mogućnost primene 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 usled AD konverzije.Primena inteligentnog upravljanja se može razumeti na osnovu potrebe da se izvrši regulacija neke fizičke veličine u sledeć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.

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 redosled operacija je sledeći:

  1. Analiza procesa.
  2. Dobijanje pravila od strane eksperta.
  3. Simulacija fazi regulatora, ako se ne dobiju željeni rezultati ponoviti ceo postupak.

Realizacija FLC u digitalnom sistemu upravljanja se svodi na pisanje programskog koda (ovde je korišten programski jezik C) koji na osnovu zadate vrednosti temperature dostiže tu vrednost i održava je sve dok se u sistemu ne dogodi zahtev za nekom drugom vrednošću koju postavlja korisnik. Pre pisanja programa neophodna je analiza (i posmatranje) konkretnog sistema upravljanja i poželjno je mate-matički opisati sistem kako bi se pre praktične implementacije programa u mikrokontroleru izvršila simulacija. Svrha simulacije je da se 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 obezbedi 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.

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.

3b11.gif (2051 bytes)
Slika 1. Funkcija pripadnosti oblika trougla (n-stepen pripadnosti, F-fazi vrednost)

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 koji je očigledno neprecizan jer su zanemarene nijanse koje postoje u gradaciji vrednosti temperature.

U svakodnevnom govoru se mogu čuti i sledeći izrazi: malo toplije, hladno, jako hladno itd. šti pristup problemu je uvođenje sledećih oznaka (Sika 1.) za neku vrednost: Jako Negativno, Malo Negativno, Približno Nula, 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 vrednost može pripadati različitim oznakama čime njen opis postaje nejasan, odnosno maglovit (engl.fuzzy). Na primer, fazi vrednost F=3.5 je MP sa stepenom pripadnosti n=0.25 i JP sa n=0.75.

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 zameniti (ili imitirati) eksperta. Kod ručnog upravljanja, suština inteligentne akcije je u čoveku koji posmatra i upra-vlja nekim procesom. Ovakvim pristupom se može ostvariti dobro upravljanje jer ekspert zna kako treba upravljati sistemom. 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 sledeći način: ekspert posmatra sistem (npr. koliko trenutna vrednost temperature odstupa od zadane) i na osnovu toga donosi odgovarajuću odluku koliko dugo grejati.

3b112.jpg (22842 bytes)
Potrebni elementi za eksperiment

Fazi pravila

U ekspertnim sistemima, znanje eksperta opisano je na sledeći način: AKO je greška tolika TADA grejati toliko. U većini programskih jezika ovo se implementira primenom IF THEN pravila. Neka sledeća situacija posluži kao primer upravljanja: greje se voda koja se trenutno nalazi na sobnoj temperaturi (oko 22 oC) i treba je zagrejati na 40 oC. “Prosečan” ekspert će verovatno reagovati ovako: neka se voda greje sve dok se ne postigne 40 oC, a zatim održavati zahtevanu temperaturu na 40 oC po principu rada ON/OFF regulatora. Umesto 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 primer između 39 oC i 41 oC. Da li je ovakvo upravljanje sistemom dobro zavisi od zahteva kupca koji naručuje proizvod (regulator temperature). Prvo, možda bi bilo korisno primetiti da na ovakav način vrednost temperature osciluje između 39 i 41 oC. Drugo, ako u sistemu postoji primetno kašnjenje (pojava da se energija grejača ne prenosi trenutno) tada je za očekivati da se pri dostizanju temperature prebaci vrednost od 41 oC (više što je kašnjenje veće) i da se interval (39,41) povećava.

3b12.gif (1169 bytes)
Slika 2. 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.

3b13.gif (3124 bytes)
Slika 3. 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 dve veličine (greška i promena greške) izračunava upravljanje odnosno koliko (u okviru periode T=4 sekunde) grejati da bi postigli zadatu vrednost temparature (Slika 3).

3b14.gif (2254 bytes)
Slika 4. Struktura Fazi logičkog kontrolera

Greška (zadata vrednost - trenutna vrednost) daje informaciju koliko je trenutna temperatura daleko od zadate , dok promena greške (trenutna greška - prethodna greška) daje informaciju o brzini kojom se dostiže zadata vrednost (Slika 3). Ove dve 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:

  1. Fazifikacija (skaliranje),
  2. Look-up tabela (izračunavanje fazi upravljanja) i
  3. Defazifikacija (inverzno skaliranje).

3b15.gif (2541 bytes)
Slika 5. PWM signal

FAZIFIKACIA: Greška i promena greške se fazifikuju. Npr., ako je zadata vrednost 40 oC, a trenutna vrednost je 30 oC tada je greška e=10 oC. Ako je prethodna vrednost greške bila 28 oC, tada je de=2 oC. Ove vrednosti se dobijaju u trenucima k*T gde je ceo broj. Greška i promena greške se zatim preračunaju u fazi promenljive ef i def. Usvojeno je da se fazi vrednosti nalaze u intervalu -4 do 4, kome je pridružen odgovarajući interval realnih vredosti (e i de). Na osnovu zadane vrednosti i početne vrednosti temperature, određuje se emin i emax. Npr. ako je zadata vrednost temperature 40oC i početna vredost 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 sledi 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

LOOK UP TABELA: (izracunavanje fazi upravljanja). Kada se odrede ef i def , tada se na osnovu Look_up tabele odredi uf (fazi upravljanje).

3b16.gif (6015 bytes)
Slika 6. Look up tabela u 3D koordinatnom sistemu

DEFAZIFIKACIJA: Realno upravljanje zahteva prevođenje fazi upravljanja u realnu vrednost. Kako je perioda T=4 sekunde, tada upravljanje određuje u kom je delu intervala grejač uključen (Slika5). Upravljanje ima oblik PWM signala koji služi da uključuje i isključuje grejač. 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.

Formiranje Look-up tabele

Pre izlaganja samog postupka dobijanja Look-up tabele pretpostavimo za trenutak da postoji gotova tabela. Analizom Look-up tabele može se primetiti da upravljanje može biti samo pozitivno odnosno da se sistem može isključivo zagrevati (hladi se tako što se grejanje isključi). Kako su vrednosti uf 1,2,3 ili 4 to je u periodi od 4 sekunde grejač uključen 1,2,3 ili 4 sekunde. Može se primetiti da je fazi upravljanje mnogo finije od ON/OFF upravljanja. Koliko je “finije” zavisi od same strukture FLC odnosno softvera. Postupak dobijanja vrednosti (0,1,2,3 i 4) koje se upisuju u Look-up tabela se može razumeti na osnovu pomoćne tabele koja se naziva Fazi Asocijativna Memorija (Tabela 2) i Slike7.

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 sledeći način:

1. IF e MN                THEN u PN
2. IF e PN                 THEN u PN
3. IF e MP AND de JN  THEN u MP
4. IF e MP AND de MN THEN u MP
5. IF e MP AND de PN THEN u JP
6. IF e JP                 THEN u JP

Kako su napisana gore navedena pravila?
1. i 2. onemogućavaju da temperatura bude veća od zadane. Pravila 3. i 4. ukazuju da ne treba previše grejati ako greška nije jako velika i postoji tendencija da se dostigne zadana vrednost temperature. Pravilo 5. kaže, da ako greška nije velika ali ne postoji tendencija da se dostigne zadana vrednost, tada treba grejati jače (duže). Pravilo 6. kaže da za jako veliku grešku treba jako grejati.
U jednom trenutku postoji jedna fazi greška (ef) i jedna fazi promena greške (def). Na osnovu Slike7. se određuje stepen pripadnosti ef i def za prvo pravilo, zatim se odredi minimum od ove dve vrednosti i tako se dobije šrafirana površ. Postupak se ponovi i za ostala pravila. Dobivene površi se sumiraju (unija skupova), a jednom od metoda odredi se fazi upravljanje.

Određivanje upravljanja

Za izračunavanje fazi upravljanja potrebno je da se odredi težište unije površi (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

se može razumeti na osnovu analogije sa izrazunavanjem težišta mase u mehanici. Na primer, ako je ef=0.5 i def=-1 tada se sa Slike7 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 vrednosti e i de iz skupa (-4,4)X(-4,4) može izračunati uf. Za formiranje Look-up tabele od interesa su celobrojne vrednosti (-4,-3,...,3,4). Dobijena Look-up tabela se unosi u program koji se izvršava u mikrokontroleru gde se koristi za realno upravljanje.
Posle opisa postupka dobijanja Look-up tabele treba uočiti gde 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 vrednosti budu (-2,2) ili (-10,10). U prvom slučaju je izbrano 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 podrazumeva grublje, a veći broj oznaka finije upra-vljanje.
  • Funkcija pripadnosti može biti različitih dimenzija i oblika: trapezoida, Gausov, trouglasti itd. U primeru je korištena funkcija pripadnosti u obliku trougla
  • BrojIF...THEN pravila je proizvoljan, u njima je sadržano zanje eksperta.

Iz navedenih primedbi se vidi gde se krije mogućnost podešavanja. Poznavanje procesa kojim se upravlja je od velike važnosti za dobro podešavanje FLC. Pre praktične primene 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.

3b17.jpg (15022 bytes)
Slika 7. Određivanje fazi upravljanja metodom težišta

Opis realnog sistema

Centralni deo 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č (grejač) 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 aktivira se na logičku ‘0’.
Grejač jačine 150W služi kao izvršni organ sa namenom da digitalni signal (PWM) pretvori u konkretnu akciju grejanja vode. Pored grejača u posudi se nalazi NTC otpornik, termometar i mešalica. Mešanje je od izuzetne važnosti, jer smanjuje kašnjenje u sistemu i obezbeđuje ravnomernu raspodelu temperature. U ovom slučaju razlika temperature između vrha i dna posude iznosi 0.2 o C, što se može smatrati vrlo dobrim rezultatom. NTC otpornik služi kao merni instrument čija je namena da daje informaciju o trenutnoj vrednosti temperature.

3b18.gif (2904 bytes)
Slika 8. Zavisnost otpora od temperature NTC otpornika

Za merenje 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 promene temperature menja i svoju otpornost. Promena može biti pozitivna, gde se otpornost povećava sa porastom temperature i negativna gde se otpornost smanjuje, kako se temperatura povećava. U ovom slučaju na 0 o C otpornost je 165.642K a na 25 o C ( koja im je ujedno i referentna) 47K. Inače, oznaka 47K označava vrednosti otpora na referentnoj temperaturi.

3b19.jpg (3456 bytes)
Slika 9. AD konverzija i realno upravljanje

Zavisnost otpornosti se može i matematički opisati kao:

R=RO exp(b/T)

je RO konstanta koja zavisi od materijala i dimenzija otpornika, b je koeficijent temperaturne osetljivosti i T je temperatura (K). Promenom temperature menja 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 primeru 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 o C što je u merenju temperature najčešći slučaj. Upotrebom kvalitetnijih mernih pretvarača i AD konvertora veće rezolucije, mogu se postići bolji rezuiltati ali sa neproporcionalnim troškovima.

3b110.jpg (16801 bytes)

Slika 10. Dijagram toka programa

Dijagram toka programa

Postupak upravljanja je sledeći: zadana je referentna vrednost, a u periodičnim vremenskim intervalima (perioda odabiranja je ovde 4 sekunde) se prima digitalizovana informacija o trenutnoj vrednosti temperature. Nakon toga izračunava se greška i promena greške na osnovu kojih (prethodno fazificirane) se iz Look-up tabele, očita fazifikovana vrednost upravljanja (od 0 do 4) koja se zatim defazifikuje i kao takva predstavlja vremenski interval u kome je grejač uključen. Zadatak mikrokontrolera je da obezbedi da grejač bude uključen onoliko dugo koliko je izračunato. Na Slici 10. prikazan je blok dijagram za opisani sistem upravljanja.

Algoritam upravljanja se nalazi u interapt rutini koja se aktivira svakih 16.384 ms. Da bi se podesila perioda odabiranja od 4 s potrebno je približno 244 RTI prekida. Kada se izračuna vreme rada grejača (0<TIME_ON<4) potrebno je obezbediti isključenje grejača nakon isteka tog vremenskog intervala čime se generiše PWM signal sa periodom 4 s 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 promenljive korišćene u programu i inicijalizuje Look-up tabela.

Listing 2 - fazi2.c
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 vreme uključenja grejača. U periodu od 4 sekunde ulazi se 244 puta u interapt rutinu i svaki put se očita vrednosti sa AD konvertora. Njihov ukupan zbir (PRIV) se po isteku 4 s deli sa brojem 244 čime se dobija veoma ujednačeno očitavanje temperature. Računanjem srednje vrednosti dobijaju se pouzdaniji rezultati i umanjuje se uticaj šuma.

Listing 3 - fazi3.c
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 delu se inicijalizuju promenljive koje se pojavljuju u programu, SPI komunikacija i RTI interapt. U beskonačnoj petlji se nalaze samo dve funkcije, prva vrši konverziju vrednosti temperature iz binarnog u decimalni oblik (potreban za displej) i druga koja šalje decimalne cifre trenutne vrednosti temperature preko SPI komunikacije.

Komentar rezultata

Pre implementacije algoritma upravljanja na realnom sistemu izvršena je 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

gde je P=150W, snaga grejača, dt je vreme rada grejača, m=0.4 kg masa vode, c=4186J/Kg*K, specifični toplotni kapacitet vode a dT promena temperature vode usled grejanja. Nakon simulacije algoritam upravljanja je testiran na realnom sistemu.

3b113.gif (2853 bytes)
Slika 11. Simulirani odziv sistema sa Look-up tabelom

Svake 4 sekunde vrednost sa AD konvertora se smešta u deo eksternog RAM-a, a zatim se te vrednosti serijskom komunikacijom prebacuju na računar gde su rezultati obrađeni.

3b114.gif (2899 bytes)
Slika 12. Odziv realnog sistema

Poređenjem simuliranog i realnog odziva sistema, može se primetiti velik stepen saglasnosti. Razlika između simuliranog i realnog odziva nastaje usled postojanja šuma u sistemu kao i nemogućnosti da se u potpunosti simulira realan sistem.  Umesto zaključka, ponuđen je odgovor na pitanje zašto je fazi kontroler pogodan za inženjere automatike?

  • Opisuje rešenje bez kompleksnog matematičkog modela sistema.
  • Optimizuje već poznata rešenja sa namerom dobijanje jednostavnijeg i efikasnijeg krajnjeg proizvoda
  • Smanjuje cenu krajnjeg proizvoda na osnovu pojednostavljenja postupka projektovanja istog
  • Pojašnjava sistem. Sistem je razumljiviji, pogodniji za održavanje i unapredjivanje
  • Veća otpornost na greške i promene 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 primenljiv u problemima regulacije temperature, ali se ne može dati završna ocena 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).


Pročitajte više o ovoj temi
Temperatura je Fazi

C o p y r i g h t  1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji