diplomsko delo (pdf)

92
UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA FAKULTETA ZA MATEMATIKO IN FIZIKO Program: fizika in tehnika UPORABA MIKROKRMILNIKA PRI BREZŽIČNI KOMUNIKACIJI Diplomsko delo Mentor: prof. dr. Slavko Kocijančič Kandidat: Tomaž Kušar Ljubljana, avgust 2006

Upload: hoangdan

Post on 30-Dec-2016

265 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 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

Page 2: Diplomsko delo (pdf)

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

Page 3: Diplomsko delo (pdf)

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

Page 4: Diplomsko delo (pdf)

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

Page 5: Diplomsko delo (pdf)

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

Page 6: Diplomsko delo (pdf)

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

Page 7: Diplomsko delo (pdf)

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

Page 8: Diplomsko delo (pdf)

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

Page 9: Diplomsko delo (pdf)

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

Page 10: Diplomsko delo (pdf)

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

Page 11: Diplomsko delo (pdf)

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

Page 12: Diplomsko delo (pdf)

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

Page 13: Diplomsko delo (pdf)

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

Page 14: Diplomsko delo (pdf)

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

Page 15: Diplomsko delo (pdf)

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

Page 16: Diplomsko delo (pdf)

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

Page 17: Diplomsko delo (pdf)

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

Page 18: Diplomsko delo (pdf)

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

Page 19: Diplomsko delo (pdf)

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

Page 20: Diplomsko delo (pdf)

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

Page 21: Diplomsko delo (pdf)

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

Page 22: Diplomsko delo (pdf)

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

Page 23: Diplomsko delo (pdf)

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

Page 24: Diplomsko delo (pdf)

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

Page 25: Diplomsko delo (pdf)

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

Page 26: Diplomsko delo (pdf)

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

Page 27: Diplomsko delo (pdf)

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

Page 28: Diplomsko delo (pdf)

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

Page 29: Diplomsko delo (pdf)

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

Page 30: Diplomsko delo (pdf)

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

Page 31: Diplomsko delo (pdf)

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

Page 32: Diplomsko delo (pdf)

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

Page 33: Diplomsko delo (pdf)

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

Page 34: Diplomsko delo (pdf)

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

Page 35: Diplomsko delo (pdf)

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

Page 36: Diplomsko delo (pdf)

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

Page 37: Diplomsko delo (pdf)

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

Page 38: Diplomsko delo (pdf)

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

Page 39: Diplomsko delo (pdf)

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

Page 40: Diplomsko delo (pdf)

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

Page 41: Diplomsko delo (pdf)

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

Page 42: Diplomsko delo (pdf)

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

Page 43: Diplomsko delo (pdf)

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

Page 44: Diplomsko delo (pdf)

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

Page 45: Diplomsko delo (pdf)

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

Page 46: Diplomsko delo (pdf)

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

Page 47: Diplomsko delo (pdf)

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

Page 48: Diplomsko delo (pdf)

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

Page 49: Diplomsko delo (pdf)

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

Page 50: Diplomsko delo (pdf)

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

Page 51: Diplomsko delo (pdf)

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

Page 52: Diplomsko delo (pdf)

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

Page 53: Diplomsko delo (pdf)

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

Page 54: Diplomsko delo (pdf)

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

Page 55: Diplomsko delo (pdf)

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

Page 56: Diplomsko delo (pdf)

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

Page 57: Diplomsko delo (pdf)

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

Page 58: Diplomsko delo (pdf)

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

Page 59: Diplomsko delo (pdf)

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

Page 60: Diplomsko delo (pdf)

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

Page 61: Diplomsko delo (pdf)

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

Page 62: Diplomsko delo (pdf)

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

Page 63: Diplomsko delo (pdf)

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

Page 64: Diplomsko delo (pdf)

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

Page 65: Diplomsko delo (pdf)

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

Page 66: Diplomsko delo (pdf)

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

Page 67: Diplomsko delo (pdf)

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

Page 68: Diplomsko delo (pdf)

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

Page 69: Diplomsko delo (pdf)

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

Page 70: Diplomsko delo (pdf)

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

Page 71: Diplomsko delo (pdf)

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

Page 72: Diplomsko delo (pdf)

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

Page 73: Diplomsko delo (pdf)

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

Page 74: Diplomsko delo (pdf)

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

Page 75: Diplomsko delo (pdf)

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

Page 76: Diplomsko delo (pdf)

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

Page 77: Diplomsko delo (pdf)

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

Page 78: Diplomsko delo (pdf)

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

Page 79: Diplomsko delo (pdf)

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

Page 80: Diplomsko delo (pdf)

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

Page 81: Diplomsko delo (pdf)

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

Page 82: Diplomsko delo (pdf)

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

Page 83: Diplomsko delo (pdf)

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

Page 84: Diplomsko delo (pdf)

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

Page 85: Diplomsko delo (pdf)

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

Page 86: Diplomsko delo (pdf)

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

Page 87: Diplomsko delo (pdf)

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

Page 88: Diplomsko delo (pdf)

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

Page 89: Diplomsko delo (pdf)

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

Page 90: Diplomsko delo (pdf)

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

Page 91: Diplomsko delo (pdf)

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

Page 92: Diplomsko delo (pdf)

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