Primjena mikrokontrolera u kontroli garaznih vrata

Page 1

PRIMENA MIKROKONTROLERA U KONTROLI GARAŽNIH VRATA

-

diplomski rad -


Primena mikrokontrolera u kontroli garažnih vrata

IZVOD U diplomskom radu je predstavljen sistem SAG (Smart Automatic Gate). Sistem se bazira na primeni mikrokontrolera PIC18F452 i namenjen je za kontrolu garažnih vrata, dvorišne kapije ili rampe, sa mogućnošću praćenja broja prolazaka vozila. Po potrebi, moguć je rad u sprezi sa računarom. Predviđeno je da sistem bude potpuno autonoman što znači da može samostalno da radi nakon postavljanja u radno okruženje, što je evidentna prednost u odnosu na slične komercijalno raspoložive uređaje. Opisani su algoritam rada uređaja, način korišćenja i mogućnosti koje pruža.

ABSTRACT SAG (Smart Automatic Gate) is sistem based on use of microcontroller PIC18F452 and it’s main gain is to control garage doors or ramp and to count the number of cars who passed t hrough it. Number of passed vehicles, if needed, can be posted to a PC. Sistem is completely self-governed, which means that all work is done just by switching it on, with no longer need of man involvment witch is it’s main difference from other similar solutions. Working algorithm is described as well as the way of use and abilities that this system can offer.

2


Primena mikrokontrolera u kontroli garažnih vrata

SADRŽAJ 1.

UVOD................................................................................................................................. 1

2.

ANALIZA PROBLEMA.................................................................................................................. 2

3. MIKROKONTROLER......................................................................................................3 4. OPIS SOFTVERSKOG REŠENjA...................................................................................................5

4.1. MPSIM SIMULATOR................................................................................................6 4.2. BOOTSTRAP LOADER...............................................................................................7 5. PROGRAM MIKROKONTROLERA.............................................................................8 5.1. OPŠTI DIJAGRAM TOKA.........................................................................................8 5.2. INICIJALIZACIJA......................................................................................................8 5.3. GLAVNA PETLjA PROGRAMA...............................................................................9 5.4. RUTINA ZA OTVARANjE........................................................................................9 5.5. RUTINA ZA ZATVARANjE....................................................................................11 5.6. SIMULACIJA POKRETA.........................................................................................13 6. ISPITIVANjE....................................................................................................................15 6.1. PROVERA FUNKCIONALNOSTI..........................................................................15 7. ZAKLjUČAK....................................................................................................................16 8. LITERATURA .................................................................................................................18 9. PRILOG.............................................................................................................................19 9.1 ČETVOROKANALNI RADIO PRIJEMNIK..............................................................19 9.2 IZRADA ŠTAMPANIH VEZA....................................................................................20 9.3 SPECIFIKACIJA MATERIJALA...............................................................................20

3


1. UVOD Na tržištu se mogu naći razni modeli sistema za daljinsku kontrolu garažnih vrata,kapija ili rampi, od čega je mali broj njih potpuno autonoman. Uređaj, obrađen u ovom radu,nastao je iz potrebe da se u skladu sa razvojem tehnike i tehnologije osavremene postojeća rešenja u cilju ispunjenja sve većih zahteva korisnika. Realizovani sistem prepoznaje prisustvo određenog vozila i na osnovu toga izvrši programom predviđene radnje. Centralni deo ovog sistema predstavlja mikrokonroler čiji je zadatak kontrola i upravljanje ostalim modulima sistema. Pored mikrokontrolera važnu ulogu predstavlja i četvorokanalna radio. Kontrola čiji se jedan deo (predajnik) nalazi u vozilu, dok se drugi deo (prijemnik) nalazi na samom uređaju. Preda nik je vezan za kontakt bravu vozila. U slučaju da je vozilo ugašeno ili je van dometa sistema, nema prijema signala. Time je omogućena automatska indikacija odsustva ili parkiranja vozila. Po registrovanju signala na prijemniku, dolaskom vozila u domet ili paljenjem vozila koje je već u dometu, mikrokontroler omogućava

izvršenje radnji definisanih funkcijom uređaja.

Sastavni deo uređaja je i Infra Red (IR) senzor, koji se sastoji od uparenih IR diode Kao predajnika sa jedne strane i fototranzistora kao prijemnika sa

druge.

Ovaj senzor postavlja se na sama garažna vrata. IR dioda neprekidno šalje povorku impulsa ka tranzistoru koji registruje prekide u kontinuitetu slanja signala usled prolaska vozila, i prosleđuje ih k mikrokontroleru koji upravlja periferijom (ponovno otvaranje ili zaustavljanje vrata). Takođe, mikrokontroler registruje i broj vozila koja su prošla Je zanimljivo u slučaju

korišćenja uređaja pri

kroz garažna vrata, što

javnim garažama ili drugim mestima

gde

je taj podatak od značaja. U cilju kompleksnije

obrade podataka

i arhiviranja obezbeđena je sprega sa računarom.

