FAKULTETA ZAELEKTROTEHNIKOLJUBLJANA |
|
|
S pomoèjo uènega mikroprocesorskega sistema RT-02 (izdelanega na osnovi Motorola 6800) je potrebno izdelati model elektronske kljuèavnice, ki bo del varnostnega sistema. Kljuèavnica naj prebere kljuè in na podlagi prebrane kode odredi, ali ima imetnik kljuèa dostop do prostorov, ki jih sistem varuje.
Èe koda kljuèa ustreza se na zaslonu pojavi zapis o odobritvi pristopa oz. o prepovedi vstopa v primeru, èe je koda napaèna. Na zaslonu se nam pojavi tudi zapis o ponovnem poskusu, ker obstaja monost, da smo kljuè narobe vstavili.
Sistem mora odpreti zapah, kar storimo s krmiljenjem koraènega motorèka. Prav tako mora nadzorovati, ali so vrata pravilno zaprta itd.
1. Èitalec elektronske kljuèavnice
DEFINICIJA PROBLEMA:
Narediti je potrebno programsko opremo za obstojeèo maketo elektronske kljuèavnice. Maketa preko LED senzorjev bere kodo na kljuèu in jo poilja preko serijskega vmesnika kot vlak impulzev. Naloga je sprejeti in obdelati te impulze ter zagotoviti ustrezne krmilne spremenljivke za ostale rutine, ki so povezane z elektronsko kljuèavnico.
STROJNA OPREMA:
Maketa èitalca bere preko LED senzorjev dve kodi. Prva, na levi strani kljuèa, so urni impulzi, druga, na desni strani kljuèa pa je koda kljuèa. Urni impulzi so na kljuèu realizirani oje (kraji impulz) in se zaènejo kasneje zato, da ne pride do napak pri branju kode z desne strani kljuèa, èe je kljuè slabo izdelan ali pa je vodilo kljuèavnice ohlapno in je mono kljuè vstaviti postrani.
Koda kljuèa ima 8 spremenljivk (1/0), zato rabimo 8 urnih impulzov. Ker nam ob prehodu skozi senzor enica urnega impulza ali enica v kodi zapre senzor, dobimo na izhodu nizko stanje kot urni impulz ali enico v kodi.
PROGRAMSKA OPREMA:
Programska oprema je zasnovana kot rutina in je del sistema za nadzor vrat. Rutina prebere kodo s kljuèa ko ga vstavimo in preverja, ali smo kljuè popolnoma izvlekli. Èe pride do napake (narobe vstavljen kljuè, itd.) nas na to opozori in nam omogoèi dve ponovitvi. Po tretji napaki nas obvesti da je kljuè napaèen.
Algoritem poteka po naslednjem zaporedju:
OPOZORILO!
Ta rutina dela tako, da po izvlaèenju kodo kljièa, ki je zapisana v spremenljivki brie. Rutina ne preverja, ali je koda prava ali ne. Vrata se odprejo po vsakem uspenem branju kljuèa. Za nadaljno obdelavo moramo kodo prepisati in jo primerjati s kodami, ki imajo omogoèen dostop do prostorov, varovanih s to kljuèavnico.
DEFINICIJA PROBLEMA:
Ko èitalec ugotovi, da je potrebno na zaslon nekaj zapisati to sporoèi rutini, ki naloi zahtevani tekst v medpomnilnik. Druga rutina ga nato prenese po serijskem vmesniku na PC. Po tem, ko je stavek enkrat preneen na PC, ustrezna programska oprema (terminalska) poskrbi za to, da se stavek izpie na zaslon.
PROGRAMSKA OPREMA:
Programska oprema je sestavljena iz dveh rutin, ki sta poimenovani TRAWR in TRARD. Prva po komandi, ki jo dobi od rutine za branje kljuèev zapie besedilo v medpomnilnik, druga pa to besedilo prenese iz medpomnilnika po serijskem vmesniku.
Programski kodi TRAWR in TRARD.
OPOZORILO!
Pri pisanju teh dveh podprogramov sem naletel na nekaj problemov, ki so bili bolj ali manj povezani z nepoznavanjem nekaterih bistvenih stvari pri uènem mikroproc. sistemu RT-02.
Najprej sem si moral razjasniti pojme kot so: medpomnilnik, logièni zaèetek in konec, fizièni zaèetek in konec. Najveè problemov pa mi je delal sklad, saj si nisem mogel fizièno predstavljati tega pojma (kasneje mi je to ob pomoèi prof. Tume uspelo).
Ko so mi zgornji pojmi postali jasni, je bilo sestavljanje programa bistveno laje.
DEFINICIJA PROBLEMA:
Narediti je potrebno maketo zapaha s pomoèjo koraènega motorja. Koraèni motor krmili mikroprocesor s pomoèjo perifernega vmesnika PIA. Programska oprema mora biti zasnovana kot rutina, ker je vkljuèen v mikroprocesorski sistem nadzora nad obiskovalci stavbe, ki deluje v realnem èasu.
STROJNA OPREMA:
Maketa kljuèavnice je zasnovan kot zapah. Zapah predstavlja palèka montirana na os koraènega motorja. Z zasukom koraènega motorja v levo oziroma desno za 90 stopinj se vratca sprostijo oziroma zapahnejo. Na vratca je montirano tudi stikalo, katerega potrebujemo za detekcijo odprtih oziroma zaprtih vrat. Na spodnji sliki je pogled na maketo z vrha:
Za direktno krmiljenje koraènega motorja s pomoèjo PIA je potrebno dodati med koraènim motorjem in PIA e dodatno vezje. To vezje je realizirano kar na maketi kljuèavnice, tako da je maketo potrebno samo e prikljuèiti na napajanje in na PIA.
Kontakti (ice) na maketi imajo naslednji pomen:
ÈRNA Masa
RDEÈA +5V napajanje
RUMENA Signal iz stikala: Logièna "1" èe so vrata odprta
Prikljuèitev na vhod PIA
BELA Koraèni motor, prikljuèitev na izhod iz PIA
ORANNA Koraèni motor, prikljuèitev na izhod iz PIA
MODRA Koraèni motor, prikljuèitev na izhod iz PIA
RUMENA Koraèni motor, prikljuèitev na izhod iz PIA
PROGRAMSKA OPREMA:
Program je zasnovan kot rutina, ki je vkljuèena v urnik mikroprcesorskega sistema. Ob vsakem ciklu se izvede enkrat. Deluje pa na naslednji naèin. Ko dobi iz rutine za prepoznavanje kljuèa signal za odklepanje, se zaène vrteti koraèni motor, tako da sprosti zapah. Èe se vrata odklenejo, pa jih nihèe ne odpre, se èez nekaj èasa sama spet zaklenejo. Èe pa nekdo vrata odpre, se sama zaklenejo takoj, ko so spet zaprta. Zaklepanje in odklepanje vrat je izvedeno z zasukom koraènega motorja za 90 stopinj v levo ali desno. Ker deluje mikroprocesorski sistem v realnem èasu, je trba vedeti, da rutina ob vsakem prehodu naredi samo delèek naloge. Ti delèki pa so:
Programska koda krmilnika mehanizma.
OPOZORILO!
Maketa je v praksi delovala po zgoraj opisanem principu, vendar je za njeno brezhibno delovanje nujno potrebno upotevati eno omejitev. Ko so vrata na maketi zaprta, jih je potrebno drati zaprta tako, da se ne dotikajo zapaha, ki je montiran na os koraènega motorja. Koraèni motor namreè nima dovolj navora, da bi v èasu, ki ga ima za en zasuk, lahko res zavrtel os za eno stopnjo. Èe se zapah dotika vrat, zaradi prevelikega trenja med zapahom in osjo motorja , motor pade iz sinhronizma in maketa ne deluje veè! ele ko se koraèni motor popolnoma ustavi ustavi, se lahko vrata sprosti.