Univerza v Ljubljani. Matic Ivanovič SENZORSKEGA OMREŽJA ZA SPROTNI NADZOR STANJA INDUSTRIJSKE OPREME

Size: px
Start display at page:

Download "Univerza v Ljubljani. Matic Ivanovič SENZORSKEGA OMREŽJA ZA SPROTNI NADZOR STANJA INDUSTRIJSKE OPREME"

Transcription

1 Univerza v Ljubljani Fakulteta za elektrotehniko Matic Ivanovič NAČRTOVANJE BREZŽIČNEGA SENZORSKEGA OMREŽJA ZA SPROTNI NADZOR STANJA INDUSTRIJSKE OPREME DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA Mentor: prof. dr. Igor Škrjanc Ljubljana, 2011

2

3 Zahvala Za mentorstvo in pomoč pri zaključevanju diplomske naloge se zahvaljujem prof. dr. Igorju Škrjancu. Za podporo, nasvete in pomoč pri izdelavi praktičnega dela se zahvaljujem delovnima mentorjema Pavletu Boškoskemu in dr. Bojanu Musizzi. Poleg tega se zahvaljujem tudi Stanislavu Černetu, ki je izbral elektronske komponente ter izdelal testne naprave, ki sem jih uporabil pri svojem delu. Zahvaljujem se tudi prof. dr. Daniju Juričiću, ki me je vpeljal v tematiko diplomskega dela.

4

5 Vsebina Seznam uporabljenih simbolov 1 Povzetek 3 Abstract 5 1. Uvod Organizacija diplomskega dela Brezžično senzorsko omrežje Omrežje ZigBee Osnovne lastnosti Vrste naprav Topologije Arhitektura omrežja Fizična plast Plast za kontrolo dostopa do medija Mrežna plast Aplikacijska plast Strojna oprema vozlišča Delovanje ZigBee modulov Ukazi tipa AT I

6 II Vsebina UART komunikacija Mikrokrmilnik ATXMEGA32A Sistem ure mikrokrmilnika Časovniki in števci Varnostni časovnik USART SPI Analogno-digitalni pretvornik (ADC) EEPROM Načini varčevanja z energijo Prekinitve Dogodkovni sistem Dodatni SRAM Vodilo SPI Senzorji Senzor vibracij Senzor temperature Senzor za merjenje obratov Programska oprema Konfiguracijsko okolje v Simulinku Program za mikrokrmilnik Inicializacija Iskanje omrežja Neskončna programska zanka Program za strežnik Testiranje prototipa 63

7 Vsebina III 6.1 Test omrežja Test algoritmov za obdelavo signalov Test na realni napravi Sklep Dodatek 71 Literatura 73

8 IV Vsebina

9 Seznam uporabljenih simbolov ADC Analog to Digital Converter ASCII American Standard Code for Information Interchange CPU CR Central Processing Unit Carriage Return CSMA/CA Carrier-Sense Multiple Access with Collision Avoidance DMAC Direct Memory Access Controler EEPROM Electrically Erasable Programmable Read-Only Memory FFD FFT ISM LSB Full Function Device Fast Fourier Transform Industrial, Scientific and Medical Least Significant Bit MAC Media Access Control MISO Master Input Slave Output MOSI Master Output Slave Input MSB Most Significant Bit NVM Non-volatile Memory Controller PDI Program and Debug Interface PHM Prognostics and Health Management 1

10 PLL Phase-locked loop PMIC Programmable Multi-level Interrupt Controller RFD Reduced Function Device RMS Root Mean Square RTC Real Time Clock SCLK Serial Clock pin pri SPI komunikaciji SPI Serial Peripheral Interface SRAM Static Random Access Memory SS ULP USB Slave Select pin pri SPI komunikaciji Ultra Low Power Universal Serial Bus UWB Ultra-wideband WLAN Wireless Local Area Network WMAN Wireless Metropolitan Area Network WPAN Wireless Personal Area Network WSN Wireless Sensor Network WWAN Wireless Wide Area Network

11 Povzetek Brezžična senzorska omrežja zadnja leta hitro prodirajo na vsa področja industrijske avtomatizacije, med drugim tudi za potrebe spremljanja in nadzora stanja opreme in prediktivnega vzdrževanja. Na tem področju trenutno še ni veliko rešitev, obstoječe pa so še vedno sorazmerno drage, zahtevne za namestitev in izdelane namensko za točno določene sisteme. Problem, ki smo si ga zadali, je izdelava konceptualno novega sistema za sprotni nadzor stanja opreme, ki ga odlikujejo nizka cena, enostavna namestitev ter prilagodljivost različnim področjem uporabe. Pričujoče diplomsko delo se osredotoča na izdelavo prototipa vozlišča senzorskega omrežja za nadzor stanja opreme. Vozlišče je sposobno zbirati signale iz lokalnih senzorjev, lokalno shranjevati poteke, le-te tudi lokalno obdelati s sodobnimi postopki ter rezultate poslati po brezžični poti na oddaljen strežnik. Inovativna komponenta sistema je zmožnost konfiguriranja in sprotnega re-konfiguriranja lokalnih postopkov signalne obdelave kar na daljavo preko senzorskega omrežja. Celotna aplikacija se razvije v Simulinku, ki predstavlja standardno orodje za načrtovanje, in se potem s posebno narejenim interpreterjem avtomatsko prevede v obliko, primerno za ciljni procesor v vozlišču. Glavni rezultat dela je testno omrežje, sestavljeno iz strežnika in štirih vozlišč s senzorji vibracij. Delovanje prototipa smo preizkusili tudi v realnih okoliščinah na rezkalnemu stroju. Rezultati testov so obetavni in kažejo, da je možno s cenenimi elektronskimi komponentami zgraditi zmogljiv sistem za nadzor mehanskih pogonov. Ključne besede: brezžično senzorsko omrežje, ZigBee, senzorsko vozlišče, nadzor stanja opreme 3

12

13 Abstract Wireless sensor networks are increasingly pervading numerous areas of industrial automation including condition monitoring, prognostics and health management (PHM). Currently, only a limited number of PHM systems exist on the market. Unfortunately they are too expensive, difficult to install and can only be used on dedicated target application. These were key motivating factors to start the development of a conceptually new PHM system which will be low cost, easy to install and applicable for a wide class of industrial equipment. This thesis focuses on the development of a prototype of the wireless sensor network for condition monitoring. Central to the concept is node modul, which can collect and store local sensor data, perform signal processing and send results to remote server wirelessly. The important feature of the system is ability to configure and reconfigure the local signal processing algorithms remotely over the wireless network. Signal processing algorithms are designed in Simulink and afterwards with specially designed interpreter translated into appropriate code for network node microcontroller. The main result of this thesis is a functional prototype of the wireless sensor network comprised of a server and four sensor nodes with vibration sensors. The prototype was tested in real environment with a milling machine. Results are highly promising showing that it is possible to build a versatile low cost PHM system for monitoring mechanical drives. Keywords: wireless sensor network, ZigBee, sensor node, condition monitoring 5

14

15 1. Uvod Sprotni avtomatiziran nadzor stanja opreme predstavlja pomemben trend v novih generacijah sistemov za avtomatsko vodenje procesov. Današnji postopki vzdrževanja procesne opreme so žal večinoma preventivni in reaktivni. Napredno in ekonomsko bolj učinkovito prediktivno vzdrževanje pa se uporablja le v novejših in razmeroma kompleksnih aplikacijah [13]. Prediktivno vzdrževanje temelji na naprednih postopkih prognostike in upravljanja stanja (angl. prognostics and health management, PHM), ki se nanašajo na napovedovanje preostale življenjske dobe komponent ter odločanje o vzdrževalnih posegih za zagotavljanje normalnega obratovanja naprav. Razlogi za majhno prisotnost prediktivnega vzdrževanja v industriji so predvsem visoka cena, zahtevna namestitev in komplicirana uporaba obstoječih nadzornih sistemov [12]. Prav tako pa so obstoječi nadzorni sistemi narejeni le za specifične aplikacije in jih ni možno uporabiti oziroma enostavno prenesti na druge, podobne sisteme [2], [16]. Zato smo se odločili, da zgradimo sodobni nadzorni sistem, ki se bo izognil omenjenim slabostim. V zadnjih letih so se na trgu pojavile nove generacije majhnih cenenih senzorjev za merjenje pospeškov, temperature in drugih fizikalnih veličin, ki so primerni za nadzor komponent opreme in občutno prispevajo k nižji ceni nadzornih sistemov. Kljub zelo nizki ceni jih odlikuje zanesljivost, njihove lastnosti pa so primerljive z dragimi tradicionalnimi senzorji. Slika 1.1 ponazarja strukturo nadzornega sistema, prirejenega za uporabo na mehanskih pogonih. Na najnižjem nivoju so na posameznih mehanskih sklopih nameščeni različni senzorji. Povezani so na eno ali več manjših naprav, ki vršijo osnovno obdelavo izmerjenih podatkov in rezultate s pomočjo brezžičnih tehnologij pošiljajo na strežnik. Tu se vrši nadaljnja obdelava prejetih podatkov in shranjevanje v podatkovno bazo. Prav tako lahko preko strežnika razvijalec določa lastnosti senzorskega omrežja in nastavlja delovanje posameznih naprav v omrežju. Na najvišjem nivoju je zgrajen 7

16 8 Uvod uporabniški vmesnik, ki upravljavcem omogoča vpogled v podatke o posameznih nadzorovanih napravah. Uporabniku je na voljo ocena trenutnega stanja naprave ter napoved preostale življenjske dobe naprave [9], [8]. Na podlagi teh podatkov se lahko upravljavci odločijo o morebitnih vzdrževalnih posegih. Uporabniški vmesnik Vzdrževalec Strežnik Razvijalec Motor Breme Vozlišče Senzorji Menjalnik Slika 1.1: Koncept nadzornega sistema za mehanske pogone V diplomskem delu smo se omejili na: načrtovanje prototipa senzorskega vozlišča in njegove programske opreme, izvedbo konfiguracijskega okolja, ki služi konfiguraciji posameznih senzorskih vozlišč ter načrtovanje testne programske opreme za strežnik. Obstoječe naprave, ki sestavljajo brezžična senzorska omrežja, so običajno narejene le za določeno ciljno aplikacijo, ter lahko merijo in posredujejo izmerjene

17 1.1 Organizacija diplomskega dela 9 podatke iz omejenega nabora senzorjev, ki je ponavadi določen na začetku razvoja naprave. Pomembno vlogo pri tovrstnih napravah ima poraba energije, ki mora biti čim manjša. Razlog je v tem, da v nekaterih primerih nimamo na voljo omrežnega napajanja in se mora naprava napajati baterijsko ali pa z energijo iz okolja v svetlobni, toplotni ali mehanski obliki. Naš cilj je bil izdelati čimbolj vsestransko uporabno senzorsko vozlišče za odkrivanje napak rotacijskih strojev v raznih industrijskih procesih. Tu gre predvsem za določanje obrabe ležajev ter zobnikov v menjalniku. Na podlagi vibracij, izmerjenih na različnih delih stroja, hitrosti vrtenja in temperature lahko s pomočjo posebnih metod pravočasno zaznamo nenormalno delovanje stroja. Glavne zahteve pri načrtovanju vozlišča senzorskega omrežja so bile: nizka cena, majhna poraba energije, možnost fleksibilnega napajanja, ki bo omogočal priklop več virov energije (sončne celice, Peltierjev člen, piezo-kristal itn.), priklop več poljubnih senzorjev, možnost obdelave izmerjenih signalov iz posameznih senzorjev na samem vozlišču, možnost razvoja diagnostičnega sistema v Simulinku ter avtomatsko generiranje kode za ciljni procesor nameščen v omrežnem vozlišču ter konfiguracija naprave na daljavo. Zaradi potrebe po konfiguraciji na daljavo smo morali narediti tudi konfiguracijsko okolje, v katerem lahko definiramo postopke za obdelavo signalov iz senzorjev. Le te je možno preko brezžičnega omrežja prenesti na želeno napravo v omrežju. Da smo lahko preizkusili delovanje brezžičnega senzorskega omrežja smo naredili tudi testno strežniško aplikacijo. 1.1 Organizacija diplomskega dela Vsebina diplomskega dela je organizirana na naslednji način. V drugem poglavju je opisano brezžično senzorsko omrežje. Predstavljena

18 10 Uvod je zgradba naprav, ki sestavljajo takšno omrežje ter primer tipične uporabe brezžičnega senzorskega omrežja. V 3. poglavju je podan opis omrežja ZigBee. Najprej so predstavljene osnovne značilnosti in namembnost ZigBee-ja. Podana je tudi primerjava z nekaterimi ostalimi standardi za brezžično povezovanje, kot so Bluetooth, WiFi in drugi. Predstavljene so vrste naprav, ki sestavljajo brezžična omrežja, ter možne topologije omrežij. Na kratko je predstavljena arhitektura omrežja in posamezne komunikacijske plasti, ki sta jih oblikovali organizaciji ZigBee Alliance in IEEE. V 4. poglavju so opisane komponente, ki smo jih uporabili pri izgradnji sistema. Razloženo je delovanje uporabljenih ZigBee modulov, podrobneje je podan opis mikrokrmilnika XMEGA32A4, sledi pa še kratek opis spominskega modula SRAM ter senzorjev, ki smo jih uporabili za testiranje. Temu sledi poglavje o programski opremi, kjer je opisan razvoj konfiguracijskega okolja. Sledi obsežnejši opis programa za mikrokrmilnik. Na koncu pa je predstavljena še strežniška aplikacija. V 6. poglavju je razložen postopek testiranja omrežja ZigBee in posameznih vozlišč s senzorji. Podani so tudi rezultati testov. V zadnjem poglavju so povzete glavne značilnosti projekta in manjše težave, na katere smo naleteli med delom. Predstavljene so tudi možne izboljšave celotnega sistema.

19 2. Brezžično senzorsko omrežje V industrijskih aplikacijah, ki zadevajo vodenje in regulacijo procesov ter proizvodnih sistemov, je ponavadi potrebno meriti številne fizikalne veličine. Potrebna je uporaba velikega števila raznovrstnih senzorjev na različnih lokacijah, do njihovih podatkov pa je potrebno dostopati z enega ali več mest hkrati. Zato so senzorji povezani v tako imenovana senzorska omrežja. Zaradi novih dosežkov na področju brezžičnih komunikacij in elektronike smo v zadnjih nekaj letih priča razmahu brezžičnih senzorskih omrežij (angl. Wireless Sensor Networks, WSN). Naprave, ki sestavljajo brezžična senzorska omrežja, so vedno bolj zmogljive, funkcionalne, energijsko varčne in cenovno dostopne, zato jih danes srečamo skoraj na vsakem koraku. Področje uporabe brezžičnih senzorskih omrežij je zelo široko. Najdemo jih v aplikacijah industrijske avtomatizacije, kjer se uporabljajo predvsem za nadzor kakovosti in vodenje procesov. Uporabljajo se pri avtomatizaciji stavb in pri nadzoru drugih gradbenih objektov, npr. mostov, dimnikov. Prisotna so v kmetijstvu, biomedicini, prometu in še bi lahko naštevali. Posebej dobrodošla pa je njihova uporaba na nevarnih ali težko dostopnih območjih. Brezžično senzorsko omrežje je množica naprav z možnostjo brezžičnega povezovanja, postavljenih v prostoru tako, da lahko vsaka naprava komunicira vsaj z eno sosednjo napravo. Takšne naprave imenujemo vozlišča. Da te naprave lahko sestavljajo brezžično senzorsko omrežje, morajo biti na njih nameščeni tudi senzorji, ki omogočajo zajem podatkov iz okolice. Takšnim vozliščem zato pravimo senzorska vozlišča. Poleg senzorjev jih sestavljajo še mikrokrmilnik, komunikacijski modul, ki omogoča brezžično povezovanje ter napajanje. Sam mikrokrmilnik ponavadi že vsebuje analogno-digitalni pretvornik (ADC) in zadovoljivo količino pomnilnika za hranjenje izmerjenih podatkov. Tipično zgradbo senzorskega vozlišča prikazuje slika 2.1. Da je brezžično senzorsko omrežje funkcionalno, mora obstajati tudi povezava do strežnika, oziroma naprave, ki sprejema in shranjuje 11

20 12 Brezžično senzorsko omrežje Slika 2.1: Zgradba senzorskega vozlišča podatke iz senzorskih vozlišč v podatkovno bazo. Slika 2.2 prikazuje eno od tipičnih uporab brezžičnega senzorskega omrežja. Omrežje senzorskih vozlišč je preko enega vozlišča povezano s strežnikom. Takšno napravo, ki omogoča povezavo med brezžičnim senzorskim omrežjem in strežnikom, imenujemo prehod (angl. gateway). Strežnik skrbi za arhiviranje ter obdelavo izmerjenih podatkov in hkrati omogoča nadzor ter upravljanje senzorskega omrežja, kot to zahtevajo uporabniki. Uporabnikom omogoča tudi dostop do podatkov. Brezžično senzorsko omrežje Prehod Strežnik Uporabniki Slika 2.2: Brezžično senzorsko omrežje

21 3. Omrežje ZigBee Začetki ZigBee standardov segajo v leto 2002, ko je bila ustanovljena organizacija ZigBee Alliance. Gre za neprofitno, odprto organizacijo, ki združuje ljudi iz številnih podjetij, vladnih organizacij in univerz širom sveta. Njen namen je oblikovati standarde za brezžično povezovanje naprav, ki upoštevajo naslednje smernice: nizka cena, izjemno nizka poraba energije, dolga življenjska doba, visoka zanesljivost ter varnost, velika prilagodljivost in možnost nadgradnje, široko področje uporabe ter enostavna uporaba. Ni dvoma, da so bili cilji dobro zastavljeni, saj se je uporaba ZigBee standardov v zadnjih letih zelo povečala in še vedno strmo narašča. Združenje ZigBee Alliance ponuja dve vrsti specifikacij, ki določata osnovno delovanje brezžičnega omrežja. To sta ZigBee RF4CE in ZigBee 2007 specifikacija. Prva je bila razvita le za enostavno dvosmerno komunikacijo, ki se uporablja v aplikacijah vodenja, tam kjer ni potrebe po kompleksnem omrežju ter medsebojni komunikaciji treh ali več naprav. ZigBee 2007 specifikacija, ali krajše ZigBee specifikacija, predpisuje delovanje pametnih, cenenih in nizko energijskih brezžičnih omrežij, sestavljenih iz večjega števila naprav. Njen razvoj poteka v dveh ločenih smereh, zato sta na voljo dve različni implementaciji oziroma dva nabora funkcij, ki jih določa ZigBee specifikacija: ZigBee in ZigBee PRO. ZigBee podpira manjša omrežja z nekaj sto napravami v omrežju. ZigBee PRO pa je nadgradnja ZigBee-ja, ki podpira večja omrežja z več kot vozlišči. Nje- 13

22 14 Omrežje ZigBee gova uporaba v aplikacijah prevladuje, prav tako pa ima ZigBee PRO pri razvoju največjo prioriteto. Omogoča povsem isto funkcionalnost kot ZigBee, vendar z razliko da so dodane nekatere nove funkcije. Na primer, možnost dinamične spremembe kanala pri morebitnih motnjah in možnost samodejne fragmentacije večjih sporočil. Obstoječe funkcije pa so optimirane tako, da omogočajo nemoteno delovanje velikih omrežij. Obe implementaciji sta medsebojno kompatibilni. Slika 3.1: ZigBee standardi [5] Zaradi velike fleksibilnosti in posledično širokega področja uporabe ZigBee-ja je združenje ZigBee Alliance oblikovalo več standardov, ki pokrivajo specifične potrebe trga (slika 3.1). Trenutno obstajajo naslednji standardi: ZigBee Remote Control: aplikacije naprednega brezžičnega vodenja; ZigBee Health Care: aplikacije nadzora zdravja in fizične pripravljenosti; ZigBee Telecom Services: mobilno plačevanje, oglaševanje, skupna raba podatkov, lokalni prenos podatkov itd.; ZigBee 3D Sync: prenos podatkov pri gledanju prostorske slike z 3D očali; ZigBee Building Automation: avtomatizacija poslovnih objektov; ZigBee Retail Services: pametno nakupovanje; ZigBee Smart Energy: povezovanje naprav za nadzor in avtomatizacijo dobave energije in vode; ZigBee Input Device: brezžične tipkovnice, miške, grafične tablice itd.; ZigBee Home Automation: avtomatizacija stanovanjskih objektov.