Rad uređaja prati i svetlosna signalizacija koja se sastoji od

dve sijalice, crvene koja

signalizira zatvaranje i zelene koja signalizira otvaranje. Pri zatvaranju, u slučaju kada je Signal na IR senz ru prekinut i vrata se zaustave, aktiviraju se i crvena i zelena sijalica.


Primena mikrokontrolera u kontroli garažnih vrata

Sistem SAG je projektovan da zadovolji zahteve pojedinačnih korisnika tj. fizičkih lica, kao i manjih preduzeća. Jednostavna izrada, mala potrošnja, visoka pouzdanost, lakoća i fleksibilnost upotrebe kao i niska cena izrade omogućavaju da uređaj bude konkurentan na tržištu i po kvalitetu i po ceni, čime je dostupan pojedinačnom korisniku koji je i ciljna grupa ovog sistema.

2. ANALIZA PROBLEMA Zadatak je napraviti sistem za automatsku kontrolu garažnih vrata, sa opcijom registrovanja, odnosno memorisanja broja prolazaka vozila. Sistem je sastavljen od nekoliko celina koje čine: mikrokontroler, IR senzor, svetlosna idikacija režima rada, DC motor i Interfejs za spregu sa računarom. Glavni problem predstavlja implementacija Mikrokontrolera u sistem, koji ima ulogu obrade podataka, komunikacije

sa računarom i upravljanja celim sistemom.

Realizovana serijska komunikacija sa računarom omogućava prikaz podataka na računaru bez specifične aplikacije rađene za ovu primenu. Koristi se standardni softver za emulaciju terminala. Komanda kojom se izdaje zahtev za uvid u merenje izdaje se sa tastature računara. Potrebno je obezbediti zadovoljavajuće brzo reagovanje sistema pri registrovanju promena u radnom okruženju i brzo odlučivanje pri izboru postupaka kao reakcija sistema na te promene. Neke od situacija su obustavljanje zatvaranja vrata pri pojavi prepreke na samim vratima ili brzo otvaranje vrata pri prilasku vozila, kako korisnik ne bi morao da čeka.

5


Primena mikrokontrolera u kontroli garaĹžnih vrata

Slika 1. Blok ťema uređaja

6


Primena mikrokontrolera u kontroli garažnih vrata

3. MIKROKONTROLER Mikrokontroler je integrisano kolo koje se sastoji iz CPU, RAM, ROM, U/I portova,tajmera tj.brojača i predstavljaupravljački deo realizovanog SAG sistema. Odlikuje se veoma dobrim karakteristikama u pogledu raspoložive memorije i velikog broja instrukcija kojima se može ostvariti znatan broj kompleksnih radnji. Može se nabaviti po pristupačnim cenama zbog čega se sve češće koristi ne samo u profesionalnim već i u kućnim uređajima, računarima, automobilima, uređajima za industrijsku kontrolu i slično. Izabran je 8-bitni PIC18F452 u DIP 40 (Duall In Parallel) kućištu firme Microchip. Ovaj mikrokontroler pruža znatno više mogućnosti nego što je potrebno u ovom projektu, a izabran je da bi se omogućio dalji razvoj uređaja. Na slici 2. se vidi izgled mikrokontrlera 18F452 sa rasporedom pinova.

Slika 2. Izgled mikrokontrolera PIC18F452

Na tržištu se mogu naći mikrokontroleri RISC (Reduced Instruction Set Computer ) i CISC 7


Primena mikrokontrolera u kontroli garažnih vrata

(Complex Instruction Set Computer ) arhitekture, od kojih je ova prva diminantnija. Kod mikrokontrolera izrađenog u RISC arhitekturi, jedna instrukcija se koduje u set binarnih brojeva pa je i vreme njihovog izvršenja malo, jer se jedna instrukcija izvršava uglavnom u jednom mašinskom ciklusu. PIC18F452 je savremen mikrokontroler sa velikim memorijskim prostorom od 32KB i velikim brojem U/I linija. Realizovan je u CMOS (Complementary Metal Oxide Semiconductor) tehnologiji. Kod CMOS tehnologije, potrošnja je primetljiva samo pri prelasku iz stanja logičke nule u stanje logičkejedinice, ili obrnuto pa zahvaljujući tome mikrokontroler ima malu potrošnju. Takođe, mikrokontroler urađen u ovoj tehnologiji je otporan na impulsne smetnje po U/I linijama i po napajanju. Mogućnosti ovog mikrokontrolera su veće od zahtevanih, što pruža odlične uslove za kasnije unapređenje i nadogradnju uređajau smislu dadatnih funkcija za kojima se bude ukazala potreba. Da bi mikrokontroler

mogao da izvršava predviđene zadatke, potrebno je da se programira,

