diplomska naloga - core · vmesnik, ki uporablja philips-ov saj1000 krmilnik. colibri evalution...

68
Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova ulica 17 2000 Maribor, Slovenija MARKO KARLOVČEC KOMUNIKACIJSKE POVEZAVE SENZORIKE NA INVALIDSKEM VOZIČKU DIPLOMSKA NALOGA MARIBOR, JANUAR 2014

Upload: others

Post on 16-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

Fakulteta za elektrotehniko,

računalništvo in informatiko

Smetanova ulica 17

2000 Maribor, Slovenija

MARKO KARLOVČEC

KOMUNIKACIJSKE POVEZAVE

SENZORIKE NA INVALIDSKEM VOZIČKU

DIPLOMSKA NALOGA

MARIBOR, JANUAR 2014

Page 2: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

I

Diplomsko delo visokošolskega študijskega programa

KOMUNIKACIJSKE POVEZAVE SENZORIKE NA

INVALIDSKEM VOZIČKU

Študent: Marko Karlovčec

Študijski program: visokošolski strokovni, Elektrotehnika

Smer: Avtomatika

Mentor: red. prof. dr. Riko ŠAFARIČ

Somentor: doc. dr. Suzana URAN

Maribor, Januar 2014

Page 3: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

II

Fakulteta za elektrotehniko, računalništvo in informatiko

Smetanova ulica 17 2000 Maribor, Slovenija

Page 4: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

III

ZAHVALA

Za pomoč pri opravljanju diplomske naloge se

zahvaljujem mentorju, prof. Riku Šafariču in somentorici

Suzani Uran. Hvala za usmerjanje in nasvete pri izdelavi

diplomske naloge. Zahvala je namenjena tudi staršem, ki

so mi omogočili izvajanje tega študija in mi stali ob

strani.

Page 5: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

IV

KOMUNIKACIJSKE POVEZAVE SENZORIKE NA

INVALIDSKEM VOZIČKU

Ključne besede: Ultrazvočni senzorji, Bluetooth WT12, CAN vodilo, colibri

evolution board, mobilna robotika

UDK: 681.521:007.5(043.2)

Povzetek

V diplomskem delu so opisane povezave senzorjev in ostalih modulov na invalidskem

vozičku. V začetku diplomskega dela sem opisal in predstavil strojno in programsko

opremo. Opisal sem tudi že obstoječe module ter njihovo povezovanje med seboj in

povezavo z računalnikom. Opisal sem CAN vodilo, saj preko njega so povezani in

komunicirajo vsi moduli. V nadaljevanju je opisan razvoj Bluetooth modula za brezžično

komunikacijo z osebnim računalnikom.

Page 6: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

V

SENSOR COMMUNICATION OF WHEELCHAIR

Keywords: Ultrasonic sensors, Bluetooth, WT 12, CAN BUS, colibri evolution board,

mobile robotics

UDK: 681.521:007.5(043.2)

Abstract

This diploma work presents a connection of sensors and other modules in a wheelchair. I

presented the hardware and software in the first part of the thesis. I described the existing

modules and their integration with each other and connection to a PC. I have described

the CAN bus, because all modules are connected and communicate through it. The

following of the thesys describes the development of a Bluetooth module for wireless

communication with a PC.

Page 7: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

VI

Kazalo

UPORABLJENE KRATICE ......................................................................................... VIII

1. UVOD ........................................................................................................................... 1

2. PREDSTAVITEV STROJNE IN PROGRAMSKE OPREME .............................. 3

2.1 OPIS INVALIDSKEGA VOZIČKA STORM3 EURO ....................................... 3

2.2 STROJNA OPREMA ............................................................................................. 4

2.2.1 Opis osnovne plošče COLIBRI EVALUTION BOARD Rev.2.1 .................... 4

2.2.1 Opis Colibri PXA320 modula ........................................................................... 6

2.3 PROGRAMSKA OPREMA ................................................................................... 8

2.3.1 Opis programske opreme Microsoft Visual Studio 2008 ................................ 8

2.3.2 Operacijski sistem Microsoft Windows CE 5.0 ................................................ 9

3. POVEZAVA ULTRAZVOČNIH SENZORJEV PREKO CAN VODILA .......... 14

3.1 CAN VODILO ....................................................................................................... 14

3.2 POVEZAVA MODULOV PREKO CAN VODILA .......................................... 17

3.2.1 Senzorski modul .............................................................................................. 20

3.2.2 Komunikacijski modul za sistem senzorjev .................................................... 23

3.2.3 Krmilni modul ................................................................................................. 27

3.3 PROGRAM ............................................................................................................ 28

3.3.1 Opis programa ................................................................................................ 28

3.3.2 Del programske kode ...................................................................................... 31

4. RAZVOJ BLUETOOTH MODULA ....................................................................... 34

4.1 OPIS BLUETOOTH KOMUNIKACIJE ............................................................ 34

4.1.1 Bluetooth varnost ............................................................................................ 35

4.1.2 Bluetooth verzije ............................................................................................. 36

4.2 BLUETOOTH WT12 ............................................................................................ 39

4.2.1 Programska podpora iWRAP ......................................................................... 41

4.2.2 Nastavitev iWRAP-a ....................................................................................... 43

4.3 NAČRT IN OPIS BLUETOOTH MODULA ..................................................... 44

5. TESTI ......................................................................................................................... 47

5.1 Testi Bluetooth povezave in senzorjev ................................................................. 47

5.2 Testi vožnje in rotiranja invalidskega vozička ................................................... 49

Page 8: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

VII

6. SKLEP ........................................................................................................................ 52

VIRI .................................................................................................................................... 53

PRILOGE ........................................................................................................................... 54

SEZNAM SLIK ................................................................................................................. 54

SEZNAM TABEL ............................................................................................................. 55

NASLOV ŠTUDENTA ...................................................................................................... 56

KRATEK ŽIVLJENJEPIS ............................................................................................... 56

Page 9: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

VIII

UPORABLJENE KRATICE

CAN Control Area Network, asinhrono področno serijsko vodilo,

ISO International Standardization Organization, Mednarodna organizacija za

standardizacijo,

OSI Open System Interconnection, odprt sistem notranjih povezav,

EDR Enhanced Data Rate, okrepljena podatkovna stopnja

GFSK Gaussian Frequency Shift Keying, Gaussov frekvenčni ključ

SPP Serial port profile, serijska profilna vrata

USB Universal Serial Bus, univerzalno serijsko vodilo

LCD Liquid Cristal Display, zaslon s tekočimi kristali

PIC Programmable Interface Controller, programirljiv mikrokrmilnik

SDRAM Synchronous dynamic random access memory, Sihroni dinamični bralno

pisalni pomnilnik

SODIMM Small Outline Dual In-line Memory Module, Majhen zunanji dvojni

spominski modul

EEPROM Electrically Erasable Programmable Read-Only Memory, električno

zbrisljiv in programirljiv bralni pomnilnik,

SD Secure Digital, digitalni izvor,

I/O Input/Output, vhod/izhod,

FTP Foiled twisted pair, parica,

VGA Video Graphics Array, analogni video računalniški standard,

UART Universal Asychronic Receiver/Transmitter, univerzalni asihroni serijski

sprejemnik in oddajnik,

ID Identification, identifikacija,

POS Point of Sale, blagajna.

Page 10: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

1

1. UVOD

V življenju se vse več srečujemo z ljudmi z omejenimi motoričnimi sposobnosti, ki so

zaradi različnih vzrokov postali vezani na invalidski voziček. Takrat se človeku življenje

dobesedno obrne na glavo. Poleg vseh zdravstvenih težav, ki jih ima motorično omejen

človek, se pojavijo še težave z dostopnostjo oziroma mobilnostjo. Življenje v invalidskem

vozičku prinaša torej številne ovire. Za boljše in kakovostno življenje teh ljudi, smo

prispevali tudi mi s tem projektom.

Projekt Dinamik se je začel razvijati leta 2003 in sicer na pobudo študentov. S tem

projektom smo poskušali, paraplegikom in tetraplegikom omogočiti, da bodo lahko

invalidski voziček opravljali z glasovnimi ukazi, ker za krmiljenje ne morejo uporabljati

svojih rok. Motivacija za razvoj dodatnih senzorskih modulov, njihove povezave ter

brezžične komunikacije je nastala iz želje po večji varnosti in izboljšavi trenutnega

sistema.

Za varno vožnjo invalidskega vozička skrbi celoten sistem vgrajen na invalidski

voziček. Sistem sestavljajo senzorji razporejeni po invalidskem vozičku, ki zaznavajo ovire

ter njihovo razdaljo. Vrednosti razdalj senzorji pošiljajo sistemu, ki skrbi za varnost in

vožnjo samega invalidskega vozička. Varnostni sistem poskrbi tudi za takojšno zaustavitev

vozička, če uporabnik spregleda oviro pred sabo oziroma v smeri vožnje in se oviri preveč

približa, se voziček nemudoma zaustavi in tako prepreči trčenje in poškodbe.

Diplomska naloga podaja celotni pregled sistema vgrajenega na invalidski voziček, ter se

nato opredeli na podrobnejšo razlago povezav modulov, na dodatno narejenih senzorskih

modulov preko CAN vodila in izdelave brezžične Bluetooth povezave.

Pri našem projektu invalidskega vozička bomo uporabili osnovno ploščo Colibri

Evaluation Board z PXA320 procesorskim modulom in programsko orodje Visual

Studio.NET 2008 v katerem bo napisan program za simulacijo govornih ukazov in prikaz

vrednosti senzorjev.

Page 11: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

2

Kratek pregled posameznih poglavij

V 1 poglavju uvoda je opisan problem tetraplegikov in namen projekta, kako

izboljšati kakovost njihovega življenja. Opisan je tudi način povezave senzorskih enot in

Bluetooth komunikacije.

V 2 poglavju opisujem predstavitev invalidskega vozička, ter uporabljeno strojno

in programsko opremo. Opisana je osnovna plošča Colibri Evaluation Board in njene

osnovne značilnosti ter modul Colibri XScale® PXA320. Opisano je tudi programsko

orodje Visual Studio.NET 2008 in programska oprema WinCE 5.0.

V 3 poglavju je opisana povezava ultrazvočnih senzorjev preko CAN vodila. Na

splošno je opisano CAN vodilo, ter sedem nivojev, ki so potrebni za uspešno

komunikacijo. V nadaljevanju je opisana CAN povezava in povezava med vsemi