23 3.1 Osnovne lastnosti 15 Vsi temeljijo na ZigBee specifikaciji, kar omogoča izmenjavo podatkov med napravami, ki ustrezajo različnim ZigBee standardom. Tako je možna uporaba različnih standardov v eni sami aplikaciji. 3.1 Osnovne lastnosti ZigBee obratuje v nelicenčnem frekvenčnem področju ISM (angl. Industrial, Scientific and Medical), ki je namenjeno predvsem uporabi v industriji, znanosti in medicini. Obsega več različnih frekvenc, ki so na voljo komurkoli brez kakršnekoli licence. Dovoljena uporaba posameznih frekvenčnih območij pa je odvisna od posameznih držav. Za globalno uporabo se po standardu IEEE , na katerem je osnovan ZigBee, uporablja frekvenca 2,4 GHz. V Ameriki je dovoljena tudi uporaba frekvence 915 MHz. V Evropi pa se poleg frekvence 2,4 GHz lahko uporablja tudi frekvenca 868 MHz. Od uporabljenega frekvenčnega območja je odvisna tudi največja hitrost prenosa podatkov, ki se giblje med kilobiti na sekundo, kar je podrobneje opisano v poglavju Slika 3.2 prikazuje razvrstitev nekaterih brezžičnih standardov glede na hitrost prenosa podatkov ter domet. Tabela 3.1 pa primerja nekaj lastnosti brezžičnih omrežij, ki se danes najpogosteje uporabljajo. WWAN, Celično omrežje 2G / 2.5G / 3G WMAN (100m - 10km) WIMAX WLAN (10m - 100m) ZigBee WiFi b/g n WPAN (0m - 10m) Bluetooth UWB a Hitrost (Mb/s) 0,01 0,1 1, Slika 3.2: Primerjava brezžičnih omrežij Vidimo lahko, kaj je vzrok, da ima ZigBee takšno prednost pred podobnimi tehnologijami. Majhna poraba sistemskih virov ne zahteva zmogljive strojne

24 16 Omrežje ZigBee Ime ZigBee / Wi-Fi Bluetooth Standard GSM/GPRS b/g Namen nadzor, širokopasovni internet, pošta, nadomestek kontrola prenos glasu multimedija kablov Sistemski viri 4 32 kb 16 MB 1MB 250 MB Trajanje baterije 10 let 1 7 dni 5 dni 1 7 dni Število naprav Hitrost (Mbit/s) Domet (m) Prednosti zanesljivost, doseg, hitrost, cena, moč, cena kvaliteta prilagodljivost priročnost Tabela 3.1: Primerjava brezžičnih omrežij opreme. Poraba energije je zelo majhna, kar omogoča dolgo življenjsko dobo naprav ob uporabi baterijskega napajanja. V eno omrežje lahko vključimo skoraj neomejeno število naprav, kar je zelo dobrodošlo v večjih senzorskih omrežjih. Največja pomanjkljivost ZigBee-ja je majhna hitrost prenosa podatkov. Aplikacije brezžičnega nadzora in vodenja je zato potrebno temu primerno prilagoditi Vrste naprav ZigBee specifikacija definira tri vrste naprav, ki lahko sestavljajo omrežje: koordinator, usmerjevalnik in končna naprava. Naprave se med seboj ločijo po nalogi, katero opravljajo. Koordinator je naprava, ki ustvari brezžično omrežje. Poleg tega neprestano vrši nadzor nad celotnim omrežjem. Njegova naloga je tudi dodajanje novih naprav v omrežje ter usmerjanje podatkov. Nanj se lahko povežejo naprave, ki so usmerjevalniki ali končne naprave. V enem omrežju je lahko le en koordinator. Usmerjevalnik je naprava, ki usmerja podatke do drugih naprav v omrežju.

25 3.1 Osnovne lastnosti 17 Poveže se lahko s koordinatorjem ali z drugim usmerjevalnikom. Da lahko usmerjevalnik opravlja svojo funkcijo, mora biti ves čas v stanju delovanja. Končna naprava je ponavadi tista, na katero so priklopljeni senzorji in aktuatorji. Poveže se lahko z usmerjevalnikom ali koordinatorjem, nanjo pa se ne more povezati nobena druga naprava. Za končne naprave se ponavadi ne pričakuje, da bi sprejemale podatke, zato so lahko večino časa v stanju mirovanja. Standard IEEE , na katerem je zgrajena ZigBee specifikacija, določa dve skupini naprav v omrežju, in sicer: naprave s polno funkcionalnostjo oziroma FFD naprave (angl. Fully Functional Device) ter naprave z omejeno funkcionalnostjo oziroma RFD (angl. Reduced Function Device). FFD naprava lahko izvaja vse naloge, ki jih določa standard, medtem ko RFD naprava ne more opravljati določenih funkcij, kot na primer direktna komunikacija z drugimi RFD napravami, usmerjanje paketov in podobno. Naprave, ki jih definira ZigBee specifikacija, lahko razvrstimo v omenjeni skupini glede na želeno funkcionalnost. Tabela 3.2 prikazuje kateri skupini lahko pripada določena naprava. ZigBee specifikacija Koordinator Usmerjevalnik Končna naprava Standard FFD da da da IEEE RFD ne ne da Tabela 3.2: Razvrstitev ZigBee naprav Koordinator in usmerjevalnik ne moreta biti RFD naprave, saj ne bi mogla zagotavljati osnovne funkcionalnosti, za katero sta namenjena. Končna naprava pa lahko pripada obema skupinama. Vse te naprave tvorijo različne strukture omrežij, ki so opisane v naslednjem poglavju.

26 18 Omrežje ZigBee Topologije Omrežje lahko temelji na dveh različnih mrežnih strukturah: točka-točka (angl. point-to-point) in zvezda (angl. star), ki sta prikazani na sliki 3.3 [7]. Omrežje Slika 3.3: Omrežje točka-točka (levo) in omrežje zvezda (desno) točka-točka je najenostavnejše, saj ga sestavljata le dve vozlišči, ki komunicirata med sabo. Seveda mora biti razdalja med njima dovolj majhna, tako da je možno vzpostaviti povezavo med njima. Omrežje v obliki zvezde je sestavljeno iz koordinatorja in množice ostalih vozlišč, ki lahko vzpostavijo povezavo le z koordinatorjem. Ta vozlišča so lahko tipa FFD ali RFD. Omrežje z le dvema vozliščema tipa točka-točka v praksi ni uporabno, saj so ponavadi omrežja sestavljena iz mnogo več vozlišč. Več sklopov točka-točka lahko sestavimo v tako imenovano omrežje točka-točke (angl. point-to-multipoint). Takšno omrežje prikazuje slika 3.4 (levo). Tu lahko vsako vozlišče direktno komunicira s katerikolim drugim vozliščem v omrežju brez usmerjanja. Izpolnjen mora biti tudi pogoj, da so vozlišča v prostoru postavljena tako, da je vsako vozlišče v dosegu kateregakoli drugega vozlišča. Koordinator je lahko katerokoli vozlišče, ki je del takšnega omrežja. Takšno omrežje deluje kot ad-hoc omrežje. Koordinator Končna naprava Usmerjevalnik Slika 3.4: Omrežje točka-točke (levo) in omrežje v obliki mreže (desno) Iz omenjenih struktur pa lahko nastanejo še bolj kompleksna omrežja, ki so podprta s strani ZigBee specifikacije. Če omrežje točka-točke razširimo tako, da

27 3.2 Arhitektura omrežja 19 vsako vozlišče lahko komunicira vsaj z enim sosednjim vozliščem, ga imenujemo omrežje v obliki mreže (angl. mesh network). Omrežje ima lahko tudi obliko drevesa (angl. tree). Ta so zelo uporabna, kadar želimo povečati domet. Vozlišča lahko postavimo v obliki visokega drevesa. Takšno omrežje ima več nivojev (angl. hops). Potrebno je poudariti, da pri takšnih omrežjih lahko prihaja do večjih zakasnitev pri komunikaciji med najbolj oddaljenimi vozlišči in koordinatorjem. Drevesno strukturo omrežja lahko uporabimo tudi v primerih, ko imamo v prostoru ovire, na primer zid. Takšno situacijo ponazarja slika 3.5. Ovira Koordinator Končna naprava Usmerjevalnik Slika 3.5: Omrežje v obliki drevesa V praksi pa so omrežja ponavadi vedno hibridna. Tu gre za kombinacijo dveh ali več tipov omrežij, ki smo jih omenili. 3.2 Arhitektura omrežja Izmenjava podatkov med dvema napravama vedno poteka preko več plasti (angl. layers). Vsaka od plasti ima določene naloge in v ta namen ustrezno preoblikuje podatke za prenos. Vse plasti skupaj imenujemo komunikacijski sklad. Vsaka plast lahko komunicira le s plastjo nad ali pod seboj. Izjema je najnižja plast, ki preko komunikacijskega kanala komunicira z najnižjo plastjo druge naprave. Tako se na primer uporabniku razumljivo sporočilo preko posameznih plasti komunikacijske naprave preoblikuje v primerno obliko za prenos po komunikacijskem kanalu do druge naprave. V drugi napravi se nato preko istih plasti, od spodaj navzgor, izvede inverzni postopek, katerega rezultat je prvotno uporabniku

28 20 Omrežje ZigBee razumljivo sporočilo. ZigBee komunikacijski sklad je sestavljen iz štirih plasti, ki so prikazane na sliki 3.6. ZigBee specifikacija je osnovana na standardu IEEE Ta standard definira najnižjo fizično plast (angl. physical layer, PHY) in plast za kontrolo dostopa do medija (angl. media access control, MAC). Mrežna plast (angl. network layer, NWK) in aplikacijska plast (angl. application layer, APL) pa sta definirani s strani organizacije ZigBee Alliance. Aplikacijski objekt 240 Aplikacijska plast (APL) Aplikacijski okvir Aplikacijski objekt 1 ZDO javni vmesnik Aplikacijski objekt 0 (ZDO) Končna točka 240 APSDE-SAP Končna točka 1 APSDE-SAP Aplikacijska podplast (APS) Končna točka 0 APSDE-SAP IEEE ZigBee Alliance Zagotavljanje varnosti Varnost APS plasti Varnost NWK plasti Mrežna plast (NWK) Sporočila NWK Posredovalec sporočil Usmerjanje Sprejemnik sporočil Upravljanje NWK Nadzor ZDO Končni uporabnik MAC plast Funkcija plasti Vmesnik plasti Fizična plast ( PHY) 2,4 GHz radio 868/915 MHz Slika 3.6: Arhitektura komunikacijskega sklada ZigBee [14] Fizična plast Fizična plast ima, tako kot vse ostale plasti, dvojno funkcijo. Na eni strani sprejema sporočila MAC plasti in jih preoblikuje v ustrezno obliko za pošiljanje preko komunikacijskega kanala. Na drugi strani pa sprejema sporočila iz komunikacijskega kanala in jih ustrezno preoblikovana posreduje MAC plasti. Fizična plast določa frekvenčno območje, v katerem deluje ZigBee. Kot smo že omenili so na voljo tri frekvenčna območja delovanja: 868 MHz, 915 MHz in 2,4 GHz. V tabeli

29 3.2 Arhitektura omrežja so prikazane nekatere lastnosti posameznih frekvenčnih pasov, ki jih določa fizična plast. Naloge fizične plasti so tudi: modulacija in demodulacija signalov, vklop in izklop oddajno-sprejemnega modula, preverjanje dostopa do prostega kanala, detekcija energije kanala, izbira kanala in indikacija kvalitete komunikacijske poti prejetih paketov. Frekvenčni Razpon Kanal Frekvence kanalov Vrsta Hitrost pas [MHz] [MHz] (k) [MHz] modulacije [kb/s] , ,3 BPSK (k 1) BPSK , (k 11) O QPSK 250 Tabela 3.3: Lastnosti frekvenčnih območij ZigBee-ja Plast za kontrolo dostopa do medija MAC plast se nahaja nad fizično plastjo. Njena naloga je izmenjava podatkov z mrežno plastjo ter izmenjava podatkov s fizično plastjo. Skrbi za zanesljiv potek komunikacije, kar je doseženo z uporabo sporočil o potrditvi sprejema podatkov (angl. acknowledgment frames) in z uporabo CSMA/CA (Carrier-Sense Multiple Access with Collision Avoidance) kot načina za dostop do medija Mrežna plast Mrežna plast predstavlja vmesnik med aplikacijsko in MAC plastjo. Njena glavna naloga je vzpostavitev ZigBee omrežja različnih topologij, ki so opisane v poglavju Vrši konfiguracijo posameznih naprav v omrežju. Skrbi za odkrivanje prisotnosti omrežja in za pridružitev naprave obstoječemu omrežju ter dodeljevanje 16-bitnih naslovov novo pridruženim napravam. Skrbi tudi za usmerjanje paketov, odkrivanje ter pomnjenje najbolj učinkovitih poti za pošiljanje paketov ciljni

30 22 Omrežje ZigBee napravi in obnavljanje seznama sosednjih naprav. varnost prejetih in odhajajočih sporočil. Prav tako pa skrbi tudi za Aplikacijska plast Aplikacijska plast je najvišja plast in predstavlja vmesnik za končne uporabnike brezžičnih omrežij ZigBee. Sestavljena je iz: aplikacijske podplasti APS (angl. Application Support Sublayer), plasti ZDO (angl. ZigBee Device Object) in aplikacijskega okvirja, ki lahko vsebuje do 240 objektov, določenih s strani proizvajalca ZigBee naprav. Plast APS deluje kot vmesnik med mrežno plastjo in plastjo ZDO ter aplikacijskimi objekti. Hrani povezovalno (angl. binding) tabelo, ki vsebuje podatke o logičnih povezavah z ostalimi napravami v omrežju. ZDO plast definira tip naprave v omrežju (koordinator, usmerjevalnik, končna naprava). Njena naloga je inicializacija APS in mrežne plasti ter varnostnega sistema. Na najvišjem nivoju skrbi za nadzor omrežja, povezovalno tabelo in varnostni sistem. Posamezen aplikacijski objekt vsebuje tako imenovani aplikacijski profil, ki omogoča sprejemanje ter pošiljanje ukazov in podatkov ter izvajanje raznih zahtev. Tu je določena glavna funkcionalnost ter namen ZigBee naprave. Aplikacijski objet je lahko definiran s strani uporabnika oziroma proizvajalca ZigBee naprav ali pa s strani organizacije ZigBee Alliance. V tem primeru ustreza naprava enemu izmed ZigBee standardov, ki smo jih navedli na začetku 3. poglavja.

31 4. Strojna oprema vozlišča Kot smo že omenili v uvodu, je senzorsko vozlišče sestavljeno iz mikrokrmilnika, komunikacijskega modula, napajanja, poleg tega pa omogoča priklop enega ali več senzorjev (slika 2.1). Izbira posameznih komponent je seveda medsebojno povezana. Ker smo že v začetku definirali, da bo vozlišče ceneno in napajano iz lastnih virov energije, ima poraba energije poleg cene najpomembnejšo vlogo pri izbiri komponent. Največji porabnik je ravno komunikacijski modul. Za brezžično povezovanje smo izbrali modul ETRX2 proizvajalca Telegesis, ki podpira ZigBee tehnologijo. Potrebno je bilo poiskati kompromis med zmogljivostjo mikrokrmilnika in porabo energije. Za našo aplikacijo smo uporabili Atmelov mikrokrmilnik ATXMEGA32A4. Programiranje smo izvajali z Atmel-ovim programatorjem AVRISP mkii preko PDI (angl. Program and Debug Interface) vmesnika. Za analogno-digitalno pretvorbo signala iz senzorjev smo uporabili kar analognodigitalni pretvornik (angl. ADC) mikrokrmilnika, ki je dovolj zmogljiv za potrebe naše aplikacije. Zaradi premajhnih spominskih kapacitet mikrokrmilnika smo uporabili dodatni zunanji spominski modul tipa SRAM, ki smo ga preko SPI (angl. Serial Peripheral Interface) vodila povezali z mikrokrmilnikom. Za namene testiranja, smo na vozlišče priklopili senzorje vibracij, temperature in hitrosti. Za preizkus delovanja omrežja in senzorskih vozlišč smo potrebovali še strežnik. Za ta namen smo uporabili kar osebni računalnik in brezžični USB modul proizvajalca Telegesis, ki podpira ZigBee. Slika 4.1 prikazuje blokovno shemo senzorskega vozlišča. Na sliki 4.2 pa je prikazano testno senzorsko vozlišče brez priklopljenih senzorjev. 23

32 24 Strojna oprema vozlišča Senzor (analogni) Senzor (analogni) Senzor (analogni) ZigBee modul Telegesis ETRX2 SRAM 23k256 USART SPI 12-bit ADC Mikrokontroler ATXMEGA32A4 Števec Napajalni modul Senzor (digitalni) Senzor (digitalni) Senzor (digitalni) Slika 4.1: Blokovna shema vozlišča ZigBee modul Zunanji kristal PDI vmesnik Mikrokrmilnik ATXMEGA32A4 Slika 4.2: Testno senzorsko vozlišče

33 4.1 Delovanje ZigBee modulov Delovanje ZigBee modulov Telegesis ETRX2 ZigBee modul (slika 4.3 levo) je v prvi vrsti namenjen vgradnji v druge naprave, možno pa ga je uporabiti tudi samostojno. Ponuja hitro, enostavno in ceneno rešitev za brezžično povezovanje, ki ustreza ZigBee specifikaciji. Jedro modula je čip EM250 proizvajalca Ember, ki je bil prvi in je trenutno eden od vodilnih proizvajalcev čipov za brezžično povezovanje. ZigBee modul ima prednaloženo programsko opremo, ki temelji na protokolu EmberZNet. EmberZNet, produkt podjetja Ember, ustreza ZigBee PRO naboru funkcij. S strani podjetja Ember pa so dodane ter izboljšane nekatere funkcije, ki zagotavljajo večjo zanesljivost, varnost in prilagodljivost brezžičnih omrežij. Prednaložena programska oprema omogoča nastavitve in dostop do skoraj vseh funkcij, ki jih ponuja EmberZNet, preko ukazov tipa AT. Ukaze tipa AT pošiljamo modulu preko serijskih vrat po protokolu RS-232. Zaradi tega za nezahtevne uporabnike ni potreben razvoj lastne programske opreme, temveč lahko na modulu hitro in enostavno opravimo vse nastavitve in ga uporabimo v želeni aplikaciji. Slika 4.3: Komunikacijski modul ETRX2 (levo) in ETRX2 USB (desno) EXTR2 USB ključ (slika 4.3 desno) je namenjen uporabi na računalnikih z USB vhodom. Ponuja povsem isto funkcionalnost kot predhodno omenjeni modul. Za njegovo uporabo je na računalniku potrebno namestiti primeren gonilnik, ki ga najdemo na proizvajalčevi spletni strani. Ta na računalniku ustvari navidezna serijska vrata, na katera se lahko povežemo z enim od terminalskih programov. Od tu naprej je postopek rokovanja z ZigBee USB ključem povesem enak kot pri ETRX2 ZigBee modulu.

34 26 Strojna oprema vozlišča Ukazi tipa AT Programska oprema, ki je nameščena na modulih proizvajalca Telegesis, je zasnovana tako, da lahko vse nastavitve modulov opravimo z ukazi tipa AT. Nastavitve posameznega modula pa so shranjene v tako imenovanih S-registrih. AT ukazi omogočajo tudi branje vsebine S-registrov. Poleg tega pa lahko z njimi pošiljamo podatke na druge naprave v omrežju. Ukazi tipa AT so vedno v tekstovni obliki, ki ustreza standardu ASCII. Na modul jih pošljemo preko serijskih vrat. Vsak ukaz je sestavljen iz predpone AT, konča pa se z znakom za novo vrstico <CR>, ki po ASCII standardu ustreza šestnajstiški kodi 0x0D. Po vsakem poslanem ukazu dobimo na serijskih vratih odziv o uspehu ( OK ) ali napaki ( ERROR:XX ) 1. Ukazi so razvrščeni v tri skupine: 1. Ukazi za branje ATXXX? 2 Z bralnimi ukazi lahko dostopamo do trenutnih nastavitev, ki so shranjene v S-registrih. 2. Ukazi za pisanje ATXXX=<...> Z ukazi za pisanje lahko spremenimo vsebino S-registrov. 3. Ukazi za izvršitev ATXXX S temi ukazi lahko izvajamo določene funkcije, kot je ustvarjanje omrežja, pridruževanje omrežju, pošiljanje podatkov in podobno. Primeri ukazov: ATS00?<CR> prikaže vsebino S-registra pod številko 00. ATS00=3FFC<CR> postavi vsebino S-registra 00 na šestnajstiško vrednost 3FFC. ATI<CR> prikaže informacije o ZigBee modulu. Seznam vseh podprtih ukazov ter opis S-registrov je dostopen v [4] UART komunikacija UART je kratica za Universal Asynchronous Receiver/Transmitter. To je del strojne opreme, ki omogoča serijski prenos podatkov dogovorjene oblike in hi- 1 XX predstavlja kodo napake v šestnajstiški obliki 2 XXX ponazarja poljuben podprt ukaz