odnosno da se u njegovu memoriju upiše odgovarajući program. Na tržištu je moguće pronaći veći broj hardverski realizovanih programatora sa različitim načinom rada, ali u ovom projektu korišćen je Bootstrap loader, program koji omogućava programiranje mikrokontrolera bez upotrebe pomenutih hardvera za programiranje. Ovaj mikrokontroler poseduje pet U/I portova od kojih su u ovoj realizaciji iskorišćena samo tri 8-bitna porta: PORTB, PORTC, PORTD. PORTB ima višenamensku ulogu u ovom uređaju. Iskorišćena je mogućnost pinova RB4-RB7 da reaguju na promenu stanja što nam omogućava da u zavisnosti od radio kontrole znamo da li vrata treba da se otvore ili zatvore. skorišćen za pokretanje motora u smeru zatvaranja vrata.

Preko pina RB2

Pin

RB1

je

se kontroliše

signalizacija otvaranja vrata (zelena svetlosna signalizacija).Pinovi RB0, RB3, RB4 i RB5 korišćeni su za potrebe interfejsa za spregu sa računarom ( TxD – Transmit Data, RTS – Request To Send, RxD – Read Data, CTS – Clear To Send ).

PORTC nije potpuno iskorišćen na ovom nivou složenosti uređaja, štoostavlja prostora za kasnije 8


Primena mikrokontrolera u kontroli garažnih vrata

usavršavanje i nadogradnju uređaja. Pin RC7 je signal

indikacije zatvaranja vrata

(crvena

svetlosna signalizacija). Preko pina RC6 je izvedenoupravljanje motorom u smeru otvaranja vrata. IR senzor je povezan sa mikrokontrolerom preko pina RC5. Pinovi RC0, RC1, RC2, RC3 i RC4 za sada nisu korišćeni. PORTD je u potpunosti iskorišćen

za

potrebe

funkcionalnosti uređaja u laboratorijskim uslovima. Svi pinovi ovog porta

se

demonstriranja koriste

za

simulaciju trenutnog položaja vrata, tako što na određeni način kontrolišu po jednu LED diodu. Kada sijaju sve diode onda su u simulaciji vrata potpuno zatvorena, a kada su sve diode ugašene onda su vrata potpuno otvorena. Paljenjem ili gašenjem redom susednih dioda stiče se utisak kontinualnog

kretanja

vrata. Simulacija je urađena za potrebe ispitivanja i

demonstracije rada uređaja u laboratorijskim uslovima.

Slika 3. Izgled simulacionih dioda

9


Primena mikrokontrolera u kontroli garažnih vrata

4. OPIS SOFTVERSKOG REŠENjA Pisanje aplikacija za mikrokontroler podjednako je važno koliko i samo projektovanje sistema. Uspešnost programiranja zavisi od umešnosti programera dok je softver taj koji programeru služi kao alat da uz pomoć njega izvlači maksimum iz ponuđenog hardvera a i da odredi njegovu konačnu funkcionalnost. Za pisanje i testiranje aplikacija u okviru određenog projekta, namenjenih za

rad

sa

Mikrokontrolerima serije PIC, korišćen je softverski paket MPLAB IDE 7.50 (MpLab Inegrated Development Enviroment – integrisano razvojno okruženje), koji je ponudio proizvođač Microchip. MPLAB olakšava pisanje i razvoj programa jer je napisani program pregledan a tu je i dobro dokumentovani HELP. Iz pomenutih razloga paket je korišćen pri izradi ovog projekta.

Slika 4. Matlab

10


Primena mikrokontrolera u kontroli garažnih vrata

MPLAB se sastoji iz nekoliko celina, a osnovne i najbitnije opcije koje se koriste za izradu softvera kojim će se kasnije programirati mikrokontroler su : -

grupisanje datoteka istog projekta u jednu celinu tj. kreiranje projekta

-

generisanje programa i njegova obrada

-

dibagovanje i simulacija

napisanog programa čime se simulira njegov rad

na mikrokontroleru Editor Prilikom

za generisanje programa je prilagođen

ispisa instrukcije

potrebama korisnika MpLab-a.

koja postoji u registru mikrokontrolera

ista se ispisuje

plavom bojom kako bi se dalo do znanja da je validna. Moguće je i dodavati komentare u instrukcijskom

kodu radi lakšeg snalaženja pri kasnijem pregledu i razumevanjukoda.

Komentari su obojeni zelenom bojom. Zahvaljujući različito

obojenim delovima teksta

editora, napisani kod je veoma pregledan čak i na prvi pogled. Datoteka koja sadrži fajlove jedinstvene za jedan projekat kojima se on definiše sastoji se iz sledećih najvažnijih vrsta fajlova: constants, variables, subroutines, header, init, reset, isrh, isrl, text, options i SAG (glavni kod - program). Minimalni zahtevi za pokretanje MPLAB-a su: -

PC računar u klasi 486 ili višoj

-

Microsoft Windows 95 i novije verzije operativnih sistema

-

VGA grafička kartica

-

32 MB operativne memorije

11


Primena mikrokontrolera u kontroli garažnih vrata

4.1 MPSIM simulator Simulator

je deo MPLAB okruženja

koji obezbećuje bolji

uvid u sam rad

mikrokontrolera. Pomoću njegase moguproveriti funkcionalnost programskog pratiti