vgrajenimi moduli na invalidskem vozičku. Opisan je tudi program za komunikacijo

sistema senzorjev in program na računalniku.

V 4 poglavju sem dal poudarek na Bluetooth komunikacijo, ter razvoj Bluetooth

modula za brezžično povezavo.

V 5 poglavju predstavljam test sistema senzorjev in Bluetooth komunikacije, na

kratko so opisani in prikazani rezultati. Testirali smo odzivnost invalidnega vozička pri

vožnji in rotiranju.

Page 12: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

3

2. PREDSTAVITEV STROJNE IN PROGRAMSKE OPREME

2.1 OPIS INVALIDSKEGA VOZIČKA STORM3 EURO

INVACARE je danes vodilni proizvajalec izdelkov za domačo zdravstveno nego, ki

pomagajo živeti življenje ljudem s posebnimi potrebami. Invalidski voziček Storm3 Euro

je eden od mnogih produktov podjetja Invacare, uporabili pa smo ga tudi v našem projektu.

Invalidski voziček Storm3 Euro je električni voziček, katerega poganjata dva motorja moči

220 W, ki se napajata iz dveh 12 V 70 Ah svinčenih akumulatorjev, vezanih zaporedno.

Invalidski voziček ima indikatorsko krmilno ročico s katero krmilimo voziček.

Slika 2.1 : INVACARE invalidski voziček Storm3 Euro

Page 13: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

4

2.2 STROJNA OPREMA

2.2.1 Opis osnovne plošče COLIBRI EVALUTION BOARD Rev.2.1

Colibri Evalution Board je proizvod Švicarskega podjetja Toradex, ki podpira celotno

kolekcijo SODIMM Colibri modulov. V našem projektu smo uporabili Colibri Evalution

Board Rev.2.1, ki za svoje delovanje potrebuje minimalno 7 V, oziroma maksimalno 24 V

enosmerne napetosti, omejene na minimalno 1A toka. Vgrajeno pa ima tudi zaščito

kratkega stika in zaščito za priključitev napačne polaritete vhode napetosti. Preko

standardnih priključkov lahko na Colibri Evalution Board priključimo različne uporabniške

vmesnike. Preko VGA priključka lahko priključimo standardni monitor ali pa preko

Touch-Screen priključka ekran na dotik. Tu sta tudi dva PS/2 priključka za priključitev

miške in tipkovnice, preko treh 3.5 mm priključkov pa lahko priključimo aktivne zvočnike,

slušalke ali mikrofon.

Slika 2.2 : Colibri Evalution Board blok diagram

Page 14: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

5

Za komunikacijo imajo uporabniki na voljo USB Host in Client, Ethernet 10/100Mb s

standardnim RJ45 priključkom, dva kanala RS232, IrDA serijski vmesnik in pa CAN

vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima

razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje dodatnih

naprav ali za dodatne funkcije v sistemu.

Slika 2.3 : Colibri Evalution Board Rev.2.1

Page 15: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

6

2.2.1 Opis Colibri PXA320 modula

Colibri PXA320 modul je SODIMM 200 nožni računalniški modul, ki temelji na Intelovi

Marvell XScale tehnologiji. PXA320 deluje na frekvenci 806 MHz z zelo malo porabo

električne energije. Poleg vgrajenega notranjega 1 Gbajta (8 bit) FLASH spomina in 128

Mbajt-ov SDRAM-a (32bit), lahko uporabimo številne formate pomnilniških kartic kot so,

kompaktne spominske PCMCIA kartice in SD kartice (SDIO, MMC) za shranjevanje

podatkov. Modul omogoča tudi povezavo z LCD monitorji do maksimalne resolucije

1024x768 pik, ter tudi povezavo 4 žičnih zaslonov na dotik.

Slika 2.4 : Colibri PXA320 blok diagram

Page 16: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

7

Colibri PXA320 modul omogoča direktno povezavo na CMOS/CCD slikovne senzorje. Za

predvajanje in snemanje zvoka poskrbi vgrajeni 16 bitni stereo kodek. Poleg vsega modul

poveča svoje komunikacijske zmogljivosti z 100 Mbitnim Ethernet vmesnikom in svojimi

USB vrati. Na voljo je tudi 16 bitno demultipleksirano sistemsko vodilo (DFI) za

razširitvene visoko pasovne vmesnike. Modul podpira različne operacijske sisteme kot so

WINCE, Enbedded Linux in QNX, vendar modul do kupca prispe z že naloženim

operacijskim sistemom WINCE 5.0 ali WINCE 6.0.

Slika 2.5 : Colibri PXA320 modul

Page 17: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

8

2.3 PROGRAMSKA OPREMA

2.3.1 Opis programske opreme Microsoft Visual Studio 2008

Visual Studio 2008 je Microsoftovo razvojno okolje, ki se uporablja v razvoju spletnih

aplikacij, ter aplikacij z grafičnimi vmesniki. Z integriranimi preprostimi oblikovalskimi

možnostmi, ga uporabljamo za razvoj namiznih in mobilnih okolij Windows, za platforme,

ki poganjajo Silverlight, Mono in .NET Framework, strežnike SQL serverje ter za spletno

okolje. Visual Studio omogoča integracijo s programskimi jeziki:

• Visual Basic,

• Visual C#,

• Visual C++,

• JavaScript,

• Visual F#.

Omogoča številne možnosti podpore ostalih programskih jezikov Phyton in Ruby, kot tudi

XML/XSLT, HTML/XHTML in CSS. Visual Studio 2008 ima svoje prednosti ki so:

• Rapid Application Development (hitri razvoj aplikacij) nudi možnost

razhroščevanja in kodiranja, prinaša izboljšan jezik, podatkovne funkcije, ki

pomagajo za velik preboj v produktivnosti.

• Team System 2008 (ekipni sistem 2008) je integrirana rešitev pri upravljanju

življenjskega cikla aplikacij, vključuje navodila, procese in orodja, s katerimi si

lahko vsak član ekipe izboljša svoja znanja in med seboj bolj učinkovito sodelujejo

in si s tem zmanjšajo čas za rešitev.

• Razvijalska platforma Sistema Office so orodja, ki omogočajo vizualno

oblikovanje ukaznih trakov, dodajanje in prilagajanje podoken z opravili, s tem si

lahko razvijalci razširijo obstoječe funkcionalnosti aplikacij Office. Prav tako lahko

izkoristijo oblikovanje ukaznih trakov v Microsoft Office ter dodajanje prilagojenih

podoken z opravili, s čimer razvijalci razširijo obstoječe funkcionalnosti aplikacij.

Page 18: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

9

2.3.2 Operacijski sistem Microsoft Windows CE 5.0

Windows CE 5.0 je Microsoftov operacijski sistem za mobilne naprave. Windows CE 5.0

je odprt, prilagodljiv 32- bitni večopravilni operacijski sistem, ki združuje napredne, realne

in zanesljive tehnologije. Sistem omogoča široko izbiro za izgradnjo naprav, ki so po

navadi ločene od drugih računalnikov, namenjene so specifični uporabi, zahtevajo majhen

operacijski sistem, s točno definiranimi odzivi na prekinitve.

Primeri teh naprav so:

� POS (ang. Point of Sale) terminali,

� komunikacijska vozlišča,

� industrijski krmilniki in tako naprej.

Windows CE vsebuje funkcionalnost, ki jo potrebujemo za izgradnjo, pri iskanju in

odpravljanju napak, ter pri naložitvi operacijskega sistema na po meri narejeno napravo.

Windows CE je bil zasnovan z željo in namenom, da bi ponudili sistem, ki upošteva

značilnosti vgrajenih sistemov. [1]

Glavne lastnosti Windows CE so:

� operacijski sistem je majhen,

� realno/časovna funkcionalnost,

� poraba sistemskega pomnilnika je majhna,

� prilagodljivost posamezni strojni opremi,

� varnost,

� hiter razvoj,

� sestavljen je iz velikega števila komponent, ki jih izberemo sami in vključimo v

operacijski sistem, ki ga želimo za napravo,

� široka podpora mikroprocesorjev (ARM, NEC, Philips,Toshiba MIPS, Motorola

PowerPC),

� nezahteven do strojne opreme,

� vgrajeni standardni komunikacijski protokoli,

� razširjena podpora naprav, kot so: tipkovnice, miške, zasloni na dotik, USB

naprave, mrežne naprave, modemi, zvočne naprave, tiskalniki, naprave za

shranjevanje podatkov.

Page 19: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

10

Windows CE definiramo kot tri različne tipe platform. Razlike so v stabilnosti in varnosti

sistema. [2]

Te platforme so:

� odprta platforma,

� zaprta platforma in

� polodprta platforma.

Odprta platforma

Najpogosteje Windows CE uporabljamo kot odprto platformo slika 2.6, kar pomeni da je

uporabniku vidna standardna lupina sistema Windows CE. Lahko izvajamo več aplikacij,

ki so pred nameščene ali pa jih uporabnik namesti sam.

Prednosti:

� maksimalna interakcija z uporabniki,

� dostop do sistemskih nastavitev,

� velika prilagodljivost.

Slabosti:

� nepravilne nastavitve konfiguracij končnega uporabnika,

� nalaganje dodatnih nekompatibilnih nezaželenih aplikacij.

Slika 2.6 : Primer Windows CE pri odprti platformi

Page 20: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

11

Zaprta platforma

Vedno več Windows CE uporabljamo kot zaprto platformo razvidno na sliki 2.7, kar

pomeni da je končnemu uporabniku glavno ogrodje sistema skrito in ni na voljo. Vsako

nameščanje novih aplikacij ni možno. V praksi so to raznorazni instrumenti, ki jih

uporabljamo v različne namene (od industrijskih krmilnikov do merilnih instrumentov).

Prednosti:

� pregledno, nadzorovano okolje,

� hiter in direkten dostop do končne aplikacije.

Slabosti:

� v dobro zasnovanem in zavarovanem sistemu, jih ne bi smelo biti.

Slika 2.7 : Primer Windows CE pri zaprti platformi

Polodprta platforma

Na sliki 2.8 je prikazan primer polodprte platforme. Polodprta platforma se v praksi

uporablja najmanj. Glavno ogrodje uporabniškega vmesnika je skrito. Iz aplikacije

glavnega okna lahko poganjamo večje število poljubno izbranih podprogramov. V praksi

