Download - Diplomsko delo (pdf)
UNIVERZA V LJUBLJANIPEDAGOŠKA FAKULTETA
FAKULTETA ZA MATEMATIKO IN FIZIKOProgram: fizika in tehnika
UPORABA MIKROKRMILNIKA PRIBREZŽIČNI KOMUNIKACIJI
Diplomsko delo
Mentor: prof. dr. Slavko Kocijančič Kandidat: Tomaž Kušar
Ljubljana, avgust 2006
Zahvala
Zahvaljujem se prof. dr. Slavku Kocijančiču za znanje, ki sem ga pridobil z njegovo
pomočjo, za vse nasvete, pomoč in vodenje pri izdelavi diplomske naloge. Zahvaljujem se
tudi kolegu Davidu Rihtaršiču za pomoč pri programiranju.
Predvsem se zahvaljujem staršem, ki so mi omogočili študij in mi stali ob strani, ter
vsem najbližjim za vse vzpodbudne besede.
2
Povzetek
Zbiranje in posredovanje informacij v današnjem času igra zelo pomembno vlogo. Raču-
nalniško podprti sistemi za zbiranje merskih podatkov so dandanes nepogrešljivi del vsakega
laboratorija. V industriji, raziskovalnih laboratorijih kot tudi v šolskih laboratorijih se vse
bolj uveljavljajo raunalniški vmesniki, s katerimi meritve lahko zajemamo, shranjujemo in
prikazujemo oziroma izpišemo. Nekateri takšni vmesniki omogočajo tudi avtonomno delo
brez stalne povezave z računalnikom. Z njimi lahko meritve izvedemo izven učilnice, na
terenu ali v naravnem okolju, rezultate meritev pa shranimo v notranji pomnilnik. Vmes-
nik lahko kasneje povežemo z računalnikom in te meritve prenesemo nanj. Pomanjkljivost
takšnih vmesnikov je, da rezultati merjenj niso dostopni med samim izvajanjem meritev.
Na trgu so dostopni vmesniki, ki omogočajo radijsko posredovanje merskih podatkov v
realnem času. Večina jih je narejena za spremljanje vremenskih parametrov. Našli smo le
enega, ki omogoča merjenje širšega nabora fizikalnih količin, vendar nanj lahko priključimo
samo merilnike istega proizvajalca.
Namen diplomskega dela je bil izdelati merilni vmesnik za spremljanje poljubnih fizikalnih
količin z možnostjo sprotnega brezžičnega posredovanja merskih rezultatov osebnemu raču-
nalniku. V uvodu so najprej navedeni nekateri primeri elektronskih komponent za brezžične
komunikacije. V nadaljevanju smo dodali kratek pregled šolskih računalniških vmesnikov
in navedli še nekaj primerov uporabe le-teh. Osrednji del vsebuje najprej nekaj praktičnih
navodil za programiranje mikrokrmilnikov v programskem okolju BASCOM. Opisali smo
tudi izdelavo preprostega programatorja. Sledijo opisi praktičnih primerov komunikacij
med mikrokrmilniki, ki se začnejo z najbolj enostavno povezavo med dvema mikrokrmil-
nikoma preko žice in nadaljujejo z brezžičnimi optičnimi in radijskimi povezavami. Dodali
smo tudi sheme vezij.
V zadnjem delu je opisan postopek izdelave avtonomnega merilnega vmesnika, oprem-
ljenega z radijskim oddajnikom/sprejemnikom. Vmesnik, na katerega lahko priključimo
do osem poljubnih merilnikov, preko radijskega oddajnika v izbranem časovnem intervalu
pošilja merske podatke identičnemu vmesniku, le da je ta opremljen z radijskim sprejem-
nikom. Slednji preko USB vodila posreduje merske podatke računalniku, ki sočasno z
izvajanjem meritev le-te tudi prikazuje na zaslonu v obliki tabele ali grafa. Predstavljen je
primer enodnevnih meritev osvetljenosti in temperature zraka ter temperature prsti.
V zaključku ugotavljamo uporabnost razvitega brezžičnega merilnega sistema in nava-
3
jamo nekatere možnosti za nadaljnji razvoj in uporabo.
Ključne besede:
-programiranje mikrokrmilnika
-BASCOM
-programski jezik BASIC
-brezžična optična komunikacija
-radijska komunikacija
-brezžični merilni vmesnik
-računalniško spremljanje merskih podatkov
-šolski naravoslovni laboratorij
4
INTRODUCTION TO WIRELESS COMMUNICATIONBETWEEN MICROCONTROLLERS
Abstract
The collection and transmission of information plays important role nowadays. The
computer based data acquisition systems are nowadays an indispensable part of each sci-
ence and technology laboratory. In industry, science research laboratories and school lab-
oratories, data acquisition systems support sampling of measurement data, display the
data, analyse and save it. Some systems can be used without being wired to the PC so
they can be used outside laboratories in natural environment. The results can be saved in
the internal memory. Once the data has been collected, one simply plugs the system to
the computer, downloads measured data and finally displays and analyses the data with
appropriate software. The deficiency of such interfaces is that the results of measurements
are not available during sampling; real-time data display is not possible. Most of the
commercial measurement systems supporting radio transmission of data to computer in
real-time are designed to observe weather conditions. We only found one remote measure-
ment system designed to sample various physical quantities but it is limited to the use of
sensors of the manufacturer of the system.
The main aim of the diploma work was to design, construct and test the remote data
acquisition system with radio module for real time transmission of measurement data to
the PC. The introduction includes some examples of electronic components for wireless
communication. In the continuation of the chapter, the overview of most common data
acquisition systems is outlined and their functionality is summarised. The central part
of the diploma work presents some practical instructions for programming of the micro-
controllers in BASCOM environment. We included the instructions for building of simple
programmer. In continuation, a number of practical examples of ways for providing the
communication between microcontrollers are presented. The examples start with a simple
communication between two microcontrollers and continue with wireless optical and radio
communications. The schemes of electronic circuits are included.
The final part of the diploma work describes the procedure for the production of the
autonomous data acquisition system equipped with a radio transmitter/receiver. The
system transmits the data from eight sensors according to pre-defined sampling time to
5
the data acquisition system equipped with a radio receiver. The latter transmits these
data to the PC by the USB connection. The received data is simultaneously displayed on
the computer as numeric tables or plotted as graphs. The example measurements of one
day sampling of light intensity, air temperature and soil temperature are presented.
In conclusion, the usefulness of the developed remote measurement system is discussed
and some directions for further improvement of the system are outlined.
Key words:
-programming microcontroller
-BASCOM
-programming language BASIC
-wireless optical communication
-radio communication
-remote measurement interface
-computer based data acquisition
-school science laboratory
6
Kazalo
1 Uvod 9
2 Komunikacije 11
3 Komunikacijski vmesniki 12
4 Brezžična komunikacija 13
4.1 Moduli za brezžično komunikacijo . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.1 Radijska tehnologija . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.2 Bluetooth Tehnologija (modri zob) . . . . . . . . . . . . . . . . . . 15
4.1.3 GSM tehnologija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.4 irDA tehnologija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.5 FSO (Free Space Optics) tehnologija . . . . . . . . . . . . . . . . . 17
5 Merjenje z računalnikom 18
5.1 Računalniški vmesniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 Šolski računalniški vmesniki . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2.1 Primeri šolskih računalniških vmesnikov . . . . . . . . . . . . . . . 20
5.3 Primeri uporabe šolskih merilnih vmesnikov . . . . . . . . . . . . . . . . . 26
6 Komunikacija z uporabo mikrokrmilnika 28
6.1 Programiranje mikrokrmilnika . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.1.1 Programsko orodje BASCOM . . . . . . . . . . . . . . . . . . . . . 29
6.1.2 Zagon programa BASCOM-AVR DEMO . . . . . . . . . . . . . . . 29
6.1.3 Osnove programiranja v BASCOM-u . . . . . . . . . . . . . . . . . 31
6.1.4 Nastavitev in izdelava programatorja . . . . . . . . . . . . . . . . . 34
6.1.5 Prenos programa v mikrokrmilnik . . . . . . . . . . . . . . . . . . . 36
6.2 Mikrokrmilnik ATmega16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2.1 Vhodno izhodni priključki . . . . . . . . . . . . . . . . . . . . . . . 39
6.2.2 Komunikacijski vmesniki . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2.3 Asinhroni prenos podatkov in vmesnik UART . . . . . . . . . . . . 40
6.2.4 Sinhronski prenos podatkov in vmesnik USART . . . . . . . . . . . 42
6.3 Vzpostavitev komunikacije z mikrokrmilnikom ATmega16 . . . . . . . . . . 42
7
6.3.1 Komunikacija med dvema mikrokrmilnikoma . . . . . . . . . . . . . 42
6.3.2 Komunikacija med µK in računalnikom . . . . . . . . . . . . . . . . 47
6.4 Brezžična komunikacija med dvema mikrokrmilnikoma . . . . . . . . . . . 51
6.4.1 Optična komunikacija . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.4.2 Frekvenčno modulirana optična komunikacija . . . . . . . . . . . . 56
6.4.3 Primer uporabe optične komunikacije . . . . . . . . . . . . . . . . . 63
6.4.4 Radijska komunikacija . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.4.5 Frekvenčno modulirana radijska komunikacija . . . . . . . . . . . . 69
7 Izdelava avtonomnega merilnega vmesnika z radijskim oddajnikom 77
7.1 Zgradba in delovanje vmesnika . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.1.1 Zajemanje meritev . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.1.2 Delovanje v Power-save načinu in čas vzorčenja . . . . . . . . . . . 81
7.1.3 Pošiljanje podatka . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.2 Spremljanje meritev na računalniku . . . . . . . . . . . . . . . . . . . . . . 85
7.2.1 Nastavitev COM vrat . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.2.2 Zagon programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.2.3 Nastavitev frekvence vzorčenja . . . . . . . . . . . . . . . . . . . . 87
7.2.4 Primer uporabe merilnega vmesnika . . . . . . . . . . . . . . . . . . 88
8 Diskusija in zaključek 90
8
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
1 Uvod
Že od nekdaj se ljudje trudijo, da bi se sporazumevali na daljavo, oziroma bi pošiljali ali
sprejemali določene informacije na daljavo [1]. Da so določeno novico razširili med ljudi,
so uporabili ropotanje bobnov, ob ugodnih pogojih pa dim ali svetlobo ognja. Te načine
prenosa sporočil so ljudje uporabljali tako dolgo, dokler niso spoznali novih možnosti, ki jih
je omogočila izraba električnega toka. V 19. stoletju so najprej izdelali prenos enosmernih
telegrafskih impulzov, kmalu za tem pa še prenos govora.
Hkrati z žično prenosno tehniko pa se je razvijala tudi brezžična. Leta 1864 je angleški
fizik Maxwell na temelju Faradayevih zakonov razvil splošno teorijo elektrike [2]. Nemška
fizika Helmholtz in Hienrich Hertz sta leta 1888 dokazala, da elektrika pri gibanju okoli
prevodnika tvori elektromagnetno polje. Hertz je ob tem ugotovil, da obstaja elektromag-
netno valovanje, ki ima večjo valovno dolžino kot svetloba (λ = 1m) in tako neposredno
odkril radijske valove. Začel se je nagel razvoj radijske tehnike.
Leta 1945 je Arthur C. Clarke s člankom v reviji Wireless World prvi predlagal idejo
o komunikacijskih satelitih [3]. S tem se je odprla nova možnost uporabe brezžičnih zvez.
Prvi telekomunikacijski satelit Early Bird, je bil lansiran že leta 1961. Dandanes sateliti
lahko posredujejo zveze med poljubnimi kraji na zemlji. Poleg komunikacij v dolgoval-
ovnem in srednjevalovnem področju, so se razvile tudi komunikacije v kratkovalovnem in
v zadnjih desetletjih tudi mikrovalovnem območju. Razvijajo se tudi komunikacije v val-
ovnem področju svetlobe, s prenosom preko steklenih vlaken, kot tudi brezžične optične
komunikacije.
Nagel razvoj komunikacijskih naprav je danes opazen že na vsakem koraku. Računal-
nik je postal nepogrešljivi del sodobne družbe. Z njim smo preko svetovne mreže internet
povezani praktično s celim svetom. Razvoj telefonskega omrežja in digitalizacija omrežnih
povezav nam danes omogočata že prenos video posnetkov [4]. Z odkritjem brezžične om-
režne povezave pa je razvoj telekomunikacij presegel že vse meje. Odločilno vlogo v vsak-
danjem življenju igrajo tudi mali prenosni telefoni. Slednji se ne uporabljajo več samo za
pogovore, pač pa tudi za digitalno izmenjavo informacij in celo za nadzor sistemov [5, 6, 7].
Nenazadnje ima že vsak avtomobilček na daljinsko upravljanje vgrajeno brezžično komu-
nikacijo za svoje vodenje.
Brezžična tehnologija se dandanes uporablja tudi v merilni tehniki. Z razvojem elek-
tronike in računalništva se je do danes razvilo že mnogo merilnih naprav, s katerimi
9
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
človek lahko spremlja določene meritve na daljavo (npr. avtonomne meteorološke postaje).
Nenehno želimo izmeriti neko količino, kot na primer razdaljo, čas, temperaturo, tlak ipd.,
meritve pa spremljati na osebnem računalniku [6]. V ta namen se je tudi na področju
izobraževanja razvilo mnogo računalniških vmesnikov, ki so namenjeni šolskemu razisko-
valnemu delu [8, 9, 10, 11, 12]. Kjub vsej tehniki, ki je na voljo, pa večina teh vmesnikov
nima možnosti brezžične komunikacije z računalnikom. Povezavo z računalnikom lahko
izvedemo le preko neposredne žične povezave, ki pa je za merjenje na terenu nepraktična.
Šolsko raziskovalno delo je z uporabo takšnih vmesnikov lahko zelo ustvarjalno, zato sem
iskal rešitev, kako izdelati enostaven vmesnik, s katerim je mogoče zbirati meritve na terenu
in jih preko brezžične komunikacije v realnem času spremljati na računalniku. Osnova za
delovanje takega vmesnika je mikrokrmilnik, ki je dandanes vgrajen že v večino električnih
naprav, katere za delovanje potrebujejo nekaj avtomatizacije. Mikrokrmilnik je integrirano
vezje, kateremu lahko programsko spreminjamo napetostna stanja na priključkih [13]. Na
enostaven način lahko vanj zapišemo program, ki se ob zagonu začne izvajati. Vsak novejši
mikrokrmilnik ima vgrajen tudi vmesnik, preko katerega je moč vzpostaviti komunikacijo
z različnimi elektronskimi komponentami. Najbolj razširjen je vmesnik USART (angl.
Universal Sychronous Asynchronous Receiver Transmitter), novejši pa imajo vgrajen že
univerzalni serijski vmesnik USB (universal Serial Bus). Za realizacijo brezžične povezave
sta radijska zveza in komunikacija s pomočjo IR žarkov le dve od mnogih možnosti, ki jih
v razcvetu mobilnosti ponuja trg!
Namen te naloge je, da prikažem in opišem način, kako lahko z uporabo mikrokrmilnika
na enostaven način izdelamo sistem za brezžično komunikacijo.
10
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
2 Komunikacije
Beseda komuniciranje izvira iz latinske besede communicare in pomeni posvetovati se,
razpravljati, vprašati za nasvet. Komuniciranje torej zadeva posredovanje in prejemanje
informacij [4].
Živimo v času, ko se je pojavila izredno velika potreba po informiranosti. Človek
porabi danes pretežni del svojega časa za sprejemanje in posredovanje informacij. Prav-
imo da nenehno komunicira z okoljem. Komuniciramo ko beremo časopis, ko poslušamo
radio, ko gledamo televizijo, ko telefoniramo, se pogovarjamo s prijatelji,.... Komunici-
ranje je danes tako zelo razširjeno in povezano z našim življenjem, da ga sprejemamo kot
nekaj samoumevnega in danega, a vendar smo se nekje morali komuniciranja naučiti. Da
lahko preberemo članek v dnevnih novicah in iz njega nekaj izvemo, smo se morali prej
naučiti posameznih črk, kasneje še pomena posameznih besed. Še tako samoumevno in pre-
prosto komuniciranje ima za sabo ogromno različnih elementov, ki so za prenos informacije
potrebni.
Slika 1: Model komunikacije.
Glavni element komuniciranja je informacija. Slovar slovenskega knjižnega jezika na
splošno obravnava informacijo kot celoto vednosti o določeni dejavnosti ali področju, na-
menjeno javnosti [14]. To je skupek podatkov. V smislu elektronike pa je informacija
množica vrednosti, ki jo računalnik sprejme ali po obdelavi izda. Informacijo lahko ses-
tavlja več bitov1.
Kot sem že omenil, je namen informacije, da jo sprejme širši krog poslušalcev, zato pa
sta potrebna še oddajnik, ki informacijo odda in sprejemnik, ki informacijo sprejme. Vsako
informacijo pa je potrebno najprej kodirati v obliko, primerno za prenos. Informacija potuje
po informacijskem kanalu do prejemnika. Ta mora najprej sporočilo dekodirati, nato pa1BIT: najmanjši, nedeljivi del informacije v binarnem sistemu.
11
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
izluščiti prispelo informacijo. Informacijo lahko zapišemo na dva načina, zvezno (analogno)
ali diskretno (digitalno).
3 Komunikacijski vmesniki
Z razvojem elektronike se je uveljavil digitalni zapis podatkov. To pomeni, da je velika
večina podatkov in informacij s katerimi dandanes operiramo shranjena v elektronski obliki
v računalnikih ali elektronskih medijih, kot so diskete, CD-ji in podobno.
Za vnašanje in izpisovanje podatkov v računalnik oziroma iz računalnika nam služijo
vhodno izhodne enote, kot so: miška, tipkovnica, zaslon in tiskalnik. To so naprave, ki
omogočajo komunikacijo med računalnikom in uporabnikom- uporabniški vmesniki. Za
posredovanje informacij nekemu drugemu računalniku ali elektronski napravi, pa so se
razvili posebni vmesniki, kot na primer Ethernet, RS232, RS458, USB, FireWire ipd.
Medtem ko so lahko vhodno-izhodne naprave z računalnikom povezane z večimi žicami,
ki omogočajo vzporedni oziroma paralelni prenos podatkov (vsi biti ki pripadajo enemu
simbolu so poslani istočasno), se je iz ekonomskih in praktičnih razlogov pri teh vmesnikih
uveljavil serijski prenos podatkov. Tu komunikacija poteka po dveh ali treh žicah; bite ki
sestavljajo posamezen simbol pošiljamo zaporedno enega za drugim. Poseben vmesnik je
Slika 2: Firewire priključek.
Slika 3: USB priključek.
modem, ki omogoča povezovanje oddaljenih računalnikov med seboj. Mreža, ki povezuje
oddaljene računalnike med seboj, v večini držav še vedno temelji na telefonskem omrežju.
12
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
To pomeni, da je potrebno podatek, ki je v računalniku zapisan v diskretni obliki, preden
ga pošljemo, preoblikovati v zvezni signal, na strani sprejemnika pa zopet spremeniti nazaj
v diskretno obliko. Odtod tudi kratica modem (modulacija- demodulacija). Z razvojem
digitalnih telefonskih linij so se uveljavili novi vmesniki, ki podatke pošiljajo že v diskretni
obliki. Vmesnika ISDN (Integrated Services Digital Network) in ADSL (Asymmetric Dig-
ital Subscriber Line) sta dva izmed njih.
4 Brezžična komunikacija
Poleg radia in televizije, in v zadnjem času telefona, ki delujejo na principu brezžične
komunikacije, se v zadnjih letih tudi na področju računalništva in elektronike vse bolj
uveljavlja brezžična komunikacija.
Za komunikacijo med računalnikom in uporabnikom so se pojavili na trgu brezžični
uporabniški vmesniki (npr. radijska miška), ki se od navadnih razlikujejo samo po tem, da
so opremljeni z modulom za brezžično komunikacijo. V ta namen se večinoma uporabljata
radijska in optična komunikacija. Pri vseh teh povezavah gre za serijski prenos podatkov.
Tehnologija brezžičnih komunikacij se danes razvija s takim tempom, da komaj še lahko
sledimo sodobnim trendom.
4.1 Moduli za brezžično komunikacijo
Na trgu je dandanes že mogoče najti najrazličnejše vmesnike, ki omogočajo brezžično
povezavo računalnikov med seboj. Tu gre predvsem za krajevno povezavo, preko njih pa
je mogoče vzpostaviti tudi brezžično povezavo s svetovnim spletom- internet.
4.1.1 Radijska tehnologija
Najbolj razširjena tehnologija na trgu je še vedno radijska tehnologija. Prvotno so bile
radijske zveze namenjene prenosu telegrafskih znakov, nato za prenos govora in glasbe,
danes pa se praktično uporabljajo za prenos vseh elektronskih oblik sporočila, med drugim
tudi slike [1]. Radijske zveze delujejo v frekvenčnem območju od 3kHz pa vse do 300GHz.
Različna valovna območja, ki so določena po mednarodnem standardu, se uporabljajo za
različne namene.
Na področju računalništva in elektronike so se razvili različni radijski moduli, s ka-
terimi lahko povežemo različne elektronske naprave. Za komunikacijo s takimi vmesniki
13
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Tabela 1: Razdelitev valovnih območij [1].
Valovno območje Frekvenčno območje Označba valov Uporaba100-10km 3-30kHz najdaljši zveze pod vodno in zem. površino10-1km 30-300kHz dolgi radiodifuzija, vremenoslovje
1000-100m 0,3-3MHz srednji letalstvo, pomorstvo100-10m 3-30MHz kratki telekom. pomorstvo, letalstvo10-1m 30-300MHz ultrakratki televizija, letalstvo...10-1dm 0,3-3GHz decimetrski usmerjene telekom. zveze10-1cm 3-30GHz centimetrski radarji, sateliti10-1mm 30-300GHz milimetrski prenos preko valovodov
Slika 4: Radijski modul za tiskana vezja [15].
nam ni potrebno več poznati zgradbe radijskega oddajnika in sprejemnika. Ti vmesniki
imajo običajno vgrajen serijski komunikacijski vmesnik RS232, na trgu pa lahko dobimo
tudi module, ki imajo vgrajen komunikacijski vmesnik UART (Poglavje 6.2.3). Predvsem
slednje lahko uporabimo pri samostojni izdelavi elektronske naprave.
Slika 5: Radijski modul za tiskana vezja [15].
Slika 6: Radijski modul z RS232 priključkom [15].
14
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
4.1.2 Bluetooth Tehnologija (modri zob)
Ena od danes zelo popularnih brezžičnih povezav je tehnologija Bluetooth. Namenjena je
povezovanju različnih digitalnih elektronskih naprav na razdaljah do nekaj metrov [16]. Za
delovanje uporablja frekvenčni pas med 2400 MHz in 2483.5 MHz. Bluetooth je namenjen
tako pošiljanju elektronske pošte, prostoročnemu telefoniranju in prenašanju datotek, kakor
tudi igranju igric, brskanju po spletu in tiskanju. Največji razmah do sedaj je doživel prav
v mobilnih telefonih. Postal je široko uporaben tudi na področju brezžičnih omrežij -
Slika 7: Bluetooth modul z RS232 priključkom [15]
piconetov2 in scatternetov3, saj se bluetooth naprave samodejno povezujejo med seboj,
ko se nahajajo v dometu. Za širok razmah tehnologije pa je pomembna tudi skrb za
varovanje podatkov, ki je vgrajena v standard. Bluetooth tehnologijo pa lahko uporabimo
Slika 8: Bluetooth modul z USB priključkom [15].
2Piconet ali piko omrežje je omrežje iz naprav bluetooth, ki se samodejno povežejo med seboj. Pritem ena naprava prevzame vlogo gostitelja (nadrejena naprava, master), ostale naprave pa vlogo gosta(podrejena naprava, slave). V enem piconetu je lahko največ 8 naprav, se pravi sedem gostov in engostitelj. Več piconetov se lahko poveže tudi v razpršeno omrežje - scatternet.
3Scatternet ali razpršeno omrežje je povezava največ 80 naprav vrste bluetooth v eno omrežje. Pritem je v scatternet lahko povezanih največ 10 piconetov. Ena naprava je lahko podrejena (slave) v večpiconetih, lahko pa je v enem piconetu podrejena, v drugem pa nadrejena (master). Ena naprava ne morebiti hkrati nadrejena v večih piconetih.
15
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 9: Bluetooth komunikacija med PC-ji [15].
tudi pri izdelavi samostojne digitalne elektronske naprave. Na trgu obstajajo moduli, ki
imajo vgrajen UART vmesnik (angl. Universal Asynchronous Receiver Transmitter), preko
katerega lahko na enostaven način vzpostavimo komunikacijo z mikrokrmilnikom (poglavje
6.2.3).
Slika 10: Bluetooth modul za tiskano vezje [15].
4.1.3 GSM tehnologija
Pravo revolucijo na področju telekomunikacij je v zadnjem času povzročila GSM (Global
System for Mobile Communications) tehnolgija. GSM mobilna tehnologija je prisotna na
vseh koncih sveta, meddržavno sodelovanje mobilnih operaterjev pa nam omogoča mobilne
storitve na vseh koncih sveta. Mobilna telefonija nam danes poleg pogovora omogoča
tudi digitalno izmenjavo informacij in celo nadzorovanje ter krmiljenje sistemov [5]. Preko
mobilnega telefona je danes mogoče vklapljati oziroma izklapljati alarme, ogrevalne sisteme
ipd., lahko sprejemamo podatke o vremenu (temperatura, vlaga ipd.)[6], ali pa dobimo
informacijo o napakah nadzorovanega sistema.
GSM mobilni telefoni uporabljajo dvosmerni serijski komunikacijski protokol USART.
Sprejemni (Rx) in oddajni (Tx) priključek morata biti za izvedbo serijske komunikacije med
dvema sistemoma, z uporabo usart-a, križno povezana. Gsm mobilni telefoni uporabljajo
standardne modem ukaze (AT komande), ki so posredovani preko Tx in Rx priključkov z
definirano baudno hitrostjo.
16
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 11: Nadzor sistema za ogrevanje s tehnologijo GPS.
4.1.4 irDA tehnologija
Kratica irDA (infrared Data Association) označuje specifični standardni komunikacijski
protokol, ki je namenjen izmenjavi podakov na kratki razdalji preko infrardeče svetlobe-
na primer med posameznimi računalniki v lokalnem omrežju [16]. Še bolj vsakdanji primer
so razni daljinski upravljalniki, s katerimi vklapljamo televizor, zapiramo vrata, izklapljamo
luči ipd.
Na trgu obstaja cela množica elektronskih komponent, s pomočjo katerih lahko sami
izdelamo IR povezavo. Najpreprostejši sistem za IR komunikacijo lahko izdelamo že iz IR
led diode in IR fototranzistorja ali IR fotodiode. Za bolj zanesljivo komunikacijo imamo
na voljo celo množico sprejemnih IR modulov, kot na primer TSOP2238 (slika 12) [17].
Vse te elemente enostavno priključimo na oddajni (Tx) ali sprejemni (Rx) priključek ko-
munikacijskega vmesnika UART.
Slika 12: TSOP 2238 [17].
4.1.5 FSO (Free Space Optics) tehnologija
Zelo perspektivna povezava računalnikov v lokalno omrežje, ki sem jo zasledil, je povezava
s tehnologijo FSO, ki je pravzaprav posebna veja irDA tehnologije [18]. To je line-of-
sight (vidna linija) tehnologija, ki omogoča prenos podatkov, glasu in video komunikacij s
hitrostjo 2.5Gbps4 skozi zrak. Povezavo je možno narediti brez polaganja optičnih kablov.4bps: bit per second
17
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Takšen prenos optične kapacitete skozi zrak zahteva svetlobo, ki je fokusirana z uporabo
led ali laserskih diod. FSO tehnologija je relativno enostavna in je osnovana na povezavi
med dvema FSO napravama. Vsaka naprava je sestavljena iz laserskega oddajnika in spre-
jemnika, kar omogoča polni duplex (v obe smeri istočasno) prenosa podatkov. Vsaka FSO
naprava uporablja optični vir velike moči (npr. laser) in leče, ki oddajajo svetlobo skozi
atmosfero. Oddano svetlobo sprejmejo druge leče, ki sprejmejo informacijo. Sprejemne
leče so povezane z visoko občutljivim sprejemnikom preko optičnega kabla. Seveda pa ima
tudi ta sistem svoje pomanjkljivosti. Povezava med dvema točkama mora biti vidna- med
njima ne sme biti nikakršnih ovir. Poleg mehanskih ovir pa so tu še razni atmosferski
vplivi, ki tudi omejijo uporabo te komunikacije.
Slika 13: Namestitev FSO oddajnika/sprejemnika [18].
5 Merjenje z računalnikom
Sistemi za zajemanje merskih podatkov (Data acquisition systems-DAQ) igrajo vse bolj
pomembno vlogo v znanosti in tehnologiji kakor tudi pri šolskem laboratorijskem delu na
vseh stopnjah izobraževanja [20]. Pri večini meritev imamo opraviti z množico podatkov,
ki jih je treba urediti v tabele, narisati grafe, jih matematično obdelati, pri ponavljajočih
meritvah tudi statistično ovrednotiti itd. S. Kocijančič v svojem članku [8] navaja, da so
se prvi primeri, tako imenovanih on-line5 eksperimentov, pojavili že v sredini 80-ih let,
skupaj z računalnikoma ZX Spectrum in Commodore.
Na splošno računalnik postaja vsakdanji pripomoček pri učnih aktivnostih. Pri pouku
naravoslovnih predmetov v srednjih šolah se uveljavlja kot sestavni del merilne opreme,
pojavlja pa se že tudi pri učnih urah v osnovnih šolah. Ustrezna računalniška oprema vodi
vzorčenje meritev, opravi ustrezno obdelavo, rezultate predstavi na grafu in oblikuje tabele.5On-line experiments: Eksperimenti, pri katerih meritve zbiramo z računalnikom.
18
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
V ta namen se je v zadnjem času na področju informatike razvilo mnogo računalniških
vmesnikov, senzorjev in merilnih pretvornikov, ki omogočajo kvalitetno zbiranje podatkov.
5.1 Računalniški vmesniki
Računalniški vmesniki so posebej skonstruirane naprave, ki nam omogočajo izmenjavo po-
datkov med okoljem in računalnikom, oziroma neposredno povezavo med računalnikom in
analognim svetom. Takih vmesnikov se na trgu najde kar precej, uporabljajo pa se tako
v industriji in znanstvenih laboratorijih (teh v nalogi ne bom posebej omenjal), kot tudi
v izobraževalnih institucijah in nenazadnje v čisto domači uporabi. Količine, ki jih v nar-
avi ali laboratoriju merimo, so navadno analogne narave (temperatura, tlak, koncentracija
CO2, hitrost vetra ipd.). Senzorji, s katerimi merimo te količine, so nekakšni tokovno-
napetostni pretvorniki. To pomeni, da je tok, ki teče skozi tak senzor, največkrat lin-
earno odvisen od merjene količine. Posledično na izhodu senzorja dobimo neko električno
napetost, ki je linearno odvisna od merjene količine. Ta napetost se seveda spreminja
zvezno in ker so v računalniku podatki zapisani digitalno, imajo vsi ti vmesniki vgrajene
posebne pretvornike, tako imenovane analogno digitalne pretvornike ali krajše ADC (ang.
Analog Digital Converter), ki omogočajo, da analogne količine zapišemo v digitalni obliki.
Vsak merilni vmesnik ima vgrajeno določeno število vhodnih priključkov, kamor lahko
priključimo merilne senzorje. Za posredovanje in izmenjavo podatkov z računalnikom,
imajo ti vmesniki že vgrajene posebne komunikacijske vmesnike. Najbolj razširjena ko-
munikacijska vmesnika sta RS232 serijski vmesnik in novejši univerzalni serijski vmesnik,
USB. Vsak vmesnik ima tudi enoto, ki sprejema podatke iz senzorjev in jih preko ko-
Slika 14: Blokovna shema računalniškega vmesnika
19
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
munikacijskega vmesnika pošilja naprej. Pri starejših vmesnikih to nalogo opravlja sklop
integriranih vezij, v novejših vmesnikih pa je ta vezja nadomestil mikroprocesor.
Novejši merilni vmesniki nam že omogočajo brezžično komunikacijo z računalnikom. Ti
vmesniki imajo še dodatno vgrajen modul, ki omogoča brezžično komunikacijo. Prav tako
pa moramo na strani računalnika namestiti sprejemni modul, s katerim podatke pravilno
sprejemamo in posredujemo računalniku.
5.2 Šolski računalniški vmesniki
Šolski merilni vmesniki so pripomočki, ki so izdelani posebej za šolsko raziskovalno delo.
Študenti, oziroma dijaki, te vmesnike lahko uporabljajo v razredu, nekatere izmed njih
tudi na terenu. Na trgu zasledimo celo množico takih vmesnikov, naj naštejem samo
nekatere: CBL2, LabPro2, Go!Link, CMCS3, PS-2100, PS-2000, PS-2001, Nova 5000,
TriLink, TriLog, MultiLog PRO, Weather station, itd [9, 10, 11, 12].
5.2.1 Primeri šolskih računalniških vmesnikov
• Calculator-Based Laboratory 2TM System (CBL 2TM)
Vmesnik CBL2 (slika 15) ima en digitalni in tri analogne vhode, kamor lahko priključimo
preko 50 različnih merilnikov, ki jih ta vmesnik prepozna samodejno [12]. Z njim lahko
zbiramo meritve na terenu, jih shranimo v notranji spomin (12000 točk), kasneje pa jih
lahko presnamemo v osebni računalnik. Spremljanje in beleženje meritev v realnem času
je možno izvesti samo z neposredno priključitvijo vmesnika na računalnik. Na terenu lahko
opazujemo meritve z uporabo dodatnega vmesnika PDA (angl. Personal Digital Assistant)
oziroma dlančnika.
Slika 15: Vmesnik CBL 2 [12].
20
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
• LabPro
Nekoliko bolj izpopolnjen je vmesnik LabPro, ki ima dva digitalna in štiri analogne vhode
[12]. Tudi ta vmesnik samodejno prepozna preko 50 različnih merilnikov iz družine Vernier.
Spremljanje meritev na terenu je možno samo z uporabo dodatnega vmesnika PDA. Meritve
v realnem času lahko spremljamo le z neposredno priključitvijo na računalnik. Frekvenca
vzorčenja ki jo ta vmesnik zmore je 12000 točk na sekundo. Vmesnik LabPro ima tudi štiri
digitalne in en analogni izhod, s katerim je mogoče krmiliti enosmerni motor.
Slika 16: Vmesnik LabPro [12].
• Explorer (PS-2000)
Vmesnik PS-2000 (Slika 17) je le eden od modelov iz družine PASPORT interfaces [11]. Ima
samo en vhod, kamor lahko priključimo preko 40 različnih merilnikov- družine PASPORT.
Frekvenca vzorčenja je samo 1000 točk na sekundo. Rezultate meritev lahko spremljamo
na terenu, saj ima vgrajen LCD zaslon. Spremljanje meritev na računalniku v realnem
času pa je možno samo s neposredno priključitvijo vmesnika na računalnik.
• Explorer GLX (PS-2002)
To je najnovejši model iz družine PASPORT interfaces [11]. Vmesnik ima na voljo 4
univerzalne vhode. Frekvenca vzorčenja je 50000 točk na sekundo. Meritve na terenu
lahko spremljamo na grafičnem zaslonu in jih tudi shranimo, lahko pa jih tudi natisnemo.
Tudi ta vmesnik je možno priključiti na računalnik ter z njim beležiti meritve v realnem
času.
21
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 17: Vmesnik PS-2000 [11].
• Nova 5000
Nova 5000 je vmesnik nove generacije iz zbirke vmesnikov Fourier Systems [10], in je
praktično računalnik v malem. Ima osem vhodnih kanalov, kamor priključimo ustrezne
merilnike. S tem vmesnikom je mogoče meritve spremljati na terenu kakor tudi v razredu.
Podatke lahko sproti obdelamo, narišemo grafe, tabele, lahko pa naredimo celo fourierjevo
analizo. Vmesnik ima priključek, ki nam omogoča direkten priklop na ethernet. Preko
vmesnika USB ga lahko priključimo tudi na računalnik.
Slika 18: Vmesnik Nova 5000 [10].
• TriLink
Zelo zanimiva merilna naprava je vmesnik TriLink (Slika 19), prav tako iz zbirke Fourier
Systems [10]. Ima osem analognih in dva digitalna vhoda. Nanj lahko priključimo preko
40 različnih zunanjih merilnikov. Frekvenca vzorčenja z 12-bitno ločljivostjo za analogne
22
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
vhode je 20800 točk na sekundo, za digitalne vhode pa celo 200kHz. Meritve lahko spreml-
jamo na grafičnem zaslonu ali na računalniku, z neposredno priključitvijo nanj, preko
vmesnika USB. Vmesnik ima tudi možnost brezžične bluetooth povezave z vmesnikom
PDA (dlančnikom), na kateren prav tako lahko spremljamo meritve. Kako velik doseg ima
ta brezžična komunikacija iz tehničnih podatkov ni mogoče razbrati, zagotovo pa ni večji
kot 100m.
Slika 19: Vmesnik TriLink [10].
• MultiLog PRO
MultiLog PRO vmesnik (Slika 20 je eden najzmoglivejših vmesnikov iz zbirke Fourier Sys-
tems [10]. Ima osem analognih in dva digitalna vhoda. Nanj lahko priključimo kar 65
različnih merilnikov. Komunikacijo z računalnikom lahko vzpostavimo preko komunikaci-
jskih vmesnikov RS-232 ali USB. Frekvenca vzorčenja z 12-bitno ločljivostjo znaša 20.800
točk na sekundo. Vmesnik ima notranji spomin, zato ga lahko uporabljamo pri meritvah
na terenu.
V zbirki vmesnikov Fourier Systems pa je zanimiv tudi posebno namenski vmesnik Mul-
tiLog PRO - weather station (vremenska postaja). Vanjo je pravzaprav vgrajen vmesnik
MultiLog PRO, opremljena pa je tudi z radijskim oddajnikom z dometom 300m, kar nam
omogoča spremljanje terenskih meritev na računalniku v realnem času. Z omenjeno postajo
lahko spremljamo količine kot so: temperatura, smer vetra, hitrost vetra, količina padavin,
osvetljenost, vlaga, tlak in hrup. Nanjo pa je možno priklopiti tudi druge merilnike istega
proizvajalca. Največja frekvenca vzorčenja, ki jo vmesnik v tem primeru omogoča, je 1
23
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 20: Vmesnik MultiLog PRO [10].
meritev v sekundi, lahko pa izvedemo samo eno meritev v 60min. Postaja deluje povsem
avtonomno, napajamo pa jo lahko preko solarnih celic. Proizvajalec celo zagotavlja, da je
ob dobri osvetlitvi kondenzator napolnjen v nekaj urah (2 uri?), kar zadostuje za pet dni
nenehnega obratovanja!
Slika 21: Vremenska postaja z vmesnikom MultiLog PRO [10].
24
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
• CMC-S3
Vmesnik CMC-S3 je eden od najzmogljivejših vmesnikov, ki sem jih zasledil na tržišču [9].
Ima dva analogna izhoda, osem analognih vhodov, dva 4-bitna in dva 8-bitna digitalna
izhoda, ter štiri 4-bitne digitalne vhode. Frekvenca vzorčenja za analogne 8-bitne vhode
znaša 500000 vzorcev na sekundo, za 12-bitne pa 10000 vzorcev na sekundo. Merilnik ima
tudi 6 DIN vtičnic, ki so združljive z analognimi merilniki Vernier tipa DIN. Meritve lahko
spremljamo na računalniku, ki je z vmesnikom povezan preko tiskalniškega priključka.
Zaradi visoke frekvence vzorčenja, je vmesnik zelo primeren za merjenje hitrih sprememb,
kot na primer merjenje pozicije telesa pri prostem padu. Vmesnik pa ima lahko tudi
vlogo krmilnega sistema. Z njim lahko vklapljamo in izklapljamo led diode, žarnice itd.,
s priključitvijo dodatnega modula H-krmilja, pa lahko krmilimo tudi enosmerne električne
motorje.
Zaradi svoje univerzalnosti je vmesnik uporaben na vseh področjih naravoslovnih in
tehniških ved, tako na področju biologije, kemije in fizike, kot tudi na področju elek-
tronike, elektrotehnike in robotike. Poleg testnega programa, dobimo v kompletu tudi
pripadajočo DLL knjižnico, s pomočjo katere lahko v programskem okolju Delphi ali Visu-
alBasic izdelamo povsem svoj program za zajemanje meritev. Zaradi enostavnih ukazov,
ki jih vmesnik za svoje upravljanje zahteva, je vmesnik primeren tako za osnovne šole kot
za študente naravoslovnih ved.
Slika 22: CMC-S3 [9].
25
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
5.3 Primeri uporabe šolskih merilnih vmesnikov
Zgoraj omenjeni merilni vmesniki so namenjeni predvsem šolskemu raziskovalnemu labora-
torijskemu delu. Uporabni so na različnih področjih naravoslovnih strok, saj je na večino od
njih moč priključiti preko 50 različnih merilnikov (senzorjev). Učenje je s pomočjo takšnih
vmesnikov privlačnejše, učenci oziroma študenti, pa se lažje osredotočijo na problem, ko
razmišljajo o izvedbi eksperimenta.
Kocijančič in Jamšek v članku [21] navajata, da je z uvedbo novih izbirnih predme-
tov v osnovni šoli, kot so robotika, elektronika in elektrotehnika, upadlo zanimanje za
klasične vsebine iz področja elektrotehnike. V omenjenem članku zato lahko najdemo
primere eksperimentov iz tega področja, katere izvedemo s pomočjo računalniškega meril-
nega vmesnika. Navedeni eksperimenti so nastajali v pilotskem projektu ComLab I, ki teče
v okviru mednarodnega projekta Leonardo da Vinci [9].
V okviru projekta ComLab I je nastal tudi že prej omenjen vmesnik CMC-S3. Slednji je
vreden posebne omembe, saj je zaradi svoje univerzalnosti "široko"uporaben. Poleg stan-
dardnih Vernier merilnikov tipa DIN, lahko nanj priključimo poljubne senzorje. Navsezad-
nje lahko nanj priključimo analogni ali digitalni merilnik, katerega izdelamo sami. To je
lahko na primer že dober argument, za uporabo vmesnika v elektrotehniških šolah.
V okviru projekta ComLab pa je do sedaj nastala tudi lepa zbirka najrazličnejših eksper-
imentov, izvedenih s pomočjo vmesnika CMC-S3. To so praktično edini dokumentirani on-
line eksperimenti , katere sem zasledil na svetovnem spletu. Mnogi od njih so že bili pred-
stavljeni na konferencah ter objavljeni v strokovnih člankih in revijah [22, 23, 24, 25, 26].
Na tem mestu bi posebej omenil, da so bili mnogi od teh eksperimentov izvedeni v
"umetnem okolju". Eksperiment z naslovom When to swim in a lake? je le eden od
njih [27]. Pri omenjenem eksperimentu so študenti "ustvarili"umetno okolje, kakršnega
prikazuje slika 23. Opazovali so, kako se segrevajo tla (zemlja) in voda (jezero) v odvisnosti
Slika 23: Model jezera in okolice [27].
26
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
od segrevanja ozračja. Umetno okolje je bilo ustvarjeno tudi v eksperimentu, ki ga opisujeta
S. Kocijančič in A. Šorgo v članku [22], kjer sta s pomočjo akvarija ustvarila model jezera.
Dejstvo je, da moramo pri takšnih eksperimentih upoštevati, da so to le modeli in ne
dejanske okoliščine!
V takšnih primerih se pokaže potreba po avtonomnem merilnem vmesniku, kateri ima
možnost brezžične komunikacije z računalnikom. Z namestitvijo le-tega na teren bi tako
lahko dobili meritve, katere bi kazale dejansko stanje. Izmed vseh vmesnikov, ki sem jih
našel na spletu, je vremenska postaja edina, s katero je mogoče spremljati terenske meritve
v realnem času. Njena pomanjkljivost pa je ta, da podpira le merilnike istega proizvajalca,
hkrati pa nakup takšne postaje ni poceni!
Kot sem omenil že v uvodu, je moj cilj izdelati avtonomni merilni vmesnik, z vgrajenim
modulom za brezžično komunikacijo. Vmesnik bo hkrati tudi nekakšen testni model novega
merilnega vmesnika, ki nastaja v okviru projekta ComLab II [9].
27
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6 Komunikacija z uporabo mikrokrmilnika
Komunikacijo med sistemi lahko izvedemo na več načinov. Najbolj enostavna je povezava
sistemov z žicami. Kaj kmalu pa se pokažejo potrebe po komunikaciji na daljavo. V tem
primeru bi morali za povezavo med zahtevnimi sistemi imeti več žic, kar pa ni racionalno.
V ta namen se je razvil asinhronski (kasneje še sinhronski) serijski prenos podatkov [28].
Ta način komunikacije nam omogoča pošiljanje podatkov po eni žici. Integrirano vezje,
ki prevede paralelni zapis podatka v serijski zapis, se imenuje UART (Universal Asyn-
chronous Receiver-Transmitter). UART vmesnik je danes že sestavni del vsakega raču-
nalnika. Primeren je za povezavo vhodno-izhodnih naprav, kakor tudi za komunikacijo
računalnika z okolico. Primer UART vmesnika sta Intel 8251 in Motorola 6850, katera je
potrebno krmiliti z mikrokrmilniki oz. mikroprocesorji. Sodobna tehnologija nam danes
ponuja mikrokrmilnike, kateri imajo komunikacijske vmesnike že vgrajene.
Mikrokrmilnik ATMega16, katerega sem uporabil v nalogi, ima takih komunikacijskih
vmesnikov več: SPI (Serial Pheriferal Interface), I2C (Inter Integrated Circuit bus) oziroma
Two-wire Serial Interface in USART (Universal Asynchronous and Sychronous serial Re-
ceiver and Transmitter). Predvsem uporaba slednjega je v programskem okolju BASCOM
zelo enostavna. Z nekaj programskimi vrsticami vzpostavimo komunikacijo med dvema
mikrokrmilnikoma ali med mikrokrmilnikom in računalnikom. Tako komunikacijo pa lahko
z ustreznimi komponentami hitro dopolnimo v brezžično komunikacijo (Slika 24).
Slika 24: Povezava mikrokrmilnikov.
28
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6.1 Programiranje mikrokrmilnika
Mikrokrmilnik lahko uporabljamo na mnogo načiniv, saj njegovo vlogo v vezju določa pro-
gram, ki ga vanj zapišemo. K njegovi popularnosti sta veliko pripomogla nizka cena in
FLASH programski pomnilnik, ki omogoča večkratno vpisovanje programa. Vpisovanje
programa v mikrokrmilnik poteka enostavno, s pomočjo programatorja, ki ga lahko izde-
lamo sami. Pri programiranju mikrokrmilnika potrebujemo še prevajalnik, ki nam napisane
ukaze prevede v strojno kodo, katero razume CPE6 mikrokrmilnika [29].
6.1.1 Programsko orodje BASCOM
Mikrokrmilnik družine AVR, kamor spada tudi Atmelov mikrokrmilnik ATmega16, je zelo
enostavno programirati v programskem okolju BASCOM AVR (Basic Compiler). BAS-
COM je v osnovi prevajalni program, ki nam ukazne vrstice, napisane v nam razumljivem
programskem jeziku Basic, prevede v strojno kodo, po kateri se mikrokrmilnik zna ravnati.
Skupaj s programatorjem služi za posredovanje napisanega programa mikrokontrolerju.
Programiranje v BASCOM-u je zelo preprosto in je primerno za začetnike. Vsi ukazi in
nastavitve so opisani tako, da lahko že iz vrstic programa razberemo za kakšne operacije
gre in kako bo mikrokrmilnik deloval. BASCOM nam omogoča tudi programiranje v zbirni
(assemblerski) kodi, ki pa je za začetnike prezahtevna.
6.1.2 Zagon programa BASCOM-AVR DEMO
Program BASCOM-AVR DEMO je brezplačna različica in je prosto dostopna na internetni
strani http://www.mcselec.com. Program enostavno namestimo v računalnik, če zaženemo
datoteko z imenom SETUP.EXE.
Demo program zaženemo v okolju Windows, s klikom na gumb start ⇒ Programs ⇒BASCOM-AVR ⇒ BASCOM-AVR. Prikže se nam okno, kot ga prikazuje slika 25 [13]. Da
lahko začnemo s pisanjem programa, moramo s klikom na ikono Open new edit window
najprej odpreti nov delovni list. Prikaže se nam delovno okno, omogočene pa so nam tudi
vse ostale funkcije in ikone programa, ki jih vidimo v menijski vrstici.
S programom BASCOM je mogoče programirati več vrst mikrokrmilnikov, zato moramo
na začetku v programu določiti oznako mikrokrmilnika, ki ga bomo programirali. To sto-
rimo tako, da v menijski vrstici izberemo Options ⇒ Compiler. Odpre se nam pogovorno
6CPE: Centralno procesna enota.
29
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 25: Zaslonska slika programskega okolja BASCOM ob prvem zagonu.
okno, ki ga prikazuje slika 26. V skupini Compiler ⇒ Chip se nam s klikom na drsnik
Slika 26: Izbira mikrokrmilnika.
pokažejo oznake mikrokrmilnikov. V našem primeru izberemo oznako m16def.dat. Is-
točasno se nam izpišejo še vrednosti pomnilnikov izbranega vezja. V tem pogovornem
oknu moramo nastaviti tudi hitrost delovanja mikrokrmilnika. To možnost najdemo v
skupini Compiler ⇒ Communication (slika 27). Frekvenca, ki jo izberemo, se mora uje-
mati s frekvenco, s katero bo mikrokrmilnik kasneje deloval. V primeru da frekvenci nista
enaki, tudi časovni parametri in zakasnitve, ki jih bomo kasneje napisali v program, ne
bodo prave. S klikom na gumb OK nastavitve potrdimo. Celoten dokument nato shran-
imo v svojo mapo, v katero se bodo ob prevajanju programa shranjevale še ostale datoteke,
ki so del programa. Sedaj lahko začnemo s pisanjem programa.
30
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 27: Nastavitev delovnega takta.
6.1.3 Osnove programiranja v BASCOM-u
Da bi lahko napisali preprost program, moramo najprej poznati nekaj osnovnih ukazov
programskega jezika BASCOM. V osnovi so ti ukazi enaki ukazom programskega jezika
Basic. Uporabljamo lahko razne logične IF-stavke, do-loop zanke, skoke ipd.. Program
vsebuje tudi mnogo vnaprej določenih stavkov in besed, ki so rezervirane za določene ukaze
in nastavitve. V nadaljevanju si lahko ogledamo nekaj osnovnih ukazov jezika BASCOM.
• Dim sprem as tip sprem. : Vsaki spremenljivki, ki jo v programu uporabimo,
moramo določiti njen tip. Možni tipi so naslednji:
– bit ⇒ zavzame vrednost 0 ali 1
– byte ⇒ zavzame vrednosti med 0 in 255
– integer ⇒ cela števila od -32768 do 32767
– word ⇒ cela števila od 0 do 65535
– long ⇒ decimalna števila med -2147483648 in 2147483647
– single ⇒ decimalna števila med 1, 5× 10−45 do 3, 4× 1038
– string ⇒ lahko vsebuje do 254 tekstovnih znakov.
• Dim temp(130) as tip spr. : Spremenljivke lahko deklariramo tudi kot zaporedne
podatke : temp(1), temp(2),....temp(130).
31
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
• Do.......Loop[until pogoj] : Ta zanka se pri programiranju uporablja zelo pogosto.
Stavki, ki so napisani med besedicama do in loop se nenehno ponavljajo, dokler ne
skočimo iz zanke. Če uporabimo še ukaz until se bodo stavki ponavljali, dokler pogoj
ne bo izpolnjen.
• For I = 1 To 15
. . .
Next I : Zanka vsebuje spremenljivko i, ki se povečuje od 1 do 15. Stavki v zanki
se ponovijo 15-krat.
• Goto mesto skoka : Z ukazom Goto se branje programa nadaljuje v vrstici z naslovom,
ki sledi besedi Goto. Naslov se mora nahajati nekje v svoji vrstici brez, posebnih
znakov in za njim dvopičje. Velikokrat se uporablja v kombinaciji z If stavkom, kjer
se odločamo, kateri podprogram se bo v nadaljevanju izvajal.
• Gosub mesto skoka : Z ukazom Gosub se branje programa nadaljuje v vrstici z
naslovom, ki sledi besedi Gosub. Podprogram z imenom, ki sledi besedi Gosub, se
mora obvezno končati z ukazom Return. Branje programa se vrne na mesto, kjer se
je skok začel.
Sestavni del orodja BASCOM je tudi pomoč, s katero si pri programiranju lahko veliko
pomagamo. V njej najdemo mnogo uporabnih ukazov, ki so podkrepljeni še s praktičnim
primerom. Pomoč zaženemo s klikom na ikono Help, ki se nahaja v glavni menijski vrstici.
Preprost program z uporabo Do...Loop zanke bi izgledal takole:
config portc = output nastavimo portc kot izhod
Do začetek Do-Loop zanke
portc.0 = 1 prvi priključek porta-c postavimo v logično enico
wait 1 počakamo 1 sekundo
portc.0 = 0 prvi priključek porta-c postavimo v logično nič
wait 1 počakamo 1 sekundo
Loop konec Do-Loop zanke
32
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Dokument nato še enkrat shranimo in program prevedemo s klikom na ikono compile
curent file (F7). Prikaže se okno (Slika 28), v katerem se izpiše, da se program prevaja
in koliko odstotkov pomnilnika bo program zavzel v mikrokrmilniku. V primeru, da smo
Slika 28: Prevajanje programa v HEX kodo
med pisanjem programa naredili napako, BASCOM ne more prevesti le-tega in nas na to
opozori. V spodnjem delu delovnega okna se nam izpiše vrstica:
Error: 46 Line:9 Assignment error[PORTC5:0 1:112], in File: E:\SOLA\ELEKTR....
Z dvojnim klikom nanjo nas program postavi v vrstico, kjer smo napako naredili, kar nam
olajša odkrivati in popravljati napake (Slika 29).
Slika 29: Zaslonska slika ob odkriti napaki
33
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6.1.4 Nastavitev in izdelava programatorja
Da lahko uspešno napisan program presnamemo v mikrokrmilnik, ga moramo povezati z
računalnikom. Mikrokrmilnik ATMega16 ima vgrajen SPI7 vmesnik, zato ga je najlažje
programirati s serijskim programatorjem. Omogoča pa nam tudi programiranje mikrokr-
milnika kar v vezju.
Najpreprostejša oblika takega programatorja je kar povezava mikrokrmilnika in računal-
nika s kablom. Ker nisem želel imeti težav s presnemavanjem programa v mikrokrmilnik,
sem se odločil za izdelavo programatorja po načrtu, kot ga prikazuje slika 30. Z SPI
Slika 30: Shema za izdelavo SPI programatorja.
programatorjem programiramo mikrokrmilnik preko štirih priključkov, poleg priključkov
za napajanje in GND (Slika 30). To so priključki MOSI (vhod podatkov), MISO (izhod
podatkov), SCK (takt komunikacije) in RESET (začetek programiranja). Ta programa-
tor moramo povezati s tiskalniškim (LPT) vhodom na računalniku. To lahko naredimo s
kablom, ki ga izdelamo sami, ali pa vzamemo že narejenega. Paziti moramo samo na to,
da ima kabel en moški in en ženski tiskalniški priključek. Če se odločimo za samostojno
izdelavo povezovalnega kabla je najbolje, da vzamemo ploščati kabel in mu dodamo us-
trezna tiskalniška priključka. Pri izdelavi programatorja ne smemo pozabiti na medsebojno
povezavo priključkov 25, 24, 23, 22, 21, 20 ,19 in 18 na moškem tiskalniškem priključku,
kot kaže slika 30. To nam zagotavlja zanesljivejšo komuniacijo!7SPI-Serial Protocol Interface: vmesnik za zaporedno pošiljanje podatkov
34
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Tudi v programu BASCOM moramo nastaviti, katere priključke tiskalniškega vhoda
bomo uporabljali. To storimo tako, da najprej poiščemo datoteko z imenom prog.settings
(nahaja se v mapi kamor smo namestili program BASCOM) in jo odpremo v beležnici
(Notepad). Postavimo se na konec dokumenta in vanj vpišemo naslednje vrstice:
[tomi]
;komentar
BASE=378
MOSI=BASE,32
CLOCK=BASE,16
RESET=BASE,128
MISO=BASE+1,64
Spremembe shranimo in dokument zapremo. Znova poženemo program BASCOM,
kjer sedaj izberemo programator, s katerim bomo prenesli program v mikrokrmilnik. V
menijski vrstici izberemo Options ⇒ Programmer. Prikaže se nam naslednje pogovorno
okno (slika 31). V skupini Programmer izberemo možnost Universal MCS Interface, v
Slika 31: Pogovorno okno pri izbiri programatorja.
skupini Universal pa nato izberemo ime svojega programatorja, v našem primeru tomi.
Nastavitve potrdimo s klikom na gumb OK.
35
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Na sliki 32 je SPI programator, kakršnega si lahko izdelamo sami z nekaj elektronskimi
elementi, ki skoraj zagotovo ležijo v predalu vsakega elektronika.
Slika 32: SPI Programator.
6.1.5 Prenos programa v mikrokrmilnik
Preden začnemo s prenosom programa preverimo, če sta računalnik in mikrokrmilnik
povezana in imamo vključeno napajanje. Prenos programa začnemo s klikom na ikono
Run programmer ali s pritiskom na tipko F4. Odpre se nam naslednje okno (Slika 33).
Program samodejno zazna mikrokrmilnik, izpiše njegovo ime in ime proizvajalca. V os-
Slika 33: Zaslonska slika okna pri programiranju mikrokrmilnika.
rednjem delu se pokaže program, ki smo ga prevedli v HEX-kodo (šestnajstiški sistem).
36
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Pred prvim programiranjem mikrokrmilnika pa moramo opraviti še pomembne notranje
nastavitve mikrokrmilnika. Te nastavitve so shranjene v posebnih pomnilniških celicah
(Lock bits) in se nanašajo na lastnosti mikrokrmilnika in njegovih komponent, nastavijo
pa se ob zagonu. Za začetek sta pomembni predvsem dve nastavitvi: nastavitev delovne
frekvence in onemogočenje funcije JTAG [13].
Delovno frekvenco mikrokrmilnika nastavimo tako, da v oknu, na sliki 33, kliknemo na
zavihek Lock and Fuse Bits. Odpre se nam novo polje, kot ga prikazuje slika 34. V polju
Slika 34: Notranje nastavitve mikrokrmilnika.
Fusebits poiščemo vrstico, v kateri imamo možnost nastaviti delovno frekvenco. Slednja
mora biti enaka frekvenci, ki smo jo nastavili že v prej omenjenih nastavitvah (Slika 27).
Nove nastavitve vnesemo v mikrokrmilnik z gumbom WriteFS. Funkcijo JTAG najdemo v
vrsticah polja Fusebits High in jo nastavimo na Disable. S tem omogočimo uporabo vseh
priključkov na vratih C. To nastavitev zapišemo v mikrokrmilnik z gumbom Write FSH.
Končno lahko v mikrokrmilnik prenesemo svoj program. To enostavno naredimo s klikom
na ikono Auto program chip. Po uspešnem prenosu se program začne takoj izvajati.
6.2 Mikrokrmilnik ATmega16
Z zgoraj opisanim programom BASCOM lahko programiramo mikrokrmilnike družine
AVR, le-ti pa se med seboj zelo razlikujejo. Za kakšen tip mikrokrmilnika se bomo pri
projektu odločili, je odvisno od zahtev in ciljev, ki smo si jih pri tem zastavili. Sam
37
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
sem izbral mikrokrmilnik ATmega16, ki je ustrezal vsem mojim zahtevam: ima zadostno
število vhodno/izhodnih enot, UART komunikacijski vmesnik (lahko tudi programabilni8)
in možnost delovanja v Power-save načinu.
Mikrokrmilnik ATmega16 vsebuje štiri vhodno-izhodna 8-bitna vrata [30, 31, 32, 33].
Označimo jih z besedo PORT in črko A, B, C ali D, posamezne bite teh vrat pa označimo
npr. s PA0 (PORTA, bit0). Vseh vhodno/izhodnih pinov je torej 32 (4x8). Poleg funkcije
vhodno/izhodnih (I/O) enot imajo vsi ti priključki še dodatne uporabne funkcije, kot so
UART vmesnik, ADC vmesnik ipd., ki jih nasatavimo s programom. Ostali priključki so
namenjeni za:
- napajanje mikrokrmilnika in A/D pretvornika (VCC in AVCC)
- ozemljitev (GND)
- referenčno napetost (AREF)
- priključitev zunanjega kvarčnega kristala (XTAL1 in XTAL2)
- RESET priključek
Slika 35: Mikrokrmilnik ATmega16.
8Nekateri mikrokrmilniki nimajo vgrajenega UART vmesnika, lahko pa ga ustvarimo programsko.Primer: ATTINY13.
38
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6.2.1 Vhodno izhodni priključki
Priključke mikrokrmilnika lahko uporabljamo kot vhodne ali izhodne. To določimo v pro-
gramu, ki ga napišemo. Če želimo, da celotna vrata oziroma celoten portc uporabimo kot
izhod, potem zapišemo naslednjo vrstico:
config portc = output.
Lahko uporabimo tudi ukaz:
Ddrc = &B11111111,
ki pomeni isto. Izhodni priključki imajo tokovno omejitev- 40mA na priključek. To zadošča,
da lahko z njim krmilimo svetleče diode ali podobne elemente, ki za delovanje ne potrebu-
jejo velikega toka. V nasprotnem primeru moramo vezju dodati še ojačevalnik moči. Pozor!
Skupni izhodni tok ne sme preseči 200mA. Slika 36 prikazuje tipično vezavo svetleče diode
na izhod mikrokrmilnika.
Slika 36: Tipična vezava LED diode.
V primeru, da želimo uporabljati porta kot vhod, potem zapišemo ukaz:
config porta = input ali
Ddrc = &B00000000
Kadar uporabljamo priključek mikrokrmilnika kot vhodni, moramo nanj pripeljati logično
enico (5V) ali logično nič (0V), odvisno od tega, kako smo napisali program. Slika 37
prikazuje tipični vezavi vhodnega priključka.
39
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 37: Tipični vezavi vhodnih priključkov.
6.2.2 Komunikacijski vmesniki
Komunikacijski vmesniki, ki so vgrajeni v mikrokrmilnike, so namenjeni povezovanju med
samimi mikrokrmilniki, med mikrokrmilniki in računalniki ali med mikrokrmilniki in zu-
nanjimi integriranimi vezji, kot so zunanji pomnilniki, razni senzorji, ADC ipd. Mikrokr-
milnik ATmega16 ima vgrajene tri komunikacijske vmesnike: SPI, TWI oz. I2C in vmesnik
USART [30]. BASCOM vsebuje že rezervirane ukaze za vse tri načine komunikacij. Vsi trije
vmesniki omogočajo sinhroni serijski prenos podatkov, kot že lahko razberemo z imena,
pa vmesnik U(S)ART omogoča tudi asinhroni serijski prenos. Ker sta SPI in I2C komu-
nikacijska protokola za začetnike nekoliko prezahtevna, jih v nadaljevanju ne bom posebej
omenjal.
6.2.3 Asinhroni prenos podatkov in vmesnik UART
Komunikacijski vmesnik UART je namenjen asinhronemu serijskemu prenosu podatkov
[28, 29]. Pri tem načinu je vsak znak sestavljen iz treh delov: startnega bita, podatkovnih
bitov (vključno s paritetnimi) in stop bita (slika 38). Ta način imenujemo tudi start-
stop način. Ko ne pošiljamo podatka, mora biti linija v stanju logične enice. Start bit
je vedno različen od mirovnega stanja linije. Njegov namen je, da sporoči sprejemniku
začetek znaka. Podatkovni biti, ki jim sledi (vendar neobvezno) paritetni bit, določajo
znak, ki se pošilja. Njihovo število je odvisno od abecede, ki se uporablja za prenos.
40
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 38: Shema asinhronega načina prenosa.
Najbolj pogosti sta EBCDIC (Extended Binary Coded Decimal Interchange Code) ali
ASCII (American Standard Code for Information Interchange). Po CCITT predpisih se
na linijo vedno najprej pošlje bit z najmanjšo težo, zadnji pa bit z največjo težo. Vsi
mikrokontrolerski komunikacijski vmesniki upoštevajo ta predpis. Stop bit je vedno enak
mirovnemu stanju linije. Lahko sta tudi dva stop bita. Stop bit zagotavlja, da bo pred
naslednjim znakom linija v mirovnem stanju najmanj en bitni interval (trajanje enega
bita). Takoj zatem lahko pošljemo naslednji znak, ali pa pustimo med njima poljubno dolg
presledek, v katerem je linija v mirovnem stanju. Smisel uporabe start in stop bitov je v
tem, da enolično zagotavljata detekcijo začetka znaka. Paritetnega bita v večini primerov
ne uporabljamo, služi pa za preverjanje napak pri prenosu. Lahko ga nastavimo na pet
vrednosti (None- izpuščen, Even- sodo, Odd -liho, Mark -vedno 1 in Space-vedno liho).
Če izberemo sodo pariteto, potem bo paritetni bit zavzel vrednost enice, ko bo število 1
v podatku sodo, drugače bo zavzel vrednost nič. Če izberemo liho pariteto, potem bo
paritetni bit zavzel vrednost 1, ko bo število 1 v podatku liho. Z nastavitvijo paritete
na Mark oz. Space paritetni bit nastavimo vedno na 1 oz. 0, na sprejemni strani pa s
preverjanjem paritetnega bita lahko odkrijemo napako pri prenosu.
Za pravilen prenos je potrebno, da sprejemnik ve, kakšno hitrost, koliko podatkovnih
bitov, kakšno pariteto in koliko stop bitov uporablja oddajnik. Poleg tega mora biti hitrost
ure, s katero sprejemnik v bitnih intervalih bere stanje na liniji, dovolj blizu hitrosti ure,
s katero oddajnik oddaja. Oddajnik in sprejemnik morata biti med sprejemom znaka
sinhronizirana. Ker se pri asinhronem prenosu ob vsakem start bitu sprejemnik ponovno
sinhronizira z oddajnikom, zadošča že, da sta frekvenci sprejemne in oddajne ure dovolj
enaki, da skupna časovna razlika v enem znaku ne presega polovice bitnega intervala. V
41
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
skrajnem primeru se frekvenci lahko razlikujeta za 5%. Z uporabo kristalnih oscilatorjev
je dandanes možno doseči natančnost frekvence na manj kot 0,01%.
Vsak UART vsebuje oddajnik in sprejemnik , ki sta med seboj neodvisna in lahko
delujeta vzporedno. Hitrost oddaje in sprejema je določena z oddajno in sprejemno uro.
UART ima vgrajen generator te ure - generator baudne hitrosti (Baud rate generator).
Standardne hitrosti asinhronega prenosa so 50, 75, 110, 300, 600, 1200, 1800, 2400, 4800,
9600, 19200, 38400.... bitov na sekundo (oznaka bps). Tej hitrosti rečemo tudi baudna
hitrost.
6.2.4 Sinhronski prenos podatkov in vmesnik USART
Sinhroni način komunikacije je bil razvit posebej za potrebe računalništva. Pri tem načinu
nimamo start in stop bitov. Druga značilnost sinhronega prenosa je, da na liniji ni presled-
kov. Kadar oddajniku zmanjka podatkov, prične avtomatsko vstavljati posebne mirovne
znake, ki jih sprejemnik izpušča. Ker pri tem prenosu ni start in stop bitov, morata spre-
jemnik in oddajnik ostati v ”sinhronizmu” preko celotnega sporočila. Tako kot se pri
asinhronem prenosu sprejemnik in oddajnik sinhronizirata ob vsakem znaku, se morata pri
sinhronem sinhronizirati pri vsakem sporočilu. Frekvenci oddajnika in sprejemnika morata
biti zato mnogo bolj natančni kot pri asinhronem prenosu. V resnici so sinhronski sprejem-
niki narejeni tako, da se frekvenca njihove sprejemne ure avtomatsko prilagaja frekvenci
sprejemnega signala.
6.3 Vzpostavitev komunikacije z mikrokrmilnikom ATmega16
Ker za vzpostavitev brezžične komunikacije med dvema sistemoma potrebujemo asinhrono
komunikacijsko povezavo, bomo uporabljali komunikacijski vmesnik UART, ki edini omogoča
takšen način komunikacije. V nadaljevanju si poglejmo nekaj primerov komunikacijskih
povezav: navadne žičene, optične in na koncu radijke povezave.
6.3.1 Komunikacija med dvema mikrokrmilnikoma
USART vmesnik, ki je vgrajen v mikrokontroler ATmega16, podpira štiri načine delovanja:
Normal asynchronous (navadni asinhroni način), Double Speed asynchronous (asinhroni
način z dvojno hitrostjo) ter Master in Slave synchronous načina (zmeraj določimo, kateri
bo v vlogi gospodarja in kateri v podrejeni vlogi)[30]. Prvotno je bit UMSEL (USART
42
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Mode Select) v registru UCSRC (USART Control and Status Register C) nastavljen na
vrednost 0, kar pomeni da vmesnik USART prvotno deluje v asinhronskem načinu. Ker
bom v nadaljevanju uporabljal le asinhroni način komunikacije, ki zagotavlja zanesljivo
brezžično komunikacijo, nam teh nastavitev v registru ni potrebno spreminjati.
Za vzpostavitev komunikacije, moramo najprej križno povezati priključke Tx in Rx med
mikrokrmilnikoma in potencial 0V, kot kaže slika 39. Kot sem omenil že prej, je pri tej
Slika 39: Povezava mikrokrmilnikov za serijsko komunikacijo.
komunikaciji ključnega pomena časovna natančnost. Zato je pomembno, da nastavimo
ustrezno delovno frekvenco in iste hitrosti komunikacije pri obeh mikrokrmilnikih. Te nas-
tavitve lahko zapišemo s programom tako, da odpremo novo delovno okno, in na začetek
programa vstavimo naslednje vrstice:
$Regfile = ime mikrokrmilnika def.dat
$crystal = 8000000
$baud = 9600
Lahko pa to naredimo v programu tako, da se postavimo v menijsko vrstico; izberemo
Options ⇒ Compiler ⇒ Communication. Odpre se nam pogovorno okno (Slika 40). V
okvirčku Baudrate 0 nastavimo hitrost prenosa, v okvirčku Frequency pa delovno frekvenco
mikrokrmilnika. S klikom na gumb OK nastavitve potrdimo. Pozor! Z nastavitvijo števila
podatkovnih bitov, paritetnega bita in stop bita se nam ni potrebno ukvarjati. Tovarniške
43
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
nastavitve µK ATmega16 so že nastavljene na najbolj standardno obliko prenosa 8N1. To
pomeni, da bomo podatke pošiljali z osmimi biti, paritetnega bita ne bomo uporabljali,
pošiljko pa zaključili z enim stop bitom.
Slika 40: Nastavitev hitrosti komunikacije.
Napišimo program, s katerim bomo lahko na prvem µK določali, katera LED dioda
naj sveti na drugem µK. Ali drugače, stanje sklenjenih stikal na prvem µK bomo lahko
opazovali preko svetlečih diod na drugem µK. Slika 41 prikazuje shemo vezja, katerega
moramo sestaviti. Komunikacija je v tem primeru enosmerna, zato potrebujemo samo eno
komunikacijsko povezavo. Na strani oddajnika zapišemo naslednje vrstice:
$Regfile = ”m16def.dat”
$crystal = 8000000
$baud = 9600
Dim Stevilo as Byte ”deklariramo spremenljivko Stevilo kot Byte”
Config Portb = Input ”nastavimo portb kot vhod”
Poglej_stanje: ”naslov zanke-neobvezno”
Do
Stevilo = Pinb ”z ukazom pinb preberemo logična stanja na vratih b”
Printbin Stevilo ”pošljemo binarno vrednost stevila”
Loop
End ”konec programa”
44
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 41: Shema vezave za vklapljanje diod.
Prve tri vrstice so obvezne nastavitve mikrokrmilnika, zato jih moramo vsakokrat vs-
taviti v program9. Naj posebej opozorim na prvo vrstico. S tem ukazom programu povemo,
kateri µK bomo pravzaprav programirali. Mikrokontrolerji se po svojih funkcijah razliku-
jejo. Lahko se zgodi, da v programu napišemo ukaz, ki ga µK ne more izvesti. V tem
primeru nas program na to opozori. Z ukazom Stevilo = pinb pogledamo stanje na vratih b
in ga priredimo spremenljivki Stevilo. V nasem primeru je najvecje možno stanje 00000111
oziroma stevilo 7, ko so sklenjena vsa tri stikala. Za pošiljanje podatka nam BASCOM
ponuja dva ukaza in sicer Print in Printbin. Predvsem slednji je zelo praktičen pri pošil-
janju številk. Program za sprejemnik zapišemo takole:
Dim Stevilo as Byte ”deklariramo spremenljivko Stevilo kot Byte”
Config Portc = Output ”nastavimo portc kot izhod”
Sprejmi: ”naslov zanke-neobvezno”
Do
Stevilo = Waitkey() ”Čakamo na podatek ”
Portc = Stevilo ”Vrednost spremenljivke Stevilo prikažemo na vratih c”
Loop
End ”konec programa”
9V nadaljevanju jih ne bom več omenjal
45
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Ukazi so zelo podobni kot prej. Za sprejem podatka lahko v BASCOM-u uporabimo
dva ukaza, Waitkey() in Inkey (). Razlika je v tem, da z ukazom Waitkey čakamo na
podatek, branje programa pa se nadaljuje šele, ko podatek sprejmemo. Pri ukazu Inkey
branje programa poteka naprej in nam vrne vrednost nič, če podatka še nismo sprejeli. V
tem primeru ne moremo vedeti, ali podatka še nismo sprejeli ali je njegova vrednost ravno
nič. Zato moramo ta ukaz uporabljati premišljeno.
Slika 42: Slika vezja za vklapljanje diod.
Mikrokrmilnik ATmega16 pa nam omogoča tudi uporabo UART vmesnika, ki ga us-
tavarimo programsko. Uporabimo ga lahko na vseh I/O (input/output) priključkih µK.
Ta možnost nam pride zelo prav, ko želimo med seboj povezati več elektronskih naprav in
potrebujemo večje število UART vmesnikov. Ukaza, ki nam ustvarita Tx in Rx priključek
zapišemo, takole:
Open ”comd.6:9600,8,n,1” For Output As #1
Open ”comd.7:9600,8,n,1” For Input As #2
Že na prvi pogled lahko prepoznamo, za kakšne nastavitve gre. Z ukazom najprej določimo
na katerem priključku želimo imeti Tx oziroma Rx priključek. V navedenem primeru sta
to priključka portd.6 (Tx) in portd.7 (Rx). Nato določimo še osnovne parametre: hitrost
prenosa (9600Bps), število podatkovnih bitov (8), paritetni bit (n= none) in število stop
bitov (1). Na koncu moramo določiti še, ali gre za izhod ali vhod in ga označiti z ”lojtro”
in številko. Tudi ukazi, s katerimi pošiljamo in sprejemamo podatke, se malenkostno raz-
likujejo. Zapišemo jih na naslednji način:
Print #1 , podatek
podatek = Waitkey(#2)
46
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Ukazoma Print in Waitkey moramo v tem primeru dopisati še oznaki, ki smo jima jo
dodelili. Na koncu programa ne smemo pozabiti na ukaz Close #1 oziroma Close #2, s
katerim zapremo programski UART.
6.3.2 Komunikacija med µK in računalnikom
Program BASCOM vsebuje tudi ukaze in orodja, ki nam omogočajo povezavo mikrokr-
milnika z računalnikom. Najbolj razširjena vmesnika, ki računalniku omogočata serijsko
povezavo z mikrokrmilnikom sta USB in RS232. Slednji je še vedno zelo aktualen, pred-
vsem zaradi enostavnejše uporabe. Komunikacija prav tako kot pri vmesniku UART poteka
preko priključkov Tx in Rx. Vmesnika UART na µK in vmesnika RS232 na računalniku pa
ne moremo povezati direktno. Napetostni nivoji RS232 komunikacijkega protokola se nam-
reč razlikujejo od TTL nivojev, ki jih uporablja mikrokrmilnik [29]. Pri vmesniku RS232
logična 1 pomeni napetost med -3V in -25V, logična 0 pa pozitivno napetost med +3V in
+25V, glede na potencial 0V (GND)(Slika 43). Tako visoki napetostni nivoji omogočajo
daljše povezave, kljub izgubam v vodnikih. Za povezavo računalnika z µK tako potrebu-
Slika 43: RS232 in TTL napetostni nivoji.
jemo še dodatni člen- integrirano vezje MAX232. Vezavo slednjega prikazuje shema na
sliki 44. V primeru, da naša povezava med µK in računalnikom ni dolga, pa imamo še
47
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 44: Povezava µK z računalnikom.
eno možnost. Programski UART nam namreč omogoča, da napetostne nivoje invertiramo
(obrnemo), kar pomeni, da lahko µK direktno priključimo na računalnik. Ukazno vrstico
zapišemo takole:
Open ”comd.6:9600,8,n,1,inverted” For Output As #1
Pogram BASCOM že vsebuje vmesnik za serijsko komunikacijo z µK. Nastavitve zanj
najdemo v menijski vrstici tako da kliknemo Options ⇒ Communication. Pokaže se nam
pogovorno okno na sliki 45. Tu lahko nastavimo ustrezna vhodna vrata, hitrost prenosa,
Slika 45: Nastavitev komunikacije z računalnikom.
48
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
število podatkovnih bitov, pariteto in število stop bitov. Vse te nastavitve morajo biti
iste, kot smo jih zapisali v mikrokrmilnik. Pri novejših računalnikih se nam lahko zgodi,
da le-ti nimajo vgrajene standardne vtičnice za serijsko komunikacijo (COM priključka),
pač pa samo novejši USB (predvsem pri prenosnih računalnikih). V ta namen sem poiskal
tehnično rešitev, ki pa se je kasneje izkazala celo za boljšo. Na trgu se dobi poseben
pretvornik, USB - RS232 adapter, ki nam omogoča, da USB priključek na računalniku
uporabljamo kot navadna COM vrata. Vse kar je potrebno storiti je to, da na računal-
nik namestimo ustrezne gonilnike za omenjen pretvornik. Vse ostale nastavitve in ukazi v
programu BASCOM ostanejo nespremenjeni.
Slika 46: USB - RS232 pretvornik.
Sestavimo vezje (slika 47)in napišimo preprost program, s katerim bomo na računalniku
spremljali napetost na analognem vhodu mikrokrmilnika.
Mikrokrmilnik ATmega16 ima osem analognih vhodov oziroma osem 10-bitnih analogno
dogitalnih pretvornikov (ADC). Ti vhodi se nahajajo na priključkih od PA0 do PA7. Nji-
hovo funkcijo aktiviramo z ukazom:
Config Adc = Single , Prescaler = Auto , Reference = Off
Z nastavitvijo Prescaler določimo delovno frekvenco pretvornika ADC. Sam sem izbral
možnost auto, kar pomeni da pretvornik dela z najvišjo možno frekvenco 200kHz. Nas-
taviti moramo tudi referenčno napetost AREF. V primeru, da izberemo zunanjo refer-
enčno napetost, potem nastavimo parameter reference na OFF. Ukaz s katerim preberemo
napetost na vhodu zapišemo:
Anin = Getadc(st.vhoda)
49
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Prebrano vrednost shranimo v spremenljivko, ki mora biti vsaj 10-bitna. V našem primeru
je to spremenljivka Anin, deklarirana kot Integer. Program za spremljanje napetosti na
analognem vhodu je naslednji:
Dim Anin As Integer , Channel As Byte , A1 As Single , A2 As Single
Config Adc = Single , Prescaler =Auto , Reference = Off
Start Adc
Open ”comd.6:4800,8,N,1,Inverted” For Output As #1
Channel = 0
Beri_napetost:
Do
Anin = Getadc(channel)
A1 = Anin / 1024
A2 = A1 * 5
Print #1 , Fusing(a2 , ”#.##”) ; ” ” ;”V”
Wait 2
Loop
Close #1
End
Slika 47: Shema vezja za branje ADC-ja.
50
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Vmesnik za komunikacijo z µK poženemo s klikom na ikono Run terminal emulator, ki
jo najdemo v menijski vrstici. Odpre se nam okno na sliki 48.
Slika 48: Terminalsko okno.
Slika 49: Vezje za komunikacijo z računalnikom.
6.4 Brezžična komunikacija med dvema mikrokrmilnikoma
Serijski vmesnik USART lahko uporabimo tudi pri brezžični komunikaciji. Razlika med
navadno in brezžično povezavo je ta, da za prenos podatkov izkoriščamo drugačen medij. V
nadaljevanju si poglejmo primere dveh tipov brezžičnih komunikacij - optičnih in radijskih
komunikacij.
51
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6.4.1 Optična komunikacija
Osnovne sestavine sistemov za optične komunikacije so svetlobni izvor, optični vodnik ali
zrak in svetlobni senzor [32]. Večinoma gre za prenos digitalnih signalov, lahko pa so le ti
tudi analogni.
Običajno so svetlobni izvori svetleče diode, ki imajo podobne lastnosti kot navadne
polprevodniške diode. V prevodni smeri oddajajo svetlobo, ko skoznje začne teči tok.
Svetilnost je premo sorazmerna toku, barva svetlobe, ki jo oddajajo, pa je odvisna od
kolenske napetosti diode. Velja enačba:
e0Uk = hc
λ(1)
kjer je e0 osnovni naboj, Uk kolenska napetost, h Planckova konstanta, c hitrost svetlobe
v vakuumu in λ valovna dolžina svetlobe. Vezje za preprost svetlobni izvir prikazuje slika
50. Osnovni elektronski sestavni deli svetlobnih senzorjev so elementi, katerih lastnosti
Slika 50: Preprost svetlobni izvor.
so odvisne od osvetljenosti. To so fotoupor (LDR-Light Dependent Resistor), fototranzis-
tor in fotodioda. Najpreprostejši sprejemni modul lahko sestavimo z vezavo fotoupora v
napetostni delilnik, kot prikazuje slika 51.
Če želimo referenčno napetost priključiti na digitalni vhod oziroma Rx priključek vmes-
nika UART, potem mora napetost osvetljenega in zatemnjenega fotoupora ustrezati zahte-
vam za logično 1 in logično 0. V primeru mikrokrmilnika ATmega16 je to napetost med
-0.7V do +0.6V za logično 0 in 2.6V do 5.25V za logično 1. Idealna logična 0 bi bila 0V,
logična 1 pa 5V logična 1. Da dosežemo zanesljivo napetost za logično 1 pri osvetljenem
52
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 51: Shema napetostnega delilnika s fotouporom.
fotouporu in napetost logične 0 pri zatemnjenem, rabimo optimalno vrednost referenčnega
upora. Praktično to naredimo tako, da namesto referenčnega upora vežemo nastavljiv
upor in nato s poskušanjem najdemo optimalno rešitev. Fotoupori so sicer zelo občutljivi
na spremembe osvetljenosti, sprememba upornosti pa pri nenadni spremembi osvetljenosti
časovno precej zakasni [34]. Zaradi takšnega odziva so fotoupori primerni le za frekvence
do približno 200Hz. Precej boljši odziv imajo fototranzistorji, še boljšega pa fotodiode.
Predvsem slednje se uporabljajo pri optičnih komunikacijah, kjer je pomembna hitrost.
Pri optičnih komunikacijah pa je pomemben še tretji element - medij, po katerem
informacija potuje. V primeru, da bi imeli za svetlobni izvor navadno LED (Light emitting
diode) diodo, na sprejemni strani pa navadni fototranzistor, bi bila komunikacija zelo
nezanesljiva. Težko bi se namreč izognili vplivu dnevne svetlobe. Nenazadnje bi motnjo
povzročil že vklop/izklop luči v sobi. Zanesljivost bi lahko povečali, če bi oddajnik in
sprejemnik spojili z optičnim kablom, s katerim pa smo spet omejeni z razdaljo. V ta
namen se uporabljajo LED diode, ki oddajajo infrardečo svetlobo. Prav tako za sprejemnik
uporabimo fototranzistor ali fotodiodo ki je občutljiva samo na IR svetlobo.
Preprost primer optične komunikacije med mikrokrmilnikoma, z uporabo IR LED diode
in IR fototranzistorja, izdelamo po shemi na sliki 52.
Primer je isti kot sem ga omenil že na začetku tega poglavja. Na oddajniku imamo
tri stikala10, s katerimi določimo katera LED dioda naj se vklopi na strani sprejem-
10V mojem primeru sem uporabil 3 upore in žico kot je razvidno iz slike 53.
53
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 52: Shema vezja preproste optične komunikacije.
Slika 53: Slika vezja.
nika. Navadno žično povezavo smo sedaj zamenjali z brezžično optično povezavo, kar
je povzročilo tudi manjšo spremembo v programu. Iz sheme na sliki 52 je razvidno, da se
nam na sprejemni strani logično stanje obrne. Če pošljemo iz prvega µK stanje logične 1,
potem na sprejemnem µK preberemo logično 0. To težavo elegantno rešimo tako, da samo
na oddajni strani signal s programskim UART-om invertiramo. Program za oddajnik je
sledeč:
Dim Stevilo as Byte ”deklariramo spremenljivko Stevilo kot Byte”
Config Portb = Input ”nastavimo portb kot vhod”
54
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Open ”coma.1:1200,8,N,1,Inverted” For Output As #1
Poglej_stanje:
Do
Stevilo = Pinb ”z ukazom pinb preberemo logična stanja na vratih b”
Printbin #1 , Stevilo
Loop
Close #1
End
Na tem mestu bi opozoril še na dve stvari. Pri uporabi programskega UART-a ne
smemo pozabiti na dodatne parametre (#1 ), ki jih moramo dodati ukazom za pošiljanje,
ter na ukaz Close #1, s katerim zapremo programski UART. Druga stvar je ta, da moramo
biti previdni pri nastavitvi hitrosti prenosa. V primeru, da ne uporabljamo tranzistorja s
hitrim odzivnim časom, moramo to pri komunikaciji upoštevati. Svoj odzivni čas ima tudi
fotodioda, kar pomeni, da ima tak sistem omejeno hitrost prenosa. V tehničnih podatkih
IR fotoelementov običajno najdemo podatek, kolikšno hitrost prenosa element še omogoča.
Pri tranzistorjih najdemo za nas pomembne lastnosti pod imenom Dynamic characterictics.
Najvišja možna hitrost prenosa, ki sem jo v tem primeru dosegel z navadnimi elementi, je
bila 1200bps11. Program na sprejemni strani zapišemo takole:
Dim Stevilo As Byte
Config Portc = Output
Open ”comb.0:1200,8,n,1” For Input As #2
Sprejmi: Do
Stevilo = Waitkey(#2)
Portc = Stevilo
Loop
Close #2
End
11Sem so vključeni tudi idealni pogoji, kot so: majhna razdalja (cca 10cm) in zatemnjen prostor.
55
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6.4.2 Frekvenčno modulirana optična komunikacija
Pri zgoraj omenjeni optični povezavi pa se pojavi naslednje vprašanje. Kako zanesljiva je
ta povezava, če sta oddajnik in sprejemnik nekoliko bolj izpostavljena sončnim žarkom?
Sončni žarki namreč vsebujejo tudi določen odstotek infrardeče svetlobe in ta lahko močno
moti komunikacijo. Navsezadnje lahko že IR signal iz televizijskega daljinca vpliva na naš
sistem.
Rešitev problema je frekvenčno moduliran signal. Slednjega dobimo tako, da po-
datkovni signal in signal nosilne frekvence priključimo na vhod logičnih vrat IN (AND
GATE ) oziroma na vhod schmittovega sprožilnika (schmmit tigger). Na izhodu dobimo
frekvenčno moduliran signal, ki ga prikazuje slika 54. Podatkovni signal dobimo iz Tx
Slika 54: Frekvenčna modulacija signala.
priključka vmesnika UART, generator nosilne frekvence pa lahko izdelamo na več načinov,
odvisno od vrednosti frekvence. Sam sem izdelal in preizkusil dve možnosti. Prva je asta-
bilni multivibrator z integriranim vezjem NE555, druga možnost pa je frekvenčni generator
z uporabo mikrokrmilnika. Astabilni multivibrator izdelamo po shemi, ki jo prikazuje slika
55 [32]. Elementi, ki vplivajo na periodo oscilacij, so kondenzator C ter upora R1 in R2.
Slika 55: Astabilni multivibrator z integriranim vezjem NE555.
56
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Izhodni signal je pravokotne oblike in se izmenjuje med malo manj kot 5V in 0V. Čas
trajanja posameznega nivoja izračunamo z naslednjima enačbama.
Čas trajanja zgornjega nivoja:
tz = 0.693(R1 + R2)C. (2)
Čas trajanja spodnjega nivoja:
ts = 0.693R2C. (3)
Frekvenco osciliranja izračunamo po enačbi:
f =1.44
(R1 + 2R2)C. (4)
Pri računanju frekvence moramo upoštevati, da vrednosti uporov in kondenzatorja niso
poljubne, pač pa mora veljati naslednje: 1nF < C < 100µF in 1kΩ < R1 + 2R2 < 10MΩ.
Same enačbe pa nam ne zagotavljajo stoodstotne natančnosti. Frekvenca, ki jo izračunamo,
je le približek in se lahko precej razlikuje od dejanske frekvence. Poleg vseh teh zahtev
moramo paziti še na eno stvar. Trajanje zgornjega in spodnjega nivoja naj bi bilo v
idealnem primeru v razmerju 1:1. Iz enačb 2 in 3 vidimo, da to ni izvedljivo. Optimalno
razmerje med nivojema in pravo frekvenco najlažje določimo eksperimentalno, tako da
namesto navadnih uporov vzamemo nastavljive upore in s poskušanjem poiščemo najboljšo
rešitev. Pomagamo si s sliko na osciloskopu (Slika 56).
Slika 56: Slika na osciloskopu pri nastavitvi frekvence.
Vrednosti elementov, ki sem jih dobil na takšen način, za frekvenco 38kHz so naslednje:
R1 = 330Ω, R2 = 790Ω in C = 0.02µF .
57
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Kot sem že omenil, lahko generator nosilne frekvence naredimo tudi z uporabo mikrokr-
milnika. Vse kar moramo doseči je izmenjavanje logičnih stanj na izhodnem priključku s
frekvenco 38kHz. Program za takšen generator zapišemo:
Config Portb = Output
Do
portb.0 = 1
waitus 9
portb.0 = 0
waitus 9
Loop
End
Na prvi pogled je videti, kot da se stanje na izhodu menja vsakih 9µs, kar pomeni, da
je čas periode tp = 18µs in frekvenca f = 55kHz. Pri tem pa moramo upoštevati, da
mikrokrmilnik potrebuje tudi določen čas za izvršitev ene programske vrstice. Kolikšen
je ta čas, je odvisno od frekvence, s katero mikrokrmilnik deluje. Tu si lahko pomagamo
z osciloskopom, lahko pa v programu BASCOM simuliramo program in s tem ugotovimo
kolikšna je perioda utripanja. Simulacijo zaženemo s klikom na ikono Simulate program v
menijski vrstici. Odpre se nam okno na sliki 57. S klikanjem na ikono Step into code se
Slika 57: Zaslonska slika simulatorja.
58
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
po korakih premikamo po programskih vrsticah; v statusni vrstici levo spodaj, pa lahko
opazujemo, koliko časa je potrebnega za izvršitev posamezne programske vrstice. Omeniti
velja tudi schmittov sprožilnik 12. Slednji ima vlogo dušenja šumov, ki se lahko pojavijo
bodisi v podatkovnem signalu ali nosilni frekvenci. V primeru, da bi namesto schmittovega
sprožilnika uporabljali logična vrata IN, bi ob prisotnosti šuma lahko prišlo do nezaželenih
preklopov med logično 0 in logično 1. Pri pisanju programa ne smemo prezreti podatka,
da se logično stanje na omenjenem schmittovem sprožilniku obrne. Sestavo IR oddajnika
prikazuje slika 58. Za frekvenčni generator sem uporabil mikrokrmilnik ATtiny26.
Slika 58: IR oddajnik
Sedaj potrebujemo še sprejemnik, s katerim bomo lahko frekvenčno moduliran signal
demodulirali in ga posredovali mikrokrmilniku. Če smo vezje za modulacijo izdelali sami,
se nam sedaj z izdelavo sprejemnika ni treba ukvarjati. Na trgu najdemo celo množico
IR sprejemnikov, narejenih izključno za takšne namene, katerih izhodni signal je že de-
moduliran. Sam sem preizkusil naslednje tri sprejemne module: TSOP1138, TSOP1238 in
TSOP2238 [17]. Vsi ti moduli delujejo na enak način in med njimi ni bistvene razlike.
TSOP sprejemni moduli imajo vgrajen frekvenčno prepustni filter, tako da sprejemajo
samo signale točno določene nosilne frekvence. V tem primeru je to frekvenca 38kHz, kar
lahko razberemo že iz oznake TSOP2238. Ohišje je narejeno iz epoxy stekla, ki deluje kot
IR filter. V samem modulu pa je vgrajen tudi demodulator, ki signal demodulira v prvotni12Na električni shemi je to integrirano vezje z oznako SN74LS132.
59
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
podatkovni signal. Delovanje sprejemnika prikazuje blokovna shema na sliki 59, njegovo
vezavo pa slika 60.
Slika 59: Blokovna shema IR sprejemnika TSOP2238.
Slika 60: Vezava sprejemnika TSOP2238.
Za njegovo zanesljivo delovanje potrebujemo poleg napajanja in ozemljitve še en kon-
denzator in en upor. Slednja dva imata v vezju vlogo RC nizkega sita, ki duši motnje,
ki prihajajo od napajanja. Izhodni priključek sprejemnika direktno priključimo na Rx
priključek UART vmesnika. Na tem mestu velja opozoriti še na nekaj zahtev, ki jih mora
frekvenčno moduliran signal za zanesljivo komunikacijo izpolnjevati. Zelo pomembno je, da
je nosilna frekvenca signala čim bližje sredini frekvenčno prepustnega pasu, v tem primeru
38kHz. Druga pomembna stvar je hitrost prenosa (baud rate). Vsak tak modul zahteva
za zanesljiv sprejem določeno število ciklov nosilne frekvence na en podatkovni bit - cycles
per burst. Pri modulu TSOP223813 mora biti to število večje ali enako 10 (burst length
13Pri sprejemnem modulu TSOP1138 je minimalno število ciklov enako 6.
60
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
= 10cycles/burst). Iz tega podatka lahko hitro izračunamo, kolikšna je najvišja možna
hitrost prenosa. Osnovna nosilna frekvenca znaša: f0 = 38kHz. Od tod sledi, da dolžina
enega cikla (ene periode) znaša:
tp =1s
38000= 0.026ms (5)
To pomeni, da mora biti dolžina enega bita vsaj desetkrat tolikšna, to je tbitmin = 0.26ms.
Vzemimo, da nastavimo hitrost prenosa na vrednost 2400bps. Dolžina enega bita v tem
primeru znaša
tbit =1s
2400= 0.4ms, (6)
kar zadostuje za uspešno komunikacijo. V primeru, da hitrost prenosa povečamo na
4800bps, znaša dolžina enega bita le še tbitmin = 0.21ms, to pa je premalo za pravilno
delovanje. Pri načrtovnju oddajnika moramo biti pozorni tudi pri izbiri IR oddajne diode.
V tehnični dokumentaciji TSOP sprejemnikov najdemo oznako diode, za katero je spre-
jemnik testiran in zagotavlja uspešno komunikacijo. V tem primeru je to dioda TSAL6200.
Sam sem uspešno preizkusil tudi diodi z oznakama TSAL6400 in LD271. IR sprejemnik
izdelamo po shemi na sliki 61.
Slika 61: Vezava IR sprejemnika.
61
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Program za vklapljanje treh diod na strani oddajnika zapišemo takole: Dim Stevilo As
Byte
Open ”coma.1:2400,8,n,1,inverted” For Output As #1
Config Portb = Input
Do
Stevilo = Pinb
Printbin #1 , Stevilo
Loop
Close #1
End
Program na sprejemni strani je naslednji:
Dim Stevilo As Byte
Config Portc = Output
Open ”comb.0:2400,8,n,1” For Input As #2
Do
Stevilo = Waitkey(#2)
Portc = Stevilo
Loop
Close #2
End
Slika 62: IR oddajnik in sprejemnik
62
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6.4.3 Primer uporabe optične komunikacije
Kot sem na začetku naloge omenil, je IrDA tehnologija zelo razširjena. Še najbolj poz-
nani so nam daljinski upravljalniki za televizijo, garažna vrata ipd. K množični uporabi
IrDA tehnologije veliko prispevajo nizki stroški izdelave, kot smo videli v zgoraj opisanih
primerih, pa tudi sama izdelava IR oddajnika in sprejemnika ni tako zahtevna. Poman-
kljivost optične povezave je, da smo omejeni z dosegom, med sprejemnikom in oddajnikom
pa ne sme biti večjih ovir. Kljub temu pa optično komunikacijo lahko uporabimo v najra-
zličnejših primerih.
V naslednjem primeru bom pokazal, kako izdelamo daljinsko voden avtomobilček s po-
močjo optične komunikacije. Primer pravzaprav izvira iz ideje, kako z minimalnimi stroški
žično povezavo (med avtomobilčkom in daljinskim upravljalnikom) predelati v brezžično.
Navsezadnje bi lahko izdelal povsem svoj avtomobilček, vendar se izkaže, da so sestavni deli
(kolesa, zobniki, elektromotorčki, ipd.) dražji od že sestavljenega avtomobilčka v trgovini,
ki pa žal nima brezžične povezave.
Prvotno elektroniko avtomobilčka sta sestavljala dva 6V elektromotorčka, ki sta bila
z daljincem povezana vsak z dvema žicama. Z dvema gibljivima stikaloma na daljincu
smo določali smer vrtenja teh dveh motorčkov. Posebnost omenjenega avtomobilčka je
mehanizem za zavijanje, ki je sestavljen tako, da motor obrača kolesa levo in desno, v
”nevtralni položaj” (vožnja naravnost) pa jih spravi prožna vzmet.
Slika 63: Prvotna oblika avtomobilčka
63
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Za brezžično komunikacijo v avtomobilček namestimo sprejemnik, katerega sestavo
prikazuje električna shema na sliki 64. Elektromotorčka krmilimo preko integriranega vezja
Slika 64: Shema vezja elektronike na avtomobilčku.
L293, ki služi tokovnemu ojačanju in lahko krmili tok v obe smeri. Vežemo ga tako, kot
prikazuje slika 64. Sestavo daljinskega upravljalnika prikazuje slika 65. Program za up-
Slika 65: Shema daljinskega IR upravljalnika.
64
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
ravljanje je zelo preprost, pravzaprav enak kot v prejšnjem primeru, kjer smo vklapljali
diode. Na izhodnih priključkih mikrokrmilnika v avtomobilčku dobimo isto stanje, kot na
vhodnih priključkih mikrokrmilnika v daljinskem upravljalniku. Logična stanja na izhod-
nih priključkih mikrokrmilnika določajo smeri vrtenja motorčkov. V primeru da hkrati
pritisnemo tri tipke, se bo vrtel samo eden od obeh motorjev. Drugi motor bo imel v tem
primeru na obeh priključkih enak električni potencial in skozenj ne bo tekel električni tok.
Opozoril bi še na dodatni kondenzator, ki sem ga vstavil v vezje (C = 2200µF). Slednji
blaži motnje v delovanju mikrokrmilnika, ki so posledica padca napetosti ob zagonu elektro-
motorčkov. Z optično komunikacijo sem uspel v zaprtem prostoru upravljati avtomobilček
z razdalje približno 12m.
Slika 66: Predelava avtomobilčka.
Slika 67: Daljinski upravljalnik.
65
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
6.4.4 Radijska komunikacija
Sistem za radijsko komunikacijo sestavljata radijski oddajnik in radijski sprejemnik. V os-
novi gre za prenos informacij z elektromagnetnim valovanjem [1, 35]. Ta način brezžičnega
prenosa informacij deluje tako, da oddajna postaja proizvaja nedušeno električno nihanje
v nihajnem krogu, ki je modulirano z informacijskim nihanjem in se prenaša na sklopljeno
dipolno anteno. Dipol seva elektromagnetno valovanje. Na mestu sprejemnika drugi dipol
sprejema prihajajoče valovanje. Visokofrekvenčna napetost, ki pri tem nastane, se ojača v
nihajnem krogu. Nihanje vsebuje informacijsko nihanje, ki je bilo poslano z oddajnikom.
Slednje se v sprejemniku loči od nosilnega nihanja in ovrednoti, pri radiu se pretvori v
zvočno valovanje.
Preprost nihajni krog sestavljata kondenzator in tuljava. Če nihajni krog deformiramo
(Slika 68), dobimo električni ali Hertzov dipol. Posledica takega nihajnega kroga sta elek-
Slika 68: Deformacija nihajnega kroga v dipol.
trično in magnetno polje, katerih silnice se razsipajo daleč navzven v prostor. Ustvari se
elektromagnetno polje, v katerem sta električno in magnetno polje med seboj vzročno spre-
menljiva. Te spremembe se razširjajo v obliki valovanja s hitrostjo svetlobe. Razdaljo, med
dvema enakima sosednjima elektromagnetnima stanjema pri tem razširjanju, imenujemo
valovna dolžina λ. Izračunamo jo iz naslednje enačbe:
λ =c
f(7)
kjer je c hitrost razširjanja (300.000km/s), f pa frekvenca nihanja. Čim višjo frekvenco
ima elektromagnetno nihanje, oziroma čim krajši so njegovi valovi, tem bolj so njegove
lastnosti podobne lastnostim svetlobnih žarkov. Zadržujejo jih ovire, pojavi se lom in
odboj elektromagnetnih valov.
66
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Kadar se pri vpadu elektromagnetnega valovanja na Hertzov dipol lastni frekvenci
dipola in valovanja ujemata, se v dipolu inducira visokofrekvenčna izmenična napetost.
To napetost lahko uporabimo za vzbuditev električnega nihanja v nihajnem krogu, ki je
v resonanci s sprejemnim dipolom. Z moduliranim elektromagnetnim valovanjem lahko
tedaj prenašamo informacije med oddajnim in sprejemnim dipolom.
Modulirano elektromagnetno valovanje lahko dobimo na dva načina in sicer z ampli-
tudno in s frekvenčno modulacijo oziroma fazno modulacijo (slika 69). Amplitudna mod-
Slika 69: Vrste modulacij.
ulacija se uporablja v valovnih območjih z daljšimi valovi, v valovnih območjih s krajšimi
valovi (λ = 1m do 1cm) pa se uporablja predvsem frekvenčna modulacija. Sam sem se
odločil za frekvenčno modulirano radijsko povezavo, zato jo bom v nadaljevenju na kratko
opisal.
Frekvenčna modulacija (FM) je kotna modulacija, pri kateri se spreminja frekvenca nosilca
sorazmerno s trenutno velikostjo signala. To lahko izrazimo z enačbo:
Ω(t) = Ω + ∆Ωsinωt, (8)
kjer je Ω(t) trenutna krožna frekvenca nosilca, Ω krožna frekvenca nemoduliranega nosilca,
∆Ω frekvenčni razmah in ω krožna frekvenca signala. S slike 69 je razvidno, da se nosilcu
67
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
pri frekvenčni modulaciji pod vplivom signala spreminja samo frekvenca in ne njegova am-
plituda. Pri povečanju signala v pozitivno smer, se poveča frekvenca nosilca in je najvišja
pri pozitivni amplitudi signala. Najnižjo frekvenco ima nosilec pri negativni amplitudi sig-
nala. Ko signala ni, ima nosilec normalno frekvenco. Frekvenčno moduliran nosilec vsebuje
sporočilo signala v svoji frekvenci in ne v amplitudi.
Frekvenčna modulacija nastane, ko se spreminja resonančna frekvenca nihajnega kroga
pod vplivom napetosti signala. Najbolj preprost primer frekvenčnega modulatorja prikazuje
slika 70. Kapacitivnost nihajnega kroga predstavlja kondenzatorski mikrofon. Ko zvok gov-
ora zaniha membrano mikrofona, mu s tem spreminja kapacitivnost, nihajnemu krogu pa
frekvenco. Na sprejemnem mestu izločimo signal iz frekvenčno moduliranega nihanja tako,
Slika 70: Frekvenčni modulator s kondenzatorskim mikrofonom.
da dovedemo to nihanje v vezje, ki bo dalo na izhodu napetost, spreminjajočo se v ritmu
zgoščin in razredčin moduliranega nihanja. Vezja, ki demodulirajo frekvenčno ali fazno
modulirano nihanje, delujejo tako, da pretvorijo nihanje najprej v amplitudno modulirano
nihanje, zatem pa izločijo signal z usmerjanjem. Takšna vezja imenujemo diskriminatorji.
Najpreprostejše vezje frekvenčnega demodulatorja prikazuje slika 71. Amplitudno nihanje,
Slika 71: Vezje preprostega frekvenčnega demodulatorja.
68
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
ki ga dobimo na izhodu takšnega demodulatorja, nato usmeri dioda, kondenzator pa zadrži
visoko frekvenco, tako nam ostane le nizkofrekvenčna ovojnica signala (Slika 72). Realna
Slika 72: Usmernik.
zgradba frekvenčnega modulatorja in demodulatorja pa še zadaleč ni tako preprosta. Vezja
radijskih oddajnih in sprejemnih modulov so mnogo bolj zahtevna, in za laike na področju
radiotehnike zelo zapletena za razumevanje. Vendar se nam ni potrebno beliti glave z
izdelavo takšnih modulov! Z nekaj kliki po internetnih straneh hitro najdemo celo množico
radijskih modulov, katere sem na začetku naloge že omenil. Izbiramo lahko bodisi med
moduli za amplitudno moduliran signal ali za frekvenčno moduliran signal. Sam sem v
nalogi preizkusil oddajni in sprejemni radijski modul za frekvenčno modulacijo.
6.4.5 Frekvenčno modulirana radijska komunikacija
Za primer radijske komunikacije sem v nalogi uporabil radijski oddajni modul z oznako FM-
RTFQ1 (Slika 73) in sprejemni modul z oznako FM-RRFQ1 (Slika 74), katerih uporaba je
zelo enostavna [36, 37].
Slika 73: Radijski oddajni modul [37].
Slika 74: Radijski sprejemni modul [37].
69
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Preizkusil sem dve različici in sicer, modul za frekvenčno območje 433MHz in modul za
območje 868MHz. Oddajni modul ima šest priključnih nožic (Slika 75). Vse kar moramo
poleg napajanja in ozemljitve nanj priključiti, je antena (priključek ant) in Tx priključek
UART vmesnika na mikrokrmilniku (priključek za vhodni signal IN ). Ob priključitvi napa-
Slika 75: Shema radijskega oddajnega modula.
janja na oddajni modul ne smemo spregledati podatka, da je največja dovoljena napajalna
napetost zanj 4 V! Prvi priključek z oznako EN nam omogoča vklop in izklop oddajnika.
Če nanj priključimo stanje logične 1 (4V), potem oddajnik deluje, logična nič (0V) pa
oddajnik izklopi. Omenjeni modul omogoča hitrost prenosa do 9600bps. Pri radijski ko-
munikaciji je ključnega pomena antena. Slednjo lahko izdelamo sami, po načrtu, ki ga
prikazuje slika 76 in ki ga najdemo v tehnični dokumentaciji omenjenega modula [37]. Ker
Slika 76: Shema radijskih anten. Zgoraj spiralna, spodaj navadna [36].
sem hotel, da je komunikacija čimbolj zanesljiva, to pa zagotavlja predvsem dobra antena,
sem se odločil za že narejeno anteno. Preizkusil sem navadno in spiralno anteno. Obe sta se
dobro obnesli. Sprejemni modul prikazuje shema na sliki 77. Ima devet priključnih nožic,
od katerih jih uporabimo samo sedem. Napajalna napetost je 5V. Modul ima možnost
delovanja v power down načinu, kar določamo z logičnim stanjem na priključku z oznako
N/A (priključek 15). Logična 1 (5V) na tem priključku pomeni, da je modul v delovanju.
70
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 77: Shema sprejemnega radijskega modula.
Poglejmo si preprost primer radijske komunikacije z uporabo mikrokrmilnikov. Mikrokr-
milnik ATmega16 ima vgrajen časovnik (Timer1 ), ki nam nudi zelo uporabno funkcijo -
pulzno širinsko modulacijo (PWM). Z njo lahko krmilimo navor in hitrost vrtenja elektro-
motorja, moč grelnika, svetilnost žarnice, diode... Izdelajmo vezje in napišimo program,
s katerim bomo z oddajne strani pošiljali podatek, s kolikšno močjo naj sveti LED dioda
na sprejemni strani. Pri pulzno širinski modulaciji se na izhodnem priključku (OC1A in
Slika 78: Vezava sprejemnega radijskega modula
OC1B) izmenjujeta logična 0 in logična 1. Od časa trajanja posameznega stanja je odvisno,
koliko moči dovedemo porabniku. PWM deluje tako, da v določen register časovnika za-
pišemo poljubno primerjalno število. Ko števec šteje, je njegova vrednost najprej manjša
od primerjalne, nato pa večja. Od tega dogodka je odvisno ali je priključek OC1A v logični
71
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
1 ali logični 0. Za zagon pulzno širinske modulacije zapišemo naslednjo programsko vrstico:
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down.
Z ukazom smo določili, da bomo uporabljali 10-bitno pulzno širinsko modulacijo, kar
pomeni, da lahko nastavimo 1024 različnih stanj. Z nastavitvijo Compare A Pwm = Clear
Down pa določimo, da bo priključek OC1A v logični 0, ko bo vrednost števca večja od
primerjalne. Na oddajni strani moramo zapisati program, s katerim bomo nastavljali
in pošiljali to primerjalno število. To število najlažje dobimo z uporabo analogno digital-
nega pretvornika v mikrokrmilniku. Mikrokrmilnik ima osem 10-bitnih analogno digitalnih
pretvornikov (ADC), kar pomeni, da lahko razlikuje med 1024 različnimi stanji. Določiti
moramo največjo možno napetost, referenčno napetost, ki ji mikrokrmilnik priredi vred-
nost 1024. Z nastavljanjem napetosti na analognem vhodu od 0V pa do Vref , pa nam ADC
vrne števila od 0 do 1024. Ukaz s katerim zaženemo ADC nam je že poznan:
Config Adc = Single , Prescaler =Auto , Reference = Off
Slika 79: Vezava oddajnega radijskega modula.
Pozornost bi namenil še pošiljanju številke. Vrednost, ki nam jo vrne ADC je 10-bitna,
72
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
na enkrat pa lahko pošljemo le 8 bitov. Problem rešimo tako, da pošljemo številko v dveh
delih. Prvi del naj bo celoštevilčni količnik števila, drugi del pa ostanek. Na sprejemni
strani pa število zopet sestavimo. Primer: Pošiljamo število 1002. Prvo število bi bilo
M1 = 1002255
= 3, drugo število pa M2 = 1002− (3× 255) = 237, ki je ostanek deljenja.
Analogno digitalni pretvornik zaženemo z ukazom:
Config Adc = Single , Prescaler = Auto , Reference = Off
Start Adc
Z nastavitvijo Prescaler določimo hitrost vzorčenja, ki je ob nastavitvi na auto najvišja
(200kHz). Ker imamo zunanjo referenčno napetost, parameter Reference nasatvimo na
OFF. Programski UART nastavimo z ukazom:
Open ”comd.7:4800,8,n,1” For Output As #1.
Radijska modula omogočata hitrost prenosa do 9600bps, torej brez problema lahko hitrost
nastavimo na 4800bps. Jedro programa je sestavljeno takole:
Do
Anin = Getadc(0)
M = Anin \ 255
M1 = Anin Mod 255
K = M
K1 = M1
Waitms 50
Printbin #1 , K
Waitms 50
Printbin #1 , K1
Loop
Z ukazom Getadc(0) preberemo vrednost na prvem analognem vhodu. Prebrano vred-
nost shranimo v spremenljivko Anin, ki jo nato delimo s številom 255. Celoštevilčni
količnik spremenljivke Anin shranimo v spremenljivko M, ostanek deljenja pa priredimo
73
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
spremenljivki M1. Spremenljivki M in M1 tipa integer, priredimo v K in K1, ki sta tipa
byte. Spremenljivki nato eno za drugo pošljemo sprejemniku. Časovne zakasnitve sem
vstavil zaradi lepšega izvajanja programa na sprejemni strani. Na sprejemni strani je pro-
gram zelo podoben. Iz sheme na sliki 79 je razvidno, da se nam logično stanje pri pošiljanju
podatka obrne. Na tem mestu dobi svojo veljavo programski UART, s katerim enostavno
obrnemo logično stanje v prvotno stanje. V primeru, da bi koristili vgrajeni UART vmes-
nik, bi morali uporabiti dodatna integrirana vezja oziroma elektronske elemente, da bi
zagotovili pravilen prenos. UART vmesnik nastavimo z ukazom:
Open ”comd.7:4800,8,n,1,inverted” For Input As #2
Pulzno širinska modulacija ki sem jo že opisal je funkcija notranjega časovnika, ukaz pa
zapišemo takole:
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down
Config Pind.5 = Output
Na tem mestu bi posebej opozoril le na ukaz Config Pind.5 = Output. Nekateri mikrokr-
milniki ob nastavitvi pulznoširinske modulacije v registrih takoj nastavijo ustrezne izhodne
priključke, v primeru mikrokrmilnika ATmega16 pa moramo to storiti naknadno z omen-
jenim ukazom. Seveda to ne sme biti katerikoli priključek, temveč le tisti, ki PWM
omogoča. V tem primeru sta to priključka OC1A (PD5) in OC1B (PD4). Jedro pro-
grama zapišemo:
Do
K = Waitkey(#2)
Waitms 20
K1 = Waitkey(#2)
M = K ∗ 255
M1 = K1
R = M + M1
Pwm1a = R
Loop
74
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Spremenljivki K in K1 ki jih sprejmemo sta tipa byte. Da dobimo pravo vrednost, ki
smo jo poslali, moramo prvo spremenljivko množiti z 255, nato obe spremenljivki prirediti
v tip integer, ter na koncu sešteti. R je končna 10-bitna številka, ki določa, s kolikšno
močjo sveti LED dioda.
Slika 80: Radijski oddajnik in sprejemnik.
Omenjen primer radijske komunikacije med dvema mikrokrmilnikoma pa lahko nad-
gradimo še z dodatno komunikacijsko povezavo med sprejemnikom in računalnikom. Za
razširitev sistema potrebujemo dodatni UART vmesnik. Realizacija slednjega je enostavna,
saj kot sem že nekajkrat omenil, mikrokrmilniku ATmega16 lahko napravimo programski
UART, in to na kateremkoli priključku.
Dopolnimo sedaj zgoraj nevedeni primer tako, da se bo na zaslonu izpisovala moč,
izražena v odstotokih, s katero sveti led dioda. Program na oddajni strani ostane nespre-
menjen. Na sprejemni strani je dopolnjen program videti takole:
Dodamo programski UART komunikacijski vmesnik:
Open ”comb.0:9600,8,n,1,inverted” For Output As #3
Open ”comb.1:9600,8,n,1,inverted” For Input As #4
75
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Osrednji del programa zapišemo takole:
Do
K = Waitkey(#2)
Waitms 20
K1 = Waitkey(#2)
M = K ∗ 255
M1 = K1
R = M + M1
Pwm1a = R
A1 = R / 1024
A2 = A1 * 100
Print #3 , Fusing(a2 , ”#.##”) ; ” ” ;”%”
Loop
Vsi zgoraj navedeni ukazi so nam že poznani. Posebej bi omenil le spremenljivki A1 in A2,
ki morata biti tipa Single. Z ukazom Fusing(a2 , ”#.##”) zaokrožimo število A2 na dve
mesti. Vezje za omenjen primer sestavimo po shemi na sliki 81.
Slika 81: Shema vezja za komunikacijo z računalnikom.
76
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
7 Izdelava avtonomnega merilnega vmesnika z radijskimoddajnikom
Kot sem na začetku naloge že omenil, je bil moj končni cilj izdelati avtonomni merilni
vmesnik, s katerim je mogoče v realnem času na računalniku spremljati meritve s terena.
Omenjeni merilni vmesnik ima tri načine delovanja: 1.) Z neposredno priključitvijo na
računalnik ga lahko uporabljamo kot navadni merilni vmesnik - v tem primeru so nanj
priključeni tudi merilniki. 2.) Merske podatke lahko sprejema preko radijskega sprejemnika
in jih posreduje računalniku. 3.) V tem primeru moramo imeti še en merilni vmesnik,
opremljen z radijskim oddajnikom, na katerega so priključeni merilniki in deluje avtonomno
(Slika 82). Poudarek pri izdelavi vmesnika je bil na njegovi univerzalnosti, majhni porabi
Slika 82: Shema treh načinov delovanja merilnega vmesnika.
električne energije, ekonomičnosti in enostavni uporabi. Poleg merilnega vmesnika pa sem
izdelal še enostaven program, s katerim lahko spremljamo in shranjujemo meritve, poslane
s terena. Z omenjenim programom je mogoče vmesnik tudi programirati.
77
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
7.1 Zgradba in delovanje vmesnika
Srce vmesnika je mikrokrmilnik z oznako ATmega16, katerega sem omenil že v prejšnjem
poglavju. Slednji nadzira celotno delovanje in krmili posamezna integrirana vezja vgra-
jena v vmesnik, kot so: 12-bitni analogno-digitalni pretvornik, 8-kanalni analogni multi-
pleks (multiplexer) in radijski oddajnik oziroma sprejemnik. Slika 83 prikazuje blokovno
shemo merilnega vmesnika. Vmesnik ima osem vhodnih enot oziroma, osem DIN vtičnic,
Slika 83: Blokovna shema merilnega vmesnika.
kamor lahko priključimo različne analogne merilnike (senzorje) tipa DIN. Vsak od teh osmih
vhodov je preko 8-kanalnega analognega multipleksa (osmih stikal) povezan z 12-bitnim
analogno digitalnim pretvornikom. Mikrokrmilnik preklaplja med temi osmimi stikali in
hkrati z ADC-ja prebere digitalno vrednost vhodne napetosti vsakega vhoda posebej. Te
vrednosti nato preko radijske zveze pošlje drugemu vmesniku, ta pa naprej računalniku.
Lahko pa vmesnik pošlje podatke direktno v računalnik, če ga uporabljamo kot navaden
merilni vmesnik. Poudarek pri izdelavi vmesnika je bil tudi na majhni porabi električne
energije, zato v primeru avtonomnega delovanja vmesnik večino časa deluje v tako imeno-
vanem power save načinu in varčuje z energijo.
Na strani računalnika napišemo program za zajemanje podatkov. Sam sem se odločil za
programski jezik Visual Basic, ki je zelo podoben programskemu jezuku Bascom. Z omen-
jenim programom preko COM vrat sprejemamo podatke, ki nam jih pošlje mikrokrmilnik.
Podatke oziroma meritve sproti izpisujemo v tabeli, kjer imamo nad njimi pregled, hkrati
pa jih shranjujemo v mapo, ki jo izberemo sami.
78
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
7.1.1 Zajemanje meritev
Na vmesnik je mogoče priključiti osem različnih analognih merilnikov, kar pomeni, da lahko
spremljamo meritve osmih različnih količin hkrati. Vsi analogni merilniki oziroma senzorji
tipa DIN imajo standardno porazdelitev priključkov. Posamezna DIN vtičnica mora zago-
tavljati napajanje senzorja kot kaže slika 84. Na priključku z oznako Vin dobimo izhodno
Slika 84: Shema DIN vtičnice
napetost senzorja. To napetost nato priključimo na vhod 12-bitnega analogno digitalnega
pretvornika. Ker imamo samo en takšen pretvornik, smo v vezje dodali še 8-kanalni mul-
tipleks14 (integrirano vezje z oznako CD74HC4051), katerega krmili mikrokrmilnik. Tako
vseh osem priključkov z oznako Vin priključimo na ta stikala, izhod tega integriranega
vezja pa priključimo preko napetostnega sledilnika na 12-bitni ADC. Od logičnega stanja
na vhodnih priključkih S0, S1 in S2 na multiplexerju je odvisno, katero stikalo je sklen-
jeno, oziroma, vrednost katerega vhodnega priključka mukrokrmilnik bere (Slika 85). Za
preklapljanje teh stikal v programu zapišemo naslednji ukaz:
For Ch = 0 To 7
Porta = Ch
.
.
Next ch
Binarna vrednost na izhodnih vratih a (port a) se ciklično povečuje od 0 do 7. V primeru,
da je na vratih a število 5, pomeni da je vklopljeno stikalo z oznako A5 (Slika 85).
Sam mikrokrmilnik vsebuje osem 10-bitnih ADC-jev. Kako preberemo vhodno napetost
na teh vhodih sem omenil že v prejšnjem poglavju. Ker pa želimo imeti čimbolj natančne
meritve, smo v tem primeru dodali zunanji 12-bitni ADC [38]. Slednjega je potrebno148-kanalni multipleks poimenujemo multiplexer, ki vsebuje 8 stikal, katere preklapljamo z logičnimi
stanji na priključkih S0, S1, in S2 (Slika 85).
79
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
krmiliti z mikrokrmilnikom. Komunikacija med µK in ADC-jem je sinhrona. Prenos
podatkov sprožimo s spremembo stanja iz logične 1 v logično 0 na priključku CS/SHDN.
Pri tem moramo ADC-ju dajati takt, v katerem nam slednji pošilja podatke. Prenos
podatkov je serijski. ADC pošlje 12 bitov enega za drugim. Ko prispe zadnji bit, logično
stanje na priključku CS/SHDN zopet spremenimo v logično 1, kar pomeni konec prenosa.
Seštevek vseh 12-ih bitov nam vrne digitalno vrednost vhodne napetosti, ki jo shranimo
v spremenljivko Anin12bit. V prilogi na CD-ju dodajam program, kjer so navedeni in
razloženi vsi ukazi za branje ADC-ja.
Slika 85: Shema vezave merilnega vmesnika.
80
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
7.1.2 Delovanje v Power-save načinu in čas vzorčenja
V primeru, da vmesnik deluje avtonomno in ga uporabljamo nekje na terenu, običajno
uporabljamo za napajanje električne vire, kot so baterije in akumulatorji. Le-ti se ob
neprestanem delovanju hitro praznijo. V ta namen imajo mikrokrmilniki, kakor tudi mnoga
druga integrirana vezja, možnost delovanja v sleep načinu (Sleep Mode), kar pomeni, da
varčujejo z energijo. Ta način delovanja je v našem primeru uporaben takrat, ko ne merimo
in ne pošiljamo podatka. Vzemimo, da bi radi izvedli meritv na vsako uro. Čas, v katerem
vmesnik izvede meritev in jo pošlje naprej, znaša nekaj sekund in je v primerjavi z eno
uro zelo kratek. Da varčujemo z energijo lahko v času med dvema meritvama vmesnik
”počiva”. Mikrokrmilnik ATmega16 ima celo več načinov delovanja, kjer lahko varčuje z
energijo, tako imenovai Sleep Modes : Idle Mode, Power-down Mode, Power-save Mode,
Standby Mode, Extended Standby Mode [30]. Ukazi s katerimi dosežemo tak način delo-
vanja so v programskem jeziku BASCOM zelo enostavni. V program zapišemo samo ukaz
Idle ali Powersave. Glavna razlika med temi načini delovanja je samo v načinu zbuditve
mikrokrmilnika. Sam sem se odločil za Power-save način, pri katerem mikrokrmilnik lahko
ponovno zbudimo z asinhronim števcem. Zbuditev se zgodi ob prekinitvi (interrupt-u),
ko števec prešteje do konca (v tem primeru do 255, ker imamo 8 bitni števec). Slednjega
realiziramo z uporabo zunanjega kristala15, ki daje števcu takt. Priključimo ga direktno
na priključka TOSC1 in TOSC2 (slika 85). Ukaz s katerim nastavimo števec v programu
zapšemo takole:
Config Timer2 = Counter , Async = On , Prescale = 1024
Kot sem že omenil je Timer2 8-biten, kar pomeni, da lahko šteje največ do 255. Ko
prešteje do te vtrednosti, se zgodi prekinitev, ki zbudi mikrokrmilnik, števec pa začne šteti
znova. Števec prešteje za eno naprej ob vsaki spremembi signala iz 1 v 0. To pomeni
da bi se pri frekvenci 32kHz prekinitev zgodila na vsakih 0,008s, mikrokrmilnik pa bi
samo 0,008s deloval v ”varčnem” načinu delovanja. To je absolutno premalo, saj sama
meritev traja nekaj sekund! Ta čas pa lahko povečamo z nastavitvijo Prescaler-ja na
vrdnost 1024, kar pomeni, da osnovno frekvenco 32kHz delimo z 1024 in dobimo novo
frekvenco f = 32000Hz/1024 = 31.25Hz. Pri tej frekvenci se prekinitev zgodi na vsakih
15Lahko uporabimo samo 32kHz kristal [30]!
81
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
t = 1/31.25s−1 ∗ 255 = 8.16s. Da mikrokrmilnik lahko ostane v varčnem načinu delo-
vanja nekaj minut, uporabimo dodatni ”trik”. V program dodamo spremenljivko, kateri
se poveča vrednost za 1 ob vsaki prekinitvi oziroma zbuditvi. Hkrati dodamo še neko
referenčno spremenljivko, katere vrednost nastavljamo poljubno. V primeru da je spre-
menljivka ki se povečuje enaka referenčni, naj se meritev izvede, drugače pa naj mikrokr-
milnik meritev preskoči in ponovno ”deluje” v varčnem načinu do naslednje prekinitve.
Čas v katerem mikrokrmilnik preveri vrednosti teh dveh spremenljivk je zanemarljiv,
zato praktično prekinitve ne opazimo. Z nastavitvijo referenčne spremenljivke na vred-
nost 255 (spremenljivka je tipa byte) lahko dosežemo, da se meritev izvede le na vsakih
tvzor = 255 ∗ 8, 16s = 2080s, oziroma dobre pol ure.
7.1.3 Pošiljanje podatka
Za pošiljanje podatka sem uporabil programski UART komunikacijski vmesnik, pri katerem
ne potrebujemo dodatnih integriranih vezij (MAX232), katere bi sicer nujno potrebovali
pri komunikaciji z računalnikom16.
Komunikacija med vmesnikom in računalnikom je dvosmerna, saj preko računalnika
lahko vmesnik tudi programiramo. Ukaz za programski UART zapišemo takole:
Open ”comd.5:4800,8,N,1,inverted” For Output As #3
Open ”comd.4:4800,8,n,1,inverted” For Input As #4
Z ukazom inverted dosežemo, da se TTL napetostni nivoji obrnejo. Mikrokontroler AT-
mega16 omogoča uporabo programskega UART-a na vseh priključkih, zato za komunikacijo
med dvema vmesnikoma oziroma, med oddajnikom in sprejemnikom, uporabimo novega.
Vmesnik je zasnovan tako, da enosmerno komunikacijo lahko razširimo v dvosmerno, z
uporabo dodatnega sprejemnega in oddajnega modula. Ukaz za drugi UART zato za-
pišemo na naslednji način:
Open ”comd.7:4800,8,n,1” For Output As #1
Open ”comd.6:4800,8,n,1,inverted” For Input As #2
16RS232 napetostni nivoji se razlikujejo od TTL napetostnih nivojev, ki jih uporablja mikrokrmilnik(slika 43).
82
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Na tem mestu bi opozoril le na različna ukaza, ki jih pri pošiljanju uporabljamo. Za
pošiljanje podatka iz µK v računalnik uporabimo ukaz Print, za pošiljanje podatka iz µK
v µK pa uporabimo ukaz Printbin. Razlika pri teh dveh načinih pošiljanja je tudi na
sprejemnih straneh. Za sprejem podatka z mikrokrmilnikom uporabimo ukaz Waitkey. S
tem ukazom lahko sprejmemo podatek dolžine en byte, kar pomeni da moramo vrednost
napetosti posameznega vhoda, ki je 12-bitna, poslati v dveh delih - vsak del posebej. Na
strani računalnika pri sprejemu podatka nismo omejeni na 8 bitov, zato lahko pošljemo na
enkrat, ne le celotno vrednost posameznega vhoda, pač pa kar celotno meritv vseh vhodov.
Posebej bi opozoril še na anteno [36]. V tehnični dokumentaciji zasledimo podatek, da
le-ta ne sme biti blizu kovinskih delov, saj to signal močno oslabi. Na slabljenje signala
vpliva tudi bližina tal. Problem sem rešil z uporabo 50ohm-skega koaksialnega kabla, s
katerim sem anteno lahko oddaljil od kovinskega ohišja vmesnika in hkrati od tal.
Slika 86: Vmesnik z notranje strani.
Slika 87: Namestitev antene.
83
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 88: Vmesnik z merilnikom temperature.
Slika 89: Vmesnik z zadnje strani.
84
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
7.2 Spremljanje meritev na računalniku
Na strani računalnika sem za spremljanje in shranjevanje meritev izdelal poseben pro-
gram. Slednji je napisan v programskem okolju Visual Basic [39], ki je zelo podoben
programskemu okolju BASCOM. Okrnjena različica tega programskega orodja je prosto
dostopna na internetni strani http://msdn.microsoft.com/vstudio/express/support/install/
(Microsoft Visual Basic 2005 Express Edition). Z interneta presnamemo ISO datoteko in
jo posnamemo na CD. Programsko orodje namestimo tako, da vstavimo CD v računalnik
in sledimo navodilom le tega.
7.2.1 Nastavitev COM vrat
Omenjeno programsko okolje že vsebuje orodje za serijsko komunikacijo preko COM vrat.
Najdemo ga v orodjarni (Toolbox ), pod ikono Serial port (Slika 90). Orodje prenesemo na
Slika 90: Zaslonska slika programskega okolja Visual Basic.
Formo, kjer moramo izbrati ustrezna COM vrata (PortName) in nastaviti hitrost prenosa
(BaudRate). Slednja mora biti enaka hitrosti na strani mikrokrmilnika (Slika 91). Poleg
teh dveh nastavitev imamo na voljo še celo množico ukazov, s katerimi upravljamo COM
vrata. Za branje podatka s COM vrat uporabimo naslednji ukaz:
besedilo = SerialPort1.ReadExisting()
85
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 91: Nastavitev serijske komunikacije v programskem okolju Visual Basic.
Z navedenim ukazom preberemo podatek s COM vrat in ga shranimo v spremenljivko
besedilo. Ker pri radijski komunikaciji oziroma pri komunikaciji na splošno pride do motenj,
je ta podatek lahko napačen. Zato podatku, ki ga pošiljamo, vsakokrat dodamo neko pred-
pono (npr.zac) in zapono (npr.kon). S programom nato poiščemo v poslanem podatku
besedico zac in si zapomnimo pozicijo te besedice. Enako storimo za besedico kon, nato
pa izluščimo podatek, ki se nahaja med tema dvema besedicama. Če program teh dveh
besedic ne najde, to pomeni da je pri prenosu prišlo do motenj, in podatka ne upošteva.
Algoritem za ta postopek je v prilogi na CD-ju.
7.2.2 Zagon programa
Celoten algoritem za program, ki je namenjen spremljanju meritev, je v prilogi na CD-ju.
Dodani so tudi komentarji k programu, za lažje razumevanje le-tega. S klikom na datoteko
z imenom Branje podatka s porta.exe se nam odpre pogovorno okno, kot ga prikazuje slika
92. Preden začnemo z zbiranjem meritev, moramo v okvirčku levo spodaj obvezno nastaviti
ustrezna COM vrata. Izbiro potrdimo s klikom na gumb Nastavi COM port. Če so vrata
prava, se besedilo obarva sivo, hkrati pa so nam omogočene vse ostale možnosti programa.
Zbiranje meritev zaženemo s klikom na gumb Zacni meritev (zeleni gumb). V primeru
uspešne komunikacije med vmesnikom in računalnikom, se nam po vklopu vmesnika v
tabeli izpiše trenutni čas in sporočilo output is already OK.
86
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 92: Zaslonska slika programa za spremljanje meritev.
7.2.3 Nastavitev frekvence vzorčenja
Pred prvo uporabo vmesnika, moramo le-temu določiti, na koliko časa naj pošilja meritve v
računalnik. To storimo z zgoraj omenjenim programom. Po nastavitvi COM vrat kliknemo
na gumb Zapisi v uK. Nato v drugi okvirček pod tem gumbom vpišemo število od 1 do
255. V statusni vrstici desno spodaj se nam izpiše približna frekvenca vzorčenja v min. Ko
smo s časom zadovoljni, vklopimo vmesnik in s tem vanj zapišemo omenjen podatek. Če
je nastavitev frekvence vzorčenja uspela, potem se nam v okvirčku desno izpiše naslednje
besedilo: zacoutput is already OKkon onpc in številka , katero smo vpisali v okvirček (Slika
93). V primeru, da se številki ne ujemata, kliknemo na gumb Stop, ugasnemo vmesnik in
Slika 93: Nastavitev frekvence vzorčenja.
ponovimo celoten postopek. Preden s klikom na gumb Zacni meritev zaženemo meritev,
še enkrat kliknemo na gumb Stop.
87
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Če vmesnika dalj časa nismo uporabljali, in ne vemo kakšna je perioda vzorčenja,
kliknemo gumb Zapisi v uK in ničesar ne vpisujemo v okvirček. V desnem črnem okvirčku
se bo po vklopu vmesnika izpisala vrednost, katero smo nazadnje sprogramirali.
7.2.4 Primer uporabe merilnega vmesnika
Z merilnim vmesnikom sem naredil tudi nekaj poskusnih meritev. V spodaj navedenem
primeru sem z vmesnikom na vrtu meril temperaturo zraka in tal ter osvetljenost čez dan.
En merilnik temeperature je bil nameščen približno 20 cm pod zemljo, drugi merilnik pa
Slika 94: Hiška z merilnim vmesnikom na vrtu.
v ”hiški”, ki jo prikazuje slika 94. Merilnik osvetljenosti je bil sprva nameščen na ”strehi”
hiške, vendar je zaradi direktne sončne svetlobe merilnik prišel v nasičenje. Osvetljenost
sem tako meril v senci- merilnik je bil nameščen v ”hiški”. Slednjega sem uporabil predvsem
za detekcijo dneva in noči ter oblakov. Dobil sem zelo zanimive rezultate, ki jih prikazuje
graf na sliki 95.
Z grafa je lepo razvidno, da je temperatura zraka najnižja zjutraj, ko sonce vzhaja.
Temperatura tal je bolj ali manj konstantna. Veljavnost mojih meritev je potrdilo tudi
dejstvo, da so se izmerjene vrednosti osvetljenosti ujemale z vrednostmi, ki sem jih našel
v fizikalnih tebelah (sončna svetloba v senci: 2000-10000 lux [35]).
Razdalja, na kateri je bil prenos podatkov še zanesljiv je znašala približno 15m. To
88
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
Slika 95: Merjenje temperature in osvetljenosti.
je izredno malo, saj naj bi ta razdalja, po zagotovilih proizvajalca, znašala v notranjih
prostorih 75m, zunaj na odprtem terenu pa kar 250m! Na podobne težave opozarjajo tudi
nekateri drugi avtorji [7]. Za množično uporabo vmesnika bo potrebnih še nekaj izboljšav.
Priloga: CD
Vsebina:
-Diplomsko delo (pdf)
-Programi
-Filmi
-Sheme vezij
-Slike vezij
-Program za spremljanje meritev
89
T. Kušar. Uporaba mikrokrmilnika pri brezžični komunikaciji. Diplomsko delo
8 Diskusija in zaključek
Preučevanje različnih možnosti komuniciranja med mikrokrmilniki nas je pripeljalo do
merilnega sistema, ki omogoča vzorčenje različnih fizikalnih količin na terenu in sprotno
pošiljanje merskih podatkov osebnemu računalniku preko radijskega signala. Pokazali smo,
da je možno za sprejemljivo ceno izdelati merilni vmesnik, ki ga opremimo z radijskim spre-
jemnikom oz. oddajnikom in z njim naredimo uporaben, prilagodljiv in dovolj kakovosten
brezžičen merilni sistem.
Prva testiranja so pokazala tudi na nekatere pomanjkljivosti. Radijska komunikacija
med oddajnikom in sprejemnikom je še nezanesljiva. Nadaljnji razvoj bo potekal v smeri
izpopolnjevanja in dograditve sistema. Povečati je potrebno doseg radijske zveze. Ko-
munikacija med računalnikom in prenosnim vmesnikom je zaradi nizkih stroškov izdelave
trenutno enosmerna. Slednjo lahko z dodatnim sprejemnim in oddajnim modulom dopol-
nimo v dvosmerno. Poudarek pri izdelavi testnega vmesnika je bil na brezžični komunikaciji
in majhni porabi električne energije, zato frekvenca vzorčenja ni velika. Z dodatnim zu-
nanjim kvarčnim kristalom lahko hitrost delovanja vmesnika podvojimo.
Uporabni rezultati na eni strani in težave z zanesljivostjo komunikacije na drugi nareku-
jejo nadaljnji razvoj sistema. Z vmesnikom so bile narejene prve testne meritve, ki so po
pričakovanjih potrdile vse prednostne lastnosti, ki jih takšen vmesnik lahko prinese v šolske
laboratorije oziroma na področje poučevanja naravoslovnih in tehniških predmetov. Ra-
zlične meritve, ki so bile v preteklosti izpeljane v učilnicah in laboratorijih, bodo sedaj lahko
izvedene v naravnih okoliščinah. To potrjujejo meritve, ki sem jih navedel kot primer v
zadnjem poglavju. V času zaključevanja diplome smo začeli izvajati tudi večdnevne meritve
v ribniku in njegovi okolici.
V okviru evropskega projekta ComLab II bodo z vmesnikom izvedena tudi testiranja
na nekaterih slovenskih šolah. Cilj projekta je, da bi vmesnik v bližnji prihodnosti postal
uporaben didaktičen pripomoček. Vmesnik ima zaradi svoje univerzalnosti zares široko po-
dročje uporabe, zato lahko pričakujemo, da bo doprinesel k uvajanju sodobnih didaktičnih
metod k pouku naravoslovnih in tehniških vsebin v slovenskih šolah, morda pa celo prodrl
na širši evropski prostor.
90
LITERATURA LITERATURA
Literatura[1] L. Travnik: Prenosne naprave, Učbenik za mehanike telekomunikacijskih naprav, DZS, Ljubljana, 1979.
[2] S. Šiler: Radiotehnika in elektronika, Zveza organizacij ze tehnično kulturo Slovenije, Svet za tehnično vzgojo mladine,Ljubljana, 1984.
[3] I. Poole: Basic Radio: Principles and Technology, Newnes, Oxford, 2000.
[4] R. Wechtersbach, M. Lokar: Informatika, učbenik za 1, 2 in 3 letnik srednjih šol, DZS, Ljubljana, 1997.
[5] E. Bekiroglu, N. Daldal: Remote control of ultrasonic motor by using a GSM mobile phone, Science Direct, Januar 2005.
[6] C. Tseng, J. Jiang: Feasibility study on application of GSM-SMS technology to field data acquisition, Science direct,Marec, 2006.
[7] W. Chung, S. Oh: Remote monitoring system with wireless sensors module for room environment, Science direct,Februar 2005.
[8] S. Kocijančič: Online Experiments in Physics and Technology Teaching, IEEE Trans. Education, 2002, 45, No. 1, p.26-32 (2002).
[9] http://e-prolab.com/comlab/lowcdaq/lowcdaq-si.htm
[10] http://www.fourier-sys.com
[11] http://www.pasco.com
[12] http://www.vernier.com/mbl/idex.html
[13] D. Rihtaršič: Primeri uporabe mikrokrmilnikov v programskem okolju Bascom, Diplomsko delo, Ljubljana, 2005.
[14] Več avtorjev : Slovar slovenskega knjižnega jezika, DZS, Ljubljana, 1997.
[15] http://www.lemosint.com
[16] http://si.wikipedija.org/wiki/Wikipedija
[17] IR Receiver Modules for remote Control Systems, Dostopno na svetovnem spletu (18.8.2006):http://www.farnell.com/datasheets/46675.pdf
[18] Širokopasovne brezžične povezave, http://www.fibernet.si/optika/optika4.html, 2006.
[19] S. Kocijančič: Merjenje in krmiljenje z računalnikom, Študijsko gradivo za študente pedagoške fakultete v Ljubljani,Ljubljana, 2000.
[20] B. Murovec, S. Kocijančič: A USB-based Data Acquisition System Designed for Educational Purposes, The InternationalJournal of Engineering Education, Januar 2004.
[21] S. Kocijančič, J. Jamšek: Investigating the operation of electrical machines with computerised laboratory activities,IJEE, 2006, sprejeto za objavo
[22] A. Šorgo, S. Kocijančič: Demonstration of biological processes in lakes and fishponds through computerised laboratorypractice, IJEE, 2006, sprejeto za objavo
[23] S. Kocijančič, J. Jamšek: Electronics Courses for Science and Technology Teachers, The International Journal ofEngineering Education, sprejeto za objavo
[24] S. Kocijančič: Light Illumination Control as an Example of a Feedback Control System, Electronics Education, (Lond.),2001, autumn, p. 29-32, ilustr.
[25] S. Holec, M. Hruška, J. Raganová: Computerised laboratory: Integrated science through experiments. In: ADAMIEMAKUC, Alenka (ur.), MEDICA, Ines (ur.), LABERNIK, Zvonka (ur.). Proceedings of 8th MIRK conference, (15 - 17May 2003). p. 235 - 239.
91
LITERATURA LITERATURA
[26] S. Holec, M. Hruška, J. Raganová: Computerised Laboratory in Science and Technology Teaching: The Course onIntegrated Science in Experiments. In: VILAS, Antonio Méndez (ur.), GONZÁLES, J.A. Mesa (ur.), DE ZALDÍVARM., Inés Solo (ur.). Educational technology : [13.-16.11.2002, Badajoz (Spain)], (Ociedad de la información, 9). [Badajoz]:Junta de extremandura. Consejería de Educatión Cienca y Technología, 2002, p. 24 - 29.
[27] http://e-prolab.com/comlab/sttop/sttop-is/_private/S_index.htm
[28] D. Kodek: Mikroprocesorski sistemi, BI-TIM d.o.o., Ljubljana, 1993.
[29] J. Škvarč: Programirajmo mikrokontrolerje, AX elektronika d.o.o., Ljubljana, 2004.
[30] Atmel Corporation - AVR 8-Bit RISC Introduction [online]. Parametric Product Table, 2006, Dostopno na svetovnemspletu: <www.atmel.com/literature/ATmega16L-complete.pdf>.
[31] MCS Electronics, Bascom -AVR IDE Version: 1.11.8.1, Help, 2005.
[32] S. Kocijančič: Elektronika 2, Študijsko gradivo, Ljubljana, Marec 2005.
[33] V. Mitrović, J. Mikeln: Programiranje mikrokontrolera programskim jezikom BASCOM, Ljubljana, AX Elektronika,2002.
[34] S. Kocijančič: Elektronika 1, Študijsko gradivo za študente Pedagoške fakultete v Ljubljani, Ljubljana, 2002.
[35] M. Štuhec, FIZIKA-tematski leksikon, za založbo Srečko Mrvar, Tržič, 2002.
[36] http://www.rfsolutions.co.uk/acatalog/index.html
[37] http://www.rfsolutions.co.uk/acatalog/DS069-7.pdf
[38] http://www.ortodoxism.ro/dataseets/texasinstruments/asd7816.pdf
[39] A. Šuler: Spoznajmo Microsoft VISUAL BASIC, Flamingo, Šempeter pri Gorici, 1999.
92