trenutne vrednosti promenljivih, registara

Postavljanjem kontrolnih koda. Simulator

koda kao i

kao i stanja pinova na portovima.

tačaka – breakpoints, moguće je proveravati delove programskog

je od naročite

pomoći kod pisanja složenijih

programa koji u sebi

uključuju tajmere, razne uslove pri kojima se nešto dešava ili kod testiranja matematičkih operacija. Kako mikrokontroler

naredbe izvršava

jednu po jednu, tako se i programer

pomoću simulatora kroz napisani program može kretati korak po korak i tako pratiti šta se dešava sa podacima i sistemom nakon svake izvršene

instrukcije.

Kada se u toku

simulacije ne otkriju greške i programer je zadovoljan napisanim kodom, može se program putem nekog PIC programatora preneti u memoriju mikrokontrolera. Programiranje je moguće na više jezika, kao što su asembler, bejzik ili programski jezik S. Programi u S-u se lakše pišu i

jednostavni su za razumevanje. Bejzik je najlakši

programski jezik za učenje, a njegovenaredbe su najbliže ljudskom razmišljanju. Međutim, programski jezik asembler pruža najbolja rešenja sa stanovništva veličine

brzine izvršavanja i

programa. Programi u asembleru se sporije programiraju ali zauzimaju najmanje

mesta u memoriji i omogućavaju programerima da,ukoliko su vični, više na inžinjerski nego na programerski način nađu rešenje nekog problema, zbog čega su i najzastupljeniji pri programiranju mikrokontrolera. Iz pomenutih razloga je za programiranje mikrokontrolera u o vom projektu izabran asemblerski programski jezik.

4.2 Bootstrap loader Bootstrap loader1je

program koji omogućava programiranje mikrokontrolera

upotrebe programatora tj. hardvera za programiranje. Program, za svoj rad, koristi pina mikrokontrolera

koji se povezuju na COM port

programiranja, ovi pinovi se mogu koristiti u

bez

četiri

računara. Nakon izvršenog

osnovnom programu kojeg piše programer a

koji se unosi u mikrokontroler putem ovog Bootstrap loader-a. U pitanju su pinovi RB0, RB3, RB4 i RB5. 12


Primena mikrokontrolera u kontroli garažnih vrata

Bootstrap loader počinje na reset2vektoru

i izvršava se nakon svakog resetovanja

mikrokontrolera. Program prvo proverava da li postoje uslovi za upis novog firmvera. Ako uslovi nisu zadovoljeni dolazi do skoka na adresu 1000(hex), gde počinje glavni program. Postoje dva uslova koja određuju da li će se upisivatai postojanje specijalnog

novi firmver. Prvi uslov je

adapter kabla na kojem su spojeni pinovi RTS3i CTS4na

mikrokontroleru. Drugi uslov je da PC pošalje neki, bilo koji, karakter u prvih 100ms, po uključenju mikrokontrolera. Mikrokontroler odmah po izlasku iz reseta aktivira dolazi na CTS liniju PC-ja. Time

svoju RTS liniju. Ovaj signal

se daje dozvola za slanje podatakai čeka se do 100ms za

prijem kontrolnog karaktera. Ako je karaktr primljen pre isteka 100ms, mikrokontroler čeka unos lozinke. Posle uspešne provere lozinkemože se vršiti prenos novog firmvera. U toku upisa programa mikrokontroler povremeno deaktivira RTS liniju, čime se obezbeđuju pauze potrebne za upis programa u memoriju. Sa strane PC-ja za slanje podataka se koristi terminal emulator podešen za hardverski handshaking5. S obzirom da ne postoji sinhrinizacioni

takt između dva uređaja brzina prenosa

mora biti usklađena. U projektu su U projektu su bootstrap loader i COM port PC-ja podešeni zua komunikaciju brzinom 115200 bita po sekundi, bitova parnosti. Novi firmver

sa jednim stop bitom i bez korišćenja

se upisuje od adrese 1000(hex). Na interrapt vektorima

mikrokontrolera (0x0008 i 0x0018)

se nalaze instrukcije

bezuslovnog skoka ka adresama

1008(hex), odnosno 1018(hex). To to znači da se ulazak u prekid odlaže dva takta, i ovo kašnjenje se mora uzeti u obzir kada je brzina servisiranjaprekida od značaja.6

5. PROGRAM MIKROKONTROLERA 13


Primena mikrokontrolera u kontroli garažnih vrata

5.1 Opšti dijagram toka Na slici je dat opšti dijagram toka izvršenja programa.

Bootstrap loader

INICIJALIZACIJA

PREKID LED SIMULACIJA

PRIJEMNIK

1

KONEKCIJA SA PC-OM

Zatvaranje

Slika 5. Opšti dijagram toka

14

0

Otvaranje


5.2. Inicijalizacija Po uključenju ili resetu uređaja, prvo se vrši inicijalizacija. To znači definisanje portova mikrokontrolera

za početno stanje, odabir koji od pinova će biti

izlazni kao i definisanje