se ta platforma pokaže kot zelo učinkovita, saj končnega uporabnika omejuje, vendar pa

ima kljub temu dostop do nekaterih sistemskih nastavitev.

Page 21: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

12

Prednosti:

� izvajamo lahko več aplikacij,

� dostop do končnih aplikacij je direkten,

� pregledno, nadzorovano okolje,

� možen dostop do sistemskih menijev.

Slabosti:

� v dobro zasnovanem in zavarovanem sistemu, jih ne bi smelo biti.

Slika 2.8 : Primer Windows CE pri polodprti platformi

Windows CE 5.0 ima na voljo 4 GB virtualnega naslovnega prostora. Njegovo največje

število procesov je 32. To je posledica ureditve pomnilnika, kjer ima jedro na voljo 2 GB

pomnilnika, uporabniški del pa je prav tako oskrbljen z 2 GB pomnilnika razvidno iz slike

2.9. Od tega je 1 GB skupnega pomnilnika, torej imajo vsi procesi skupaj 1 GB

navideznega pomnilnika. Pomnilnik je razdeljen na rezine po 32 MB pomnilnika, to

pomeni, da je vseh rezin 32. Vsakemu procesu pripada ena rezina, zato je največje možno

število procesov 32. Takšna struktura je bila zasnovana že pred nekaj leti in takrat je bilo

32 MB navideznega pomnilnika dovolj, za naprave, ki so takrat bile na tržišču. Za današnje

naprave ki so na tržišču pa bi lahko pomnilnik bil nekoliko večji, saj takšna ureditev

pomnilnika je na robu spremenljivega za današnje naprave. Windows CE 6.0 uvaja nov

Page 22: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

13

koncept, kjer so te omejitve odstranjene in bo zadostil potrebam mobilnih naprav za

naslednje generacije. [3]

Slika 2.9 : Ureditev pomnilnika v Windows CE 5.0

Page 23: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

14

3. POVEZAVA ULTRAZVOČNIH SENZORJEV PREKO

CAN VODILA

3.1 CAN VODILO

CAN vodilo (ang.Controller Area Network - področno omrežje krmilnikov) je patentiralo

in razvilo podjetje Robert BOSCH leta 1987 v Nemčiji. Vodilo CAN je sprejelo zelo

veliko proizvajalcev, kljub zelo veliki konkurenci. Danes pa je vodilo CAN zavzel glavni

omrežni sistem v skoraj vseh avtomobilističnih proizvodnjah. Izdelki uporabljajo CAN kot

dopolnilo z drugimi omrežnimi sistemi. Zaradi zanesljivih prenosov podatkov, integrirano

detekcijo napak in cenovno ugodne krmilnike, se dandanes uveljavlja tudi izven

avtomobilistične industrije. CAN vodilo je serijsko področno komunikacijsko omrežje, ki

je namenjeno za povezavo krmilnih modulov, aktuatorjev in senzorjev, ter ima nadzor in

diagnosticiranje procesov, ki delujejo v realnem času.

Glavne lastnosti CAN vodila:

� integrirana detekcija napak,

� zanesljiv in visok prenos podatkov (od 100 kbit/s do 1 Mbit/s),

� avtomatska sinhronizacija,

� velike dolžine komunikacijskega vodila ( do 1 km),

� kratka sporočila ( do 8 zlogov na sporočilo),

� dostopnost več nadzornih naprav na vodilo,

� naključni dostop na vodilo s postopkom izogibanja trkom (collision avoidance),

� optimizirano EMC (electromagnetic compatibility) obnašanje.

Implementacijo CAN v integrirani obliki razdelimo na osnovno CAN (Basic CAN) in

popolni CAN (Full CAN), razvidno na sliki 3.1.

Page 24: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

15

Slika 3.1 : Integrirana oblika CAN-a

Značilnosti osnovnega CAN modula:

� en sklad za pošiljanje,

� en sklad za sprejemanje,

� jedro procesorja in CAN modul sta v neposredni bližini integrirana,

� en filter za dohodna sporočila,

� potrebuje se programski postopek za izbiro med dohodnimi sporočili.

Značilnosti popolnega CAN modula:

� filtriranje dohodnih sporočil je razširjeno,

� prostor za sporočila je odvisen od proizvajalcev,

� izveden strežnik (server) za sporočila,

� razširjena prepoznava napak,

� nastavljivi poštni nabiralniki-mailbox-i.

Vodilo CAN nudi cenovno ugodno in trpežno omrežje, ki pomaga CAN napravam pri

medsebojni komunikaciji. Procesor ima en sam vmesnik (CAN), ki omogoča komunikacijo

z ostalo periferijo ( kot so npr. senzorji, aktuatorji in drugi moduli) in ne uporablja svojih

I/O enot (analognih in digitalnih) pri komunikaciji z ostalimi napravami v sistemu. To je

tudi največja prednost CAN vodila. V avtomobilski industriji to pomeni zmanjšanje

stroškov in teže v avtomobilih.

Page 25: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

16

Slika 3.2 : Prednosti pri CAN vodlu

CAN vodilo je ISO (International Standardization Organization) definirano serijsko vodilo

za komunikacijo in opisuje potovanje informacij med napravami in omrežjem v skladu z

OSI (Open System Interconnection), ki je 7 plastno definiran. Pri uspešni komunikaciji

zadostujejo le tri plasti. To so prva fizični plast, druga podatkovna plast in sedma

aplikacijska plast.

� Fizična plast: Razdelimo jo lahko na tri podplasti: PLS, MDI in PMA podplast.

PLS (Physical Signaling) izvaja bitno kodiranje in dekodiranje, ter izvaja bitno

časovno usklajevanje. MDI (Medium Dependent Interface) nadzoruje priključke.

PMA (Physical Medium Attachment) pa prevzema karakteristike gonilnikov.

� Podatkovni nivo: Njegova naloga je, da zagotavlja varni prenos podatkov med

napravami, ki komunicirajo v enakem fizičnem nivoju. Pri tem pa ves čas ugotavlja

napake pri procesu in jih odpravlja ter izvršuje nadzor nad sprejemanjem in

oddajanjem. Prav tako pa upravlja dostop do prenosnega medija. Podatkovni nivo

pa delimo še na krmilno logično povezavo LLC in MAC. LLC (ang. Logical Link

Control) filtrira sporočila, javlja preobremenite in upravlja Wake-up (oživetje).

MAC (ang. Media Access Control) pa poskrbi za okvirjanje podatkov, iskanje

napak, javljanje napak, potrjevanje sporočil, serijsko paralelno pretvorbo in

krmiljenje dostopa do vodil. MAC je protokol v CAN komunikacijski strukturi in

bazira na CSMA/CA (ang. Carrier Sense Multiple Access with Collision

Avoidance) mehanizmu ki poskrbi za izogibanje trkov, zaznavanje nosilcev in

večkratni dostop.

Page 26: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

17

� Aplikacijski nivo: Tukaj se naredijo komunikacijske povezave z aplikacijskim

protokolom višjega nivoja. Aplikacijska plast vsebuje programe, ki so zadolženi za

podatkovno izmenjavo med aplikacijami in komunikacijo. Služi kot vmesnik med

lokalnimi procesi in programi ter po informacijskimi viri porazdeljenimi po

omrežju. [15]

Slika 3.3 : OSI referenčni model

3.2 POVEZAVA MODULOV PREKO CAN VODILA

Na invalidskem vozičku je celotni sistem senzorjev (senzorskih modulov) in krmilnih enot

povezanih preko CAN vodila. Za to povezavo smo se odločili zato, ker smo morali med

seboj povezati več modulov in oddajne periferije, ter zagotoviti odziv v realnem času.

CAN vodilo nam to omogoča, saj ima dostopni čas do vodila za spreminjanje podatkov

nekje okoli 100 µs. Senzorske enote, komunikacijski modul sistema senzorjev, krmilna

enota in Bluetooth modul so med seboj povezani z FTP (foiled twisted pair) kablom. Preko

FTP kabla poteka CAN komunikacija med moduli, hkrati pa se moduli preko njega

napajajo. CAN vodilo je na vsakem koncu zaključen z uporom upornosti 120 Ohm to je

razvidno na sliki 3.4. Napetostni nivojni signal je omejen na 5 V in omogoča visoko

odpornost na različne motnje.

Page 27: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

18

Slika 3.4 : CAN vodilo

Page 28: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

19

Slika 3.5 : Shema povezav modulov na invalidskem vozičku

Page 29: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

20

3.2.1 Senzorski modul

V našem projektu smo uporabili 12 senzorskih modulov za zaznavanje ovir okoli

invalidnega vozička. Na začetku je bilo na vozičku vgrajenih le šest modulov z SRF04

senzorji, kar pa je bilo premalo da bi zagotovili popolno varnost okoli celotnega

invalidskega vozička. Zato smo dodatno izdelali še šest senzorskih modulov vendar tokrat

z SRF08 ultrazvočnimi ( v nadaljevanju UV) senzorji. UV senzorja sta med seboj dokaj

enaka, vendarle je SRF08 korak pred svojim predhodnikom, saj ima veliko manjšo

energijsko porabo, njegov doseg in kot žarka pa bistveno večji. Poleg vsega pa SRF08

podpira komunikacijo preko I2C vodila.

Ultrazvočni senzor SRF04:

� napajalna napetost: 5V,

� tok: 30mA Tipično 50mA maksimalno,

� frekvenca: 40 kHz,

� maksimalni doseg: 300 cm,

� minimalni doseg: 3 cm,

� občutljivost: 3cm na > 2 m,

� vzbujalni pulz: 10µS Min. TTL signal,

� dimenzije: 43 mm x 20 mm x 17 mm.

Slika 3.6 : SRF04 ultrazvočni senzor

Page 30: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

21

Ultrazvočni senzor SRF08:

� napajalna napetost: 5V,

� tok: 15mA Tipično 3mA Stanje pripravlenosti,

� frekvenca: 40 kHz,

� maksimalni doseg: 600 cm,

� minimalni doseg: 3 cm,

� občutljivost: 3cm na > 2 m,

� vzbujalni pulz: 10µS Min. TTL signal,

� povezava: I2C standard,

� dimenzije: 43 mm x 20 mm x 17 mm.

Slika 3.7 : SRF08 ultrazvočni senzor

Page 31: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

22

Naš senzorski modul vsebuje poleg UV senzorja še srce modula Microchip-ov