35 4.2 Mikrokrmilnik ATXMEGA32A4 27 trosti. Lastnosti, ki se tičejo prenosa podatkov ponavadi ustrezajo določenim standardom, kot je na primer RS-232. Pri serijski komunikaciji se posamezni biti prenašajo zaporedno, eden za drugim, po eni sami žici. Običajno dve napravi povežemo z vsaj tremi žicami: eno za sprejem podatkov (Rx), eno za pošiljanje podatkov (Tx) in skupno ničlo (GND). Takšna povezava omogoča hkratno dvosmerno (angl. full duplex) asinhrono komuniciranje. Podatki, namenjeni prenosu, so vedno preoblikovani v okvirje (angl. frames). Vsak okvir je sestavljen iz začetnega bita, ki predstavlja nizki napetostni nivo in napove začetek prenosa podatkov. Nato odvisno od uporabniške izbire sledi 8,7,6 ali 5 podatkovnih bitov. Podatkovnim bitom opcijsko sledi paritetni bit, ki služi zaznavanju napak pri prenosu. Možna je soda ali liha pariteta. Okvir se konča z enim ali dvema zaključnima bitoma, ki predstavljata visoki nivo in signalizirata konec poslanega paketa. Primer prikazuje slika 4.4. OKVIR (IDLE) St [5] [6] [7] [8] [P] Sp1 [Sp2] (St / IDLE) Slika 4.4: Prikaz UART komunikacije 4.2 Mikrokrmilnik ATXMEGA32A4 Serija Atmelovih 8/16-bitnih mikrokrmilnikov XMEGA v primerjavi z predhodniki prinaša veliko novosti. Kljub nižji porabi energije je na voljo kar nekaj novih perifernih enot, ki so samostojne in razbremenjujejo procesor. Glavne lastnosti mikrokrmilnika so izjemno nizka poraba energije z uporabo tehnologije picopower, zmogljiv procesor z nastavljivim taktom 0 12 MHz pri napajanju 1,6 3,6 V, 0 32 MHz pri napajanju 2,7 3,6 V, spomin 32 KB + 4 KB Flash, 1 KB EEPROM,

36 28 Strojna oprema vozlišča 4 KB SRAM, 34 vhodno/izhodnih pinov s podporo prekinitev, napreden časovni sistem notranji oscilatorji 32 khz, 2 MHz, 32 MHz, ULP (Ultra Low Power) 32 khz notranji oscilator, zunanji oscilator, PLL (Phase-locked loop), 16-bitni časovniki/števci ter RTC modul, USART, SPI, TWI (I 2 C) komunikacija, hiter in zmogljiv 12-bitni ADC in DAC, 8-kanalni dogodkovni sistem, 4-kanalni DMA kontroler, prekinitve z tremi prioritetnimi nivoji, spalni načini: Idle, Power-down, Standby, Power-save, Extended Standby, podpora za AES in DES enkripcijo, napreden varnostni časovnik (angl. Watchdog Timer), napredna BOD (Brownout Detection) detekcija prenizke napetosti. Zgradba mikrokrmilnika je prikazana na sliki 4.5. Posamezne enote mikrokrmilnika so povezane med seboj preko skupnega podatkovnega vodila (angl. data bus). Poleg tega pa določene komponente povezuje tudi dogodkovni sistem. Takšna struktura omogoča, da se veliko operacij med posameznimi perifernimi enotami zgodi brez vednosti ter obremenjevanja procesorja. Vhodno-izhodni pini mikrokrmilnika so v skupinah po 8, 4 ali 2 organizirani v sistem vrat (angl. ports). Kot je razvidno iz slike 4.5 imajo posamezna vrata A,C in D osem pinov, vrata B in E štiri in vrata R dva pina. Posamezne enote mikrokrmilnika lahko dostopajo le do predpisanih vrat oziroma pinov. V naslednjih poglavjih so opisani nekateri najpomembnejši deli mikrokrmilnika, ki smo jih uporabili v naši aplikaciji.

37 4.2 Mikrokrmilnik ATXMEGA32A4 29 PR[0..1] XTAL1/ TOSC1 XTAL2/ TOSC2 PORT R (2) Oscillator Circuits/ Clock Generation Real Time Counter Watchdog Oscillator DATA BUS Watchdog Timer PA[0..7] PORT A (8) Event System Controller SRAM Oscillator Control Power Supervision POR/BOD & RESET VCC GND ACA ADCA AREFA DMA Controller BUS Controller Sleep Controller Prog/Debug Controller PDI RESET/ PDI_CLK PDI_DATA VCC/10 Int. Ref. DES OCD Tempref CPU AREFB AES Interrupt Controller PB[0..3] PORT B (4) DACB NVM Controller Flash EEPROM TWIE USARTE0 TCE0 PORT E (4) PE[0..3] IRCOM DATA BUS EVENT ROUTING NETWORK TCC0:1 USARTC0:1 SPIC TWIC TCD0:1 USARTD0:1 SPID PORT C (8) PORT D (8) PC[0..7] PD[0..7] Slika 4.5: Zgradba mikrokrmilnika ATXMEGA32A4 [3] Sistem ure mikrokrmilnika Sistem ure mikrokrmilnikov serije XMEGA proizvajalca Atmel je zelo prilagodljiv. Omogoča uporabo tako notranjih kot zunanjih oscilatorjev, prav tako pa je v povezavi z njimi možno uporabiti tudi PLL (Phase-locked loop) modul, ki omogoča generacijo takta z 1 do 31-krat višjo frekvenco od vhodnega signala. Slika 4.6 prikazuje zgradbo urinega sistema mikrokrmilnikov XMEGA. Vsak mikrokrmilnik ima na razpolago štiri že vgrajene oscilatorje:

38 30 Strojna oprema vozlišča ULP (Ultra Low Power) 32 khz RC oscilator, kalibrirani 32 khz RC oscilator, kalibrirani 2 MHz RC oscilator in kalibrirani 32 MHz obročni oscilator (angl. ring oscillator). ULP oscilator ima izredno nizko porabo energije. Uporablja se za namene, kjer ni potrebe po točnem času, saj je njegova relativna napaka lahko tudi 30 odstotkov. Ostali trije notranji oscilatorji pa so tovarniško kalibrirani in zato veliko bolj natančni. Uporabimo lahko tudi zunanji oscilator po naši izbiri s frekvenco 32 khz ali frekvenco med 0,4 16 MHz. Priklopimo ga na vrata R. RTC Periferne enote RAM CPU Obstojni pomnilnik clk CPU clk PER clk PER2 clk PER4 clk RTC Delilnik A 1,2,4,...,512 Delilnik B 1, 2, 4 Delilniki sistemske ure Delilnik C 1, 2 Brown-out detekcija clk SYS Multiplekser sistemske ure Varnostni časovnik PLL DIV4 32 khz ULP osc. 32 khz oscilator 2 MHz oscilator 32 MHz oscilator XTAL 32 khz XTAL 0,4-16 MHz Zunanji vir ure XTAL1 XTAL2 TOSC1 TOSC2 Slika 4.6: Sistem ure v mikrokrmilnikih XMEGA

39 4.2 Mikrokrmilnik ATXMEGA32A4 31 Kot je razvidno iz slike 4.6, lahko za sistemsko uro (clk SYS ) uporabimo katerikoli izvor takta razen ULP oscilator. Sistemska ura gre skozi tri-stopenjski delilnik, s katerim lahko nastavimo različne takte za posamezne skupine komponent mikrokrmilnika. Za komponente, ki potrebujejo visoke frekvence do 200 MHz, lahko za izvor ure uporabimo PLL modul v kombinaciji z notranjima oscilatorjema frekvence 2 MHz ali 32 MHz ali pa v kombinaciji z zunanjim oscilatorjem frekvence, ki je višja od 0,44 MHz. Pri tem je potrebno paziti, da ne presežemo maksimalnih vrednosti frekvence CPU-ja in nekaterih drugih enot. RTC (Real Time Counter) Iz slike 4.6 vidimo, da za RTC modul lahko uporabimo notranji ULP oscilator ali notranji kalibrirani oscilator ali zunanji kvarčni oscilator z frekvenco 32 khz. Za natančno uro je ULP oscilator zaradi nenatančnosti neuporaben. Za zelo precizno uro tudi notranji kalibrirani oscilator ni dovolj dober, zato je najbolje uporabiti zunanji kvarčni oscilator. Kot vhod v RTC modul lahko uporabimo direktni signal iz oscilatorja, ali pa signal z znižano frekvenco 1 khz. Obema signaloma lahko z 10-bitnim delilnikom RTC modula še dodatno znižamo frekvenco. S tem imamo na voljo največjo ločljivost 30,5 mikrosekund, ki omogoča proženje prekinitev ali dogodkov v intervalih do 2000 sekund. Najnižja ločljivost je ena sekunda, ki omogoča proženje prekinitev ali dogodkov v intervalih do sekund. Na sliki 4.7 je prikazana shema RTC modula. Register periode Prekinitev ob prekoračitvi 10-bitni delilnik Števni register Primerjalna prekinitev Primerjalni register Slika 4.7: Shema RTC modula [1] RTC modul omogoča dve vrsti prekinitev. V primeru, ko je vrednost števnega

40 32 Strojna oprema vozlišča registra enaka primerjalnemu registru (angl. Compare register) nastopi primerjalna prekinitev. Ko pa je vrednost števnega registra enaka vrednosti registra periode (angl. Period register), nastopi prekinitev ob prekoračitvi (angl. overflow interrupt). V tem primeru se števni register resetira na 0. Iz slike 4.6 je razvidno tudi, da sta časovni domeni RTC modula (clk RTC ) in sistemske ure (clk SYS ) različni. Zaradi tega je potrebno za časovno korektno izvajanje prekinitvenih rutin obe domeni sinhronizirati. Ta postopek traja dva RTC urina cikla, kar povzroči zakasnitev pri branju ali pisanju registrov RTC modula in posledično nepričakovano proženje prekinitev, kadar je inkrement primerjalnega registra ali vrednost registra periode manjša od Časovniki in števci Števec je naprava, ki šteje impulze binarnega signala. Števec, ki šteje impulze iz oscilatorja z znano frekvenco, imenujemo časovnik. Ponavadi mikrokrmilnik za obe funkciji uporablja isto periferno enoto, ki jo označujemo kot časovnik/števec (angl. Timer/Counter). Uporabljeni mikrokrmilnik ima dve takšni enoti s 16- bitnimi števnimi registri. Uporabiti ju je mogoče v številne namene, kot so natančno merjenje časa med samim tekom programa, generiranje pravokotnih pulzov različnih frekvenc, upravljanje z dogodki (angl. events), merjenje digitalnih signalov itn. Vsak časovnik je v osnovi sestavljen iz števca in več primerjalnih oziroma zajemalnih CC (angl. compare or capture) kanalov. Števec se uporablja za štetje impulzov ali dogodkov. CC kanali pa skupaj s števcem omogočajo primerjanje vrednosti in številne možnosti zajemanja zunanjih signalov. Možne so prekinitve ob prekoračitvi časovnika. Vsak kanal pa lahko proži tudi prekinitev ob primerjavi vrednosti števca in primerjalnega registra (angl. compare match) ali ob zajemu (angl. capture) zunanjega podatka. Poleg prekinitev lahko pri istih pogojih nastopijo tudi dogodki Varnostni časovnik Varnostni časovnik (angl. watchdog) se uporablja za nadzorovanje poteka programa. V primeru nepredvidene napake v programu, ki povzroči časovno ne-

41 4.2 Mikrokrmilnik ATXMEGA32A4 33 pričakovan potek programa, lahko z uporabo varnostnega časovnika dosežemo ponovni zagon mikrokrmilnika. Na voljo sta dva režima obratovanja: navadni ter okenski. V navadnem režimu časovnik šteje od nič naprej. Na nič ga moramo postaviti preden doseže nastavljeno maksimalno vrednost časovnika, v nasprotnem primeru sledi ponovni zagon. V režimu okna pa je potrebno nastaviti dva časa. Prvi ima enako funkcijo kot izbrani čas v navadnem načinu. Drugi čas pa je vedno manjši in določa interval v katerem časovnika ne smemo postaviti na nič. Če se to slučajno zgodi, sledi ponovni zagon mikrokrmilnika. V obeh primerih je možno izbirati med enajstimi različnimi vrednosti časov v razponu od 8 ms do 8 s USART USART modul omogoča serijsko komunikacijo med mikrokrmilnikom in ostalimi napravami, ki to podpirajo. Kratica USART pomeni Universal Synchronous/Asynchronous Receiver/Transmitter. Kako poteka asinhrona serijska komunikacija je opisano v poglavju V primeru sinhrone komunikacije je med napravama še dodatna povezava, ki služi časovni sinhronizaciji za prenos podatkov. Za uporabo USART modula je potrebno narediti naslednje korake: 1. nastaviti sprejemni pin (Rx) kot vhod in oddajni pin (Tx) kot izhod, 2. nastaviti obliko okvirja (število podatkovnih bitov, pariteta, število stop bitov), 3. nastaviti hitrost prenosa podatkov(angl. baud rate) in 4. omogočiti sprejemnik in oddajnik. Hitrost prenosa izbiramo z 12-bitno vrednostjo BSEL kontrolnega registra (od 0 do 4095). Možno pa jo je še dodatno prilagajati z 4- bitnim faktorjem skaliranja BSCALE (od -7 do 7). Privzeta vrednost faktorja skaliranja je nič in v tem primeru lahko vrednost BSEL izračunamo po naslednji enačbi: BSEL = USART modul omogoča proženje treh vrst prekinitev: ob končanem sprejemu, f P ER 16f BAUD 1 (4.1)

42 34 Strojna oprema vozlišča ob končanem pošiljanju, ob prostem podatkovnem registru za pošiljanje SPI Vodilo SPI (Serial Peripheral Interface) se uporablja za hiter serijski prenos podatkov med napravami. Princip komunikacije je razložen v poglavju Za uporabo je podobno kot pri USART komunikaciji potrebno: 1. pravilno nastaviti vhodno-izhodne pine (SS, MISO, MOSI in SCK), 2. nastaviti frekvenco urinega signala, 3. vrstni red podatkov (MSB ali LSB), 4. način delovanja SPI modula, ki določa fazo in polariteto urinega signala, 5. omogočiti SPI modul. Tudi pri SPI komunikaciji je možna uporaba prekinitev. Prekinitev nastopi, ko se vsi biti pomikalnega registra zamenjajo Analogno-digitalni pretvornik (ADC) ADC modul omogoča pretvorbo 2 milijona vzorcev na sekundo pri resoluciji 12 bitov. Posebna zgradba omogoča, da imamo na voljo štiri navidezne kanale. Pretvorba vseh štirih navideznih kanalov pa lahko poteka vzporedno. Shema delovanja je prikazana na sliki 4.8. Kljub temu, da ena 12-bitna pretvorba traja 7 ADC taktov, lahko zaradi posebne zgradbe ADC-ja na izhodu dobimo eno pretvorbo vsak urin cikel ADC-ja. Vsak urin cikel se namreč lahko začne nova pretvorba in to kljub temu, da predhodne pretvorbe še niso končane. Vsak navidezni kanal ima svoj ojačevalnik za potrebe merjenja majhnih napetosti. V primeru uporabe ojačanja, različnega od 1, se čas posamezne pretvorbe poveča za en urin cikel ADC-ja. ADC lahko obratuje v diferencialnem ali pa nesimetričnem (angl. singleended) načinu. Pri prvem imamo dva vhoda v kanal in pretvarja se razlika napetosti obeh vhodov. Pri drugem pa imamo samo en vhod, drugi pa je že znotraj mikrokrmilnika fiksiran na maso v primeru predznačene pretvorbe oziroma na

43 4.2 Mikrokrmilnik ATXMEGA32A4 35 Diferencialni vhodi ojačanje Navidezni kanal 0 Rezultat 0 Zunanji vhodi Notranji vhodi Navidezni kanal 1 Navidezni kanal 2 Navidezni kanal 3 ADC (cevovodni) Dogodkovni sistem Rezultat 1 Rezultat 2 Rezultat 3 Slika 4.8: Shema ADC modula približno polovico referenčne napetosti ADC-ja v primeru nepredznačene pretvorbe. Predznačeno pretvorbo lahko uporabimo za katerikoli način, medtem ko nepredznačene pretvorbe ne moremo uporabiti v diferencialnem načinu. Pri 12-bitni predznačeni pretvorbi je rezultat v območju med 2048 in 2047, pri nepredznačeni pretvorbi pa med 0 in Enačbi za izračun rezultata pretvorbe (REZ) v odvisnosti od vhoda v ADC (V IN P in V IN N ) za oba tipa pretvorb sta podani spodaj. Predznačena pretvorba: Nepredznačena pretvorba: pri čemer je pomen simbolov naslednji: REZ rezultat pretvorbe V IN P V IN N V REF K V pozitivni vhod ADC-ja negativni vhod ADC-ja referenčna napetost REZ = V IN P V IN N V REF K 2047 (4.2) REZ = V IN P V V REF 4095 (4.3) ojačanje vhodnega signala v diferencialnem načinu kompenzacijska napetost za detekcijo prehoda skozi ničlo Za vhode lahko uporabimo katerekoli pine na vratih A in B. Na voljo pa so tudi naslednji notranji vhodi: izhod notranjega temperaturnega senzorja, notranja referenčna napetost (angl. bandgap), napajalna napetost in izhod digitalnoanalognega pretvornika.

44 36 Strojna oprema vozlišča Referenčna napetost je lahko zunanja na enem izmed pinov vrat A ali B, lahko pa uporabimo notranjo referenčno napetost 1,00 V ali napajalno napetost deljeno z 1,6. ADC vsebuje en 12-bitni primerjalni register, ki služi primerjanju pretvorjenih vrednosti. ADC omogoča proženje prekinitev ob končani pretvorbi vsakega kanala ali pa ob primerjavi pretvorbe z vrednostjo v primerjalnem registru ADC-ja. Podprt je tudi dogodkovni sistem, ki ga je v navezi z časovniki možno uporabiti za precizno vzorčenje signalov. Za natančno pretvorbo je možno ADC kalibrirati s pomočjo registra, ki vsebuje podatke o tovarniški kalibraciji ADC-ja EEPROM Mikrokrmilnik ima 1 kilobajt EEPROM-a, ki služi hranjenju podatkov tudi v primeru izpada napajanja. Dostop do pomnilnika je lahko direkten ali pomnilniško preslikan. Slednji omogoča, da branje in pisanje pomnilnika poteka na isti način, kot to počnemo z navadnimi spremenljivkami. Pišemo oziroma beremo lahko tako posamezne bajte kot tudi cele strani. Vsa komunikacija s pomnilnikom pa poteka preko NVM (Non-volatile Memory Controller) modula. Celoten postopek izvrševanja ukaza preko NVM modula je nasledji: 1. preveri, da NVM ni zaseden, 2. naloži potrebne podatke v naslovni in podatkovni register NVM modula, 3. vpiši kodo želene operacije v komandni register, 4. vpiši vrednost 0xD8 v CCP (Configuration Change Protection) register, 5. v naslednjih štirih procesorskih taktih postavi bit za izvrševanje operacije v NVM kontrolnem registru. Želena operacija je končana, ko NVM modul ni več zaseden. Pred vsakim dostopom do pomnilnika je ne glede na način dostopa potrebno preveriti, ali je NVM modul zaseden. Pri pomnilniško preslikanem dostopu se koraki 2, 3, 4 in 5 izvedejo samodejno v ozadju.