ulazni a koji

početnih logičkih stanja pinova (logička 0 ili 1).

Takođe, u

inicijalizaciji, dozvoljava se globalni prekid (interrupt) i iskorišćena je mogućnost da se postavi prioritet na prekid pri promeni stanja pinova PORTB, od pina PORTB,4 do pina PORTB,7. Definiše se početna vrednost svih brojača koji će se koristiti, a ta vrednost je nula. Za potrebe testiranja i demonstracije rada uređaja, koristi se poseban brojač čija je uloga da u toku programa stalno prati položaj vrata. Pomoću njega se zna da li su vrata otvorena ili zatvorena ili koliko je tačno otvorena. Program je tako pisan da ovaj brojač ne može imati vrednost veću od inicijalne, za koju je usvojeno da predstavlja potpuno otvorena vrata. Kada ovaj brojač ima vrednost nula, to će se programom manifestovati

potpuno

zatvorenim vratima. Inicijalna vrednost ovog brojača je osam. Razlog zašto je baš taj broj izabran leži iskorišćen

u broju pinova jednog izabranog porta koji je u ovoj verziji za simuliranje kretanja i položaja vrata.

programa

U pitanju je PORTD. Simuliranje je

izvedeno tako što ovaj port kontroliše LED diode, što će biti naknadno objašnjeno.

5.3 Glavna petlja programa Posle inicijalizacije, simulira se trenutni položaj vrata preko LED dioda. Nakon toga, program čeka interapt i vrti se u petlji u kojoj je moguća komunikacija sa računarom. U memoriji se sada nalazi inicijalni broj

vozila koja su prošla

čuva podatak o stvarnom broju vozila koja su prošla. proslediti na PC pritiskom na

kroz vrata, a kasnije se tu

Taj broj je moguđe, po želji,

određeni taster na tastaturi računara. U ovom slučaju to je

taster “t”.

Program se, dakle, vrti u ovoj petlji sve dok

ne usledi prekid. Prekid će se desiti

ukoliko dođe do promene stanja na pinovima RB7 ili RB6. Promenu stanja na pinu RB6 može da prouzrokuje samo prekid IR signala. Do promene stanja na pinu RB7 doći će ukoliko dođe


do promene signala koji prima prijemni

deo uređaja, što je ekvivalentno udaljavanju ili

prilasku vozila objektu. Kada nastupi prekid, mikrokontroler proverava uzrok njegovognastanka i skače na odgovarajuću rutinu. Nakon izvršenja izabrane rutine, mikrokontroler se vraća u izvršenje glavnog koda programa, tj. komunikacije sa računarom i čekanje novog prekida. Dat je deo koda glavnog programa – main, koji registruje da li je pritisnit neki taster i da li je to taster “t”. Ukoliko jeste pritisnut validan taster, pozivaju se rutine za prenos broja vozila na računar.

Prijem_T call xorlw bnz movf rcall rcall bra

Prijem 't' $-6 counter_viakl,W Hex2Asc Predaja Prijem_T

Po prekidu mikrokontroler izvršava rutine za otvaranje ili zatvaranje vrata.

5.4 Rutina za otvaranje Predajni deo sistema (predajnik) nalazi se u vozilu i povezan je preko kontakt brave na akomulator vozila. Time je rešeno da predajnik konstantno šalje

signal ka prijemniku

samo kada je vozilo upaljeno. Da bi prijemnik registrovao poruku potrebno je da predajnik emituje i da udaljenosti bude manjaod dvadeset metara od samogurećaja, koliko iznosi

i


domet predajnika. Kada, na neki način, urećaj uoči prisustvo vozila, bilo ulaskom vozila u domet ili paljenjem vozila koje je već u

dometu, mikrokontroler prima signal o prisustvu

vozila i shodno tome započinje rutinu za otvaranje vrata. Prema dijagramu toka rutine za otvaranje, datog na slici 5.3.1., smeru otvaranja vrata kako bi se oslobodio put vozilu koje prilazi njega. Otvaranje vrata

prati

odgovarajuća svetlosna

pokreće se motor u objektu ili izlazi

signalizacija

iz

koju predstavlja

naizmenično paljenje i gašenje zelenog svetla. Nakon toga se izvršava petlja za kašnjenje. Kašnjenje je uvedeno jer je uzeto u obzir da će se uređaj koristiti

i u zimskim

uslovima kada korisnici sa starijim vozilima imaju problema pri startovanju i vozilima sa dizel motorom. Problem nastaje kada se vozilo nekoliko puta neuspešno startuje u kratkom vremenskom intervalu,

što je direktan uzročnik brzih promena signala na prijemniku

sistema. Da ne bi u tom slučaju došlo do

naglog i učestalog skakanja uređaja iz režima za

zatvaranje u režim za otvaranje, ili obrnuto, uvedeno je pomenuto kašnjenje čija je uloga da se da vremena da se stabilizuje rad vozila. Dijagram toka rutine za otvaranje vrata dat je na slici 6.


Slika 6. Dijagram toka rutine za otvaranje