mikrokrmilnik PIC18F458 (v nadaljevanju PIC) in pretvornik MCP2551, ki služi kot

oddajno sprejemna enota za CAN vodilo. V vsakem PIC-u je definiran filter z določenimi

naslovi posamezne senzorske enote. Ti filtrirajo sporočila in sprejmejo le sporočila, ki so

namenjena tej senzorski enoti, oziroma sprejme sporočilo z enakim določenimi naslovi, kot

jo ima senzorska enota. Senzorski modul deluje tako, da PIC neprestano preverja sporočila,

ki potujejo po CAN vodilu. Ko preko filtra zazna sporočilo, ki je namenjeno njemu,

preveri vrednost UV senzorja. UV senzor v tem času ko PIC čaka na sporočilo neprestano

zaznava razdaljo do ovire in jo pretvarja v razrede, ki jih pošilja do PIC-a. Ko PIC prebere

vrednost UV senzorja oziroma razred oddaljenosti, ga preko pretvornika MCP2551 pošlje

na CAN vodilo, do glavnega komunikacijskega modula, od koder je tudi zahtevano

sporočilo prispelo.

Slika 3.8 : Senzorski modul

Page 32: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

23

3.2.2 Komunikacijski modul za sistem senzorjev

Komunikacijski modul je glavna enota v sistemu senzorjev, ki skrbi za komunikacijo med

senzorskimi moduli in računalnikom. Komunikacijski modul vsebuje glavni PIC, ki

poskrbi za glavno komunikacijo. Vgrajeno je tudi RS232 vodilo, preko katera PIC

komunicira z računalnikom. Oddajno sprejemna enota MCP2551 pa poskrbi za

komunikacijo po CAN vodilu. PIC pošilja sporočila v neskončni zanki vsakemu

senzorskemu modulu posebej in od njega zahteva odgovor. Ko dobi zahtevani odgovor

ponovno pošlje sporočilo naslednjemu senzorskemu modulu in tako naprej. Vsako

sporočilo ki ga glavni PIC pošlje, vsebuje ustrezni naslov, tako da lahko posamezni

senzorski modul prepozna katero sporočilo je namenjeno njemu oziroma ni namenjeno. V

odgovorih ki jih sprejme od PIC-ev senzorskih modulov se nahaja ID (identifikacijsko

število) sporočila in podatki, ki so bili odčitani iz senzorja. Glavni PIC prebere ID in

podatke iz senzorja, ter jih skupaj pošlje preko RS232 vodila na računalnik. Obe vrednosti

sporočil je potrebno pošiljati skupaj, da ne pride do napačne razlage poslanih podatkov. Da

pa si PIC-i nebi sami sebi pošiljali sporočila, smo morali poslane ID-je definirati različno

od filtrov senzorskih PIC-ev. Sistem senzorjev ima tudi varnostno funkcijo za

preprečevanje trkov invalidskega vozička z oviro. Če senzorski modul pošlje vrednost

senzorja 33, kar pomeni da je ovira od vozička oddaljena manj kot 10 cm, se voziček

avtomatsko ustavi. Varnostna funkcija ima prednost pred vsemi ostalimi ukazi.

Slika 3.9 : Senzorski komunikacijski modul

Page 33: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

24

Mikrokrmilnik PIC18F458

Na vseh modulih so vgrajeni Microchipovi mikrokrmilniki PIC18F458. Za ta PIC (ang.

Programmable Interface Controller) smo se odločili predvsem iz razloga, ker ima vgrajen

modul za CAN vodilo. PIC v svojem integriranem vezju skriva procesno enoto (CPE),

programski pomnilnik, podatkovni pomnilnik in vhodno/izhodne naprave. Njegovo

uporabnost pa določa vanj vpisani program.

OSNOVNE LASTNOSTI PIC18F458:

� vsebuje notranji 4MHz do 10MHz oscilator,

� napajalna napetost 5V,

� maksimalna frekvenca zunanjega oscilatorja je 40 MHz,

� vsebuje 32 kbajtov programskega polnilnika FLASH, 16384 bajtov podatkovnega

pomnilnika, 1536 bajtov pomnilnika SRAM, 265 bajtov električno izbrisljivega

pomnilnika (EEPROM),

� 33 vhodno izhodnih priključkov, ki jih programsko krmilimo (PORT A, B, C, D, E),

� ima 8 analognih vhodov za analogno digitalno pretvorbo,

� podpira sinhrone in asinhrone I2C, RE232, SPI vmesnike,

� CAN modul ( podpira CAN 2.0B, hitrost vodila sega do 1 Mb/s, ima 6 popolnoma

nastavljivih 29 bitnih filtrov, prioritete za sprejemne filtre, 29 bitno identifikacijsko

polje, 8 bajt-no dolgo sporočilo, vsebuje dva sprejemna pomnilnika in tri oddajne

pomnilnike s prioritetami).

Slika 3.10 : Razporeditev priključkov PIC-a v PDIP ohišju

Page 34: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

25

Oddajno sprejemna enota MCP2551

Mikrokrmilnik PIC potrebuje za komunikacijo po CAN vodilo še vmesno enoto za

prilagoditev signala vodilu CAN. V našem primeru je to Microchipova oddajno sprejemna

enota MCP2551. MCP2551 ima prenos podatkov do hitrosti 1 Mb/s in je lahko povezan z

maksimalno 112 vozlišči. Napetostni nivo CANH in CANL pa se lahko povzpne do ±42 V.

Na vseh priključkih pa ima tudi zaščito pred visokonapetostnimi viri do 4kV, na CANH in

CANL priključkih pa kar do 6kV. MCP je priključen med PIC i CAN vodilo. Na eni strani

komunicira z PIC-em preko RXD in TXD priključkov. Na drugi strani pa z CAN vodilom

preko CANH in CANL priključkov.

Slika 3.11 : Razporeditev priključkov MCP2551 v PDIP ohišju

Page 35: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

26

Izhodna priključka sta CANH in CANL. Vsak izhod ima med komunikacijo lahko

dominantno stanje ali recesivno stanje. Za dominantno stanje na izhodu, pripeljemo na

vhodni priključek TXD logično '0', za recesivno stanje pa na vhodni priključek RXD

pripeljemo logično '1'.

Slika 3.12 : Dominantna in recesivna stanja CAN vodila

Page 36: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

27

3.2.3 Krmilni modul

Krmilni modul simulira krmilno palico na invalidnem vozičku in generira potrebne signale

za krmiljenje vozička. Modul je sestavljen iz PIC mikrokrmilnika, MCP2551 oddajno

sprejemne enote in štirih digitalnih potenciometrov v dveh integriranih vezjih DS1868. PIC

komunicira preko CAN vodila z komunikacijskem modulom sistema senzorjev in hkrati

pošilja podatke integriranima vezjema DS1868 in vozičku. Vsako integrirano vezje ima v

sebi dva digitalna potenciometra, s katerimi se generirajo signali napetostnih nivojev za

krmiljenje vozička. Generirane signale PIC pošilja invalidnemu vozičku, s katerimi ga

krmili. Na sliki 3.13 je viden krmilni modul, na sliki 3.14 pa diagram priključkov

integriranega vezja DS1868.

Slika 3.15 : Razporeditev priključkov DS1868 v PDIP ohišju

Slika 3.16 : Krmilni modul

Page 37: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

28

3.3 PROGRAM

3.3.1 Opis programa

Program je napisan v programskem jeziku C# v Microsoft-ovem programskem okolju

Visual Studio 2008. Program komunicira z invalidskim vozičkom preko Bluetooth

brezžične povezave in na eni strani prikazuje vrednosti senzorjev razporejenih po vozičku,

na drugi strani simulira govorne ukaze kot so NAPREJ, NAZAJ in ostali ukazi. Program je

dokaj enostaven za uporabnika. Ko odpremo program, najprej v zgornjem levem kotu v

polju RS232 Nastavitve izberemo ustrezna COM vrata preko katerih bomo komunicirali v

okencu Vrata. V okencu Baud Rate pa vpišemo hitrost prenosa v našem primeru 57600

zlogov na sekundo in s klikom na gumb Open odpremo vrata in se povežemo z

invalidskem vozičkom. V primeru da so vse nastavitve kot morajo biti, se v spodnjem

levem polju Senzorji, začnejo izpisovati razredi vsakega senzorja posebej v svojem

okencu. Razredi senzorjev so vidni v tabeli 3.1. Če želimo prekiniti povezavo ali

spremeniti bodisi vrata ali hitrost prenosa, s klikom na gumb Close prekinemo povezavo in

zapremo vrata COM. V zgornjem desnem kotu se nahaja polje Ukazi in hitrost premika.

Tukaj lahko v prvem okencu izbiramo hitrost vozička med 1,2 in 3. V spodnjem delu pa

preko gumbov Naprej, Nazaj, Levo, Desno, Stop in ostalih, simuliramo govorne ukaze in

invalidnemu vozičku pošiljamo Hex vrednosti, ki so določene za posamezne ukaze. V

tabeli 3.2 so vidne Hex vrednosti ukazov za vodenje. Za ekipo iz Bosne in Hercegovine, ki

je sodelovala v projektu pa smo dodali v program še dve funkcije. Funkcijo za rotiranje

vozička za poljubni kot in funkcijo za vožnjo vozička naravnost, za rotiranje v levo in

desno, za nek določeni čas. Zgoraj v polju Rotiraj za [°], lahko vpišemo poljubni kot v

stopinjah in z klikom na gumb Rotiraj v levo ali Rotiraj v desno poženemo voziček v

rotiranje za vpisani kot. V spodnjem desnem kotu pa je okence Čas [ms], v katerega

vpišemo želeni čas vožnje ali rotiranja v ms.

Page 38: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

29

Slika 3.17 : Začetno okno programa

Page 39: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

30

Razred Razdalja od (cm)

Razdalja do (cm)

33 0 10

1 10 20

2 20 30

3 30 40

4 40 50

5 50 60

6 60 70

7 70 80

8 80 90

9 90 100

10 100 120

11 120 140

12 140 160

13 160 180

14 180 200

15 200 250

66 250 300

Tabela 3.2 : Tabela razredov senzorja

IME UKAZA HEX KODA UKAZA

NAPREJ 0x01

NAPREJ + LEVO 0x05

NAPREJ + DESNO 0x09

LEVO 0x08

DESNO 0x04

NAZAJ 0x02

NAZAJ + LEVO 0x0A

NAZAJ + DESNO 0x06

STOP 0x00