45 4.2 Mikrokrmilnik ATXMEGA32A Načini varčevanja z energijo Mikrokrmilnik podpira 5 načinov varčevanja z energijo. Kdaj in v kateri način naj gre mikrokrmilnik, lahko določimo v programu. Prekinitve omogočenih perifernih enot lahko mikrokrmilnik vrnejo v aktivni način, v katerem lahko naprej izvaja programsko kodo. Možen je tudi ponovni zagon mikrokrmilnika, vendar se v tem primeru program začne izvajati od začetka. Tabela 4.1 prikazuje možne načine varčevanja z energijo ter aktivne enote v posameznem načinu delovanja. Aktivna časovna domena Oscilatorji Možnost prehoda v aktivno stanje Načini varčevanja z energijo takt procesorja (CPU) takt perifernih enot takt RTC modula izvor sistemskega takta izvor RTC takta prekinitve asinhronih vrat Idle x x x x x x x x Power-down x x Power-save x x x x x Standby x x x Extended Standby x x x x x x TWI prekinitve RTC prekinitve vse prekinitve Tabela 4.1: Načini varčevanja z energijo [3] Poleg omenjenih načinov ima mikrokrmilnik še poseben register za zmanjševanje porabe energije. Slednji omogoča da posameznim perifernim enotam, ki jih v naši aplikaciji ne potrebujemo, ustavimo uro. Tako te enote ne trošijo nobene energije v aktivnem načinu ali v stanju pripravljenosti (angl. idle) Prekinitve Prekinitve nastanejo ob določenih spremembah perifernih enot mikrokrmilnika in omogočajo spremembo poteka programa. Če je prekinitev omogočena in je pogoj za njeno sprožitev izpolnjen, nastane zahteva za prekinitev. Vse zahteve obravnava prekinitveni kontroler PMIC (angl. Programmable Multi-level Inter-

46 38 Strojna oprema vozlišča rupt Controller). Prekinitve imajo lahko tri različne prioritete, ki jih programsko nastavimo: nizka, srednja ter visoka. Kadar v istem trenutku nastopi več prekinitev z isto prioriteto, so le te razvrščene po naslovu prekinitvenega vektorja. Vsaka prekinitev ima svoj prekinitveni vektor. To je naslov, na katerega PMIC ob nastopu prekinitve preusmeri izvajanje programa. Ko je prekinitev končana, se izvajanje programa nadaljuje tam, kjer je bilo sprva prekinjeno Dogodkovni sistem Dogodkovni sistem (angl. event system) mikrokrmilnika ima osem kanalov, ki lahko delujejo hkrati in popolnoma neodvisno od procesorja. Omogoča, da sprememba nekega stanja ene periferne enote sproži aktivnost ene ali več drugih enot. Katere enote so udeležene in za kakšne spremembe gre, lahko določimo programsko. Slika 4.9 prikazuje katere periferne enote je možno uporabiti z dogodkovnim sistemom. vh. / izh. vrata clk SYS procesor (CPU) ADC DAC Dogodkovni sistem RTC analogni primerjalnik infrardeča komunikacija časovniki/ števci DMAC Slika 4.9: Shema dogodkovnega sistema [3] 4.3 Dodatni SRAM Pri vzorčenju z visoko frekvenco obdelave podatkov med samim vzorčenjem zaradi zahtevnih računskih postopkov ni možno izvajati, zato je potrebno podatke shraniti. Spominske kapacitete mikroprocesorja so lahko hitro zapolnjene, časovni okvir zajetih podatkov pa prekratek, za uspešno nadaljnjo obdelavo.

47 4.3 Dodatni SRAM 39 Zato smo za shranjevanje izmerjenih podatkov uporabili dodatni SRAM velikosti 256 kilobitov z oznako 23k256. Z mikroprocesorjem je povezan preko hitrega SPI (Serial Peripheral Interface) vodila. Podprti so trije načini branja ali pisanja, ki jih izberemo z nastavitvijo statusnega registra: bajtni način, 32-bajtni (angl. page) način, sekvenčni način. Podatki, ki jih pošiljamo modulu SRAM so sestavljeni iz 8-bitnega ukaza, kateremu sledijo ostali potrebni podatki. Podprti so štirje ukazi: pisanje, branje, pisanje statusnega registra in branje statusnega registra. Pisanje je sestavljeno iz ukaza za pisanje SRAM-a, 16-bitnega naslova ter podatki, katerih število je odvisno od izbranega načina delovanja. Pri bajtnem načinu lahko zapišemo le en bajt na enkrat, pri drugem načinu lahko zapišemo 32 bajtov hkrati. Pri sekvenčnem načinu lahko naslovu sledi poljubno število bajtov. Pri branju je postopek enak, le da namesto podatkov lahko pošiljamo karkoli. Za vsak prenesen bajt dobimo v pomikalnem registru ustrezen podatek iz SRAMa. Bolj nazorno je SPI komunikacija opisana v naslednjem poglavju Vodilo SPI Vodilo SPI (Serial Peripheral Interface) omogoča sinhrono serijsko komunikacijo. Komunikacija poteka v načinu gospodar/suženj (angl. master/slave). Naprava, ki ima vlogo gospodarja, ima nadzor nad celotno komunikacijo in je vedno ena sama. Naprav tipa suženj je lahko več. Vsaka naprava, ki podpira SPI komunikacijo, ima štiri povezave: SCLK (Serial Clock), ki služi sinhronizaciji naprav, MOSI (Master Output Slave Input), ki je izhod nadrejene naprave (gospodar) in vhod v podrejeno napravo (suženj), MISO (Master Input Slave Output), ki je izhod podrejene naprave in vhod v nadrejeno napravo ter SS (Slave Select), ki služi izbiri podrejene naprave.

48 40 Strojna oprema vozlišča Master pomikalni register SCLK SS MOSI Slave pomikalni register MISO Slika 4.10: SPI komunikacija Primer povezave gospodarja in sužnja ter princip komunikacije prikazuje slika Komunikacija poteka tako, da gospodar najprej nastavi hitrost ure na pinu SCLK. Le ta mora biti podprta s strani sužnja. Nato gospodar postavi pin SS na nizki nivo. S tem se aktivira suženj in prične se krožna izmenjava vrednosti v pomikalnih registrih. Za vsak urin takt na pinu SCLK se vrednosti v pomikalnih registrih premaknejo za eno mesto. Ko se zamenjajo vsi biti pomikalnih registrov je proces komunikacije končan in pin SS se postavi na visoki nivo. Vsaka naprava nato obdela prejete podatke. Če mora katera od naprav poslati nove podatke, le te naloži v svoj pomikalni register in proces komunikacije se zopet ponovi. 4.4 Senzorji Na senzorskem vozlišču smo za namene testiranja uporabili senzorje vibracij, temperature in senzorje za merjenje obratov. Senzorji vibracij in temperature imajo na izhodu analogni signal, ki je sorazmeren merjeni veličini. Ti senzorji so zato priklopljeni direktno na analogno-digitalni pretvornik. Senzorji za merjenje obratov pa na izhodu dajejo pulze. Frekvenca pulzov je odvisna od hitrosti vrtenja. Ti senzorji so priklopljeni na števce v mikrokrmilniku Senzor vibracij Za merjenje vibracij smo uporabili senzor ADXL326. Gre za majhen, cenen in energijsko varčen triosni pospeškometer. Območje delovanja je ±16 g. Omogoča merjenje statičnega pospeška in dinamičnega pospeška, zato ga je možno upora-

49 4.4 Senzorji 41 biti za merjenje nagiba na podlagi gravitacijskega pospeška, ali pa za merjenje vibracij gibajočih se teles. Njegova največja pasovna širina je 1600 Hz, lahko pa jo poljubno zmanjšamo z izbiro kondenzatorjev na posameznih izhodih senzorja. Občutljivost je reda 50 mv/g. V stanju, ko na senzor ne deluje nobena sila, so izhodne napetosti enake polovici napajalne napetosti Senzor temperature Za merjenje temperature smo uporabili senzor LM94022BIMG. To je polprevodniški CMOS senzor, ki ga odlikuje nizka poraba energije. Z njim lahko merimo temperature od -50 C do 150 C. Senzor ima negativni temperaturni koeficient. S pomočjo dveh pinov je možno izbrati štiri različna ojačanja. Tako ima lahko izhod občutljivosti -5,5 mv/ C, -8,2 mv/ C, -10,9 mv/ C ali -13,6 mv/ C. Izhodne napetosti pri temperaturi 20 C so 925 mv, 1405 mv, 1885 mv ali 2365 mv. Nelinearnost je zelo majhna. Napaka pa se odvisno od območja giblje med ±1,5 C in ±2,7 C Senzor za merjenje obratov Senzor za merjenje obratov je bil v času izvajanja testov na senzorskem vozlišču še v razvoju. Ker je njegovo predvideno delovanje takšno, da je frekvenca pulzov na izhodu senzorja sorazmerna z merjeno hitrostjo, smo za namene testiranja uporabili enostavno vezje, ki generira pravokotne pulze različnih frekvenc. Frekvenco signala lahko poljubno nastavljamo s potenciometrom.

50 42 Strojna oprema vozlišča

51 5. Programska oprema Programska oprema je sestavljena iz treh sklopov: program za senzorsko vozlišče, program za strežnik in program za konfiguracijo vozlišča. Vsi trije sklopi so medsebojno usklajeni in skupaj tvorijo funkcionalno celoto. Bločno shemo prikazuje slika 5.1. Konfiguracijsko okolje Uporabnik Strežniška aplikacija Vozlišče Slika 5.1: Blokovna shema programske opreme Računalniški program za konfiguracijo vozlišča uporabniku omogoča izbiro postopkov za obdelavo signalov iz senzorja. Izdelali smo ga s pomočjo programskega paketa Matlab in Simulink. V primeru, da imamo meritve senzorjev shranjene na računalniku, jih lahko uvozimo v program in preizkusimo delovanje izbranih postopkov obdelave signalov. Ko smo z delovanjem zadovoljni, lahko celotno konfiguracijo shranimo v binarno datoteko, ki služi za konfiguriranje vozlišča. Glavni razlog, zaradi katerega sploh potrebujemo takšno funkcionalnost, je poraba energije. Kot smo že omenili, se največ energije porabi ravno pri prenosu podatkov po omrežju. Pri merjenju vibracij je količina podatkov ogromna in pošiljanje na strežnik bi bilo energijsko in časovno potratno. V primeru, ko bi imeli v omrežju veliko število vozlišč, bi bilo omrežje prenasičeno z podatki in na prehodu (angl. gateway) bi lahko prišlo do tako imenovanega problema ozkega grla. 43

52 44 Programska oprema V izogib opisanim težavam smo program za senzorsko vozlišče zasnovali tako, da vozlišče iz izmerjenih podatkov samo izračuna množico značilk, ki predstavljajo pomembne lastnosti merjenega signala. S tem se količina podatkov, ki se prenašajo iz senzorskega vozlišča na strežnik, močno zmanjša. Ker so na senzorskem vozlišču lahko nameščeni različni tipi senzorjev, pa tudi namen uporabe je lahko zelo raznolik, so metode obdelave signalov od aplikacije do aplikacije različne. Vozlišče ima zato tudi možnost, da podatke o tem, kako in kaj naj izračuna iz izmerjenih podatkov, nanj pošljemo kar preko brezžičnega omrežja. S tem so stroški postavitve in naknadnega spreminjanja konfiguracije senzorjev veliko manjši. Prav tako pa je mogoče posamezne senzorje enostavno prilagoditi različnim namenom uporabe. Strežniška aplikacija je vmesni člen med uporabnikom in brezžičnim senzorskim omrežjem. Je zbirni center vseh podatkov iz senzorskih vozlišč in skrbi za podatkovno bazo. Uporabniku omogoča dostop do podatkov iz posameznih senzorskih vozlišč in prenos nove konfiguracijske datoteke na želeno vozlišče. Omogoča tudi prenos obstoječe konfiguracije vozlišča do uporabnika. Prav tako pa omogoča tudi vpogled v strukturo senzorskega omrežja in spreminjanje nastavitev intervala zajemanja meritev. 5.1 Konfiguracijsko okolje v Simulinku Zaradi lažjega in hitrejšega načrtovanja ter preizkušanja algoritmov obdelave signalov, smo se odločili, da bo le to potekalo v okolju Matlab in Simulink. Za programski paket Simulink smo izdelali posebno knjižnico, ki vsebuje bloke, iz katerih je možno zgraditi shemo z želeno funkcionalnostjo. Knjižnica vsebuje vhodni in izhodni blok ter bloke, ki izvajajo osnovne računske postopke iz področja obdelave signalov. To so bloki za izračun korena srednje vrednosti kvadratov (angl. RMS), variance, bloki za detekcijo ovojnice, za filtriranje ter za izračun hitre Fourierjeve transformacije signala. Poleg tega knjižnica vsebuje še primerjalni blok, stikalo in zakasnitev. Vsaka shema je lahko sestavljena iz enega vhodnega bloka, ki predstavlja vhod za podatke iz senzorja. Število izhodnih blokov ni omejeno. Skupno število vseh blokov pa je pogojeno z količino pomnilnika na mikrokrmilniku. Pri povezavi posameznih blokov v verigo je potrebno paziti

53 5.1 Konfiguracijsko okolje v Simulinku 45 Slika 5.2: Simulink knjižnica na to, ali je vhod oziroma izhod bloka vektor ali skalar. Morebitne napake o neustreznosti podatkovnih tipov se uporabniku javijo pri poskusu simulacije. Na sliki 5.3 je prikazana zelo preprosta shema. Slika 5.3: Primer sheme, zgrajene v programu Simulink Funkcionalnost kakršnekoli delujoče sheme je potrebno prenesti na senzorsko vozlišče. Za ta namen smo v Matlabu napisali posebno funkcijo, ki vse potrebne podatke iz Simulink sheme zapiše v datoteko, katero lahko pošljemo na senzorsko

54 46 Programska oprema vozlišče. Seveda smo morali temu primerno prilagoditi tudi program za senzorsko vozlišče, kar je opisano v poglavju 5.2. Karakteristični podatki sheme so vrsta posameznih blokov, ki določa katero opravilo opravlja blok, in povezave med posameznimi bloki. Format zapisa podatkov v datoteko smo definirali sami. Tabela 5.1 prikazuje, katere podatke posameznih blokov je potrebno shraniti v datoteko. Koda opravila Kode predhodnih blokov (ena ali več) Parametri bloka (če obstajajo) Pozicija bloka v Simulink shemi Tabela 5.1: Struktura zapisa podatkov za posamezen blok Vsakemu bloku iz Simulink knjižnice smo priredili unikatno kodo opravila, kar je prikazano v tabeli 5.2. Vsak blok, ki sestavlja shemo, ima svojo edinstveno številko. Za izvajanje sheme je zelo pomemben vrstni red, po katerem se izvajajo posamezni bloki. Edinstvene številke blokov žal ne predstavljajo vrstnega reda izvajanja, temveč sledijo vrstnemu redu, po katerem smo bloke vstavljali v shemo. Zato smo morali vse bloke pred zapisom v datoteko razvrstiti v zaporedje, po katerem se bloki izvajajo pri simulaciji sheme. Ko so bloki urejeni po zaporedju izvajanja, lahko njihove trenutne edinstvene številke zanemarimo in jim priredimo nove, ki gredo od 0 (prvi blok) naprej. Povezave med posameznimi bloki lahko enolično razberemo, če imamo za vsak blok podatek o predhodnih blokih, ki so povezani nanj. Število predhodnih blokov je določeno s številom vhodov v posamezen blok. Tako vhodni blok nima nobenega predhodnega bloka, izhodni blok ima smo en predhodni blok, ostali bloki pa imajo lahko enega ali več predhodnih blokov. Nekaterim blokom je potrebno definirati parametre, ki narekujejo njihovo delovanje. To je razvidno tudi iz tabele 5.2. Blokom za filtriranje je potrebno podati koeficiente prenosne funkcije izbranega filtra. Primerjalnemu bloku moramo podati operator, ki določa za kakšno primerjavo vhodnih signalov gre. Izberemo lahko operator enakosti, večje, manjše, večje ali enako, manjše ali enako in operator neenakosti. Zakasnitveni blok zahteva podatek o koraku zakasnitve. Ostali bloki za svoje delovanje ne potrebujejo posebnih parametrov. Podatek o poziciji posameznega bloka v Simulink shemi pa potrebujemo zaradi možnosti rekonstrukcije sheme iz konfiguracijske datoteke. To možnost smo

55 5.2 Program za mikrokrmilnik 47 Ime bloka Opis opravila Koda opravila Parametri bloka Discrete Filter Filtriranje signala 1 RMS Izračuna koren srednje vrednosti kvadratov 2 / Envelope Opravi analizo ovojnice signala 3 / Variance Izračuna varianco 4 / FFT Discrete Filter (FFT) Switch Relational Operator Naredi fourierjevo transformacijo signala Filtriranje amplitudnega spektra signala Izbira med dvema vhodoma, na podlagi tretjega vhoda Primerja dva vhoda, operator izberemo sami 5 / 9 10 / 11 Koeficienti števca in imenovalca Koeficienti števca in imenovalca Vrsta operatorja ('==', '>', '<', '>=', '<=', '~=') Delay Zakasnitev vhodnega signala 12 Korak zakasnitve In Vhod 254 / Out Izhod 255 / Tabela 5.2: Tabela opravil in njihovih kod uvedli zato, da v primeru izgube podatka o tem, katera shema je naložena na senzorskem vozlišču, le to rekonstruiramo iz konfiguracijske datoteke vozlišča. Simulink ne omogoča samodejnega razporejanja blokov z upoštevanjem povezav med posameznimi bloki v smislu maksimizacije preglednosti sheme do uporabnika. Zato smo se odločili, da v konfiguracijsko datoteko dodamo tudi koordinate posameznih blokov. Za popolno rekonstrukcijo bi morali shraniti tudi podatke o poziciji povezav med bloki, vendar bi za to porabili preveč že tako majhnega spomina na mikrokrmilniku. A tudi brez tega je rekonstruirana shema dobro pregledna, v primeru da so bili posamezni bloki v originalni shemi lepo razporejeni. Simulink namreč omogoča možnost samodejne povezave dveh blokov po najkrajši poti. 5.2 Program za mikrokrmilnik Aplikacijo za mikrokrmilnik smo razvili v brezplačnem razvojnem okolju Atmel AVR Studio 5. Okolje vsebuje veliko funkcij, ki tudi neizkušenemu uporabniku

56 48 Programska oprema omogočajo hiter in enostaven začetek programiranja. Podprti so vsi Atmelovi mikrokrmilniki. Vsebovan je tudi AVR GCC Toolchain, ki je skupek vseh potrebnih orodij s knjižnico (avr-libc) za delo z Atmelovimi mikrokrmilniki. Na razpolago je tudi nekaj primerov programske kode, s katerimi si lahko pomagamo pri razvoju lastnega programa. Glavne funkcije senzorskega vozlišča so: zajem podatkov iz senzorjev, matematična obdelava izmerjenih podatkov ter komunikacija s strežnikom preko brezžičnega omrežja ZigBee. Implementirali smo jih tako, da vozlišče porabi minimalno količino energije. Velik del, ki se tiče porabe energije, smo naredili že s samo izbiro strojnih komponent sistema, ogromno pa se da narediti tudi s pravilno zasnovo programske opreme na mikrokrmilniku in strežniku. Glavni program za mikrokrmilnik smo zasnovali tako, da je ta večino časa v mirovanju. Ves čas deluje le modul RTC (Real Time Clock), ki ob določenih intervalih zbudi mikrokrmilnik. Nato se vklopi ZigBee modul in preveri ali je prišla kakšna zahteva s strani strežnika. Če v določenem času ni nobene strežniške zahteve, gre vozlišče takoj nazaj v stanje mirovanja. V nasprotnem primeru pa gre v mirovanje takrat, ko to sporoči strežnik. S strani strežnika so možne zahteve: za pošiljanje konfiguracijske datoteke na vozlišče, za prenos konfiguracijske datoteke iz vozlišča, za začetek merjenja, matematično obdelavo izmerjenih signalov in pošiljanje rezultatov na strežnik, za sinhronizacijo časa ter za prehod v stanje mirovanja. Slika 5.4 prikazuje delovanje programa za mikrokrmilnik. Če v katerikoli fazi izvajanja programa na vozlišču pride do napake, pošlje vozlišče strežniku sporočilo z ustrezno kodo napake. V nadaljevanju sledi bolj podroben opis posameznih delov programa.