Od ovog trenutka, pa sve dok se vrata potpuno ne otvore, mikrokontroler je u stanju da registruje prekide. Pri registrovanju prekida

mikrokontroler proverava uzrok njegovog

nastanka i skače na odgovarajuću rutinu. Ukoliko je uzrok nastanka ovog prekida promena signala koji šalje predajnik iz vozila, mikrokontroler skače na rutinu za zatvaranje. U ovom trenutku je odabrana rutina za zatvaranje jer se nestajanje signala na prijemniku može objasniti time da se vozilo udaljilo van dometa sistema ili se korisnik predomislioi ugasio vozilo. Po izvršenoj rutini za otvaranje, program se vraća u glavnu petlju. Dat je deo koda rutine za zatvaranje vrata.

;ponovo dozvoljavanje prekida, kako bi mogao da se registruje ponovni interupt bsf INTCON,GIE ;motor_plus na 5V, motor_minus na 0V - smer otvaranja bcf PORTC,6 bsf PORTB,1 Loop_otvaranje bcf rcall rcall decf bsf call tstfsz bra rcall

PORTB,2

Wait1s Simulacija loop_counter0 PORTB,2 Wait1s loop_counter0 Loop_otvaranje Simulacija

;motor_plus na 0V, motor_minus na 0V - stop motora; gasenje zelene diode bsf PORTB,2 bsf PORTC,6 bsf

PORTB,1


5.5 Rutina za zatvaranje Prilikom

gašenja vozila ili

izlaska istog van dometa predajnika, prijemnik gubi

signal sa predajnika i pristupa se zatvaranju vrata. Pri zatvaranju, najvažnije je izbeći situacije

u kojima može doći do bilo kakvog ugrožavanja korisnika tj. prolaznika kroz

vrata, vozila ili samog uređaja.

To je postignuto detaljnim

proverama okruženja u kome se

nalazi uređaj i davanjem uočljivih svetlosnih signala pre pokretanja vrata. Kao što mikrokontroler

se vidi

iz dijagrama toka izvršenja

izvršava u ovoj rutini

rutine

za zatvaranje, prvo što

je davanje jasno uočljive svetlosne signalizacije

korišćenjem trepćućeg crvenog svetla. Sledi izvršenje petlje za kašnjenje od 3 sekunde kako bi se dalo vremena eventualnoj prepreci da se skloni. Po isteku kašnjenja, mikrokontroler proverava IR senzor kako bi se uverio da nema prepreke na putu zatvaranja vrata. U slučaju da postoji prepreka, mikrokontroler se vraća na petlju za kašnjenje, a nakon toga na ponovnu proveru da li je slobodano izvršiti zatvaranje. Ukoliko je put zatvaranja slobodan, pokreće se motor u smeru zatvaranja vrata. Motor se neće zaustaviti

sve dok se ne pojavi neka

prepreka ili dok se vrata ne zatvore u potpunosti.

Dijagram toka izvršenja rutine za zatvaranje vrata dat je na slici 7.


Slika 7. Dijagram toka rutine za zatvaranje

Dok traje zatvaranje, mikrokontroleru Interapte prijemniku

je omogućeno da reaguje na interapte.

mogu prouzrokovati prekidi IR senzora ili ponovna pojava uređaja. Pri

pojavi prekida,

mikrokontroler

momentalno zaustavlja motor, a potom to i signalizira

signala sa vozila

na

iz bezbednosnih razloga

trepćućim zelenim i crvenim

svetlom. Zatim se analizira uzrok prekida.

Ukoliko je uzrok prekida pojava signala sa vozila, mikrokontroler izvršava rutinu za otvaranje. U slučaju da je prekid nastao zbog gubitka signala sa IR senzora, program se vraća na početak rutine za zatvaranje i to kod petlje za kašnjenje, nakon koje sledi provera stanja IR senzora. Dalje, rutina za zatvaranje se izvršava svojim normalnim tokom, pri čemu je omogućeno ponovno registrovanje prekida. Nakon potpunog zatvaranja vrata program se


vraća na glavni kod.


U slučaju da je prekid nastao usled presečenog zraka IR senzora, mikrokontroler momentalno obustavlja rad motora koji pokreće vrata. S trenutku položaj vrata, može se odlučiti

obzirom da je sistem zna u svakom

da li je dovoljno samo sačekati da se prepreka

ukloni, ili je potrebno čak otvoriti vrata ponovo i sačekati da se prepreka ukloni. Ovakav algoritam je primenjen jer nije potrebno potpuno otvaranje vrata pri svakom prekidu zraka IR senzora. Ukoliko su pri zatvaranju vrata prešla više od polovine puta (radi se o garažnim vratima užim od dve širine vozila), dovoljno je samo stati i sačekati da se ukloni prepreka pa potom nastaviti

zatvaranje, jer prekid zraka senzora nije moglo da izazove vozilo. To