Tabela 3.3 : Ukazne komande v Hex

Page 40: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

31

3.3.2 Del programske kode

Spodaj je prikazan del programske kode napisane v c#, kjer se nastavljajo parametri za

serijsko komunikacijo. V nadaljevanju je prikazana funkcija za branje vrednosti senzorjev

in izpis razredov v določeno okence, ter funkcija za izbiro in določitev rotacije v levo in

desno za nek želeni kot.

namespace VozicekWinHelp { public partial class Form1 : Form { //deklaracija spremenljivk SerialPort SerPort; bool zaustavljen; byte Speed; System.Timers.Timer aTimer = new System.Timers.Timer(); int WritePointer = 0; int ReadPointer = 0; byte[] RS232Data = new byte[512]; bool Free = true; public delegate void OnRxCallback(); OnRxCallback ClB; public Form1() { InitializeComponent(); } // Odpiranje in povezovanje z serijskimi vrati private void button1_Click(object sender, EventArgs e) { //izbira hitrosti prenosa int BdRate = Convert.ToInt32(textBox2.Text);

//izbira serijskih vrat string Port = textBox1.Text; //Nastavitev parametrov za serijskopovezavo SerPort = new SerialPort(Port, BdRate, System.IO.Ports.Parity.None, 8); SerPort.ReadBufferSize = 1024; SerPort.ReceivedBytesThreshold = 12; ClB = new OnRxCallback(PassingData); SerPort.DataReceived +=new SerialDataReceivedEventHandler(SerPort_DataReceived); //odpri serijska vrata SerPort.Open(); }

Page 41: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

32

//Funkcija za branje vrednosti ki prihajajo iz senzorjev void PassingData() { Free = false; while (ReadPointer != WritePointer) { int Naslov = (int)RS232Data[ReadPointer]; //Deklarira se Naslov //If zanka za prverjanje naslovov senzorjev if (Naslov > 99)

{ switch (Naslov) { //Vpisovanje vrednosti senzorjev v okenčke z istimi naslovi case 110: //Senzor 1 textBox7.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 120: //Senzor 2 textBox4.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 130: //Senzor 3 textBox6.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 140: //Senzor 4 textBox9.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 150: //Senzor 5 textBox5.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 160: //Senzor 6 textBox6.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 170: //Senzor 7 textBox8.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 0x52: //Senzor 8 textBox10.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 0x53: //Senzor 9 textBox11.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 0x54: //Senzor 10 textBox12.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 0x55: //Senzor 11 textBox13.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; case 0x56: //Senzor 12 textBox14.Text = Convert.ToInt16(RS232Data[((ReadPointer + 1) % RS232Data.Length)]).ToString(); break; } }

Page 42: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

33

ReadPointer = ((ReadPointer+1)% RS232Data.Length); } Free = true; } //Zapiranje serijskih vrat private void button2_Click(object sender, EventArgs e) { if (SerPort != null) { SerPort.Close(); //zapri serijska vrata } SerPort = null; } //Funkcija za rotiranje v desno private void btnRotacija_Click(object sender, EventArgs e) { //milisekund potrebnih za rotiranje 1° double rotdesno = 97.333333;

aTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent); //Preveri za koliko ° se zarotiraj aTimer.Interval=rotdesno*System.Convert.ToDouble(txtRotacija.Text); aTimer.Enabled=true; // Začetek rotiranja byte Speed = GetSpeedFromBox(); //Preberi kakšna hitrost je nastavljena SendDataToPIC(0x04, Speed); //PIC-u pošji smer in hitrost } private void OnTimedEvent(object source, ElapsedEventArgs e) { //Zaostavitev rotiranja SendDataToPIC(0x00, 0x00); //PIC-u pošji ukaze za zaustavitev SendDataToPIC(0x00, 0x00); } //Funkcija za rotiranje v levo private void button12_Click(object sender, EventArgs e) { double rotlijevo = 85.111111; //milisekund potrebnih za rotiranje 1° aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); //Preveri za koliko ° se zarotiraj aTimer.Interval = rotlijevo * System.Convert.ToDouble(txtRotacija.Text); aTimer.Enabled = true; // Začetek rotiranja byte Speed = GetSpeedFromBox(); //Preberi kakšna hitrost je nastavljena SendDataToPIC(0x08, Speed); //PIC-u pošji smer in hitrost }

Page 43: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

34

4. RAZVOJ BLUETOOTH MODULA

Za izvajanje samih testov senzorjev in vozička smo uporabili program na osebnem

računalniku, preko katerega smo simulirali ukaze za vožnjo invalidskega vozička. Program

je preko RS232 povezave pošiljal komandne ukaze vozičku. Vendar tu se je pojavil

problem, saj je do sedaj povezava potekala žično. Takšen način ni bil ravno praktičen, ker

je uporabnik ves čas moral tekati za vozičkom. Zato smo naredili brezžično Bluetooth

povezavo za komunikacijo med osebnim računalnikom in vozičkom.

4.1 OPIS BLUETOOTH KOMUNIKACIJE

Bluetooth je brezžična komunikacija namenjena medsebojnemu povezovanju naprav kot

so:

� računalniki,

� dlančniki,

� mobillni telefoni,

� tiskalniki.

Tehnologija Bluetooth deluje na radijski zvezi majhne oddajne moči in deluje po principu

preskakovanja med posameznimi frekvenčnimi kanali (frequency hopping). Uporabljeno je

frekvenčno območje v območju od 2.4 do 2.48 GHz in je v ISM frekvenčnem območju.

Glavni namen za razvoj Bluetooth brezžične tehnologije je univerzalen in standardiziran

način brezžičnega povezovanja naprav pri majhnih razdaljah. Bluetooth omogoča

izgradnjo majhnih zasebnih omrežij (piconet), ki se vzpostavljajo po želji (ad-hoc

networking). Piconet-piko omrežje je enostavno omrežje sestavljeno iz več Bluetooth

naprav, ki se samodejno povežejo med seboj. Pri tem pa ena naprava vzame vlogo

gostitelja (master, nadrejena naprava), ostale naprave pa vlogo gosta (slave, podrejena

naprava). V enem piconet omrežju je lahko največ 8 naprav, to pomeni maksimalno sedem

gostov in en gostitelj, razvidno na sliki 4.1. Več piconet omrežij se lahko poveže tudi v

razpršeno omrežje (scatternet). Scatternet je razpršeno omrežje in povezava največ 80

Bluetooth naprav v eno omrežje. Pri tem je lahko povezanih največ 10 piconet omrežij.

Ena sama naprava je podrejena (slave) v več piconet omrežij, ali pa je lahko v enem

Page 44: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

35

piconet omrežju podrejena, v drugem pa nadrejena (master). Ena naprava ne more biti

istočasno nadrejena v več piconet omrežjih. [4]

Slika 4.1 : Primer Bloutooth master/slave piconet omrežja

4.1.1 Bluetooth varnost

Bluetooth podpira več stopenj varnosti:

� bluetooth napravo je mogoče narediti nevidno,

� izmenjava ključev med napravami med samim povezovanjem,

� hitra menjava frekvenc (1600- krat na sekundo se zamenja frekvenca),

� vzpostavljena zveza je zaščitena z največ 128- bitno enkripcijo,

� doseg naprav je odvisen od razreda bluetooth naprave:

Page 45: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

36

Tabela 4.1 : Razredni doseg Bluetooth naprave

4.1.2 Bluetooth verzije

� Bluetooth 1.0 in 1.0B:

Bluetooth verziji 1.0 in 1.0B sta bili prvi verziji in zato je bilo tudi veliko napak.

Proizvajalci so imeli kar nekaj težav pri ustvarjanju naprav, ki bi bile združljive med seboj.

� Bluetooth 1.1:

Napake pri različici 1.0B so bile odpravljene, dodana je podpora za nekriptirane kanale.

Bluetooth 1.1 je retificiran kot IEEE Standard 802.15.1-2002. In z RSSI (Received

Strength Indicator).

� Bluetooth 1.2:

Ta različica je kompatibilna s prejšno 1.1 verzijo. Njene glavne lastnosti so,da nudi hitrejše

povezovanje in iskanje, ima HCI (Host Controller Interface), ki je podpora za three-wire

UART, je ratificiran kot IEEE standard 802.15.1-2005, ima AFM (Adaptive frequency-

hopping spread spectrum), kar pomeni, da izboljša odpornost na interference radijskih

frekvenc, tako da se izogne uporabi zgostitvi frekvenc v skakajočem zaporedju, dodana je

tudi kontrola pretoka (Flow Control) in Retransmiission za L2CAP.

Page 46: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

37

� Bluetooth 2.0:

Različica 2.0 je bila ponujena na trg 10. Novembra 2004 in je kompatibilna s prejšnjo

različico 1.2. Glavna razlika med njima je v EDR-ju (Enhanced Data Rate), ki omogoča

hitrejši prenos datotek. Hitrost EDR-ja je okrog 3 Mbit/s, v praksi pa doseže okrog 2.1

Mbit/s. Večjo prepustnost se doseže z uporabo drugačne radijske tehnologije za prenos

datotek. Ta različica za doseganje standardne hitrosti uporablja GFSK (Gaussian

Frequency Shift Keying) modulacijo radijskega signala. EDR uporablja kombinacijo PSK-

ja (Phase Shift Keying modulation) in GFSK-ja z dvema verzijama π/4-DQPSK in 8DPSK.

Prednosti EDR-ja so, da je zmanjšana kompleksnost pri več simultanih povezavah zaradi

večje prepustnosti, trikratna prenosna hitrost (možna tudi 10 kratna-2.1 Mbit/s) in ima

manjšo porabo moči.

� Bluetooth 2.1:

Verzija Blotooth-a 2.1 je bila ponujena na trg 26. julija 2007 in je združljiva s prejšnjo

različico. Glavne prednosti te različice so:

� EPR (Encryption Pause/Resume) gostitelj ni obveščen o menjavi

enkripcijskega ključa, sam Bluetooth krmilnik zagotavlja, da ni nobenih

nekriptiranih prenesenih podatkov, v času ko se ključ osvežuje,

� Sniff subrating zmanjšuje porabo električne energije, kadar je naprava

neaktivna, najbolj se to opazi pri tipkovnicah in miškah, kadar so

neaktivne, saj se zmanjša poraba energije vsaj za faktor 5 ali več,

� EIR (Extended Inquiry Response) zagotovi informacije o napravi med

samim iskanjem, omogoča filtriranje naprav, še preden se poveže z

njimi. Informacije vsebujejo ime naprave, ter podatke o proizvajalcu

naprave,

� NFC (Near Field Communication) je način za izmenjavo informacij med

napravami. Na voljo je NFC radijski vmesnik, ki se samodejno

vzpostavi varna Bluetooth povezava. Uporabi se kadar sta napravi nekaj

centimetrov blizu druga drugi.

Page 47: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

38

Bluetooth 3.0:

Različica 3.0 je bila izdana na trg 21. aprila 2009. Glavna prednost te različice je uporaba

AMP-ja (Alternative MAC/PHY), ki za prenos podatkov uporablja protokol 802.11. Za

vzpostavljanje varne povezave in konfiguracijo profila, se tudi v tej verziji še vedno

uporablja Bluetooth Radio, ko je naprava v mirovanju. Ko pa želimo poslati večjo količino

podatkov, pa se uporabi AMP oziroma Wi-fi.

Bluetooth 4.0:

Bluetooth 4.0 je trenutno predzadnja najnovejša verzija imenovana tudi Bluetooth Smart in

je bila ponujena na trg 30 junija 2010. Najnovejša verzija Bluetoth 4.0 je dramatično boljša

različica kot pa njena predhodnica Bluetooth 3.0. Od napredkov, ki jih je podedovala od

Bluetooth 3.0 so hitrost prenosa podatkov, ki segajo vse do 24 MB/s in nekaj ostalih

značilnosti. Bluetooth 4.0 se lahko pohvali z najnovejšo noviteto BLE (Bluetooth low

energy), saj je bil izdelan z namenom zmanjšanja porabe energije. To so uspeli narediti na

način, da kadar naprave ne izmenjujejo večjo količino podatkov preskočijo v način

mirovanja, kjer porabljajo minimalno količino energije. V primeru ko naprave morajo

intenzivno izmenjevati večno količino podatkov, Bluetooth preskoči v normalni način

delovanja, kjer še zmeraj porabi veliko manj energije kot pa predhodne različice

Bluetootha. [5]

Bluetooth 4.1:

Konzorcij Bluetooth Special Interest Group, ki se ukvarja s pripravo in potrjevanjem

standardov za tehnologijo Bluetooth je uradno potrdil novo verzijo Bluetootha 4.1. Pri tej

različici gre za nadgradnjo predzadnjega Bluetootha Smarta 4.0. Glavna lastnost pri

najnovejši verziji je ultranizka poraba energije in nižja hitrost prenosa. Bluetooth 4.1 nudi

neposredno komunikacijo med napravami, ki potekajo preko IP protokola, s tem pa uvaja

namenski kanal med napravami (dedicated channel). Spremembe v tej verziji so izključno

na programski ravni, kar omogoča da se lahko naprave s podporo Bluetooth 4.0 oddaljeno

nadgradijo na nov standard 4.1. Opazi se izboljšano sodelovanje med napravami,čas

ponovnega povezovanja pa je tudi nižji. [6]

Page 48: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

39

4.2 BLUETOOTH WT12

Za naš namen smo izbrali cenovno ugoden in zmogljiv Bluetooth modul WT12

proizvajalca BlueGiga Technologies. Govorimo o WT modelih kateri bazirajo na izbrani in

vgrajeni programski podpori (ang. firmware), katera implementira del ali pa celotni

Bluetooth protokol. Izbrali smo iWRAP verzijo vgrajene programske podpore, katera

implementira celotni Bluetooth protokol in podpira SPP (ang. Serial port profile).

Implementacija protokola je skrita od uporabnika in se lahko do nje dostopa le preko

ponujenih vmesnikov USB in UART.

OSNOVNE LASTOSTNOSTI WT12 MODULA:

� napajalna napetost 3.3V,

� Bluetooth verzija 2.1 + EDR,

� prenos podatkov sega vse do 3 Mbs),