57 5.2 Program za mikrokrmilnik 49 Vklop napajanja Neskončna programska zanka Inicializacija: - nastavitev vhodno izhodnih pinov - nastavitev sistemske ure - nastavitev RTC - USART - SPI - ADC - EEPROM - ZigBee Iskanje omrežja Konfiguracija: - pošiljanje - sprejem Prijava v omrežje Sprejem zahtev Meritve: - zajem - obdelava - pošiljanje RTC prekinitev Mirovanje Priprava za mirovanje: - Sinhronizacija ure - Določitev naslednjega bujenja Slika 5.4: Blokovna shema programa za mikrokrmilnik Inicializacija Po vklopu napajanja se začne postopek nastavitev vseh perifernih enot mikrokrmilnika, temu pa sledijo nastavitve ZigBee modula. Najprej smo poskrbeli za nastavitve, ki prispevajo k čim manjši porabi energije. Mikrokrmilniki XMEGA imajo poseben register za zmanjšanje porabe energije. Omogoča izklop tistih enot mikrokrmilnika, ki jih v našem programu ne uporabljamo. Porabo energije lahko zmanjšamo tudi z fiksiranjem neuporabljenih vhodno-izhodnih pinov mikrokrmilnika na visoki ali nizki nivo. Privzeta nastavitev teh pinov je, da so plavajoči (angl. floating pin), kar lahko povzroči nezaželene električne tokove znotraj mikrokrmilnika in posledično večjo porabo energije. Kadar vozlišče ne opravlja nobene funkcije, je v stanju mirovanja. Izbrali smo Power-save način varčevanja z energijo. Takt procesorja Sledi nastavitev takta procesorja na 32 MHz. Privzeta hitrost procesorja po vsakem ponovnem zagonu je 2 MHz, vir pa je notranji kalibrirani 2 MHz RC oscilator. Zato je potrebno po vsakem zagonu omogočiti zunanji kvarčni oscilator

58 50 Programska oprema frekvence 16 MHz in ga nastaviti kot vhod v PLL modul. Faktor množenja PLL modula je potrebno nastaviti na 2. Tako na izhodu PLL modula dobimo takt s frekvenco 32 MHz. Potrebno je še definirati, da je izhod PLL-ja takt glavne ure oziroma procesorja. RTC RTC modul lahko poganjajo štiri različni izvori frekvence. Notranji ULP (Ultra Low Power) oscilator v našem primeru zaradi premajhne natančnosti ni primeren za RTC. Na voljo imamo še notranji RC oscilator ali pa dve možnosti uporabe zunanjega kristala frekvence 32 khz. Ker izbrani mikrokrmilnik omogoča uporabo le enega zunanjega oscilatorja, katerega smo že uporabili za procesorski takt, smo za RTC modul izbrali notranji RC oscilator. Čas med posameznimi cikli meritev, ki jih izvaja senzorsko vozlišče, je lahko zelo velik, tudi več ur, zato smo ločljivost RTC modula nastavili na eno sekundo. To nam omogoča, da je senzorsko vozlišče lahko v stanju mirovanja nepretrgoma dobrih 18 ur. Potrebe po bolj natančnem merjenju časa zaenkrat ni. USART USART modul služi za komunikacijo med mikrokrmilnikom in ZigBee modulom. ZigBee modul za komunikacijo privzeto uporablja sledeče nastavitve: hitrosti prenosa bit/s, brez kontrole parnosti, 8 podatkovnih bitov, brez kontrole prenosa podatkov. Teh nastavitev nismo spreminjali, zato smo tako nastavili tudi USART modul mikrokrmilnika. Komunikacijo smo implementirali s prekinitvami in uporabo krožnih pomnilnikov (slika 5.5). Krožni pomnilnik je v programskem smislu navadna zbirka (angl. array). Ko vanjo vpisujemo podatke in se ta zapolni, se zapisovanje nadaljuje od začetka zbirke. V ta namen je potrebno poleg kazalca na začetek zbirke hraniti še dva kazalca. Prvi predstavlja začetek podatkov v zbirki (Z), drugi pa konec uporabnih podatkov v zbirki (K). Ko v pomnilnik vpišemo nov podatek, se ta zapiše na mesto, kamor kaže kazalec K. Nato se kazalec K pomakne za eno mesto naprej. Pri branju je situacija podobna. Vedno preberemo podatek na mestu, kamor kaže kazalec Z. Nato pa se kazalec Z pomakne za eno mesto naprej. Iz slike 5.5 lahko vidimo, da je pomnilnik poln

59 x 5.2 Program za mikrokrmilnik 51 n-1 n x Začetek (Z) 3 x 4 Konec (K) 5 x 9 8 x 7 x 6 Slika 5.5: Krožni pomnilnik takrat, ko kazalca Z in K kažeta na isto mesto. Ista situacija pa lahko predstavlja tudi popolnoma prazen pomnilnik. Zato smo funkcijo, ki preveri ali je v krožnem pomnilniku še kaj prostora za vpis novega podatka napisali tako, da je eno mesto pred kazalcem Z vedno prazno. V tem primeru je pomnilnik poln takrat, ko je kazalec K le eno mesto pred kazalcem Z. Način komunikacije s prekinitvami ima to prednost, da procesorju ni potrebno preverjati, ali je prišel kakšen podatek, ampak je o tem obveščen samodejno. Ob vsakem prispelem bajtu nastopi prekinitev in sprejeti bajt se shrani v začasni krožni pomnilnik. Ob tem se kazalec K pomakne za eno mesto v smeri urinih kazalcev. Kadar želimo prebrati podatek iz pomnilnika, vedno dobimo najstarejši podatek, ki je na mestu, kamor kaže kazalec Z. Po prebranem bajtu se kazalec Z pomakne za eno mesto naprej v smeri ure. Kadar je hitrost pisanja v krožni pomnilnik skozi čas manjša kot hitrost branja, potem le ta deluje kot čakalna vrsta. V nasprotnem primeru pa lahko pride do prepisa podatkov v krožnem pomnilniku. Zato je zelo pomembno, da na podlagi pričakovanega podatkovnega prometa in dolžine podatkov izberemo primerno velikost krožnega pomnilnika. Pri pošiljanju je situacija podobna. Bajt, ki ga želimo poslati, v primeru prostega prostora vpišemo v krožni pomnilnik. Kazalec K se poveča za eno mesto. Hkrati se omogoči tudi prekinitev, ki nastopi takrat, ko je v podatkovnem registru za pošiljanje modula USART prosto mesto za nov podatek. Prekinitvena rutina najprej preveri krožni pomnilnik in v primeru, ko je prazen, onemogoči nadaljnje prekinitve. V nasprotnem primeru pa prebere en bajt iz krožnega pomnilnika in

60 52 Programska oprema ga pošlje prejemniku. Kazalec Z se poveča za eno mesto. Po poslanem bajtu se takoj pojavi nova prekinitev, saj je v registru za pošiljanje ponovno na voljo prosto mesto za nov bajt. Če je v krožnem pomnilniku še kakšen podatek, se postopek pošiljanja ponovi, drugače pa se prekinitve onemogočijo. SPI in SRAM Vodilo SPI smo uporabili za komunikacijo med mikrokrmilnikom in dodatnim pomnilnikom SRAM. Zaradi velike frekvence vzorčenja je potrebno izmerjene podatke kar se da hitro zapisovati v SRAM. Čas zapisovanja enega izmerjenega podatka mora biti krajši od časa med dvema meritvama, da lahko postopek zajemanja podatkov poteka enakomerno in brez izgube podatkov. Največja hitrost zajemanja podatkov našega sistema je vzorcev/sekundo. Takt SPI modula smo nastavili na 16 MHz. Tako imamo med posameznima meritvama na voljo 1600 SPI taktov oziroma 3200 taktov procesorja, kar povsem zadošča za nemoten zapis podatkov v SRAM. Proces zapisa podatka v SRAM je sledeč. Ko se na izhodu ADC-ja pojavi nova 12-bitna pretvorba, se sproži prekinitvena rutina, ki: 1. postavi SS pin na nizki nivo (aktivira sužnja), 2. pošlje ukaz za pisanje, 3. pošlje prvi bajt 16-bitnega naslova, na katerega naj se zapiše podatek, 4. pošlje drugi bajt 16-bitnega naslova, 5. pošlje prvi in nato drugi bajt podatka, 6. poveča naslov za dve mesti, 7. postavi SS pin na visoki nivo (konec komunikacije) ter 8. v primeru, ko je SRAM zapolnjen, ustavi analogno-digitalno pretvorbo. Med posameznimi koraki pošiljanja je potrebno počakati, da se vsi biti pomikalnih registrov dejansko zamenjajo. Za takšen način zapisovanja podatkov smo na SRAM modulu morali izbrati sekvenčni način delovanja.

61 5.2 Program za mikrokrmilnik 53 Analogno-digitalni pretvornik Ker za merjenje uporabljamo večje število različnih senzorjev, je potrebno pred vsako meritvijo ustrezno nastaviti analogno-digitalni pretvornik oziroma dogodkovni sistem, ki skrbi za proženje posameznih pretvorb. ADC omogoča uporabo štirih kanalov. Program smo zasnovali tako, da se vibracije merijo na kanalu 0, temperatura pa na kanalu 1. Pred začetkom meritve je tako potrebno nastaviti le pravilne vhode za posamezen kanal. Ostalih nastavitev ADC-ja ni potrebno spreminjati. Za merjenje vibracij potrebujemo dokaj visoko in konstantno frekvenco vzorčenja (10 khz), ki jo je možno tudi spreminjati. Zaradi tega smo merjenje realizirali z uporabo dogodkovnega sistema in časovnikov. ADC smo nastavili tako, da dogodki kanalov 0 in 1 sprožijo začetek analogno-digitalne pretvorbe na kanalih 0 in 1 ADC-ja. Kdaj nastopijo posamezni dogodki pa tekom programa določamo z časovniki. Ker smo program zasnovali tako, da hkrati nikoli ne uporabljamo dveh ali več senzorjev z različnimi frekvencami vzorčenja, smo uporabili le en časovnik. Njegov takt smo nastavili na 32 MHz, register periode pa lahko poljubno spreminjamo in s tem določamo frekvenco vzorčenja. Ko časovnik prešteje toliko impulzov, kot je vrednost registra periode, nastopi prekinitev, ki sproži dogodek na izbranem kanalu. Za frekvenco vzorčenja 10 khz smo register časovnika nastavili na vrednost Za počasnejše vzorčenje pa je potrebno v register vpisati večjo vrednost. Pri tem se je potrebno zavedati, da je register časovnika 16-biten in je lahko največja vrednost 65535, kar ustreza frekvenci 488 Hz. ADC je zmožen pretvarjati vrednosti z želeno frekvenco le v primeru, ko je njegova frekvenca višja od frekvence vzorčenja. Frekvenco ADC-ja smo nastavili kar na najvišjo možno vrednost 2 MHz, tako da imamo med posameznimi pretvorbami na voljo čim več procesorskih taktov za obdelavo in shranjevanje pretvorjenih vrednosti. Prvi kanal ADC-ja smo nastavili na diferencialni način. Pred vsakim začetkom merjenja je potrebno na kanalu 0 nastaviti pozitivni ter negativni pin, na katerima je priklopljen izbrani senzor. Kanal, ki služi merjenju temperature, smo nastavili v navadni (angl. single-ended) način. V tem primeru je pred vsakim začetkom merjenja temperature potrebno nastaviti le pravilni pozitivni pin kanala 1. Negativni pin pa je samodejno fiksiran na maso. V obeh primerih smo

62 54 Programska oprema uporabili predznačeno pretvorbo z 12-bitno resolucijo. Za referenčno napetost pa smo izbrali napajalno napetost deljeno z 1,6. Da ADC deluje tako, kot smo opisali, je potrebno nastaviti še proženje prekinitev po končani pretvorbi na obeh uporabljenih kanalih in omogočit ADC. Preden začnemo z merjenjem, je potrebno kratek čas (maksimalno 24 ADC urinih taktov) počakati, da se napetosti na ADC modulu stabilizirajo. EEPROM EEPROM smo uporabili za hranjenje konfiguracijske datoteke mikrokrmilnika. V primeru izpada napajalne napetosti zato po ponovnem zagonu ne bo potrebno znova pošiljati konfiguracije vozlišča. Za branje in pisanje pomnilnika smo uporabili mapiran dostop. ZigBee ZigBee modul s prednaloženo programsko opremo že ob vklopu ponuja določeno funkcionalnost. Na samem modulu so privzeto omogočeni štiri časovniki, ki periodično izvajajo naslednje funkcije: 1. vsako sekundo se izvede poizvedba do nadrejene naprave 2. vsakih 60 sekund obveščevanje o napravi, ki je ponor (angl. sink) 3. vsakih 61 sekund odjava iz omrežja, če ni nobene druge naprave 4. vsakih 60,5 sekund se izvede povezovanje v omrežje, če naprava še ni del omrežja V našem primeru so vse razen prve funkcije, ki zagotavlja obstoj omrežja, so odvečne, saj celoten nadzor nad ZigBee modulom vrši mikrokrmilnik preko AT ukazov. Omrežje se vzpostavi le za čas meritev. Ko so zahtevane meritve končane in preneseni vsi potrebni podatki med strežnikom in vozlišči v omrežju, gredo vozlišča v stanje mirovanja, ZigBee moduli se ugasnejo in omrežje razpade. Ohranili smo le delovanje prvega časovnika, ostale tri pa smo onemogočili. Funkcija, ki jo opravlja prvi časovnik, namreč omogoča ohranjanje omrežja, usmerjevalnih tabel ter nemoten prenos paketov med vozlišči. Onemogočili smo tudi večino

63 5.2 Program za mikrokrmilnik 55 sporočil, ki jih modul že privzeto pošilja na UART (obveščanje o novih napravah v omrežju, obveščanje o ponornem vozlišču,... ). Da ne bi prihajalo do neželenih interakcij z morebitnimi ostalimi omrežji smo naše omrežje zaščitili z geslom. Da se posamezna vozlišča lahko prijavijo v omrežje, je potrebno vsakemu vpisati ključ omrežja Iskanje omrežja Po opravljeni inicializaciji začne vozlišče z iskanjem omrežja. Ob uspešni prijavi v omrežje, program vstopi v neskončno zanko in čaka na navodila strežnika. Lahko se zgodi, da vozlišče ne najde nobenega omrežja. Takšna situacija nastopi, ko želimo obstoječemu omrežju dodati novo senzorsko vozlišče. Če to ni direktno v dometu strežnika in je vklopljeno ravno v času med posameznimi merjenji, takrat omrežje seveda ne obstaja. Uloviti je potrebno tisti časovni interval, v katerem se izvajajo meritve vozlišč in je omrežje aktivno. Ker je lahko čas med posameznimi merjenji zelo dolg, je nesmiselno, da bi vozlišče nepretrgoma poskušalo vzpostavljati povezavo z omrežjem. Postopek iskanja omrežja smo zato napisali tako, da gre v opisani situaciji vozlišče v stanje mirovanja za eno minuto. Nato zopet prične z iskanjem omrežja. Postopek se ponavlja dokler se vozlišče ne prijavi v omrežje Neskončna programska zanka Neskončna programska zanka poteka tako, kot prikazuje slika 5.4 na strani 49. Vozlišče najprej čaka na zahteve strežnika. Zahteve vedno prihajajo v istem vrstnem redu. Najprej pride na vozlišče zahteva za pošiljanje ali sprejem konfiguracije. To se zgodi samo takrat, kadar to zahteva uporabnik. Sledi zahteva za zajem in računsko obdelavo meritev ter pošiljanje rezultatov na strežnik. Za tem je vedno na vrsti sinhronizacija časa, sledi pa ji zahteva za prehod v stanje mirovanja, ki vsebuje tudi podatek o času naslednjega merjenja. Ta zahteva je vedno na koncu merilnega cikla. Za tem gre vozlišče v stanje mirovanja. Po preteku določenega časa vozlišče preide v aktivni način, vklopi ZigBee modul ter se poskuša povezati v omrežje. Po uspešni vključitvi v omrežje vozlišče zopet čaka na navodila strežnika in celoten opisani postopek se ponovi. V nadaljevanju so podrobneje

64 56 Programska oprema opisane posamezne funkcije. Konfiguracija Če s strani strežnika pride zahteva za pošiljanje nove konfiguracije, gre vozlišče v režim za sprejem konfiguracije. Konfiguracija se shrani v EEPROM. Po uspešnem prejemu konfiguracijske datoteke vozlišče začne z ustvarjanjem podatkovnih struktur, ki omogočajo mikrokrmilniku podobno izvajanje operacij, kot to počne Simulink pri simulaciji sheme. Vsakemu bloku iz sheme s pomočjo konfiguracijske datoteke priredimo posebno strukturo, ki vsebuje podatek o izhodu predhodnega bloka, kodo opravila, prostor za izhodni podatek ter ostale podatke, ki so odvisni od posameznega bloka (koeficienti filtra, začasne spremenljivke za hranjenje vrednosti itn.). Vsaka struktura ustreza enemu izmed enajstih tipov, ki so določeni z bloki iz knjižnice za Simulink. Pri procesu obdelave podatkov je struktura vhodni podatek tiste funkcije, ki je odgovorna za obdelavo struktur pripadajočega tipa. Ko je konfiguracijska datoteka v celoti prebrana in so uspešno ustvarjene vse strukture je vozlišče pripravljeno na zajem meritev in obdelavo podatkov. To nakazuje tudi posebna binarna spremenljivka, ki ob morebitnem neuspešnem branju konfiguracijske datoteke ne dovoljuje začetek merjenja. To se lahko zgodi zaradi napake v konfiguracijski datoteki ali pa zaradi premajhnega pomnilnika za hranjenje vseh struktur. V primeru kakršnekoli napake na vozlišču se na strežnik pošlje paket z ustrezno kodo napake. Če strežnik pošlje zahtevo za sprejem obstoječe konfiguracije, vozlišče le to prebere iz EEPROM-a in jo preko omrežja posreduje strežniku. Struktura paketa za pošiljanje konfiguracije iz vozlišča na strežnik je prikazana v tabeli 5.3. Zajem, obdelava in pošiljanje meritev Začetek meritev je možen le po uspešnem kreiranju podatkovnih struktur za posamezne bloke, ki so definirani v konfiguracijski datoteki. Postopek meritev smo zasnovali ob upoštevanju dejstva, da enemu senzorju vibracij pripada tudi temperaturni senzor in senzor hitrosti. Tako imamo lahko na vozlišču največ štiri sklope senzorjev. Za vsak sklop je postopek meritev sledeč.

65 5.2 Program za mikrokrmilnik 57 Vrsta paketa Koda operacije Struktura podatkovnega dela pošiljanje rezultatov 0x69 številka trenutnega paketa (1 bajt) podatki (maksimalno 80 bajtov) konfiguracija 0x67 dolžina datoteke (2 bajta) številka trenutnega paketa (1 bajt) podatki (max. 64 bajtov) napaka 0xff koda napake (1 bajt) Tabela 5.3: Struktura paketov za pošiljanje strežniku Najprej na kanalu 0 ADC modula nastavimo ustrezni pozitivni ter negativni vhodni pin, s katerima izberemo želen senzor vibracij. Na kanalu 1 pa nastavimo tisti vhodni pin, ki ustreza pripadajočemu temperaturnemu senzorju. Nato nastavimo časovnik tako, da proži dogodke na kanalu 0 in z njegovim vklopom sprožimo začetek meritev. Časovnik z izbrano frekvenco vzorčenja proži dogodke na kanalu 0, ki povzročijo začetek analogno-digitalne pretvorbe na kanalu 0 ADCja. Isti trenutek omogočimo tudi štetje pulzov na digitalnem vhodu, kjer je senzor hitrosti vrtenja, ki pripada aktivnemu senzorju vibracij. Ko je pretvorba ene vrednosti na kanalu 0 ADC-ja končana, se sproži prekinitev. Prekinitvena rutina kanala 0 kliče funkcijo za shranjevaje rezultata pretvorbe v SRAM. Postopek se ponavlja, dokler se SRAM ne zapolni. Takrat se časovnik izklopi, konča pa se tudi štetje impulzov za merjenje obratov. Takoj za tem nastavimo časovnik tako, da proži dogodke na kanalu 1. Po vklopu se prične pretvorba vrednosti senzorja temperature na kanalu 1 ADC-ja. Po vsaki končani pretvorbi nastopi prekinitev. Prekinitvena rutina kanala 1 je napisana tako, da izračuna povprečno vrednost šestnajstih meritev in nato ustavi pretvorbo. Nato sledi izračun hitrosti vrtenja po formuli: s = n impulzov t merjenja k senzorja (5.1) pri čemer je pomen simbolov naslednji:

66 58 Programska oprema s n impulzov t merjenja k senzorja število obratov na sekundo število preštetih impulzov čas merjenja število impulzov senzorja na obrat Čas zajemanja ene serije meritev je 3,2768 sekunde. Faktor, ki pove število impulzov na obrat, pa je določen s senzorjem in ga mikrokrmilniku podamo s konfiguracijsko datoteko. Za tem sledi obdelava meritev vibracij. Vse strukture, ki predstavljajo bloke v simulink shemi so že razvrščene po vrstnem redu izvajanja. Program zaporedoma vzame vsako strukturo in jo poda pripadajoči funkciji. Struktura RMS bloka je vhodni parameter funkcije za računanje RMS vrednosti, struktura filtra je vhodni parameter funkcije za filtriranje in tako naprej. Posamezna funkcija je napisana tako da vzame ustrezno strukturo in iz njenega vhodnega podatka in morebitnih ostalih parametrov strukture izračuna izhod, ki ga shrani v strukturo. Prva struktura ima za vhodni podatek meritev senzorja, vsaka nadaljnja pa ima za vhod izhod ene izmed prejšnjih struktur. Za vsak izmerjen podatek računski postopek obravnava po vrsti vse strukture in izračuna njihove nove izhode. Na koncu računskega postopka imamo v strukturah, ki predstavljajo izhodne bloke, shranjene značilke signala vibracij. Le te shranimo v posebno zbirko, ki služi pošiljanju rezultatov na strežnik. Struktura paketa z rezultati je prikazana v tabeli 5.3 na strani 57. Sinhronizacija ure Po uspešnem pošiljanju rezultatov sledi postopek sinhronizacije časa. Kot je bilo že opisano, ima vsako vozlišče svojo uro z ločljivostjo ene sekunde. Čas hranimo v 32-bitni spremenljivki, ki vsebuje število pretečenih sekund trenutnega dne. Ko je vozlišče v aktivnem načinu, RTC modul vsako sekundo generira prekinitev. Prekinitvena rutina pa poveča spremenljivko časa za ena. Ker želimo, da se vsa vozlišča v omrežje povežejo ob istem, s strani strežnika določenem času, je potrebno ure vozlišč medsebojno uskladiti s strežnikom. V ta namen strežnik na koncu vsakega cikla meritev posameznemu vozlišču pošlje paket za sinhronizacijo ure, ki vsebuje čas strežnika (tabela 5.4 na strani 61). Ta vrednost se shrani v spremenljivko, ki hrani čas vozlišča.

67 5.2 Program za mikrokrmilnik 59 Mirovanje Uspešni sinhronizaciji časa sledi zahteva za prehod v stanje mirovanja. Kot je prikazano v tabeli 5.4, vsebuje zahteva tudi čas, ob katerem naj vozlišče zopet postane aktivno. Najdaljši čas mirovanja je zaradi 16-bitnega RTC modula sekund, kar je enako približno 18 uram. Najdaljši časovni razmik med posameznimi merjenji pa je lahko 24 ur, zato ločimo dve možnosti. V primeru, ko je dejanski interval večji od sekund izvedemo mirovanje v dveh korakih. Najprej pošljemo vozlišče v stanje mirovanja za največji možni čas. Ko vozlišče postane aktivno, ga takoj pošljemo v stanje mirovanja še za preostalo razliko časa. Ko je dejanski čas mirovanja manjši od največjega možnega, lahko vozlišče normalno pošljemo v stanje mirovanja. To storimo tako, da v register periode RTC modula zapišemo število sekund, ki določa čas mirovanja, ugasnemo ZigBee modul in izvršimo ukaz za prehod v mirovanje. Ko je števec RTC modula enak vsebini registra periode nastopi prekinitev in vozlišče postane aktivno. Nato popravimo vrednost časovne spremenljivke tako, da ji prištejemo čas mirovanja (vsebino registra periode). Za tem popravimo register periode na vrednost ena in vrednost števca na 0. S tem dosežemo da se bodo prekinitve RTC modula prožile vsako sekundo. Tu velja omeniti, da je prekinitvena rutina napisana tako, da v primeru, ko je vrednost časovne spremenljivke večja od (24 ur), le tej to vrednost odštejemo. S tem zagotovimo pravilen potek ure. Na koncu sledi še vklop ZigBee modula in prijava v omrežje. Prijava v omrežje Funkcija za prijavo v omrežje je napisana tako, kot je opisano v poglavju Omeniti velja, da je v tej fazi verjetnost, da omrežje ne bi bilo prisotno, dosti manjša. Razlog je v tem, da vsa vozlišča postanejo aktivna in pričnejo z povezovanjem ob istem času. Le v primeru izpada katerega od nadrejenih vozlišč, bi lahko prišlo do težav pri povezovanju. V tem primeru pa je uporabnik omrežja o izpadu vozlišča obveščen in lahko napako hitro popravi.

68 60 Programska oprema 5.3 Program za strežnik Strežniško aplikacijo smo napisali v programskem jeziku python. Kot smo že omenili, smo za strežnik uporabili osebni računalnik z ZigBee USB modulom. Program, ki teče na strežniku, je sestavljen iz dveh sklopov. Prvi skrbi za bazo vseh vozlišč v omrežju in hrani strukturo trenutnega omrežja. Drugi pa skrbi za potek operacij na posameznih vozliščih. Na sliki 5.6 je prikazana shema delovanja strežniškega programa. Glavna zanka Start Čakam novo napravo V bazi? Ne Da Dodaj v bazo - zapiši MAC naslov - shrani ID nadrejene naprave Briši Stanja posamezne naprave P K P M R S ČO D Nova konfiguracija? M Ne stanje pripravljenosti konfiguracija merjenje čakanje rezultatov sinhronizacija časa čakanje otrok mirovanje Da K R S ČO D Slika 5.6: Blokovna shema programa za strežnik Strežnik nenehno preverja ali se je v omrežje priključilo kakšno novo vozlišče. Prisotnost nove naprave v omrežju se pokaže kot posebno sporočilo na serijskih vratih ZigBee USB modula. Sporočilo je sestavljeno iz identifikacijske kode naprave, njenega MAC naslova ter identifikacijske kode nadrejene naprave. Strežnik najprej preveri, če je naprava s tem MAC naslovom že na seznamu trenutnih naprav v omrežju in jo v tem primeru izbriše iz seznama. Nato sledi vpis naprave v seznam trenutnih naprav v omrežju, hkrati pa se zabeleži tudi podatek o nadrejeni napravi. Tako lahko vsak trenutek vidimo kakšna je struktura omrežja. Postopek izbrisa obstoječe naprave je potreben zato, ker lahko med samim de-

69 5.3 Program za strežnik 61 lovanjem omrežja na določenem vozlišču pride do nepredvidene napake in se le to ponovno zažene ter prijavi v omrežje. Da ne bi prišlo do morebitne izgube določenih podatkov, se postopek komunikacije z vozliščem v tem primeru sproži ponovno od začetka. Ko je v seznam dodana nova naprava, strežnik zopet čaka na morebitne nove naprave, poleg tega pa isti trenutek sproži postopek komunikacije z novim senzorskim vozliščem (črtkana črta na sliki 5.6). Vsako senzorsko vozlišče v strežniškem programu predstavlja nov objekt, ki vsebuje prostor za hranjenje podatkov o meritvah in ima sedem možnih stanj, v katerih se lahko nahaja. Vsa stanja in prehodi med njimi so prikazani na sliki 5.6 desno. Pošiljanje paketov iz strežnika na vozlišče je izvedeno tako, da za vsak poslan paket preverjamo potrdilo o njegovi uspešni dostavi. Če v določenem času tega ne dobimo, se isti paket pošlje ponovno. V primeru treh neuspešnih poskusov smatramo, da vozlišča ni več v omrežju in njegov objekt v programu izbrišemo. Ob tem pa se zabeleži sporočilo o napaki pri komunikaciji z vozliščem. Strukturo paketov za pošiljanje na vozlišče prikazuje naslednja tabela. Vrsta paketa Koda operacije Struktura podatkovnega dela konfiguracija 0x37 dolžina datoteke (2 bajta) številka trenutnega paketa (1 bajt) podatki (max. 64 bajtov) merjenje 0x38 sinhronizacija ure 0x3a trenutni čas v sekundah od začetka dneva (4 bajti) mirovanje 0x3b čas naslednjega bujenja v sekundah od začetka dneva (4 bajti) Tabela 5.4: Struktura paketov za pošiljanje vozliščem Na začetku je vsako vozlišče v stanju pripravljenosti. Vrstni red postopkov za posamezno vozlišče je sledeč. Strežnik najprej preveri ali je uporabnik za trenutno vozlišče predložil novo konfiguracijsko datoteko. Kadar je le ta na voljo, preide vozlišče v stanje konfiguracije. Pripravijo se paketi za pošiljanje konfiguracije na vozlišče. Struktura konfiguracijskega paketa je prikazana v tabeli 5.4. Ko vozlišče potrdi sprejem celotne konfiguracije je pripravljeno za izvajanje meritev

70 62 Programska oprema in gre v stanje merjenja. V primeru, ko ni nove konfiguracije, gre vozlišče v stanje merjenja takoj po stanju pripravljenosti. V stanju merjenja se na vozlišče pošlje zahteva za začetek meritev. Za tem sledi stanje čakanja rezultatov. Ko vozlišče izmeri zahtevane podatke in izračuna značilke, le te pošlje na strežnik. Struktura paketa za pošiljanje rezultatov na strežnik je prikazana v tabeli 5.3. Strežnik prejete podatke shrani v podatkovno bazo. Sledi sinhronizacija časa. V tem stanju strežnik pošlje vozlišču svoj trenutni čas v sekundah od začetka dneva. Ob tem tudi izmeri čas od začetka pošiljanja do prejema potrditve. Če je ta čas manjši od treh sekund je sinhronizacija uspešna, drugače pa se postopek ponovi. Kadar je sinhronizacija neuspešna, dobi uporabnik obvestilo o napaki pri sinhronizaciji vozlišča. Uporabnik lahko poljubno nastavi časovni kriterij za uspešno sinhronizacijo. Tako enostaven način sinhronizacije smo uporabili zato, ker zaenkrat ni potrebe po bolj točnem času. Po uspešni sinhronizaciji sledi stanje čakanja dovoljenja za prehod v stanje mirovanja. Ker ima senzorsko vozlišče lahko vlogo usmerjevalnika, so lahko preko njega s strežnikom povezana tudi ostala vozlišča. Če ta vozlišča še niso končala celotnega postopka merjenja, jih morajo nadrejena vozlišča počakati, saj bi v nasprotnem primeru prekinjena povezava med določenimi vozlišči in strežnikom. Vozlišče gre lahko v stanje mirovanja šele takrat, ko so v stanju mirovanja vsa podrejena vozlišča. Paket, ki vozlišču narekuje prehod v stanje mirovanja, vsebuje tudi čas pričetka novih merjenj. Vsa vozlišča ponovno postanejo aktivna ob istem času. To je pri drevesni strukturi omrežja nujno potrebno, saj je le tako omogočena komunikacija strežnika z vsemi vozlišči. Perioda izvajanja meritev je znotraj enega dneva poljubno nastavljiva s strani uporabnika.

71 6. Testiranje prototipa Testiranje prototipa vozlišča senzorskega omrežja za sprotni nadzor opreme je bilo sestavljeno iz treh delov. Naprej smo testirali delovanje omrežja. Zatem pa je sledilo testiranje delovanja postopkov obdelave signalov na vozliščih. Nazadnje pa smo sistem preizkusili na realni napravi. 6.1 Test omrežja Za testiranje omrežja smo imeli na voljo le štiri senzorska vozlišča ter strežnik. Na vozliščih smo program preuredili tako, da je ta namesto dejanskih podatkov iz senzorjev generiral signal rampe. Vsi ostali postopki delovanja vozlišča so ostali enaki. Vozlišča smo razporedili po stavbi tako, da je bilo končno omrežje v obliki drevesa z dvema vejama (slika 6.1). Dve vozlišči sta bili direktno v območju pokritosti strežnika. Preostali dve pa sta bili razporejeni tako, da sta nadaljevali eno vejo drevesa. Najbolj oddaljeno vozlišče je s strežnikom komuniciralo preko dveh nadrejenih vozlišč v veji. Na vsa vozlišča smo namestili isto konfiguracijsko datoteko. Intervale merjenja smo nastavili na 5 minut, začetek pa je bil ob polni uri. Test je trajal 24 ur. Strežnik Vozlišče Slika 6.1: Postavitev testnega omrežja Rezultati testiranja omrežja so pozitivni. Skozi celoten čas testiranja so vsa vozlišča delovala brez napak. Vsakih 5 minut so iz stanja mirovanja prešla v aktivni način in se povezala v omrežje. Strežnik je z vsakim vozliščem uspešno 63

72 64 Testiranje prototipa opravil postopek komunikacije, kot smo opisali v poglavju 5.3 in vozlis c a so s la nazaj v stanje mirovanja. Celoten postopek je v povprec ju trajal sekund. Od tega je skoraj 10 sekund trajalo vzpostavljanje omrez ja, 18 sekund pa je trajala obdelava signalov, ki je obsegala izrac un dveh filtrov ter dveh RMS vrednosti. Razlog za tako dolg c as vzpostavljanja omrez ja je nenatanc na ura posameznih vozlis c. Pri daljs ih intervalih mirovanja je ta c as s e daljs i, zato je potrebno vozlis c e nadgraditi s preciznim izvorom ure. 6.2 Test algoritmov za obdelavo signalov Za izvedbo testiranja rac unskih postopkov za obdelavo signalov pridobljenih iz senzorjev smo pripravili enostavno aplikacijo. Senzor vibracij smo trdno pric vrstili na membrano manjs ega zvoc nika, kot je prikazano na sliki 6.2. Na zvoc niku pa smo predvajali signal razlic nih frekvenc, ki smo ga sestavili v programskem okolju Matlab. Uporabili smo amplitudno moduliran sinusni signal z osnovno frekvenco 1000 Hz, frekvenca modulacije je bila 300 Hz, indeks modulacije pa 0,5. Da bi bil vzbujevalni signal c im bolj realen, smo mu dodali s e s um. Uporabili smo Matlabovo funkcijo awgn z razmerjem signal-s um 5. Slika 6.2: Zvoc nik s senzorjem vibracij V Simulinku smo sestavili enostavno shemo s s estimi izhodi (slika 6.3). Prvi izhod je RMS izmerjenega signala, drugi izhod pa je RMS filtriranega signala, pri c emer smo uporabili pasovno prepustni (angl. bandpass) filter drugega reda. Nac rtali smo ga s pomoc jo Matlabove funkcije butter. Za frekvenc ni meji smo uporabili 900 Hz in 1100 Hz. Dobljeni sistem smo nato pretvorili v dva sistema drugega reda in njune koeficiente vnesli v ustrezna bloka v Simulink shemi. Tretji

73 6.2 Test algoritmov za obdelavo signalov 65 in četrti izhod sta varianci vhodnega in filtriranega signala. Peti in šesti izhod pa sta vrednosti močnostnega spektra pri frekvenci 700 Hz, ki ju izračunamo iz Fourierjeve transformacije. Iz simulacijske sheme smo izdelali konfiguracijsko datoteko in jo poslali na vozlišče. VAR Variance 3 Out3 1 In1 RMS RMS 1 Out1 num(z) den(z) Discrete Filter num(z) den(z) Discrete Filter1 RMS RMS1 2 Out2 VAR Variance1 4 Out4 FFT FFT1 6 Out6 FFT FFT 5 Out5 Slika 6.3: Program v Simulinku Nato smo izvedli test. Postopek obdelave signalov je trajal 40 sekund. Da smo lahko preverili pravilnost računskih postopkov, smo programu na mikrokrmilniku dodali še posebno funkcijo, ki lahko signal iz senzorja ter izhodne podatke posameznih struktur tekom obdelave signala pošilja preko UART-a na računalnik. Prejete podatke iz vozlišča smo nato uvozili v Matlab. Na signalu iz senzorja vibracij smo z uporabo Simulink sheme iz slike 6.3 izvedli iste postopke obdelave, kot so se izvajali na vozlišču. Pri tem smo shranili poteke izhodov posameznih blokov in jih nato primerjali s pripadajočimi podatki iz vozlišča. Rezultati izračunov na vozlišču so bili enaki rezultatom iz Matlaba. Končne vrednosti izhodov so povzete v tabeli 6.1. RMS vrednost filtriranega signala je po pričakovanjih nekoliko manjša od RMS vrednosti nefiltriranega signala. Ker vhodni signal ne vsebuje enosmerne kompo-

74 66 Testiranje prototipa Spremenljivka Pripadajoči izhod Vrednost RMS Out1 0,3153 RMS1 Out2 0,2550 Varianca Out3 0,0994 Varianca1 Out4 0,0650 FFT Out5 3, FFT1 Out6 2, Tabela 6.1: Vrednosti izhodov testne sheme nente, sta varianci enaki korenu RMS vrednosti. Vrednosti močnostnega spektra pri frekvenci 700 Hz se razlikujeta za dva velikostna razreda, kar je posledica delovanja filtra. Zaradi nazornejšega prikaza pravilnosti delovanja filtrov smo izračunali še amplitudni spekter filtriranega in nefiltriranega signala senzorja. Slika 6.4 prikazuje primerjavo obeh amplitudnih spektrov. Slika 6.4: Primerjava amplitudnih spektrov filtriranega in nefiltriranega signala Razvidno je, da računski postopki filtriranja na vozlišču potekajo pravilno, saj je signal ohranil osnovno komponento pri 1000 Hz, ostale frekvence pa v filtriranemu signalu niso prisotne, oziroma so močno oslabljene.

75 6.3 Test na realni napravi Test na realni napravi Test prototipa naprave smo naredili na rezkalnem stroju, ki ima nastavljivo hitrost vrtenja. Nanj smo namestili senzor vibracij. Slika 6.5 prikazuje postavitev testnega sistema. Senzor vibracij Rezkalni stroj Izvor dodatnih vibracij Vozlišče Strežnik ZigBee USB modul Slika 6.5: Postavitev rezkalnega stroja za potrebe testiranja. V Simulinku smo zgradili shemo z desetimi izhodi. Vsak izhod predstavlja močnostni spekter signala vibracij za določen frekvenčni pas. Celotno frekvenčno območje (5 khz) smo razdelili na 10 enakovrednih frekvenčnih pasov širine 500 Hz. Izdelali smo konfiguracijsko datoteko in jo poslali na senzorsko vozlišče. Pri hitrosti 1500 obratov na minuto smo naredili dve seriji meritev. Najprej smo izmerili vibracije stroja v prostem teku. Nato smo na vrtljivo glavo stroja namestili predmet (vijak) tako, da je ta pri vrtenju povzročil dodatne vibracije.

QlikView 11. Predstavitev novosti na primerih. Anže Mis Miha Pucelj

QlikView 11. Predstavitev novosti na primerih. Anže Mis Miha Pucelj QlikView 11 Predstavitev novosti na primerih Anže Mis Miha Pucelj 25. Nov 2011 Novosti QlikView 11 Družbeno poslovno odkrivanje Primerjalna analiza Mobilno poslovno odkrivanje Platforma za hiter razvoj

More information

Qbiss_One BIM tool!! for Archicad 16!! Instructions (how to use)! EN

Qbiss_One BIM tool!! for Archicad 16!! Instructions (how to use)! EN Qbiss_One BIM tool!! for Archicad 16!! Instructions (how to use)! EN Instructions Qbiss_One BIM tool is a list of elements working inside the Curtain Wall tool in Archicad. With this tool, two schedule

More information

ATxmega128A4U / ATxmega64A4U / ATxmega32A4U / ATxmega16A4U

ATxmega128A4U / ATxmega64A4U / ATxmega32A4U / ATxmega16A4U 8/16-bit Atmel XMEGA Microcontroller ATxmega128A4U / ATxmega64A4U / ATxmega32A4U / ATxmega16A4U Features High-performance, low-power Atmel AVR XMEGA 8/16-bit Microcontroller Nonvolatile program and data

More information

ATxmega128D4 / ATxmega64D4 / ATxmega32D4 / ATxmega16D4

ATxmega128D4 / ATxmega64D4 / ATxmega32D4 / ATxmega16D4 8/16-bit Atmel XMEGA D4 Microcontroller ATxmega128D4 / ATxmega64D4 / ATxmega32D4 / ATxmega16D4 Features High-performance, low-power Atmel AVR XMEGA 8/16-bit Microcontroller Nonvolatile program and data

More information

MOBICOM. Alexor. dvosmerni brezžični alarmni sistem. Dvosmerna brezžična zaščita

MOBICOM. Alexor. dvosmerni brezžični alarmni sistem. Dvosmerna brezžična zaščita Alexor MOBICOM dvosmerni brezžični alarmni sistem Dvosmerna komunikacija GSM/GPRS + internetni komunikator GS2065, TL265GS WT5500 Brezžična tipkovnica Obesek PC9155 Zunanja sirena WT4911 Daljinski upravljalnik

More information

THZ IMAGING SYSTEM FOR HIDDEN OBJECTS DETECTIONS. THZ vizijski sistem za odkrivanje skritih predmetov

THZ IMAGING SYSTEM FOR HIDDEN OBJECTS DETECTIONS. THZ vizijski sistem za odkrivanje skritih predmetov UDK621.3:(53+54+621+66), ISSN0352-9045 Informacije MIDEM 41(2011)2, Ljubljana THZ IMAGING SYSTEM FOR HIDDEN OBJECTS DETECTIONS Andrej Švigelj, Janez Trontelj University of Ljubljana, Faculty of electrical