znači da nije postojala želja da se ponovo prođe vozilom kroz vrata pa nema potrebe otvarati ih ponovo do kraja. U slučaju da je prekinut zrak IR senzora pre pređene polovine puta vrata, vrata se vraćaju u otvoreni položaj jer je prekid zraka IR senzora mogao biti vozilom, a i nije potrebno dugo vremena da se vrata vrate u potpuno otvoren položaj. Odluka ;konstanta c_pola predstavlja plovinu puta koji kapija prelazi movlw c_pola ;Ako se kapija zatvorila preko pola, samo stani i sacekaj pa nastavi zatvaranje cpfsgt loop_counter0 ;Ako se kapija zatvorila manje od pola, otvori je bra Reopen

izazvan


5.6 Simulacija pokreta

Za potrebe ispitivanja i

demonstracije funkcionalnosti uređaja

uslovima, kao što je navedeno, iskorišćen

u laboratorijskim

je jedan slobodni port mikrokontrolera.

simuliranje pokreta i položaja vrata u potpunosti je iskorišćen PORTD. porta koriste se za simulaciju trenutnog položaja vrata tako što kontrolišu gašenje LED dioda. Napravljen je interni

Za

Pinovi ovog paljenje i

brojač loop_counter0 čija se trenutna vrednost

prepisuje u adresu table pointer-a koji pokazuje na odrećeno mesto u tabeli koje sadrži informaciju

koja stanja treba da imaju pinovi PORTD, odnosno koja dioda treba da sija a

koja ne. Sprega je napravljena tako da se dekrementiranjem ili

inkrementiranjem brojača

loop_counter0 pale ili gase redom susedne diode i tako stiče utisak kontinualnog kretanja vrata. Obzirom da PORTD ima osam pinova, maksimalna vrednost koju brojač loop_counter0 može da ima je osam.

Slika 8. Šema veza simulacionih dioda

Posle svakog dekrementa ili inkrementa loop_counter-a, odrađuje se Wait_1s petlja kako bi se posmatraču dalo dovoljno vremena da uoči simulirano pokretanje vrata.



Tabela DB DB DB

B'11111111' , B'01111111' , B'00111111' , B'00011111' B'00001111' , B'00000111' , B'00000011' , B'00000001' B'00000000'

TabelaEnd Slika 8. Tabela za simulaciju

6. ISPITIVANjE

Izrazita specifičnost i način upotrebe samog uređaja ne omogućavaju merenja napona i ukupne potrošnje struje pri izvođenju određenih radnji. Osnovni problem je taj što

je

uređaj projektovan da radi van objekta gde je izložen svim vremenskim uslovima pa bi na merenja uticali faktori kao što su promena temperature, vlažnosti vazduha,... . Ispitivanja koje je bilo moguće obaviti, obavljena su u Centru za razvoj i unapređenje obrazovanja CER u okviru Više

elektrotehničke

škole

u Beogradu. Ispitivanja

se odnose na proveru

funkcionalnosti sistema u celini kao i proveru performansi svake funkcionalne celine uređaja ponaosob.

6.1 Provera funkcionalnosti

Provera funkcionalnosti

je vršena u laboratorijskim

uslovima. Umesto upotrebe

motora, koji će biti sastavni deo ugrađenog uređaja, napravljena je maketa elektro motora sa prenosom snage na upravljani objekat. Napajanje motora je eksterno što će biti

slučaj i u

realnim uslovima. U proveru funkcionalnosti i performansi uključen je uređaj REC – 43, alarmni sistem sa daljinskom kontrolom, kome je radi provere izmeren i domet signala. Domet iznosi kataloških 20 metara.

Mikrokontroler, po prijemu signala, pokreće sistem za otvaranje

vrata upravljanjem

elektro relejima kojima određuje smer okretanja motora. Kao što je i predviđeno, zelena


svetlosna signalizacija

prati

celu sekvencu otvaranja svojim paljenjem i gašenjem u

intervalima od jedne sekunde. Prilikom simuliranja situacije iznenadnog gubitka signala na prijemniku, uređaj blagovremeno reaguje i zatvara vrata uz aktiviranje i praćenje IR senzora koji detektuje da li se nešto nalazi na njoj. Situaciju prati simulacija LED dioda. Pri svakom otvaranju vrata aktivira

se IR senzor koji, kada bude presečen signal, broji

vozila koja su u tom momentu ušla ili

izašla

kroz prolaz. Pritiskom

na taster”t” na

tastaturi računara, ukupan broj vozila koja su prošla kroz vratau se prenosi na računar i taj podatak je vidljiv na ekranu. U situaciji

kada nema signala sa vozila, mikrokontroler

svakom zatvaranju, mikrokontroler senzora koji obaveštava

stalno vrši

pokreće zatvaranje. Pri

kontrolu i detektuje prekide zraka IR

sistem o isceniranim

preprekama, kako bi

se izvršilo

blagovremeno zaustavljanje u slučaju pojave prepreka. Ukoliko se u toku zatvaranja signal na senzoru izgubio, vrši

se provera položaja vrata. Ukoliko su vrata prešla

pola puta