� frekvenca delovanja od 2.402 GHz do 2.480 GHz,

� oddajna moč +3dBm,

� občutljivost -86dBm,

� razdalja dometa do 20 m, razred 2

� TX in RX izvršilni tok 70 mA,

� poraba energije pri podatkovnem prenosu pri 115200kbps je 30 mA,

� poraba energije v stanju pripravljenosti 40µA

� antena integrirana na modulu,

� avdio vmesnik PCM,

� 6 vhodno izhodnih programirljivih priključkov (GPIO),

� 8 Mbajt-ov pomnilnika FLASH,

� velikost modula 26 x 14 x 2.3 mm.

Page 49: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

40

Slika 4.2 : Razporeditev priključkov WT12 modula

Bluetooth protokol je večnamenski in podpira več različnih načinov delovanja. Zaradi tega

so tudi definirani različni Bluetooth profili, kateri opisujejo na kakšen način bosta dve

napravi medsebojno komunicirali. Da bi dve napravi medsebojno lahko pravilno

komunicirali, morajo imeti podprt isti profil. Za naše namene smo se odločili za osnovni in

v praksi največkrat uporabljeni SPP (ang. Serial port profile) profil. Naprave v tem profilu

bodo prepoznale Bluetooth komunikacijo kot virtualna serijska vrata VCP (engl. Virtual

COM Port). V tem profilu Bluetooth povezava simulira kabelsko RS232 povezavo.

Slika 4.3 : Primer SPP povezave

Page 50: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

41

4.2.1 Programska podpora iWRAP

Programska podpora iWRAP firmware se nahaja na samem vrhu Bluetooth protokola,

vendar je skrita za uporabnika. Do nje se lahko dostopa preko UART (ang. Universal

Asynchronous Receiver/Transmitter) vmesnika. IWRAP lahko deluje v enem od dveh

načinov dela: v podatkovnem ali komandnem načinu. V privzetem načinu se nahaja v

komandnem načinu delovanja, v katerem ga lahko upravljamo in nastavljamo tako, da mu

pošiljamo ASCII ukaze preko serijske RS232 povezave. V tem načinu ga bomo tudi mi

uporabljali in nastavili. Ukazov za nastavitve in upravljanje iWRAP-a je veliko zato bom v

nadaljevanju opisal le tiste, katere smo uporabili v našem primeru. V tabeli 4.2.1.1: so

vidne privzete nastavitve iWRAP-a.

Hitrost prenosa (zlogov na

sekundo)

115200

Podatkovni biti 8

Parnost brez

Zaključni bit 1

Nadzor pretoka omogočeno

Tabela 4.2 : Privzete nastavitve iWRAP-a

� AT : Ukaz ki preveri pravilno delovanje iWRAP-a in če deluje pravilno vrne

odgovor OK.

� SET CONTROL BAUD {baud_rate},8{parity}{stop_bits}: Ukaz za nastavitev

UART parametrov.

- {baud_rate}: označuje hitrost prenosa (zlogov na sekundo)

- {parity}: označuje parnost ( n- brez paritve, e- soda, paritev, o-liha paritev)

- {stop_bits}: označuje število stop bitov (1- en stop bit, 2-dva stop bita)

Page 51: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

42

V podatkovnem načinu dela, se vsi podatki, poslani na UART posredujejo na Bluetooth

komunikacijo. Metode prehodov iz komandnega načina v podatkovni način in nazaj je

razviden v tabeli 4.2.

Trenutni način

dela

Način v

katerega se

prehaja

Metoda prehoda

Komandni način (brez aktivne

Bluetooth povezave)

Modul se nahaja v tem načinu

delovanja ko ga priključimo.

V tem načinu delovanja se

modulu pošiljajo ASCII ukazi.

Podatkovni

način

Modul uspešno vzpostavi

Bluetooth komunikacijo z drugo

napravo s pomočjo CALL ukaza.

Druga naprava uspešno vzpostavi

komunikacijo z modulom.

Podatkovni način

V tem načinu dela se podatki

transparentno pošiljajo iz

UART-a na Bluetooth

povezavo.

Komandni

način

Pošiljanje po posebni sekvenci

(sekunda brez pošiljanja ukazov

nato tri ASCII znake zapovrstjo in

na koncu sekunda brez pošiljanja)

Prekinitev povezave ( povezava

prekinjena na drugi napravi ali

zaradi izgubljenega signala)

Komandni način (aktivna

povezava)

V tem načinu se modelu lahko

pošiljajo ASCII ukazov.

Podatkovni

način

Pošiljanje s pomočjo zgoraj

opisane sekvence ali s pomočjo

SELECT ukaza.

Tabela 4.3 : Prikaz prehodov med podatkovnim in komandnim načinu delovanja WT12 modula

Page 52: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

43

4.2.2 Nastavitev iWRAP-a

Kot smo že omenili programska podpora iWRAP ima na možnost številne nastavitve po

potrebi uporabnika. Za naše potrebe smo morali spremeniti le nastavitev hitrost prenosa

zlogov (Baud Rate), ker je v privzetih nastavitvah nastavljeno na 115200 zlogov na

sekundo, mi pa potrebujemo hitrost 57600 zlogov na sekundo. Preko serijske povezave

RS232 smo modul WT12 povezali z računalnikom. Nekateri prenosniki in novejši

stacionarni računalniki, nimajo več vgrajenih serijskih vrat, preko katerih bi lahko

vzpostavili povezavo. V takšnem primeru je potrebno povezavo vzpostaviti preko

pretvornika USB na RS232, katerega priklopimo preko USB vrat, na računalnik. Kot

programsko opremo smo uporabili program Hyper Terminal. Takšen program je v starejših

operacijskih sistemih že inštaliran in pripravljen za uporabo. V novejših operacijskih

sistemih kot so Windows7 ali Windows8, pa je potrebno takšen program dodatno

inštalirati. Danes se na internetu najde ogromno tovrstnih programov, ki so ne plačljivi. Po

uspešnem inštaliranju in zagonu Hyper Terminala se nam odpre okno v katerega vpišemo

poljubno ime povezave. S klikom naprej, v novem odprtem oknu izberemo preko katerih

serijskih vrat bo potekala komunikacija. V našem primeru izberemo vrata COM15, katere

je računalnik določil za naš USB na RS232 pretvornik. Če nismo prepričani katera vrata

moramo izbrati, lahko to preverimo. V operacijskem sistemu windows, v nadzorni plošči

odpremo Upravitelja naprav in pod jezičkom Vrata COM in LPT, preverimo katera COM

vrata so dodeljena našemu pretvorniku. V nadaljevanju se nam po izbiri serijskih vrat