More information

Presenter SNP6000. Register your product and get support at Uporabniški priročnik

Presenter SNP6000. Register your product and get support at   Uporabniški priročnik Register your product and get support at www.philips.com/welcome Presenter SNP6000 SL Uporabniški priročnik 1 a b c d e 2 3 4 Federal Communication Commission Interference Statement This equipment has

More information

On the number of non-overlapping channels in the IEEE WLANs operating in the 2.4 GHz band

On the number of non-overlapping channels in the IEEE WLANs operating in the 2.4 GHz band ELEKTROTEHNIŠKI VESTNIK 81(3): 148 152, 214 REVIEW SCIENTIFIC PAPER On the number of non-overlapping channels in the IEEE 82.11 WLANs operating in the 2.4 GHz band Peter Miklavčič Faculty of Electrical

More information

OpenAT aplikacija za Wavecom GSM/GPRS modeme

OpenAT aplikacija za Wavecom GSM/GPRS modeme DR.AT OpenAT aplikacija za Wavecom GSM/GPRS modeme Kratek opis in navodilo za uporabo Verzija: 061025 (1.08) Programska oprema DR.AT rešuje problem priključitve različnih naprav preko RS232 ter GPRS modema

More information

Zmogljivostna analiza prenosa podatkov po standardu n

Zmogljivostna analiza prenosa podatkov po standardu n Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jernej Oblak Zmogljivostna analiza prenosa podatkov po standardu 802.11n DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

32-bit ARM Cortex-M0, Cortex-M3 and Cortex-M4F microcontrollers

32-bit ARM Cortex-M0, Cortex-M3 and Cortex-M4F microcontrollers -bit ARM Cortex-, Cortex- and Cortex-MF microcontrollers Energy, gas, water and smart metering Alarm and security systems Health and fitness applications Industrial and home automation Smart accessories

More information

Sistem za brezžičen zajem podatkov z zmožnostjo nadzora preko spleta

Sistem za brezžičen zajem podatkov z zmožnostjo nadzora preko spleta UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Luka Šepetavc Sistem za brezžičen zajem podatkov z zmožnostjo nadzora preko spleta DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof.

More information

MAGNETIC MICROSYSTEMS FOR POSITION MEASUREMENT. Magnetni mikrosistemi za merjenje absolutne pozicije

MAGNETIC MICROSYSTEMS FOR POSITION MEASUREMENT. Magnetni mikrosistemi za merjenje absolutne pozicije UDK621.3:(53+54+621+66), ISSN0352-9045 Informacije 40(2010)1, Ljubljana MAGNETIC MICROSYSTEMS FOR POSITION MEASUREMENT Blaž Šmid University of Ljubljana, Faculty of electrical Engineering, Ljubljana, Slovenia

More information

Razvoj prototipa iphone aplikacije za upravljanje z nalogami

Razvoj prototipa iphone aplikacije za upravljanje z nalogami UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Plaskan Razvoj prototipa iphone aplikacije za upravljanje z nalogami DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: prof.

More information

Elektronski fotonapetostni piranometer z vgrajenim protokolom Modbus na komunikacijskem vodilu RS485

Elektronski fotonapetostni piranometer z vgrajenim protokolom Modbus na komunikacijskem vodilu RS485 Univerza v Ljubljani Fakulteta za elektrotehniko Peter Šilak Elektronski fotonapetostni piranometer z vgrajenim protokolom Modbus na komunikacijskem vodilu RS485 Diplomsko delo Mentor: doc. dr. Marko Jankovec

More information

RAZVOJ BIOIMPEDANČNEGA MERILNIKA NA OSNOVI MIKROKONTROLERJA

RAZVOJ BIOIMPEDANČNEGA MERILNIKA NA OSNOVI MIKROKONTROLERJA UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO Jure Obid RAZVOJ BIOIMPEDANČNEGA MERILNIKA NA OSNOVI MIKROKONTROLERJA DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA Mentor: prof. dr. Dejan Križaj Ljubljana,

More information

Mobilna omrežja. Zdenek Becvar, Pavel Mach, Ivan Pravda

Mobilna omrežja. Zdenek Becvar, Pavel Mach, Ivan Pravda Mobilna omrežja Zdenek Becvar, Pavel Mach, Ivan Pravda Avtorji: Zdenek Becvar, Pavel Mach, Ivan Pravda Naslov: Mobilna omrežja Prevedel: Žarko Čučej Izdan: České vysoké učení technické v Praze Preveden:

More information

Evaluation of piezoresistive ceramic pressure sensors using noise measurements

Evaluation of piezoresistive ceramic pressure sensors using noise measurements Original paper Journal of Microelectronics, Electronic Components and Materials Vol. 42, No. 2 (2012), 109 114 Evaluation of piezoresistive ceramic pressure sensors using noise measurements Vlasta Sedlakova

More information

Brezžični sistem za spremljanje življenjskega in delovnega okolja v realnem času

Brezžični sistem za spremljanje življenjskega in delovnega okolja v realnem času ELEKTROTEHNIŠKI VESTNIK 82(5): 272-276, 2015 IZVIRNI ZNANSTVENI ČLANEK Brezžični sistem za spremljanje življenjskega in delovnega okolja v realnem času Rok Češnovar 1, Aleš Špetič 2 1 Univerza v Ljubljani,

More information

3.3V regulator. JA H-bridge. Doc: page 1 of 7

3.3V regulator. JA H-bridge. Doc: page 1 of 7 Cerebot Reference Manual Revision: February 9, 2009 Note: This document applies to REV B-E of the board. www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The

More information

VODENJE Z UPORABO MERITEV MOŽGANSKIH VALOV

VODENJE Z UPORABO MERITEV MOŽGANSKIH VALOV UNIVERZA V MARIBORU FAKULTETA ZA STROJNIŠTVO Aljaž KRAMBERGER VODENJE Z UPORABO MERITEV MOŽGANSKIH VALOV študijskega programa 2. stopnje Mehatronika Maribor, september 2013 VODENJE Z UPORABO MERITEV MOŽGANSKIH

More information

Vodenje modelov Lego Mindstorms NXT z industrijskimi krmilniki Siemens

Vodenje modelov Lego Mindstorms NXT z industrijskimi krmilniki Siemens Univerza v Ljubljani Fakulteta za računalništvo in informatiko Blaž Medved Vodenje modelov Lego Mindstorms NXT z industrijskimi krmilniki Siemens DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM RAČUNALNIŠTVO

More information

Vgrajen sistem za obračunavanje porabe vode in električne energije na javnih mestih

Vgrajen sistem za obračunavanje porabe vode in električne energije na javnih mestih Univerza v Ljubljani Fakulteta za računalništvo in informatiko Aleš Boštjančič Vgrajen sistem za obračunavanje porabe vode in električne energije na javnih mestih DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI

More information

SISTEM ZA NAVIGACIJO ZNOTRAJ STAVB

SISTEM ZA NAVIGACIJO ZNOTRAJ STAVB Univerza v Ljubljani Fakulteta za elektrotehniko, Fakulteta za računalništvo in informatiko MATEJ KOPLAN SISTEM ZA NAVIGACIJO ZNOTRAJ STAVB Diplomsko delo Mentor: doc. dr. Jože Guna Somentor: izr. prof.

More information

SPLETNO OSNOVAN MEDICINSKI PODATKOVNI SISTEM ZA KLINIČNE POSKUSE

SPLETNO OSNOVAN MEDICINSKI PODATKOVNI SISTEM ZA KLINIČNE POSKUSE UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO PODIPLOMSKI ŠTUDIJ MAGISTRSKA NALOGA SPLETNO OSNOVAN MEDICINSKI PODATKOVNI SISTEM ZA KLINIČNE POSKUSE Ivan Pavlović mentor: prof. dr. Damijan Miklavčič

More information

CENOVNO UGODNA NAPRAVA ZA IZBOLJŠANJE VEČPREDSTAVNOSTNIH VSEBIN

CENOVNO UGODNA NAPRAVA ZA IZBOLJŠANJE VEČPREDSTAVNOSTNIH VSEBIN UNIVERZA NA PRIMORSKEM Fakulteta za matematiko, naravoslovje in informacijske tehnologije, Koper Računalništvo 1. stopnja ALEKSANDAR TOŠIĆ CENOVNO UGODNA NAPRAVA ZA IZBOLJŠANJE VEČPREDSTAVNOSTNIH VSEBIN

More information

Synthesizable 2D Vernier TDC based on gated ring oscillators. Sestavljivi 2D Vernier TDC na osnovi obročnih oscilatorjev.

Synthesizable 2D Vernier TDC based on gated ring oscillators. Sestavljivi 2D Vernier TDC na osnovi obročnih oscilatorjev. Original scientific paper Synthesizable 2D Vernier TDC based on gated ring oscillators Marijan Jurgo, Romualdas Navickas Journal of Microelectronics, Electronic Components and Materials Vol. 47, No. 4(2017),

More information

antibakterijski program higiena čistoča zdravje ljudi Antibacterial program Hygiene Cleanliness Health

antibakterijski program higiena čistoča zdravje ljudi Antibacterial program Hygiene Cleanliness Health antibakterijski Antibacterial higiena čistoča zdravje ljudi Hygiene Cleanliness Health ANTIBACTERIAL PROGRAM Antibacterial switches and sockets are daily touched by many people, so this is a common place

More information

NAVODILO ZA UPORABO RRC-4 REPETITORSKEGA SISTEMA

NAVODILO ZA UPORABO RRC-4 REPETITORSKEGA SISTEMA R R C - Fone Repeater Remote Controllers NAVODILO ZA UPORABO RRC-4 REPETITORSKEGA SISTEMA R R C - 4 v 1.01 S51KQ 1996-1997 FM analogni prehodni repetitor, ali preprost link prehod (obojesmerni), dodaten

More information

AIG 03, MARIBOR. Mobilni robot

AIG 03, MARIBOR. Mobilni robot AIG 03, MARIBOR Mobilni robot David Zupanc, Danijel Šibanc Fakulteta za elektrotehniko, računalništvo in informatiko Univerza v Mariboru Smetanova 17, 2000 Maribor, Slovenija davidzupanc@hotmail.com, danijel.sibanc@uni-mb.si

More information

Uvajanje digitalnega mobilnega radijskega telekomunikacijskega omrežja v podjetju Elektro Primorska

Uvajanje digitalnega mobilnega radijskega telekomunikacijskega omrežja v podjetju Elektro Primorska Univerza v Ljubljani Fakulteta za elektrotehniko Jurij Lenko Uvajanje digitalnega mobilnega radijskega telekomunikacijskega omrežja v podjetju Elektro Primorska Diplomsko delo visokošolskega strokovnega

More information

NAPAJALNI IN POGONSKI SISTEM SERIJSKEGA HIBRIDNEGA VOZILA PLATFORMA PROGRAMSKE OPREME ZA UPRAVLJANJE Z ENERGIJO

NAPAJALNI IN POGONSKI SISTEM SERIJSKEGA HIBRIDNEGA VOZILA PLATFORMA PROGRAMSKE OPREME ZA UPRAVLJANJE Z ENERGIJO UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Mitja Osek NAPAJALNI IN POGONSKI SISTEM SERIJSKEGA HIBRIDNEGA VOZILA PLATFORMA PROGRAMSKE OPREME ZA UPRAVLJANJE Z ENERGIJO

More information

Sistem za merjenje časa na atletskih stezah

Sistem za merjenje časa na atletskih stezah Univerza v Ljubljani Fakulteta za računalništvo in informatiko Uroš Stegel Sistem za merjenje časa na atletskih stezah DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Nikolaj Zimic Ljubljana,

More information

Jure Balabanič. Daljinsko vodenje vozila z video nadzorom

Jure Balabanič. Daljinsko vodenje vozila z video nadzorom UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Balabanič Daljinsko vodenje vozila z video nadzorom DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Dušan Kodek Ljubljana,

More information

TRAJNOSTNI PAPIR IN KARTON PP1

TRAJNOSTNI PAPIR IN KARTON PP1 TRAJNOSTNI PAPIR IN KARTON PP1 Trajnostni papir in karton PP1 je sestavljen iz beljenih celuloznih sulfatnih listavcev in iglavcev, je nevtralno klejen, z dodatkom kalcijevega karbonatnega polnila in brez

More information

Krmilnik LED svetilke z visoko svetilnostjo

Krmilnik LED svetilke z visoko svetilnostjo UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Peter Pišljar Krmilnik LED svetilke z visoko svetilnostjo DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana 2012 UNIVERZA V LJUBLJANI FAKULTETA

More information

SNIOT702 Specification. Version number:v 1.0.1

SNIOT702 Specification. Version number:v 1.0.1 Version number:v 1.0.1 Catelog 1 Product introduction... 1 1.1 Product introduction... 1 1.2 Product application... 1 1.3 Main characteristics... 2 1.4 Product advantage... 3 2 Technical specifications...

More information

FPGA-BASED HARDWARE REALIZATION FOR 4G MIMO WIRELESS SYSTEMS. Izvedba 4G MIMO brezžičnega sistema na osnovi FPGA vezij

FPGA-BASED HARDWARE REALIZATION FOR 4G MIMO WIRELESS SYSTEMS. Izvedba 4G MIMO brezžičnega sistema na osnovi FPGA vezij UDK621.3:(53+54+621+66), ISSN0352-9045 Informacije MIDEM 40(2010)3, Ljubljana FPGA-BASED HARDWARE REALIZATION FOR 4G MIMO WIRELESS SYSTEMS 1 Mostafa Wasiuddin Numan, 2 Mohammad Tariqul Islam, 3,4 Norbahiah

More information

ZASNOVA, RAZVOJ IN IZDELAVA TESTNE NAPRAVE ZA PREIZKUŠANJE VGRAJENIH SISTEMOV ZA ZAJEMANJE PODATKOV

ZASNOVA, RAZVOJ IN IZDELAVA TESTNE NAPRAVE ZA PREIZKUŠANJE VGRAJENIH SISTEMOV ZA ZAJEMANJE PODATKOV UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO Blaž Jakopin ZASNOVA, RAZVOJ IN IZDELAVA TESTNE NAPRAVE ZA PREIZKUŠANJE VGRAJENIH SISTEMOV ZA ZAJEMANJE PODATKOV DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA

More information

Use of electronic initiation systems in mining industry. Uporaba elektronskih inicialnih sistemov v rudarstvu

Use of electronic initiation systems in mining industry. Uporaba elektronskih inicialnih sistemov v rudarstvu RMZ Materials and Geoenvironment, Vol. 57, No. 3, pp. 403 414, 2010 403 Use of electronic initiation systems in mining industry Uporaba elektronskih inicialnih sistemov v rudarstvu Jože Kortnik 1, *, Julijan

More information

Analiza primernosti RF pasov pod 15 GHz za širokopasovno povezavo infrastrukture LTE Različica: 1.0

Analiza primernosti RF pasov pod 15 GHz za širokopasovno povezavo infrastrukture LTE Različica: 1.0 Analiza primernosti RF pasov pod 15 GHz za širokopasovno povezavo infrastrukture LTE Različica: 1.0 Analysis of the suitability of RF spectrum below 15 GHz for broadband interconnection of the LTE infrastructure

More information

IZDELAVA RADIJSKO VODENE KRMILNE ENOTE

IZDELAVA RADIJSKO VODENE KRMILNE ENOTE UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Jakob Petek IZDELAVA RADIJSKO VODENE KRMILNE ENOTE Diplomsko delo Maribor, september 2014 II IZDELAVA RADIJSKO VODENE KRMILNE

More information

APPLICATION NOTE. AT11009: Migration from ATxmega64D3/128D3/192D3/256D3 Revision E to Revision I. Introduction. Features.

APPLICATION NOTE. AT11009: Migration from ATxmega64D3/128D3/192D3/256D3 Revision E to Revision I. Introduction. Features. APPLICATION NOTE AT11009: Migration from ATxmega64D3/128D3/192D3/256D3 Revision E to Revision I Atmel AVR XMEGA Introduction This application note lists out the differences and changes between Revision

More information

SISTEM ZA RAČUNALNIŠKO KRMILJENJE STRUŽNICE

SISTEM ZA RAČUNALNIŠKO KRMILJENJE STRUŽNICE UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Blaž Hostnik SISTEM ZA RAČUNALNIŠKO KRMILJENJE STRUŽNICE Diplomska naloga na univerzitetnem študiju Mentor: prof. dr. Dušan Kodek Ljubljana,

More information

VT-CC2530-Z1 Wireless Module. User Guide

VT-CC2530-Z1 Wireless Module. User Guide Wireless Module User Guide V-CHIP MICROSYSTEMS Co. Ltd Address: Room 612-613, Science and Technology Service Center Building, NO.1, Qilin Road, Nanshan District, Shenzhen, Guangdong TEL:0755-88844812 FAX:0755-22643680

More information

Sistem za zajem in analizo radijskih tekstovnih sporočil

Sistem za zajem in analizo radijskih tekstovnih sporočil Univerza v Ljubljani Fakulteta za elektrotehniko David Legan Sistem za zajem in analizo radijskih tekstovnih sporočil Diplomsko delo visokošolskega strokovnega študija Mentor: viš. pred. dr. Anton Umek

More information

Virtualna oprema prostora prikazana z Oculus Rift očali

Virtualna oprema prostora prikazana z Oculus Rift očali Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matej Milošević Virtualna oprema prostora prikazana z Oculus Rift očali DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

AO-1505-THM ZigBee Temperature and Humidity Sensor

AO-1505-THM ZigBee Temperature and Humidity Sensor Features Reliable wireless transceiver module. Compatible with Peer to Peer, Star, Tree, or Mesh network configurations. AO-50 with on board PCB ANT with 50M range (LOS). AO-50A with external Antenna.

More information

vas vabi na dogodek ki bo 5. in 6. septembra 2018 v prostorih rektorata Univerze v Mariboru Slomškov trg 15, 2000 Maribor, Slovenija.

vas vabi na dogodek ki bo 5. in 6. septembra 2018 v prostorih rektorata Univerze v Mariboru Slomškov trg 15, 2000 Maribor, Slovenija. Služba za prenos znanja in tehnologij vas vabi na dogodek»dnevi internacionalizacije in razvoja mednarodnih projektov«ki bo 5. in 6. septembra 2018 v prostorih rektorata Univerze v Mariboru Slomškov trg

More information

Mobilna aplikacija za iskanje najcenejših bencinskih servisov in

Mobilna aplikacija za iskanje najcenejših bencinskih servisov in Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jernej Jakofčič Mobilna aplikacija za iskanje najcenejših bencinskih servisov in beleženje stroškov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI

More information

Prednosti blokovnega programiranja robotov v osnovni šoli. Advantages of Function Block Programming

Prednosti blokovnega programiranja robotov v osnovni šoli. Advantages of Function Block Programming INFORMACIJSKA DRUŽBA IS 2009 16. oktober 2009 VZGOJA IN IZOBRAŽEVANJE V INFORMACIJSKI DRUŽBI Prednosti blokovnega programiranja robotov v osnovni šoli Advantages of Function Block Programming Milan Hlade

More information

Ocena latence v hipotetičnem podatkovnem omrežju nacionalnega nadzornika zračne plovbe

Ocena latence v hipotetičnem podatkovnem omrežju nacionalnega nadzornika zračne plovbe UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Rok Mikulič Ocena latence v hipotetičnem podatkovnem omrežju nacionalnega nadzornika zračne plovbe DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI

More information

DNT24MCA DNT24MPA. Low Cost 2.4 GHz FHSS Transceiver Modules with I/O. DNT24MCA/MPA Absolute Maximum Ratings. DNT24MCA/MPA Electrical Characteristics

DNT24MCA DNT24MPA. Low Cost 2.4 GHz FHSS Transceiver Modules with I/O. DNT24MCA/MPA Absolute Maximum Ratings. DNT24MCA/MPA Electrical Characteristics - 2.4 GHz Frequency Hopping Spread Spectrum Transceivers - Direct Peer-to-peer Low Latency Communication - Transmitter RF Power Configurable - 10 or 63 mw - Built-in Chip Antenna - 250 kbps RF Data Rate

More information

ANALIZA IN IZDELAVA UPORABNIŠKEGA VMESNIKA ZA VODENJE IN SIMULACIJO PROCESOV Z NI USB-6009 VMESNIKOM