prilikom zatvaranja, zaustavlja se gde se našla uz signalizaciju obe zelene i crvene sijalice istovremenim treperenjem. U slučaju da vrata nisu prešla otvaranje uz pratnju zelene svetlosne signalizacije.

pola puta, pokreće se ponovno

Kada se signal na senzoru ponovo

uspostavi nastavlja se proces zatvaranja. Jedini faktor koji ometa normalan rad uređaja jeste nestanak električne

struje u

mreži tj. nestanak napajanja uređaja. U tom slučaju, preostaje samo manuelno otvaranje i zatvaranje vrata. U svim ostalim

slučajevima, uređaj je zadovoljio izvršenjem svih

predviđenih funkcionalnih zadataka.

7. ZAKLjUČAK

Realizovani uređaj SAG projektovan je da zadovolji zahteve pojedinačnih korisnika i manjih preduzeća. Postavljeni

projektni

zadaci su definisani

tako da uređaj svojom


funkcionalnošću i karakteristikama odgovara sadašnjim potrebama korisnika ali i da se istovremeno omoguće modifikacije i unapređenja. Po izradi i ispitivanju uređaja, došlo se do zaključka da su ispunjeni svi zadaci koji su na početku postavljeni. U toku razvoja i izrade uređaja uočeno je da je moguće uraditi nekoliko modifikacija u cilju poboljšanja njegovefunkcionalnosti.

Jedan od primera bio bi i dodavanje RTC-a

(Real Time Clock) kojim bi se moglo kontrolisati dozvoljena upotreba vrata, što bi bilo

u kojim vremenskim intervalima

je

pogodno za preduzeća koja imaju definisano radno

vreme. Ugradnjomjoš jednog para IR senzora dobila bi se mogućnost prepoznavanja da li vozilo ulazi ili

izlazi iz objekta, tako što bi se registrovalo

koji od senzora je prvi

presečen. Time bi se mogla registrovati tačna vremena ulaska i izlaska vozila iz objekta. Jednostavna konstrukcija ovog uređaja, visoka pouzdanost u radu, mala potrošnja, lakoća i fleksibilnost

upotrebe kao i niska cena izrade omogućavajuda uređaj bude

konkurentan na tržištu i po kvalitetu i po ceni, čime je dostupan pojedinačnom korisniku koji je i ciljna grupa ovog sistema.

8. LITERATURA 1. Ivan Jovičić , “Daljinsko upravljanje garažnim vratima”, diplomski rad na VETŠ 2. Microchip PIC 18F452 Data Sheet 3. http://www.microchip.com 4. CA3140e Data Sheet 5. http://www.omega.com


6. http://www.caralarm.com 7. M74HC4049 Data Sheet 9. F3611 – 05 Data Sheet


9. PRILOG 9.1 Četvoro kanalni radio-prijemnik

Za slanje signala iz vozila prema osnovnoj ploči korišćeno je već postojeće rešenje za slanje i primanje radio signala REC – 43. Uređaj poseduje četiri kodirana kanala od kojih je samo jedan iskorišćen za ovu priliku, ali ostavljena je mogućnost za iskorišćenje i ostala tri kanala. Napaja se naponom 12 V koji se dovodi sa osnovne ploče. Dobra karakteristika ovog uređaja je ta što je programabilan, odnosno podržava tri načina rada: -

TIMED PULSE – potenciometrom koji se nalazi na prijemniku je moguće odrediti da kada prijemnik primi signal, izlaz mu bude aktivan u rasponu od 500ms do 30s sekundi,

-

ON DEMAND – izlaz prijemnika je aktivan onoliko koliko dugo traje predajni signal, odnosno kada se predajnik izgubi iz dometa izlaz prijemnika prestaje da bude aktivan,

-

LATCH/UNLATCH – izlaz prijemnika se aktivira onoga trenutka kada se aktivira predajnik i ostaje u aktivnom stanju i ako se predajnik izgubi iz dometa.

Na slici 1. je prikazan izgled prijemnika REC – 43.

Slika 1. Izgled prijemnika REC – 43

Za potrebe ovog rada je korišćen mod “ON DEMAND” zbog svojih karakteristika koje odgovaraju funkcionalnosti uređaja i zbog male potrošnje uređaja u ovom režimu rada.


9.2 Izrada štampanih veza

Crtanje šema i rutiranje štampane pločice rađeno je u razvojnom okruženju OrCAD. Ovaj paket obuhvata sve potrebne programe potrebne za rad pri projektovanju električne šeme i izrade fajlova potrebnih da se od te elektične šeme izradi štampana ploča. Električne ispravnost

šeme su prvo crtane u programu Capture, gde je i proverena električna

nacrtanih

šema. Po napravljenoj netlisti

u programu za projektovanje

štampanih veza (rutiranje) Layout-u, urađen je raspored komponenata i izvedeno rutiranje vodova. Osnovna ploča je rađena u dvoslojnoj štampi. Po završetku rutiranja, projekat je dodatno obrađen u Gerberu i tako obrađen korišćen za izradu štampanih ploča.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.