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.