ANALIZA IN IZDELAVA UPORABNIŠKEGA VMESNIKA ZA VODENJE IN SIMULACIJO PROCESOV Z NI USB-6009 VMESNIKOM Matej Uršnik ANALIZA IN IZDELAVA UPORABNIŠKEGA VMESNIKA ZA VODENJE IN SIMULACIJO PROCESOV Z NI USB-6009 VMESNIKOM Diplomsko delo Maribor, september 2010 I Diplomsko delo visokošolskega strokovnega študijskega

More information

Analiza uporabe tehnologij RFID za sledenje inventarja

Analiza uporabe tehnologij RFID za sledenje inventarja Univerza v Ljubljani Fakulteta za elektrotehniko Jaka Tonkli Analiza uporabe tehnologij RFID za sledenje inventarja Diplomsko delo Mentor: prof. dr. Andrej Kos Ljubljana, 2015 Zahvala Zahvaljujem se dr.

More information

Mikrokrmilniki in DSP procesorji v izobraževanju avtomatikov

Mikrokrmilniki in DSP procesorji v izobraževanju avtomatikov AIG 03, MARIBOR Mikrokrmilniki in DSP procesorji v izobraževanju avtomatikov Janez Pogorelc Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, 2000 Maribor janez.pogorelc@uni-mb.si

More information

Preliminary GHz Transceiver-µController-Module. Applications PRODUCT SPECIFICATION FEATURES MICROCONTROLLER MHz

Preliminary GHz Transceiver-µController-Module. Applications PRODUCT SPECIFICATION FEATURES MICROCONTROLLER MHz PRODUCT SPECIFICATION 2.4 2.5 GHz e Applications 6 : 2 " 2! 2 2 + 2 7 + + Alarm and Security Systems Video Automotive Home Automation Keyless entry Wireless Handsfree Remote Control Surveillance Wireless

More information

Linear Incremental Displacement Measurement System with Microtransformers

Linear Incremental Displacement Measurement System with Microtransformers Original scientific paper Linear Incremental Displacement Measurement System with Microtransformers Matija Podhraški 1, Janez Trontelj 2 Journal of Microelectronics, Electronic Components and Materials

More information

Aktivni BMS sistem za litij-ionske celice

Aktivni BMS sistem za litij-ionske celice Aktivni BMS sistem za litij-ionske celice Primož Bencak Univerza v Mariboru Fakulteta za strojništvo Smetanova 17, Maribor primoz.bencak@ student.um.si Dušan Fister Univerza v Mariboru Fakulteta za strojništvo

More information

VC7300-Series Product Brief

VC7300-Series Product Brief VC7300-Series Product Brief Version: 1.0 Release Date: Jan 16, 2019 Specifications are subject to change without notice. 2018 Vertexcom Technologies, Inc. This document contains information that is proprietary

More information

RF4432 wireless transceiver module

RF4432 wireless transceiver module 1. Description www.nicerf.com RF4432 RF4432 wireless transceiver module RF4432 adopts Silicon Lab Si4432 RF chip, which is a highly integrated wireless ISM band transceiver. The features of high sensitivity

More information

BREZŽIČNO OMREŽJE ZA NADZOR IN UPRAVLJANJE VODOVODNEGA SISTEMA

BREZŽIČNO OMREŽJE ZA NADZOR IN UPRAVLJANJE VODOVODNEGA SISTEMA UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Roman Perdan BREZŽIČNO OMREŽJE ZA NADZOR IN UPRAVLJANJE VODOVODNEGA SISTEMA DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA Mentor: doc. dr. Boštjan Murovec Ljubljana,

More information

Analiza napetostnih razmer napajalnega področja RTP Bohinj in uvedba Volt/Var DMS funkcije v DCV EG

Analiza napetostnih razmer napajalnega področja RTP Bohinj in uvedba Volt/Var DMS funkcije v DCV EG Analiza napetostnih razmer napajalnega področja RTP Bohinj in uvedba Volt/Var DMS funkcije v DCV EG MARJAN JERELE Elektro Gorenjska d.d. Mirka Vadnova 3 marjan.jerele@elektro-gorenjska.si, 04 2083 366

More information

II. KRMILNI SISTEM S PROGRAMIRLJIVIM KRMILNIKOM

II. KRMILNI SISTEM S PROGRAMIRLJIVIM KRMILNIKOM II. KRMILNI SISTEM S PROGRAMIRLJIVIM KRMILNIKOM Krmilni sistem sestavljajo elektronske komponente, naprave in druga oprema, s pomočjo katere neposredno vplivamo na nek tehnološki postopek ali proces. Krmilni

More information

DNT2400. Low Cost 2.4 GHz FHSS Transceiver Module with I/O

DNT2400. Low Cost 2.4 GHz FHSS Transceiver Module with I/O 2.4 GHz Frequency Hopping Spread Spectrum Transceiver Point-to-point, Point-to-multipoint, Peer-to-peer and Tree-routing Networks Transmitter Power Configurable from 1 to 63 mw RF Data Rate Configurable

More information

Detekcija nasičenja železnega jedra enofaznega transformatorja

Detekcija nasičenja železnega jedra enofaznega transformatorja Elektrotehniški vestnik 76(4): 99-24, 29 Electrotechnical Review: Ljubljana, Slovenija Detekcija nasičenja železnega jedra enofaznega transformatorja Klemen Deželak, Beno Klopčič 2, Gorazd Štumberger,

More information

DESIGN GUIDELINES FOR A ROBUST ELECTROMAGNETIC COMPATIBILITY OPERATION OF APLICATION SPECIFIC MICROELECTRONIC SYSTEMS

DESIGN GUIDELINES FOR A ROBUST ELECTROMAGNETIC COMPATIBILITY OPERATION OF APLICATION SPECIFIC MICROELECTRONIC SYSTEMS UDK621.3:(53+54+621+66), ISSN0352-9045 Informacije MIDEM 38(2008)3, Ljubljana DESIGN GUIDELINES FOR A ROBUST ELECTROMAGNETIC COMPATIBILITY OPERATION OF APLICATION SPECIFIC MICROELECTRONIC SYSTEMS Janez

More information

Ojačevalnik WLAN signala TP-LINK TL-WA860RE

Ojačevalnik WLAN signala TP-LINK TL-WA860RE SLO - NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 121 03 84 www.conrad.si NAVODILA ZA UPORABO Ojačevalnik WLAN signala TP-LINK TL-WA860RE Kataloška št.: 121 03 84 KAZALO 1. POMEN LED INDIKATORJEV... 3 2.

More information

UPORABA PROGRAMIRLJIVEGA LOGIČNEGA RELEJSKEGA SISTEMA PLC LOGIC ZA VODENJE

UPORABA PROGRAMIRLJIVEGA LOGIČNEGA RELEJSKEGA SISTEMA PLC LOGIC ZA VODENJE Univerza v Ljubljani Fakulteta za elektrotehniko MATIC BARIČ UPORABA PROGRAMIRLJIVEGA LOGIČNEGA RELEJSKEGA SISTEMA PLC LOGIC ZA VODENJE Diplomsko delo visokošolskega strokovnega študija prve stopnje Ljubljana,

More information

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA SISTEMSKI TEST GENERATORJA RADIJSKIH FREKVENC IN URINEGA SIGNALA MAGISTRSKO DELO.

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA SISTEMSKI TEST GENERATORJA RADIJSKIH FREKVENC IN URINEGA SIGNALA MAGISTRSKO DELO. UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA SISTEMSKI TEST GENERATORJA RADIJSKIH FREKVENC IN URINEGA SIGNALA MAGISTRSKO DELO Mitja Blažič Mentor: prof. dr. Iztok Arčon Nova Gorica, 2012 II ZAHVALA

More information

DNT900. Low Cost 900 MHz FHSS Transceiver Module with I/O

DNT900. Low Cost 900 MHz FHSS Transceiver Module with I/O DEVELOPMENT KIT (Info Click here) 900 MHz Frequency Hopping Spread Spectrum Transceiver Point-to-point, Point-to-multipoint, Peer-to-peer and Tree-routing Networks Transmitter Power Configurable from 1

More information

Aktivni BMS sistem za litij-ionske celice

Aktivni BMS sistem za litij-ionske celice Aktivni BMS sistem za litij-ionske celice Primož Bencak Univerza v Mariboru Fakulteta za strojništvo Smetanova 17, Maribor primoz.bencak@ student.um.si Dušan Fister Univerza v Mariboru Fakulteta za strojništvo

More information

Implementacija in simulacija usmerjevalnega protokola RIVER v NS-2

Implementacija in simulacija usmerjevalnega protokola RIVER v NS-2 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Andrej Šušmelj Implementacija in simulacija usmerjevalnega protokola RIVER v NS-2 DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr.

More information

Navidezno resnični sistem za interakcijo z molekulskimi strukturami na osnovi Oculus Rift očal in globinskih senzorjev

Navidezno resnični sistem za interakcijo z molekulskimi strukturami na osnovi Oculus Rift očal in globinskih senzorjev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tadej Podlesnik Navidezno resnični sistem za interakcijo z molekulskimi strukturami na osnovi Oculus Rift očal in globinskih senzorjev DIPLOMSKO

More information

NAVIDEZNA RESNIČNOST Z UPORABO PAMETNIH NAPRAV

NAVIDEZNA RESNIČNOST Z UPORABO PAMETNIH NAPRAV Univerza v Ljubljani Fakulteta za elektrotehniko NAVIDEZNA RESNIČNOST Z UPORABO PAMETNIH NAPRAV SPECIALISTIČNO DELO Mentor: prof. dr. Andrej Žemva Ljubljana, 2016 Zahvala Zahvaljujem se mentorju prof.

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaklju na naloga NFC - Near Field Communication (NFC - Near Field Communication) Ime in priimek: Matej Filipovi

More information

Receiver 10-5 BER -100 dbm Transmitter RF Output Power 1 10 or 63 mw mw Antenna Impedance 50 Ω

Receiver 10-5 BER -100 dbm Transmitter RF Output Power 1 10 or 63 mw mw Antenna Impedance 50 Ω - 2.4 GHz Frequency Hopping Spread Spectrum Transceivers - Direct Peer-to-peer Low Latency Communication - Transmitter RF Power Configurable - 10 or 63 mw - Transmitter EIRP 15.8 mw or 100 mw with 2 dbi

More information

DNT90MCA DNT90MPA. Low Cost 900 MHz FHSS Transceiver Modules with I/O

DNT90MCA DNT90MPA. Low Cost 900 MHz FHSS Transceiver Modules with I/O - 900 MHz Frequency Hopping Spread Spectrum Transceivers - Direct Peer-to-peer Low Latency Communication - Transmitter Power Configurable to 40 or 158 mw - Built-in 0 dbi Chip Antenna - 100 kbps RF Data

More information

Pomanjkljivosti klasične metode navijanja predilniških navitkov Izvirni znanstveni članek

Pomanjkljivosti klasične metode navijanja predilniških navitkov Izvirni znanstveni članek Pomanjkljivosti klasične metode navijanja predilniških navitkov 79 1 2 1 2 Imperfection of the classical winding method of the bobbins February 2009 April 2009 Abstract The classical method of winding

More information

Characteristic Sym Notes Minimum Typical Maximum Units Operating Frequency Range MHz Operating Frequency Tolerance khz

Characteristic Sym Notes Minimum Typical Maximum Units Operating Frequency Range MHz Operating Frequency Tolerance khz DEVELOPMENT KIT (Info Click here) 2.4 GHz ZigBee Transceiver Module Small Size, Light Weight, +18 dbm Transmitter Power Sleep Current less than 3 µa FCC and ETSI Certified for Unlicensed Operation The

More information

Data Logger Subsystems Mark Buccini February 2012

Data Logger Subsystems Mark Buccini February 2012 Data Logger Subsystems Mark Buccini February 2012 Full Disclosure Mark E. Buccini ULP Staff at TI 25+ years strategy, applications, marketing, sales, and management experience Lead MSP430 worldwide introduction

More information

ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION

ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION 98 Chapter-5 ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION 99 CHAPTER-5 Chapter 5: ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION S.No Name of the Sub-Title Page

More information

SATELITSKA GEODEZIJA IN NAVIGACIJA DOLOČANJE POLOŽAJA V OMREŽJU MOBILNE TELEFONIJE. Mentor: prof. dr. Bojan Stopar Avtorica: Benja Režonja

SATELITSKA GEODEZIJA IN NAVIGACIJA DOLOČANJE POLOŽAJA V OMREŽJU MOBILNE TELEFONIJE. Mentor: prof. dr. Bojan Stopar Avtorica: Benja Režonja Fakulteta za matematiko in fiziko Univerza v Ljubljani SATELITSKA GEODEZIJA IN NAVIGACIJA DOLOČANJE POLOŽAJA V OMREŽJU MOBILNE TELEFONIJE Mentor: prof. dr. Bojan Stopar Avtorica: Benja Režonja Ljubljana,

More information

ŠOLSKI CENTER VELENJE ELEKTRO IN RAČUNALNIŠKA ŠOLA. Trg mladosti 3, 3320 Velenje MLADI RAZISKOVALCI ZA RAZVOJ ŠALEŠKE DOLINE RAZISKOVALNA NALOGA

ŠOLSKI CENTER VELENJE ELEKTRO IN RAČUNALNIŠKA ŠOLA. Trg mladosti 3, 3320 Velenje MLADI RAZISKOVALCI ZA RAZVOJ ŠALEŠKE DOLINE RAZISKOVALNA NALOGA ŠOLSKI CENTER VELENJE ELEKTRO IN RAČUNALNIŠKA ŠOLA Trg mladosti 3, 3320 Velenje MLADI RAZISKOVALCI ZA RAZVOJ ŠALEŠKE DOLINE RAZISKOVALNA NALOGA ELEKTRIČNO KOLO Tematsko področje: ELEKTROTEHNIKA, ELEKTRONIKA

More information

NAVODILO ZA UPORABO RRC-4 REPETITORSKEGA SISTEMA

NAVODILO ZA UPORABO RRC-4 REPETITORSKEGA SISTEMA R R C - Fone Repeater Remote Controllers NAVODILO ZA UPORABO RRC-4 REPETITORSKEGA SISTEMA v 2.13 Maj 1998 R R C - 4 S51KQ 1996-1998 DOC v2.13 FM analogni prehodni repetitor, ali preprost link prehod (obojesmerni),

More information

PAMETNI DOM Z ARDUINO MEGA 2560 MIKROKONTROLERJEM

PAMETNI DOM Z ARDUINO MEGA 2560 MIKROKONTROLERJEM Šolski center Celje PAMETNI DOM Z ARDUINO MEGA 2560 MIKROKONTROLERJEM RAZISKOVALNA NALOGA Avtorja: Gašper Gril, E-2.b Kristjan Šoln, E-2.b Mentor: Matej Kališek, inž. el. Mestna občina Celje, Mladi za

More information

Ključne besede: zaznavanje spektra, dinamični dostop do spektra, analiza signalov, radijske telekomunikacije, strojna oprema

Ključne besede: zaznavanje spektra, dinamični dostop do spektra, analiza signalov, radijske telekomunikacije, strojna oprema Povzetek / Abstract Zaznavanje spektra je v zadnjih letih postalo zanimivo raziskovalno področje, med drugim predvsem zaradi velike verjetnosti, da se bo v bližnji prihodnosti na področju radijskih telekomunikacij

More information

Characteristic Sym Notes Minimum Typical Maximum Units Operating Frequency Range MHz Operating Frequency Tolerance khz

Characteristic Sym Notes Minimum Typical Maximum Units Operating Frequency Range MHz Operating Frequency Tolerance khz DEVELOPMENT KIT (Info Click here) 2.4 GHz ZigBee Transceiver Module Small Size, Light Weight, Low Cost Sleep Current less than 3 µa FCC and ETSI Certified for Unlicensed Operation The ZMN2405 2.4 GHz transceiver

More information

FAULT-CURRENT LIMITATION IN SLOVENIAN ELECTRIC- POWER TRANSMISSION SYSTEM

FAULT-CURRENT LIMITATION IN SLOVENIAN ELECTRIC- POWER TRANSMISSION SYSTEM 23. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2014 1 FAULT-CURRENT LIMITATION IN SLOVENIAN ELECTRIC- POWER TRANSMISSION SYSTEM Valentin AŽBE, Rafael MIHALIČ POVZETEK Graditev novih

More information

ATmega32A. Introduction. Features. 8-Bit AVR Microcontroller DATASHEET COMPLETE

ATmega32A. Introduction. Features. 8-Bit AVR Microcontroller DATASHEET COMPLETE 8-Bit AVR Microcontroller ATmega32A DATASHEET COMPLETE Introduction The Atmel ATmega32A is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions

More information

Frequency 434=434MHz 868=868MHz 915=915MHz

Frequency 434=434MHz 868=868MHz 915=915MHz Ultra Low Power sub GHz Multichannels Transceiver The module is based on Texas Instruments CC0F component. This device combines a flexible, very low power RF transceiver with a powerful MHz Cortex M microcontroller

More information

Osemindvajseta delavnica o telekomunikacijah PAMETNA MESTA

Osemindvajseta delavnica o telekomunikacijah PAMETNA MESTA Zbornik referatov Osemindvajseta delavnica o telekomunikacijah PAMETNA MESTA 12. in 13. november 2012 Brdo pri Kranju Organizira Elektrotehniška zveza Slovenije Slovensko društvo za elektronske komunikacije

More information

Low-Kickback-Noise Preamplifier-Latched Comparators Designed for High-Speed & Accurate ADCs

Low-Kickback-Noise Preamplifier-Latched Comparators Designed for High-Speed & Accurate ADCs Original scientific paper Journal of Microelectronics, Electronic Components and Materials Vol. 44, No. 4 (2014), 312 320 Low-Kickback-Noise Preamplifier-Latched Comparators Designed for High-Speed & Accurate

More information

8-bit Atmel tinyavr Microcontroller with 16K Bytes In-System Programmable Flash. ATtiny1634

8-bit Atmel tinyavr Microcontroller with 16K Bytes In-System Programmable Flash. ATtiny1634 8-bit Atmel tinyavr Microcontroller with 16K Bytes In-System Programmable Flash Features High Performance, Low Power AVR 8-bit Microcontroller Advanced RISC Architecture 125 Powerful Instructions Most

More information

Primerjalna študija fizikalno mehanskih lastnosti tkanin v vezavah keper in atlas Izvirni znanstveni članek

Primerjalna študija fizikalno mehanskih lastnosti tkanin v vezavah keper in atlas Izvirni znanstveni članek Primerjalna študija fizikalno mehanskih lastnosti tkanin v vezavah keper in atlas 33 Comparative Analysis of Physical and Mechanical Properties of Fabrics Woven in Twill and Sateen Weaves January 2010

More information

RF NiceRF Wireless Technology Co., Ltd. Rev

RF NiceRF Wireless Technology Co., Ltd. Rev - 1 - Catalog 1. Description...- 3-2. Features...- 3-3. Application...- 3-4. Electrical Specifications...- 4-5. Schematic...- 4-6. Pin Configuration...- 5-7. Antenna... - 6-8. Mechanical dimensions(unit:

More information

Merjenje in analiza glasnosti pri FM in DAB+ načinu oddajanja radijskih programov

Merjenje in analiza glasnosti pri FM in DAB+ načinu oddajanja radijskih programov Univerza v Ljubljani Fakulteta za elektrotehniko Urban Podgrajšek Merjenje in analiza glasnosti pri FM in DAB+ načinu oddajanja radijskih programov Diplomsko delo Mentor: izr. prof. dr. Matevž Pogačnik

More information

ZigBee Wireless Sensor Nodes with Hybrid Energy Storage System Based On Li-ion Battery and Solar Energy Supply

ZigBee Wireless Sensor Nodes with Hybrid Energy Storage System Based On Li-ion Battery and Solar Energy Supply ZigBee Wireless Sensor Nodes with Hybrid Energy Storage System Based On Li-ion Battery and Solar Energy Supply Chia-Chi Chang, Chuan-Bi Lin, Chia-Min Chan Abstract Most ZigBee sensor networks to date make

More information

802.11g Wireless Sensor Network Modules

802.11g Wireless Sensor Network Modules RFMProducts are now Murata Products Small Size, Integral Antenna, Light Weight, Low Cost 7.5 µa Sleep Current Supports Battery Operation Timer and Event Triggered Auto-reporting Capability Analog, Digital,

More information

Ojačevalnik WLAN-signala AVM Fritz!WLAN Repeater 450E

Ojačevalnik WLAN-signala AVM Fritz!WLAN Repeater 450E SLO - NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 10 93 074 www.conrad.si NAVODILA ZA UPORABO Ojačevalnik WLAN-signala AVM Fritz!WLAN Repeater 450E Kataloška št.: 10 93 074 Kazalo Simboli in poudarki... 3

More information