odpre novo okno z nastavitvami vrat. Tukaj določimo hitrost prenosa 115200 zlogov na

sekundo, 8 podatkovnih bitov, brez parnosti, en zaključni bit ter brez nadzora. Tukaj naj še

omenim, da nastavitve serijskih vrat v Upravitelju naprav, Hyper Terminalu in našem

Bluetooth modulu, morajo biti enake. V nasprotnem primeru ne bomo mogli vzpostaviti

povezave. Z gumbom kliči vzpostavimo povezavo in odpre se nam začetno pozdravno

okno iWRAP-a vidno na sliki 4.4 spodaj. Sedaj lahko pričnemo z nastavitvijo. Najprej

pošljemo iWRAP-u ukaz AT. S tem ukazom preverimo pravilno delovanje iWRAP-a in

kot povratno informacijo nam vrne OK, če vse deluje pravilno. Nato lahko nadaljujemo in

mu pošljemo ukaz SET CONTROL BAUD {baud_rate},8{parity}{stop_bits}. V našem

primeru smo poslali ukaz SET CONTROL BAUD 57600,8N1, s katerim smo nastavili

hitrost prenosa 57600 zlogov na sekundo, 8 podatkovnih bitov brez paritve z enim stop

bito.

Page 53: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

44

Slika 4.4 : Začetno pozdravno iWRAP-o okno v Hyper Terminal-u

4.3 NAČRT IN OPIS BLUETOOTH MODULA

Bluetooth WT12 že sam po sebi vsebuje skoraj vse sklope kot so oddajnik, sprejemnik,

antena, ki so potrebni za Bluetooth komunikacijo. Zato ni bilo potrebno dodajati modulu

dodatne zunanje komponente. Ker se WT12 modul napaja z 3.3 V, smo mu morali dodati

napetostni regulator 78M33. Tako smo napajalno napetost omejili na 3.3 V, potrebnih za

napajanje WT12 modula. Vezju smo dodali pretvornik TTL nivojev MAX232 za serijsko

RS232 komunikacijo. Tukaj smo morali dodati še en 78L05 napetostni regulator ,saj

MAX232 za svoje delovanje potrebuje 5 V napajalne napetosti. Dodali smo še štiri

pretvorniku potrebne kondenzatorje, ki smo jih v našem primeru izbrali velikosti 100 nF.

Napajalno napetost, ki smo jo z napetostnimi regulatorji omejili na 3.3 V in 5 V, smo

odvajali iz DC/DC pretvornika z izhodom 8V enosmerne napetosti. DC/DC pretvornik je

bil vgrajen z namenom, da zmanjša napajalno napetost invalidskega vozička , ki znaša 24V

na 8V, potrebnih za napajanje vseh modulov na invalidskem vozičku.

Page 54: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

45

Slika 4.5 : Shema Bluetooth modula

Kot smo že omenili je WT12 modul v privzetem načinu, nastavljen v komandnem načinu

delovanja. Ko pripeljemo napajalno napetost na naš Bluetooth modul, se WT12 modul

postavi v komandni način, kjer ga je mogoče nastaviti po svoji želji in potrebi z

pošiljanjem nastavitvenih ukazov. Računalnik ali katera druga naprava ki se povezuje z

modulom in podpira SPP (ang. Serial port profile), zazna modul, se poveže z njim in ga

registrira kot VCP (ang. Virtual COM Port). Ko sta napravi povezani se lahko prične

brezžični prenos podatkov iz VCP-ja na računalnik in z UART-a na ostale module. V

našem primeru je glavni PIC pošiljal vrednosti senzorjev preko UART-a na modul, ta pa

nato pridobljene podatke pošiljal naprej na računalnik. Iz računalnika pa preko VCP-ja

pošiljamo ukaze za krmiljenje vozička na Bluetooth modul, ta pa te podatke posreduje

preko UART-a naprej do naslednjih modulov.

Page 55: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

46

Slika 4.6 : Končni izdelek Bluetooth modul

Slika 4.7 : Postavitev Bluetooth modula na invalidskem vozičku

Page 56: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

47

5. TESTI

5.1 Testi Bluetooth povezave in senzorjev

Ko smo naredili Bluetooth modul je prišel čas da testiramo komunikacijo. Zaradi varnosti

ter zaščite invalidskega vozička pred poškodbami smo zadnji del invalidskega vozička,

kjer se nahajajo pogonski kolesi, rahlo dvignili tako da so se kolesa lahko prosto vrtela v

zraku brez dotika tal. Teste smo izvajali s pomočjo napisanega programa opisanega zgoraj.

Ob izbiri virtualnih vrat v oknu RS232 nastavitve, ki jih je določil naš Bluetooth modul (

COM15) in izbiri BaudRate v našem primeru 57600 zlogov na sekundo, smo se brez težav

povezali z invalidskim vozičkom. Najprej smo testirali krmilne ukaze ter hitrost premika.

Vsi krmilni ukazi NAPREJ, NAZAJ, LEVO, DESNO, STOP in ostali, ter vse tri hitrosti so

pravilno delovali. Nato smo preizkusili senzorje. Pred senzorje smo postavljali razne

predmete, jih oddaljevali in približevali, ter rezultate spremljali v programskem oknu kjer

je vsak senzor imel svoje polje, kjer so se izpisovali razredi razdalj. Tukaj smo opazili da

so novejši SRF08 senzorji vgrajeni na voziček veliko bolje zaznavali ovire kot starejši

SRF04 vgrajeni senzorji. Vendar tudi SRF08 senzorji so imeli velikokrat probleme in

nekaterih ovir niso zaznali, kot na primer mize ali kakšne police. To se je dogajalo zaradi

premajhnega razpona UV žarkov senzorja. V času testiranja je bila Bluetooth komunikacija

ves čas vzpostavljena in se ni nikoli prekinila zaradi kakršnegakoli razloga. Tudi pošiljanje

ukazov in sprejemanje razredov senzorjev je bilo 100%. Zato smo zaključili, da povezava

deluje brezhibno, sistem senzorjev prav tako in krmiljenje. Naj še omenim da smo

Bluetooth povezavo testirali v krogu 10 m. Vendar je Bluetooth razreda 2 in bi njegov

domet lahko segal vse do 20 m.

Page 57: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

48

Slika 5.1 : Program za simulacijo govornih ukazov in branje senzorjev

Page 58: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

49

5.2 Testi vožnje in rotiranja invalidskega vozička

Ker se je projekt začel razvijati v smeri samostojne vožnje invalidskega vozička po

prostoru, tako da ga ne krmiliš samo z ukazi naprej, nazaj, levo, desno, ampak mu zadaš

ukaz pelji me v želeni prostor in voziček te odpelje tja. Zato smo morali izmeriti, kolikšno

pot invalidni voziček opravi v nekem določenem času, ter za koliko se voziček zarotira v

določenem času. Prvi del meritve smo izvajali tako, da smo postopoma povečevali čas

vožnje in po opravljeni vožnji izmerili koliko cm je voziček prevozil. Meritve smo začeli

izvajati pri času pol sekunde, nato pa smo čas vožnje povečevali za 500 ms vse do 5500 ms

oziroma 5.5 s. Vseh 11 časov vožnje smo trikrat ponovili in rezultate vpisali v tabelo 5.1.

Iz izmerjenih rezultatov je razvidno da so meritve dokaj približne in ponovljive. Vse

meritve so bile izvedene samo na izbrani hitrosti 1, saj se bo voziček po prostoru vozil v

prvi počasni hitrosti.

Čas vožnje [ms]

Hitrost premika 1

1. vožnja [cm]

2. vožnja [cm]

3. vožnja [cm]

500 9 10 10

1000 35 34 36

1500 68 72 73

2000 109 107 109

2500 144 145 144

3000 189 186 182

3500 216 223 224

4000 262 261 262

4500 304 302 299

5000 336 336 339

5500 378 378 374

Tabela 5.1 : Rezultati vožnje naravnost za določene čase

Page 59: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

50

V drugem delu meritev smo prav tako postopoma povečevali čas premika od 500 ms in

tokrat do 6500 ms z korakom 500 ms. Za vsaki čas vožnje smo izmerili za koliko stopinj se

je invalidni voziček zarotiral. Meritve smo izvajali za rotiranje v levo, kjer so rezultati

vidni v tabeli 5.2 , ter za rotiranje v desno, kjer so rezultati vidni v tabeli 5.3. Pri obeh

smereh rotiranja, smo ponovili dve vožnji za vsak merjeni čas, zaradi primerjave

ponovljivosti rezultatov. Vse vožnje pa so se izvajale pri izbrani hitrosti 1. Iz rezultatov je

razvidno do so rotacije bile dokaj ponovljive. Opazili smo tudi, da se je pri rotaciji v desno,

pri času 2500 ms in naprej, kot zasuka dosti povečal.

Čas vožnje [ms]

Hitrost premika 1

1.vožnja [°]

2. vožnja [°]

500 2 3

1000 10 8

1500 15 15

2000 21 22

2500 31 30

3000 45 42

3500 52 50

4000 62 65

4500 70 72

5000 85 87

5500 93 95

6000 102 105

6500 117 116

Tabela 5.2 : Rezultati meritev rotiranja v levo

Page 60: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

51

Čas vožnje [ms]

Hitrost premika 1

1.vožnja [°]

2. vožnja [°]

500 1 1

1000 10 9

1500 18 18

2000 23 27

2500 40 41

3000 52 55

500 65 67

4000 81 81

4500 92 91

5000 110 113

5500 120 120

6000 134 130

6500 146 146

Tabela 5.3 : Rezultati meritev rotiranja v desno

Pri izvajanju meritev smo opazili da velik problem predstavlja spodrsavanje pogonskih

koles. To se dogaja predvsem pri večji izbrani hitrosti in na gladki podlagi. Spodrsavanje

pogonskih koles predstavlja tudi velik problem pri zaustavljanju invalidskega vozička,

predvsem pri vklopu varnostne funkcije. Kot smo že omenili varnostna funkcija deluje

tako, da ko se voziček približa oviri na 10 cm se voziček takoj ustavi. Vendar če se voziček

vozi z neko določeno hitrostjo in ob nenadni zaustavitvi koles, kjer kolesa spodrsnejo po

podlagi, se voziček zaleti v oviro.

Page 61: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

52

6. SKLEP

V diplomskem delu je bila predstavljena povezava ultrazvočnih senzorjev z vsemi moduli

