DETEKTOR KOVANCEV
Detektor zazna in loči kovance za 1, 2, 5 in 10 SIT, nakar to izpiše na LED prikazovalniku.
PROGRAMSKI DEL
Programski del bazira na uporabi funkcije TIC (Time Input Capture). Ta shrani v svoj register stanje svoje notranje ure ob pravilni spremembi zunanjega signala (triger na pozitivno ali negativno fronto nastavimo s kontrolnim registrom). Program meri čas med posameznimi spremembami vhoda (oz. med prvo in N-to spremembo), kar pomeni da meri frekvenco vhodnega signala. Izmerjeno frekvenco nato primerja z notranjo tabelo. Ko najde par, izpiše rezultat na prikazovalniku.
Program je časovno zelo obsežen, zato je razdeljen na dva dela: 'beri' in 'izpiši'. Pogoji so zahtevni. Frekvenca ne sme biti previsoka, saj je program drugače ne bi pravilno 'bral'. Meriti je treba veliko period, saj so si frekvence različnih kovancev zelo podobne, da bi dobili dovolj natančen rezultat. Ker se program uporablja 'vzporedno' z določenim številom poljubnih programov, mora upoštevati osnovne zahteve večopravilnega operacijskega sistema (dovolj kratek izvajalni čas v najslabšem primeru). Ravno zato je program razdeljen na dva dela in tako zaseda kar eno osmino razvrščevalnika opravil.
Na začetku opravila 'beri' nastavimo število period, ki jih želimo brati. Optimalno število je 20, saj bi večje število pomenilo preseganje dovoljenega časa za opravilo, manjše število pa bi pomenilo manjšo ločljivost. Tako prvo opravilo porabi skoraj ves čas, ki mu ga nameni razvščevalnik. Čas se skoraj ne spremeni od primera, ko ni kovanca, do primera, ko je v detekorju kovanes za 5 SIT, saj sta tudi frekvenci približno enaki.
V drugem koraku nastavimo kontrilni register za pozitivno ali negativno fronto ter aktiviramo TIC1. Nato čakamo, da nam register potrdi spremembo na vhodu TIC1. Vrednost TIC1 registra shranimo v pomnilnik. Ponovno aktiviramo TIC1 in poženemo zanko, ki se konča po dvajsetih periodah. Takrat spet preberemo vrednost registra TIC1 in od njega odštejemo stanje prvega branja. To vrednost sedaj shranimo na isto mesto v pomnilniku. Tu se opravilo konča.
V opravilu 'izpiši' se prebere vrednost iz pomnilnika, ki jo je prej shranilo opravilo 'beri'. Vrednost, ki se razlikuje za različne kovance (frekvence), se najpraj primerja z razponom vrednosti za primer, ko v detektorju ni kovanca, saj je to najbolj pogost primer. V negativnem primeru se nato primerja še z ostalimi pred tem izmerjenimi razponi. V pozitivnem primeru se na posebne lokacije za LED gonilnik shranijo ustrezne vrednosti. Te se nato, ko jih opravilo za LED prikazovalnik uporabi, izpišejo.
Zaradi prekratkega časa za posamezno opravilo in posledično tudi nižje občutljivosti pride do napak, ko kovanec ni pravilno lociran v detektorju. Idealno število izmerjenih period bi bilo vsaj 50.
STROJNA OPREMA
Oscilator:
+prazna tuljavica --- 24.69-24.72kHz
+kovanec za 1 tolar --- 24.91-24.94kHz
+kovanec za 2 tolarja ---24.97-25.0kHz
+kovanec za 10 tolarja ---24.81kHz
+kovanec za 5 tolarja ---25.06kHz
Izhod= 5.3V
Vhod=5V
Duty cycle=34%--seveda pa je zadeva odvisna od kondenzatorja C2 in
samega detektorja-tuljavice L1.
Sam detektorj je sestavljen iz treh podsklopov in sicer:
*oscilator
*napajalni del
*in komparator (http://www.national.com/pf/LM/LM393.html)
Oscilator:
Sam oscilator, ki je v našem primeru v funkciji detektorja je napajan z 5V in -5V in s tem je tudi določena izhodna napetost
in tudi delovna točka, ki je na sredini območja (GND). Za samo detekcijo metalnih predmetov uporabljamo
tuljavo, ki je zunajni element in ni na tiskanem vezju. Metalne predmete detektiramo
s pomočjo frekvence, ki se seveda ob spreminjanju velikosti predmetov-v našem primeru
kovancev, spreminja; ob pogoju da so predmeti v tuljavo postavljeni tako, da zavzamejo kar največjo
površino samega preseka tuljave (zadeva se lahko pokaže na slikci). Se pravi da na frekvenco vplivamo s spreminjanjem induktivnosti
tuljave L1 in kapacitivnostjo kondenzatorja C2. To lahko povzamemo po splošni formuli idealnih nihajnih krogov
omega = 1 / ((LC)^(1/2)) = 2*pi*f. Seveda pa smo pri naši tehnični izvedbi smo predvideli, da bomo
uporabljali le kovance slovenskega porekla-nekako vemo,da bo sama frekvenca,ki jo bomo merili v rangu input capture zmogljivosti in
upamo da se tudi sama struktura uporabljene zlitine ne bo drastično spreminjala in prav tako tudi velikost.
Napajalni del:
Sam IC LMC7660 nam omogoča,da lahko oscilator napajamo simetrično. Sama vezava izvedene aplikacije si pa lahko vsak posameznik pogleda
na svetovnem spletu (http://www.national.com/pf/LM/LMC7660.html).
Komparator:
S komparatorjem oblikujemo pravokotni signal iz atenuiranega sinusnega signala
oscilatorja. Duty cycle lahko nastavljamo z razmerjem upornosti R4 in R7. Upor R6 pa nam služi kot pull up upor.
Naše tiskano vezje ima 5 zunanjih priključkov:
*2 porabimo za priključitev tuljave L1
*2 sta uporabljena za Vcc in GND
*ter zadnji kot izhod detektorja
Na samo tiskano vezje vezje smo dodali tudi zeleno LED diodo, ki ima samo to
nalogo, da vemo kdaj je naprava priključena.
Pri sami izdelavi in algoritmu načrtovanja bi se rad zahvalil g. M. Jankovec in pa tudi mnogim drugim,ki so mi pomagali pa jih
nisem naštel. Predlogo za tiskano vezje sem načrtoval na ACCEL 15.0.
BLIŽNJICE
Električna shema | SCH | |
Layout | PCB | |
Koda | Lab.asm |