na invalidskem vozičku. Moj prispevek pri diplomskem delu je bilo povezovanje vgrajenih

senzorjev in modulov na invalidskem vozičku, ter izdelava Bluetooth modula za brezžično

komunikacijo. Vse povezave je bilo potrebno tudi preizkusiti. Komunikacija med moduli

in senzorskimi enotami je potekalo po CAN vodilu. Ta povezava se je izkazala za zelo

učinkovito povezavo. Pri samem testiranju vožnje, oziroma merjenju kota zasuka pri

rotaciji invalidskega vozička, smo uporabili program na računalniku. S tem programom

smo preko brezžične Bluetooth povezave pošiljali vozičku ukaze, ter preverjali vrednosti

senzorjev, ki so nam podajali razrede oddaljenosti do ovire. Pri testiranju vožnje in rotacije

smo opazili majhno težavo. Namreč pri večji hitrosti (hitrost 2 ali hitrost 3) rotiranja ali

vožnje invalidskega vozička, je prišlo do spodrsavanja pogonskih koles. To lahko

predstavlja problem pri vožnji z invalidskim vozičkom. Takšen problem bi lahko rešili z

kakšnim inkrementalnim dajalnikom, ki bi ga vgradili na pogonska kolesa. Z njim bi lahko

merili kotni zasuk kolesa in tako imeli kontrolo nad spodrsavanjem pogonskih koles. Prav

tako smo opazili težavo in pomanjkljivost sistema pri varnostni funkciji. Namreč varnostna

funkcija deluje tako, da avtomatsko zaustavi invalidni voziček, če se le ta približa oviri na

manj kot 10 cm in ima prednost pred ostalimi ukazi. To pomeni, če voziček zaustavi

varnostna funkcija, potem ni možno več krmiliti vozička z ukazi, dokler ga ročno ne

odmaknemo od ovire. V varnostno funkcijo bi bilo potrebno dodati večji razred

oddaljenosti od ovire, če voziček vozimo z višjo hitrostjo. Namreč pri večji hitrosti

potrebuje voziček več poti za zaustavitev kot 10 cm, zaradi spodrsavanja pogonskih koles.

Ultrazvočni senzorski moduli, ki so razvrščeni po vozičku in skrbijo za zaznavanje ovir

niso najbolj zanesljivi. Zelo težko ali pa sploh ne zaznajo oviro kot na primer kakšno mizo

ali tanjši rob okoli sebe. Problem je v premajhnem snopu žarka in kvaliteti senzorjev.

Mogoče bi tukaj z uporabo kamere odpravili ta problem. Naj še omenim, da se nam je med

samim testiranjem iz neznanih razlogov invalidski voziček zaklenil in takrat je invalidski

voziček mrtev in ne sprejeme nobenega ukaza. Ta problem smo rešili z magnetom, tako da

smo ga prislonili za nekaj sekund na zgornjo polovico spodnje strani ročice za krmiljenje

in voziček se spet odklene.

Page 62: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

53

VIRI

[1] G. Razoršek, Analiza možnosti digitalne realizacije aethalometra na epx-c3

platformi, Ljubljana 2007.

[2] P. Tobey, WinCE platform types, London 2007.

[3]

Microsoft, Windows embedded CE 6.0 advanced memory management,

http://msdn.microsoft.com/en-us/library/bb331824.aspx.

[4]

G.Jambrović, Distribuirani informacijski sistem ob uporabi Bluetooth kanala –

BlueMSG, Diplomska naloga, Maribor, Knjižnica TF, 2010.

[5]

Wikipedija Bluetooth,

http://en.wikipedia.org/wiki/Bluetooth

[6]

Potrjen standard Bluetooth 4.1,

http://zigadezman.blogspot.com/

[7] T. Žvar, Vgradnja ultrazvočnih senzorjev na invalidskem vozičku, Diplomska

naloga, Maribor, Knjižnica TF, 2011.

[9] G. Pačnik, Prepoznava govora z nevronskimi mrežami, Diplomska naloga, Maribor,

Knjižnica TF, 2004.

[10] K. Šumej, Izdelava sistema senzorjev pri govornem upravljanju invalidskega

vozička, Diplomska naloga, Maribor, Knjižnica TF, 2009.

[11] Toradex, Colibri Evalution Board Datasheet,

http://developer.toradex.com/product-selector/colibri-evaluation-board.

[12] Toradex, Colibri XScale® PXA320 Datasheet,

http://developer.toradex.com/product-selector/colibri-pxa320.

[13] Microchip, PIC18FXX8 Datasheet,

http://ww1.microchip.com/downloads/en/devicedoc/41159d.pdf.

[14] Microchip, MCP2551,

http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf.

[15]

I. Majcen, Področno vodilo CAN (Controller Area Network), Diplomska naloga,

Maribor, Knjižnica TF, 2007.

[16] Bluetooth WT12 modul

http://www.bluegiga.com/en-US/products/bluetooth-classic-modules/wt12-

bluetooth--class-2-module/

Page 63: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

54

PRILOGE

SEZNAM SLIK

Slika 2.1 : INVACARE invalidski voziček Storm3 Euro ............................................................................. 3

Slika 2.2 : Colibri Evalution Board blok diagram (izraze v sliki posloveni) .............................................. 4

Slika 2.3 : Colibri Evalution Board Rev.2.1 .................................................................................................. 5

Slika 2.4 : Colibri PXA320 blok diagram (posloveni izraze v sliki) ........................................................... 6

Slika 2.5 : Colibri PXA320 modul .................................................................................................................. 7

Slika 2.6 : Primer Windows CE pri odprti platformi ................................................................................. 10

Slika 2.7 : Primer Windows CE pri zaprti platformi ................................................................................. 11

Slika 2.8 : Primer Windows CE pri polodprti platformi ........................................................................... 12

Slika 2.9 : Ureditev pomnilnika v Windows CE 5.0 (posloveni izraze v sliki) .......................................... 13

Slika 3.1 : Integrirana oblika CAN-a ........................................................................................................... 15

Slika 3.2 : Prednosti pri CAN vodlu ............................................................................................................ 16

Slika 3.3 : OSI referenčni model .................................................................................................................. 17

Slika 3.4 : CAN vodilo ................................................................................................................................... 18

Slika 3.5 : Shema povezav modulov na invalidskem vozičku .................................................................... 19

Slika 3.6 : SRF04 ultrazvočni senzor ........................................................................................................... 20

Slika 3.7 : SRF08 ultrazvočni senzor ........................................................................................................... 21

Slika 3.8 : Senzorski modul ........................................................................................................................... 22

Slika 3.9 : Senzorski komunikacijski modul ............................................................................................... 23

Slika 3.10 : Razporeditev priključkov PIC-a v PDIP ohišju ...................................................................... 24

Slika 3.11 : Razporeditev priključkov MCP2551 v PDIP ohišju ............................................................... 25

Slika 3.12 : Dominantna in recesivna stanja CAN vodila .......................................................................... 26

Slika 3.13 : Razporeditev priključkov DS1868 v PDIP ohišju ................................................................... 27

Slika 3.14 : Krmilni modul ........................................................................................................................... 27

Slika 3.15 : Začetno okno programa ............................................................................................................ 29

Slika 4.1 : Primer Bloutooth master/slave piconet omrežja ....................................................................... 35

Slika 4.2 : Razporeditev priključkov WT12 modula .................................................................................. 40

Slika 4.3 : Primer SPP povezave .................................................................................................................. 40

Slika 4.4 : Začetno pozdravno iWRAP-o okno v Hyper Terminal-u ........................................................ 44

Slika 4.5 : Shema Bluetooth modula ............................................................................................................ 45

Slika 4.6 : Končni izdelek Bluetooth modul ................................................................................................ 46

Slika 4.7 : Postavitev Bluetooth modula na invalidskem vozičku.............................................................. 46

Slika 5.1 : Program za simulacijo govornih ukazov in branje senzorjev .................................................. 48

Page 64: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

55

SEZNAM TABEL

Tabela 3.1 : Tabela razredov senzorja ......................................................................................................... 30

Tabela 3.2 : Ukazne komande v Hex ............................................................................................................ 30

Tabela 4.1 : Razredni doseg Bluetooth naprave ......................................................................................... 36

Tabela 4.2 : Privzete nastavitve iWRAP-a .................................................................................................. 41

Tabela 4.3 : Prikaz prehodov med podatkovnim in komandnim načinu delovanja WT12 modula ....... 42

Tabela 5.1 : Rezultati vožnje naravnost za določene čase .......................................................................... 49

Tabela 5.2 : Rezultati meritev rotiranja v levo ........................................................................................... 50

Tabela 5.3 : Rezultati meritev rotiranja v desno ........................................................................................ 51

Page 65: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

56

NASLOV ŠTUDENTA

Ime in priimek: Marko Karlovčec

Naslov : Tomšičeva 1

Pošta: 3310 Žalec

Telefon : 031 411 456

Email: [email protected]

KRATEK ŽIVLJENJEPIS

Sem Marko Karlovčec, rojena 05.06.1985 v Celju. Končal sem naslednje šolske ustanove:

� 1993-2001

Osnovna šola 1 Osnovna šola Žalec

� 2002-2005

Elektrotehnik elektronik Šolski center Celje,

Poklicna in tehniška elektro in kemijska šola

Page 66: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

57

Fakulteta za elektrotehniko, računalništvo in informatiko

Smetanova ulica 17 2000 Maribor, Slovenija

I Z J A V A O A V T O R S T V U

Page 67: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

58

Fakulteta za elektrotehniko, računalništvo in informatiko

Smetanova ulica 17 2000 Maribor, Slovenija

IZJAVA O USTREZNOSTI ZAKLJUČNEGA DELA

SENSOR COMMUNICATION OF WHEELCHAIR

Page 68: DIPLOMSKA NALOGA - CORE · vmesnik, ki uporablja Philips-ov SAJ1000 krmilnik. Colibri Evalution Board ima razširitvena vrata za SD/MMS kartice, ki se lahko uporabljajo za shranjevanje

59

Fakulteta za elektrotehniko,

računalništvo in informatiko

Smetanova ulica 17

2000 Maribor, Slovenija

IZJAVA O ISTOVETNOSTI TISKANE IN ELEKTRONSKE VERZIJE ZAKLJUČNEGA DELA IN OBJAVI OSEBNIH PODATKOV DIPLOMANTOV