merjenje in prikazovanje delovnih parametrov … · ii zahvala zahvaljujem se mentorju doc. dr....

59
UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Tomaž Bratuša MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV MOTORNEGA KOLESA Diplomsko delo Maribor, september 2015

Upload: trinhtuyen

Post on 11-Jan-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO,

RAČUNALNIŠTVO IN INFORMATIKO

Tomaž Bratuša

MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV MOTORNEGA KOLESA

Diplomsko delo

Maribor, september 2015

Page 2: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV MOTORNEGA KOLESA

Diplomsko delo

Študent: Tomaž Bratuša

Študijski program: Univerzitetni študijski program

Elektrotehnika

Smer: Elektronika

Mentor: doc. dr. Iztok Kramberger

Somentor: asist. dr. Marko Kos

Lektorica: univ. dipl. prevajalstva Marjana Bratuša

Page 3: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

i

Page 4: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

ii

ZAHVALA

Zahvaljujem se mentorju doc. dr. Iztoku

Krambergerju in somentorju asist. dr. Marku

Kosu, ki sta mi bila v pomoč pri izdelavi

diplomskega dela.

Zahvaljujem se tudi moji družini in punci Tei

Ernecl, ki so mi v času študija stali ob strani in

me podpirali.

Hvala

Page 5: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

iii

Merjenje in prikazovanje delovnih parametrov motornega kolesa Ključne besede: hitrost, obrati, motorno kolo, temperatura

UDK: 621.3.049.77:355.424.5(043.2)

Povzetek

Cilj projektnega dela je izdelava elektronskega vezja, ki bo omogočalo merjenje obratov,

temperature in hitrosti motornega kolesa preko ustreznih senzorjev ter njihov prikaz na

zaslonu. S programsko rešitvijo bomo merili čas delovanja motorja in čas, ki je potreben

za premagovanje določene razdalje. Merilni sistem bo združen v kompaktno napravo, ki

bo baterijsko napajana. Izbiri trenutno prikazane merjene vrednosti bo namenjena tipka.

Merilni sistem bo opremljen z alarmom, ki bo uporabnika opozarjal glede prekoračitve

določene predhodno nastavljene vrednosti merjenih parametrov.

Page 6: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

iv

Measurement and displaying of motorcycle working parameters Ključne besede: speed, rpm, motorcycle, temperature UDK: 621.3.049.77:355.424.5(043.2) Abstract The aim of the project is the construction of an electronic circuit, capable of measuring

revolutions, temperature and speed of the motorcycle through appropriate sensors, and

display them on the screen. The software solution will measure the operating time of the

engine and the time needed to overcome a certain distance. The measuring system will

be combined into a compact device that is battery-powered. The selection of the currently

displayed measured value will be operated with a button. The measuring system will be

equipped with an alarm that will warn the user when exceeding a certain pre-set value of

the measured parameters.

Page 7: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

v

KAZALO VSEBINE

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

2 PREGLED TEORIJE SISTEMA ................................................................................. 2

2.1 Arduino ............................................................................................................... 2

2.2 Arduino programska oprema .............................................................................. 3

2.3 Programski jezik C .............................................................................................. 4

2.4 Mikrokrmilniki ...................................................................................................... 5

2.5 SPI komunikacija ................................................................................................ 5

2.6 Protokol 1-wire .................................................................................................... 7

3 IZVEDBA IN IMPLEMENTACIJA MERILNEGA SISTEMA ......................................... 8

3.1 Projektne zahteve ............................................................................................... 8

3.2 Mikrokrmilnik ....................................................................................................... 9

3.3 Napajanje ..........................................................................................................11

3.4 LCD prikazovalnik ..............................................................................................12

3.4.1 Povezava LCD prikazovalnika z mikrokrmilnikom .......................................13

3.5 Izbor temperaturnega senzorja ..........................................................................13

3.5.1 Izvedba temperaturnega senzorja ...............................................................15

3.6 Izbor magnetnega senzorja ...............................................................................17

3.6.1 Izvedba magnetnega senzorja in vgrajena programska koda za hitrost ......18

3.7 Izbor infrardečega senzorja ...............................................................................21

3.7.1 Izvedba infrardečega senzorja in vgrajena programska koda za obrate ......23

3.8 Merilec časa (Drag Timer) .................................................................................25

3.9 Števec delovnih ur .............................................................................................27

3.10 Priključitev tipk ...................................................................................................29

3.11 Načrtovanje tiskanega vezja in programska oprema ..........................................31

3.12 Načrtovanje ohišja senzorjev .............................................................................31

4 MERITVE IN REZULTATI .........................................................................................32

Page 8: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

vi

4.1 Preizkus .............................................................................................................32

4.1.1 Preizkus tipk in programa ...........................................................................32

4.1.2 Preizkus temperature ..................................................................................32

4.1.3 Preizkus štetja delovnih ur ..........................................................................33

4.1.4 Preizkus merilca časa (Drag timer) .............................................................33

4.1.5 Preizkus obratov .........................................................................................33

4.1.6 Preizkus hitrosti ..........................................................................................36

4.2 Poraba merilnega sistema .................................................................................38

5 SKLEP ......................................................................................................................39

6 VIRI IN LITERATURA ...............................................................................................40

7 PRILOGE..................................................................................................................43

7.1 Priloga A: Vezalna shema celotnega vezja ........................................................43

7.2 Priloga B: Izrisano tiskano vezje ........................................................................44

Page 9: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

vii

KAZALO SLIK

Slika 1.1: Analogni merilnik motornega kolesa [6] ............................................................. 1

Slika 2.1: Razvojna ploščica Arduino UNO [7].................................................................. 2

Slika 2.2: Razvojno okolje Arduino IDE ............................................................................. 3

Slika 2.3: Različna ohišja Atmel mikrokrmilnikov [11] ........................................................ 5

Slika 2.4: SPI povezava z enim sužnjem [13] .................................................................... 6

Slika 2.5: One-wire blokovni diagram [15] ........................................................................ 7

Slika 3.1: Shema našega merilnega sistema .................................................................... 9

Slika 3.2: Razvojna ploščica Sparkfun model Micro Pro ...................................................10

Slika 3.3: LCD prikazovalnik Nokia 5110/3310 .................................................................12

Slika 3.4: Znižanje napetosti z zener diodo in uporom. ....................................................13

Slika 3.5: Senzor DS18B20..............................................................................................14

Slika 3.6: Povezava temperaturnega senzorja na mikrokrmilnik .......................................15

Slika 3.7: Diagram poteka za program temperature .........................................................16

Slika 3.8: Levo prikaz temperature, desno prikaz opozorila ob prekoračitvi ......................17

Slika 3.9: Blokovni diagram senzorja A3213 ....................................................................18

Slika 3.10: Povezava magnetnega senzorja na mikrokrmilnik ..........................................18

Slika 3.11: Diagram poteka programa za hitrost ...............................................................20

Slika 3.12: Prikaz hitrosti na LCD prikazovalniku .............................................................21

Slika 3.13: Levo infrardeči senzor TCND 5000, desno TCRT 5000 [20] [21] ..............22

Slika 3.14: Povezava infrardečega senzorja na mikrokrmilnik ..........................................23

Slika 3.15: Diagram poteka programa za obrate ..............................................................24

Slika 3.16: Prikaz obratov na LCD prikazovalniku. ...........................................................25

Slika 3.17: Levo merilec časa pred pritiskom na gumb, desno po koncu merjenja. ..........25

Slika 3.18: Diagram poteka programa merilca časa .........................................................26

Slika 3.19: Prikaz delovnih ur na LCD prikazovalniku.......................................................27

Slika 3.20: Diagram poteka programa števec ur ...............................................................28

Slika 3.21: Povezava tipk na mikrokrmilnik. .....................................................................29

Slika 3.22: Diagram poteka programa tipk .......................................................................30

Slika 3.23: Zaščiten magnetni senzor na kablu. ...............................................................31

Slika 4.1: Karakteristika prikazanih obratov glede na izračunane .....................................35

Slika 4.2: Oblika pulzov infrardečega senzorja .................................................................35

Slika 4.3: Karakteristika prikazane hitrosti glede na izračunano .......................................37

Slika 4.4: Oblika pulzov magnetnega senzorja .................................................................37

Slika 7.1: Vezalna shema celotnega vezja .......................................................................43

Page 10: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

viii

Slika 7.2: Tiskano vezje v 2D pogledu .............................................................................44

Slika 7.3: Tiskano vezje v 3D pogledu .............................................................................44

Page 11: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

ix

KAZALO TABEL

Tabela 4.1: Tabela izračunanih in prikazanih obratov ......................................................34

Tabela 4.2: Tabela povprečne vrednosti odčitanih obratov in pogreška ...........................34

Tabela 4.3: Tabela izračunane in prikazane hitrosti .........................................................36

Tabela 4.4: Tabela izmerjenih in preračunanih vrednosti porabe .....................................38

Page 12: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

x

SEZNAM UPORABLJENIH KRATIC

LCD (angl. Liquid Cristal Display) Zaslon s tekočimi kristali

USB (angl. Universal Serial Bus) Univerzalno serijsko vodilo

GND (angl. ground) Električna masa

IDE (angl. Integrated Development Environment) Integrirano razvojno okolje

SPI (angl. Serial Peripheral Interface Bus) Serijsko vodilo zunanjih naprav

SD (angl. Secure Digital) Varno Digitalno

MOSI (angl. Master Output, Slave Input) Gospodar izhod, suženj vhod

MISO (angl. Master Input, Slave Output) Gospodar vhod, suženj izhod

SS (angl. Slave Select) Izbira sužnja

ADC (angl. Analog to Digital Converter) Analogno-digitalni pretvornik

PWM (angl. Pulse Width Modulation) Modulacija s širino pulza

UART (angl. universal asynchronous receiver/transmitter) Univerzalni asinhroni

sprejemnik/oddajnik

I2C (angl. Inter-Integrated Circuit) Dvo-žični protokol

Hz merska enota za frekvenco (herz)

KB merska enota za merjenje podatkov (kilobyte)

EEPROM (angl. Electrically Erasable Programmable Read-Only Memory) Elektronsko

izbrisljiv programirljiv samo-bralni pomnilnik

A merska enota za električni tok (amper)

VRMS merska enota za efektivno vrednost napetosti

OHM merska enota za upornost (ohm)

V merska enota za napetost (volt)

W merska enota za moč (Watt)

SMD (angl. Surface Mount Device) Površinsko pritrjena naprava

Page 13: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

1

1 UVOD

Vsako motorno kolo in njegov pogonski sklop ima določene meje, oziroma stanje, pri

katerem deluje optimalno, zato je pomembno opazovanje le teh. Tako motorju zagotovimo

najboljše razmere za dolgo delovanje in dober izkoristek. Merilni sklop je velikokrat

analogen, kot kaže slika 1.1 in sestavljen iz večih merilnikov, ki so odvisni od napajanja

med delovanjem motorja in ne dosega velike točnosti. Med njimi je merilnik obratov, ki

nam pomaga pri nastavitvi uplinjača ter pogonskega sklopa, merilnik delovne temperature

z opozorilom ob prekoračitvi, merilnik hitrosti in števec delovnih ur, s katerim beležimo

servisne intervale. Predmet diplomskega dela je razvoj merilnega sistema, ki bo omogočal

merjenje in digitalizacijo teh spremenljivk v eni združeni napravi, ki jih bo izpisovala na

LCD prikazovalniku in bo imela lastno baterijsko napajanje.

Cilj projektnega dela je izdelava elektronskega vezja, ki bo omogočalo merjenje obratov,

temperature in hitrosti motornega kolesa preko ustreznih senzorjev ter njihov prikaz na

zaslonu. S programsko rešitvijo bomo merili čas delovanja motorja in čas, ki je potreben

za premagovanje določene razdalje. Merilni sistem bo združen v kompaktno napravo, ki

bo baterijsko napajana. Izbiri trenutno prikazane merjene vrednosti bo namenjena tipka.

Merilni sistem bo opremljen z alarmom, ki bo uporabnika opozarjal glede prekoračitve

določene predhodno nastavljene vrednosti merjenih parametrov.

Slika 1.1: Analogni merilnik motornega kolesa [6]

Page 14: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

2

2 PREGLED TEORIJE SISTEMA

2.1 Arduino

Arduino je podjetje, , ki razvija in proizvaja odprtokodne razvojne platforme na bazi

mikrokrmilnikov. Ideja podjetja je narediti elektroniko čim bolj dostopno in razumljivo širši

množici.

Arduino platforme bazirajo na družini 8-bitnih mikrokrmilnikov podjetja Atmel AVR ali 32-

bitnih Atmel ARM procesorjih in nam nudijo različno število vhodno-izhodnih pinov na

katere lahko priklopimo razne senzorje, razširitvene kartice (''shielde''), druga vezja in več.

Ploščice oziroma ta tiskana vezja vsebujejo serijski komunikacijski vmesnik, ki vključuje

USB na nekaterih modelih za nalaganje programov iz osebnih računalnikov. Za

programiranje teh mikrokrmilnikov nam Arduino nudi integrirano razvijalno okolje ali

integrated development environment (IDE), ki bazira na projektu Processing, ki vklučuje

podporo za programske jezike C, C++ in Java. Na sliki 2.1 lahko vidimo najbolj popularno

ploščico, Arduino UNO. [1] [2] [3]

Slika 2.1: Razvojna ploščica Arduino UNO [7]

Page 15: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

3

2.2 Arduino programska oprema

Programski jezik C je programski jezik, ki je dandanes zelo razširjen in še posebej

priljubljen za programiranje vgrajenih sistemov. Razvil ga je ameriški računalničar, Denis

Ritchie. Izvorno kodo napisano v C, se da prevesti in pognati z minimalnimi spremembami

na skoraj vsakem stroju. Tega ne zmore skoraj noben obstoječ programski jezik in tudi v

zbirniku napisano kodo lahko poženemo le na določenih vrstah strojev. Jezik C ponavadi

uvrščamo med nizkonivojske ali srednjenivojske jezike, kar označuje kako blizu strojne

opreme lahko deluje. Čeprav ima dobre nizkonivojske zmožnosti, je bil ta jezik razvit z

namenom vzpodbujanja programiranja križno med računalniškimi platformami. Po

standardu in prenosno napisan program v C-ju, je lahko preveden za zelo raznolike in

številne računalniške platforme in operacijske sisteme z majhnimi spremembami v izvorni

kodi. Ta jezik je dostopen za širok spekter različnih platform, od mikrokmilnikov do

superračunalnikov. [24]

Slika 2.2: Razvojno okolje Arduino IDE

Page 16: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

4

2.3 Programski jezik C

Programski jezik C je programski jezik, ki je dandanes zelo razširjen in še posebej

priljubljen za programiranje vgrajenih sistemov. Razvil ga je ameriški računalničar, Denis

Ritchie. Izvorno kodo napisano v C, se da prevesti in pognati z minimalnimi spremembami

na skoraj vsakem stroju. Tega ne zmore skoraj noben obstoječ programski jezik in tudi v

zbirniku napisano kodo lahko poženemo le na določenih vrstah strojev. Jezik C ponavadi

uvrščamo med nizkonivojske ali srednjenivojske jezike, kar označuje kako blizu strojne

opreme lahko deluje. Čeprav ima dobre nizkonivojske zmožnosti, je bil ta jezik razvit z

namenom vzpodbujanja programiranja križno med računalniškimi platformami. Po

standardu in prenosno napisan program v C-ju, je lahko preveden za zelo raznolike in

številne računalniške platforme in operacijske sisteme z majhnimi spremembami v izvorni

kodi. Ta jezik je dostopen za širok spekter različnih platform, od mikrokmilnikov do

superračunalnikov. [24]

Nekaj glavnih karakteristik programskega jezika C:

Vsebuje veliko število aritmetičnih in logičnih operatorjev kot so +, +=, ++, & itd.

Preprost sistem podatkovnih tipov, ki obvaruje pred brezpredmetnimi operacijami.

Uporaba predprocesorja, za naloge kot so določevanje makrojev in vklučevanje

datotek z izvorno kodo.

Nizkonivojski nepreverjeni dostop do računalniškega pomnilnika s pomočjo

uporabe kazalcev.

Majhno število fiksnih ključnih besed, ki vključujejo kontrolo toka funkcij z: for,

if/else, while, switch, do/while.

Proceduralno programiranje, posebna vrsta funkcije, ki ne vrača vrednosti.

Page 17: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

5

2.4 Mikrokrmilniki

Mikrokrmilnik je majhen računalnik v obliki integriranega vezja, ki vsebuje procesorsko

jedro, pomnilnik, vhodne/izhodne periferije, ki so programerljive. Mikrokrmilniki so

oblikovani za določene vgrajene sisteme oziroma naprave, v nasprotju z mikroprocesorji,

ki jih uporabljamo v osebnih računalnikih in drugih aplikacijah za splošno uporabo. Te

majhne računalnike uporabljamo v različnih avtomatiziranih proizvodih, električnem

orodju, igračah in drugo. Velika večina mikrokrmilnikov ima zelo majhno električno porabo,

zato so primerni za baterijsko napajanje. Obstaja veliko število mikrokrmilnikov, ki se

razlikujejo po hitrosti procesorja, velikosti pomnilnika, številu vhodno/izhodnih priključkov

in drugimi lastnostmi, zato je treba za določeno aplikacijo izbrati tudi primeren

mikrokrmilnik. Različne oblike ohišij mikrokrmilnikov vidimo na sliki 2.4. [9] [10]

Slika 2.3: Različna ohišja Atmel mikrokrmilnikov [11]

2.5 SPI komunikacija

SPI komunikacija je sinhrona dvosmerna serijska komunikacija, ki jo je razvilo podjetje

Motorola. Pogosto se uporablja za prenos podatkov med mikrokrmilnikom in majhno

periferijo kot so senzorji, SD kartice, in pomikalni registri. Uporablja ločene linije za uro,

podatkovne linije, skupaj z izbirno linijo, s katero napravo bi se radi pogovarjali. To, da je

kumunikacija sinhrona pomeni, da uporablja samostojne linije za podatke in uro, ki drži

obe strani v popolni sinhronizaciji. Ura je oscilirajoč signal, ki pove sprejemniku kdaj točno

naj vzorči bite na podatkovni liniji. To je lahko prehod iz nizkega stanja v visoko

(naraščajoče) ali obratno (padajoče). Ko sprejemnik zazna to spremembo, bo takoj

Page 18: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

6

pogledal na podatkovno linijo, da prebere naslednji bit. To je dobro za enosmerno

pošiljanje, pri dvosmernem pa se zadeva nekoliko spremeni. Pri SPI komunikaciji samo

ena stran generira urin signal. Ta stran se imenuje ''gospodar'' (angleško ''master''),

sprejemna stran pa ''suženj'' (angleško ''slave''). Vedno je samo en gospodar, lahko pa je

več sužnjev. Ko so podatki poslani od gospodarja do sužnja, so poslani po podatkovni

liniji imenovani MOSI (gospodar ven / suženj not). Če suženj pošlje odziv nazaj

gospodarju, bo gospodar nadaljeval s proizvajanjem v naprej dogovorjenega števila urinih

ciklov in suženj bo podatke poslal po tretji podatkovni liniji, ki se imenuje MISO (gospodar

not / suženj ven). Ker gospodar vedno generira urin takt, mora vedeti vnaprej, kdaj bo

suženj vračal podatke in koliko podatkov bo vrnjenih. SPI ima še eno linijo SS ali izbira

sužnja (angleško ''slave select''), ki pove sužnju, kdaj se naj zbudi in sprejme/pošlje

podatke. Prav tako se uporablja za izbiro sužnja, kadar je več povezanih. Slika 2.5

prikazuje SPI povezavo z enim sužnjem. [12] [13]

Slika 2.4: SPI povezava z enim sužnjem [13]

Page 19: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

7

2.6 Protokol 1-wire

1-wire je serijski protokol, ki uporablja eno podatkovno linijo in maso za komunikacijo.

Komunicira po principu gospodar/suženj. Lahko imamo več 1-wire sužnjev na 1-wire

vodilu, zato ima vsak suženj unikatno, nespremenljivo, tovarniško programirano, 64-bitno

identifikacijsko število, ki služi kot naslov naprave na 1-wire vodilu. 8-bitna koda iz 64-

bitnega identifikacijskega števila, identificira tip naprave in njeno funkcionalnost. Tipična

napetost napajanja 1-wire sužnjev je od 2,8 V do 5,25 V. Večina 1-wire naprav pa nima

pina za napajanje, ker se lahko napajajo preko podatkovne linije. Temu pravimo parazitno

napajanje. 1-wire naprave lahko samo z dvema kontaktoma, data linijo in maso, delujejo v

polovični-duplex dvosmerni komunikaciji, kar pomeni, da se podatki lahko prenašajo v obe

smeri, vendar ne istočasno. Na sliki 2.6 vidimo One-wire blokovni diagram. [15]

Slika 2.5: One-wire blokovni diagram [15]

Page 20: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

8

3 IZVEDBA IN IMPLEMENTACIJA MERILNEGA SISTEMA

Cilj projektnega dela je izdelava elektronskega vezja, ki bo zmožno meriti obrate do 15000

obratov na minuto, temperaturo v območju od 0 °C do +120 °C in hitrost motornega

kolesa z magnetnim senzorjem. S programsko rešitvijo bo lahko merilo čas delovanja

motorja in čas, ki je potreben za premagovanje določene razdalje. Merilni sistem mora biti

združen v kompaktno napravo, ki bo baterijsko napajana. Izbiri trenutno prikazane

merjene vrednosti bo namenjena tipka. Merilni sistem bo opremljen z alarmom, ki bo

uporabnika opozarjal glede prekoračitve določene predhodno nastavljene vrednosti

merjenih parametrov. Vse parametre pa bomo izpisovalo na LCD prikazovalnik.

3.1 Projektne zahteve

Pred izdelavo diplomskega dela smo morali določiti zmožnosti našega merilnika in meje

naših vrednosti, ki jih bomo zajemali in prikazovali, da smo lahko izbrali ustrezno

periferijo. Slika 3.1 prikazuje shemo našega merilnega sistema.

Prišli smo do sledečih zahtev:

Izpis in prikazovanje na LCD zaslon

Merjenje temperature v območju od 0 °C do +120 °C

Baterijsko napajanje z 9V baterijo

Merjenje hitrosti z magnetnim (Hall) senzorjem

Brezkontaktno merjenje obratov motorja na osnovi infrardečega senzorja do 15000

obratov na minuto

Štetje delovnih ur motorja

Merjenje časa, ki je potreben za premagovanje določene razdalje

Menjavanje prikaza na LCD zaslonu s pomočjo tipke

Alarm pri prekoračitvi določene predhodno nastavljene vrednosti

Kompaktna velikost

Page 21: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

9

3.2 Mikrokrmilnik

Mikrokrmilnik krmili vse elemente našega merilnega sistema, zato je izbira pravega zelo

pomembna.

Glede na naše zahteve potrebujemo mikrokrmilnik z določenimi karakteristikami:

Pet zunanjih prekinitev za dva senzorja in tri tipke

Pet priključkov za povezavo z LCD zaslonom ter SPI komunikacijo

Tri priključke za zunanje senzorje

Tri priključke za priklop gumbov

Relativno majhna poraba

Glede na zahteve smo izbrali Arduino kompatibilno ploščico proizvajalca Sparkfun, model

Micro Pro, na kateri je mikrokrmilnik Atmega 32u4 podjetja Atmel.

Karakteristike modula Micro Pro prikazanega na sliki 3.2:

8-bitni mikrokrmilnik

18 vhodno/izhodnih priključkov

4 priključki vsebujejo analogno-digitalni pretvornik (ADC) in jih lahko uporabimo za

analogne vhode

5 priključkov ima PWM modulacijo

Slika 3.1: Shema našega merilnega sistema

Page 22: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

10

UART serijska komunikacija

I2C komunikacija

SPI komunikacija

5 zunanjih prekinitev

16 MHz hitrost delovanja

32 kB Flash pomnilnika

2.5 kB delovnega pomnilnika

1 kB EEPROM pomnilnika

USB 2.0 komunikacijski modul na samem mikrokrmilniku

En analogni komparator

Delovna napetost 2,7 V do 5,5 V

Temperaturno območje -40 °C do +85 °C

[17]

Slika 3.2: Razvojna ploščica Sparkfun model Micro Pro

Page 23: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

11

3.3 Napajanje

Naš mikrokrmilniški modul lahko napajamo kar iz osebnega računalnika preko micro USB

kabla, prav tako pa zunanjega napajanja do napetosti 12V, ker je na ploščici tudi

napetostni regulator. To smo izkoristili, ko smo izdelovali prototip in preverjali program.

Zaradi želje, da naredimo lastno vezje s samostojnim mikrokrmilnikom, smo morali izbrati

tudi primeren regulator na 5V in baterijo.

Odločili smo se za 9 V baterijo, ker so relativno poceni in ob spraznitvi lahko hitro dobimo

drugo v večini splošnih trgovin.

Za napetostni regulator, ki skrbi za napajalno napetost 5V smo izbrali REG113NA podjetja

Texas Instruments, zaradi izhodnega toka do 400 mA, kar zadostuje našim potrebam,

majhne velikosti in ker smo lahko pridobili brezplačni vzorec, ki nam je kasneje tudi

ustrezal.

Karakteristike napetostnega regulatorja REG113NA:

Zelo nizka izpustna napetost: 250 mV pri 400 mA (angl. Low Dropout Voltage)

Izhodni kondenzator ni potreben za stabilnost

Zelo nizek šum: 28 μVrms

Velika natančnost: ±1.5% max

Temperaturna zaščita

[19]

Page 24: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

12

3.4 LCD prikazovalnik

Pri izbiri LCD prikazovalnika smo imeli naslednje zahteve:

Kompaktna velikost

Dovolj velika ločljivosti za grafično prikazovanje

Majhna poraba

Relativno majhno število žic za priključitev na mikrokrmilnik

Izbrali smo LCD podjetja Nokia (slika 3.3), ki je bil uporabljen v starejših mobilnih

telefonih, točneje v modelu 3310 in 5110. LCD uporablja krmilnik podjetja Philips

PCD8544.

Karakteristike krmilnika PCD8544:

Izhod 48 vrstic in 84 stolpcev.

Vse potrebne funkcije za krmiljenje grafičnega LCD so na enem čipu.

Zunanji Reset priključek.

Najvišja napetost logičnih linij: 2,7 V do 3,3 V in max +7 V za krmilnik.

Majhna poraba.

Temperaturno območje: -25 °C do +70 °C.

[22]

Slika 3.3: LCD prikazovalnik Nokia 5110/3310

Page 25: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

13

3.4.1 Povezava LCD prikazovalnika z mikrokrmilnikom

Krmilnik PCD8544 lahko prenese 5 V, ker je najvišja dovoljena napetost za krmilnk 7 V,

vendar LCD Nokia 5110/3310 najboljše deluje pri 3,3 V. Ker naš mikrokrmilnik potrebuje 5

V napajanje pri delovanju na 16 MHz, so tudi logične linije 5 V, ko so v visokem stanju

(High 1). To smo uredili tako, da smo na vse podatkovne linije zaporedno vezali 10k Ω

upor za zmanjšanje toka na varno vrednost. Za napajanje LCD prikazovalnika pa moramo

napetost vseeno zmanjšati na 3,3 V. Za znižanje napetosti smo uporabili 3,3 V Zener

diodo in 220 Ω upor v vezavi, kot kaže slika 3.4.

Slika 3.4: Znižanje napetosti z zener diodo in uporom.

Za programsko povezavo mikrokrmilnika in LCD prikazovalnika smo uporabili knjižnico

Adafruit GFX za krmilnik PCD8544, ki vsebuje funkcije za enostavno risanje črt, krogov,

besedila in več. Prav tako smo uporabili knjižnico SPI vgrajeno v Arduino IDE za SPI

komunikacijo.

3.5 Izbor temperaturnega senzorja

Pri izbiri temperaturnega senzorja smo imeli naslednje zahteve:

Merjenje temperature v območju od 0 °C do +120 °C.

Natančen in enostaven za priklop brez dodatnih komponent.

Priklop na mikrokrmilnik preko ene žice.

Izbrali smo digitalni senzor DS18B20, ki uporablja 1-wire protokol, podjetja Maxim

Integrated. Na sliki 3.5 lahko vidimo izgled senzorja.

Page 26: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

14

Karakteristike temperaturnega senzorja Maxim Integrated DS18B20:

1-wire protokol s samo enim pinom za komunikacijo.

Unikatna 64-bitna serijska koda, zato lahko priklopimo več naprav na isto vodilo.

Ne potrebuje zunanjih komponent.

Lahko je napajan iz podatkovne linije.

Napajalno območje: 3 V do 5,5 V.

±0,5 °C natančnost v območju -55 °C do +125 °C.

Resolucija merjenja je spremenljiva od 9 do 12 bitov.

Pretvorba temperature v največ 750 ms v 12-bitno digitalno besedo. [16]

Slika 3.5: Senzor DS18B20

Page 27: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

15

3.5.1 Izvedba temperaturnega senzorja

Povezavo senzorja na mikrokrmilnik kaže slika 3.6:

Po inicializaciji senzorja se začne pretvorba, ki traja okrog 750 ms, zato imamo na tem

mestu zakasnitev. Beremo iz pomnilnika senzorja ter prva dva bita preračunamo, da

dobimo dejansko temperaturo v stopinjah celzija in jo nato izpisujemo na prikazovalniku

(slika 3.8). Za delo s senzorjem smo uporabili knjižnico OneWire.h. Ob prekoračitvi

določene vrednosti temperature imamo tudi opozorilo, ki se izpiše pod prikazom

temperature na LCD-ju, kar kaže slika 3.8.

Slika 3.6: Povezava temperaturnega

senzorja na mikrokrmilnik

Page 28: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

16

Diagram poteka programa za temperaturo:

Slika 3.7: Diagram poteka za program temperature

Page 29: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

17

Prikaz na LCD prikazovalniku:

Slika 3.8: Levo prikaz temperature, desno prikaz opozorila ob prekoračitvi

3.6 Izbor magnetnega senzorja

Pri izbiri magnetnega senzorja smo imeli naslednje zahteve:

Majhna velikost

Majhna poraba

Odpornost na fizični stres

Dobra občutljivost

Napajanje 3,3 V do 5 V

Izbrali smo digitalni senzor A3213, podjetja Allegro z naslednjimi karakteristkami:

Delovanje z južnim ali severnim polom magneta

Napajalno območje: 2,4 V do 5,5 V

Stabilizirano proženje zaradi zelo dobre temperaturne stabilnost, neobčutljivosti na

fizični stres

Povprečna poraba: 825 μW

Temperaturno območje delovanja: -40 °C do +85 °C [23]

Page 30: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

18

Slika 3.9: Blokovni diagram senzorja A3213

3.6.1 Izvedba magnetnega senzorja in vgrajena programska koda za hitrost

Povezavo senzorja na mikrokrmilnik kaže slika 3.10:

Slika 3.10: Povezava magnetnega senzorja

na mikrokrmilnik

Page 31: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

19

Program za izračun hitrosti je enak programu za obrate le da jih množimo z določeno

vrednostjo oziroma jih pretvarjamo v hitrost. Hall-senzor proži prekinitev, ko preide iz

stanja HIGH na LOW. Program preverja ali je sprememba med prejšnjo in zdajšnjo

prekinitvijo večja kot 0. Če je pogoj izpolnjen, po formuli izračunamo obrate ter jih

pomnožimo z določeno vrednostjo oziroma formulo, da dobimo hitrost. Merimo povprečje

petih meritev. Vrednosti se nato sproti izpisujejo na ekran kot kaže slika 3.13. Impulze

proži magnet, prilepljen na platišče motorja. Zaradi boljše berljivosti imamo zakasnitev pri

izpisu.

Izračun hitrosti:

Najprej izračunamo obrate po formuli (3.1):

kmh = 60 ∗ (1000000

casKMH∗1 ) (3.1)

Tu je :

CasKMH – spremenljivka, kjer je shranjena razlika časa med dvema prekinitvama, v mikro

sekundah. (μs)

kmh – število obratov za računanje hitrosti (obr/min)

Hitrost pa potem izračunamo po formuli (3.2):

hitrost = kmh ∗ obsegKolesa ∗ 60 ∗ (1

100000) (3.2)

Tu je :

kmh – število obratov za računanje hitrosti (obr/min)

ObsegKolesa – Obseg kolesa v centimetrih (cm)

Page 32: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

20

Diagram poteka programa za hitrost:

Slika 3.11: Diagram poteka programa za hitrost

Page 33: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

21

Prikaz na LCD prikazovalniku:

Slika 3.12: Prikaz hitrosti na LCD prikazovalniku

3.7 Izbor infrardečega senzorja

Pri izbiri infardečega smo imeli naslednje zahteve:

Ohišje senzorja poskrbi za delitev med diodama

Relativno velika razdalja delovanja

Izbrali smo dva senzorja, podjetja Vishay, ki imata zelo podobne lastnosti in sta

funkcionalno enaka. Prikazuje ju slika 3.13. Dva smo izbrali za to, ker pride prvo izbran

model TCND 5000 samo v SMD obliki in smo potrebovali še enega, ki ga lahko takoj

vstavimo v prototipno ploščico, kar nam je olajšalo delo pri prototipu in testiranju. Za drugi

model smo izbrali TCRT 5000.

Karakteristike senzorja TCND 5000:

Sprejemna PIN dioda

Razdalja delovanja 2 mm do 25 mm

Visoka linearnost

Blokirni filter za dnevno svetlobo

Valovna dolžina oddajne diode 940 nm

Temperaturno območje -40 °C do +85 °C [20]

Page 34: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

22

Karakteristike senzorja TCRT 5000:

Sprejemni fototranzistor

Razdalja delovanja 0,2 mm do 15 mm

Blokirni filter za dnevno svetlobo

Valovna dolžina oddajne diode 950 nm

Temperaturno območje -25 °C do +85 °C [21]

Slika 3.13: Levo infrardeči senzor TCND 5000, desno TCRT 5000 [20] [21]

Page 35: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

23

Slika 3.14: Povezava infrardečega senzorja na mikrokrmilnik

3.7.1 Izvedba infrardečega senzorja in vgrajena programska koda za obrate

Povezavo senzorja na mikrokrmilnik kaže slika 3.14:

Merjenje obratov deluje po principu štetja impulzov in merjenju časa med prekinitvami ter

preračunavanjem v dejanske vrednosti. Senzor je sestavljen iz dveh diod. Iz oddajne IR

diode in IR fotodiode. Ko se zaradi podlage (bele nalepke na rotorju) IR svetloba odbije,

fotodioda to zazna in nam na vhod mikrokrmilnika pripelje analogno vrednost, ki sproži

prekinitev, ko preide iz stanja HIGH na LOW preko ''Pull down'' upora. Program preverja

ali je sprememba med prejšnjo in zdajšnjo prekinitvijo večja kot 0. Če je pogoj izpolnjen,

po formuli izračunamo obrate. Vrednosti se nato sproti izpisujejo na ekran kot kaže slika

3.16. Zaradi boljše berljivosti imamo zakasnitev pri izpisu.

Obrate na minuto računamo po naslednji formuli:

rpm = 60 ∗ (1000000

casRPM ∗ 1) (3.3)

Tu je :

CasRPM - spremenljivka kjer je shranjena razlika časa med dvema prekinitvama, v mikro

sekundah. (μs)

rpm – število izračunanih obratov (obr/min)

Page 36: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

24

Diagram poteka programa za obrate:

Slika 3.15: Diagram poteka programa za obrate

Page 37: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

25

Prikaz na LCD prikazovalniku:

Slika 3.16: Prikaz obratov na LCD prikazovalniku.

3.8 Merilec časa (Drag Timer)

Program ''Drag Timer'' nam pove čas, ki smo ga potrebovali za premagovanje določene

razdalje. Deluje tako, da v stanju mirovanja motornega kolesa pritisnemo gumb za

potrditev in na prikazovalniku se prižge semafor. Ko se na semaforju prižgejo vse tri lučke,

kot kaže slika 3.17, se začne samodejno šteti čas in takrat tudi speljemo. Med vožnjo

program preverja ali je prevožena razdalja enaka nastavljeni vrednosti. Pot meri s

števcem, ki za vsak obrat kolesa prišteje njegov obseg, ki je potreben za računanje

hitrosti. Ko je razdalja enaka nastavljeni, se štetje časa samodejno ustavi. Vrednost

ostane na zaslonu, dokler spet ne pritisnemo na potrditveni gumb ali menjamo prikazano

vrednost. Takrat se spet pokaže meni na sliki 3.17.

Prikaz na LCD prikazovalniku:

Slika 3.17: Levo merilec časa pred pritiskom na gumb, desno po koncu merjenja.

Page 38: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

26

Diagram poteka:

Slika 3.18: Diagram poteka programa merilca časa

Page 39: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

27

3.9 Števec delovnih ur

Program za izpis delovnih ur deluje tako, da kadar je naprava prižgana, merimo čas v

milisekundah. Vrednost milisekund pretvarjamo v minute ter sproti izpisujemo na ekran

kot kaže slika 3.19. Skupna vrednost se vpiše v EEPROM, da nam ostane shranjena ko

se merilnik izklopi. Vpis v EEPROM se vrši vsako minuto, da zmanjšamo število vpisov in

s tem podaljšamo njegovo življensko dobo. Za delo z EEPROM pomnilnikom smo

uporabili v Arduino vgrajeno knjižnico EEPROM.h.

Prikaz na LCD prikazovalniku:

Slika 3.19: Prikaz delovnih ur na LCD prikazovalniku.

Page 40: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

28

Diagram poteka programa delovnih ur:

Slika 3.20: Diagram poteka programa števec ur

Page 41: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

29

3.10 Priključitev tipk

V našem merilniku smo uporabili tri tipke. Dve tipki se uporabljata za premik levo ali desno

med prikazanimi meniji. Tretja tipka nam služi kot potrditev oziroma začetek pri merilcu

časa (''Drag timer'').

Povezavo tipk na mikrokrmilnik kaže slika 3.21:

Vsi trije gumbi so povezani na zunanje prekinitve mikrokrmilnika. Zaradi problema, ko

pritisnemo tipko in jo mikrokrmilnik večkrat zazna, ker signal zaniha, smo morali prirediti

program. Rešitev je bila ta, da smo preverjali, če je razlika med dvema pritiskoma na

gumb manjša od 300 ms in če je pogoj izpolnjen, pritiska na gumb ne zaznamo. S tem

smo rešili problem.

Slika 3.21: Povezava tipk na mikrokrmilnik.

Page 42: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

30

Diagram poteka programa tipk:

Slika 3.22: Diagram poteka programa tipk

Page 43: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

31

3.11 Načrtovanje tiskanega vezja in programska oprema

Načrtovanja tiskanega vezja smo se lotili v programskem okolju Altium Designer, ker smo

ga že uporabljali med časom študija in ga relativno dobro poznamo. Pri načrtovanju smo

bli omejeni na velikost tiskanine, ker smo hoteli čim kompaktnejšo napravo. Prav tako smo

si prizadevali, da čim več povezav speljemo po zgornji strani tiskanine, zaradi

enostavnejše izdelave. Pazili smo tudi, da so kondezatorji, ki so potrebni za pravilno

delovanje mikrokrmilnika, čim bližje le temu.

Programsko kodo za mikrokrmilnik in njegovo programiranje smo izvedli v razvojnem

okolju Arduino IDE.

Shema našega vezja ter izgled, se nahajata v prilogah.

3.12 Načrtovanje ohišja senzorjev

Senzorje smo morali napeljati po motorju, zato smo jih prispajkali na kabel primerne

dolžine (slika 3.23). Zaradi motenj, ki bi lahko vplivale na našo merjenje, smo uporabili

kabel z oklopom. Senzorje smo na koncu kabla zaščitili s termobužirko, da jih zaščitimo

pred različnimi vplivi na cesti in kratkim stikom. Temperaturni senzor smo na to še vtaknili

v navojni čep, ki pride v glavo motorja, da lahko merimo temperaturo hladilne tekočine.

Senzor smo v čep zalili z dvokomponentno epoksidno smolo, odporno na vodo, kemikalije

in visoke temperature.

Slika 3.23: Zaščiten magnetni senzor na kablu.

Page 44: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

32

4 MERITVE IN REZULTATI

4.1 Preizkus

Testiranja merilnega sistema smo se lotili tako, da smo preizkusili vsak element oziroma

vsako vrednost, ki jo merimo.

4.1.1 Preizkus tipk in programa

V sistemu imamo 3 tipke. Dve tipki nam služita za prehod med vrednosti, ki jih izpisujemo.

Izpisane vrednosti krožijo po tem vrstnem redu:

TEMP ↔ RPM ↔ DRAG ↔ ST-UR ↔ KM/H

KM/H ↔ ST-UR ↔ DRAG ↔ RPM ↔ TEMP

S prvo tipko se premikamo v levo, z drugo pa v desno.

Tretja tipka nam služi kot potrditev oziroma začetek pri merilcu časa (''Drag timer'').

Po večkratnem testiranju smo ugotovili, da tipke in program pravilno delujejo.

4.1.2 Preizkus temperature

Preizkus temperature je bil izveden tako, da smo temperaturni senzor večkrat segreli in

preverjali, če temperatura na prikazovalniku narašča in pada. Ko smo potrdili, da senzor

pravilno deluje, smo preverili še vrednosti temperature z infrardečim merilcem

temperature Basetech IRT-350. Merili smo podlago, na kateri je bil temperaturni senzor.

Dobili smo rezultate z odstopanjem ± 0,5 °C. Upoštevati moramo tudi natančnost merilca,

ki ima odstopanje ± 2 °C. Vendar v našem primeru je odstopanje zanemarljivo, zato je

preizkus pozitiven.

Drugi test temperature je bilo opozorilo, ki ga program izpiše, ko dosežemo določeno

vrednost. V našem primeru je to bilo 30 °C zaradi lažjega testiranja. Po večkratnem

preizkusu je tudi ta funkcija merilnika pravilno delovala.

Page 45: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

33

4.1.3 Preizkus štetja delovnih ur

Preizkus štetja delovnih ur je potekal tako, da smo merilnik pustili prižgan večkrat po 30

minut in beležili čas na osebnem računalniku. Po pregledu časa na merilniku in osebnem

računalniku smo opazili, da so časi enaki in da štetje delovnih ur deluje pravilno.

Preveriti smo morali še, ali nam vrednost delovnih ur ostane tudi po izklopu. Merilnik smo

večkrat izklopili za daljši čas in vrednost se nam ni spremenila, zato je bil tudi test

pozitiven.

4.1.4 Preizkus merilca časa (Drag timer)

Preizkus merilca časa je potekal tako, da smo za merjeno razdaljo vnesli 15 m, za obseg

kolesa pa 1 m . Tako smo dobili pogoj, da ko 15-krat dobimo impulz iz magnetnega

senzorja, program prekine štetje časa. Test smo večkrat ponovil in prišli do zaključka, da

se je pri 15-tem impulzu vedno čas ustavil. Zaradi tega lahko sklepamo, da je delovanje

pravilno.

4.1.5 Preizkus obratov

Preizkus obratov je potekal tako, da smo si določili nekaj vrednosti obratov in jih po

formuli (4.1) preračunali v frekvenco. Za proizvajanje impulzov smo uporabili enosmerni

motor, ki je imel na rotorju nameščeno odbojno nalepko. Preko regulacije napetosti smo

spreminjali obrate motorja in posledično frekvenco pulzov, ki jih je oddajal infrardeči

senzor. Nastavljeno frekvenco smo poskušali čimbolj približati izračunani. Frekvenco smo

merili s Hamegovim 1.6 GHz števcem model HM 8021-4, z osciloskopom pa smo

opazovali obliko signala (slika 4.2). Tabela 4.1 prikazuje dobljene vrednosti izračunanih in

prikazanih vrednosti obratov. Ker prikazane vrednosti niso bile popolnoma stacionarne,

smo zapisovali dve meritvi. Karakteristiko prikazanih obratov glede na izračune, prikazuje

slika 4.1. Izračunali smo tudi relativni pogrešek, ki ga vidimo v tabeli 4.2.

Page 46: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

34

Frekvenco iz obratov računamo po naslednji formuli:

𝑓𝑟𝑒𝑘𝑣𝑒𝑛𝑐𝑎 = 𝑜𝑏𝑟𝑎𝑡𝑖/60 (4.1)

Tu so :

obrati – število obratov (obr/min)

Tabela 4.1: Tabela izračunanih in prikazanih obratov

Željeni Izračunana Nastavljena Izračunani Odčitani Odčitani obrati (obr/min)

frekvenca (Hz)

frekvenca (Hz)

obrati (obr/min)

obrati 1 (obr/min)

obrati 2 (obr/min)

2000 33,33 33,32 1999 2010 1999

3000 50,00 50,16 3010 3015 2988

4000 66,67 66,65 3999 4022 4003

5000 83,33 83,66 5020 5002 5039

6000 100,00 100,29 6017 6035 6022

7000 116,67 116,63 6998 7010 6995

8000 133,33 133,12 7987 8110 7950

9000 150,00 149,47 8968 9150 8955

10000 166,67 166,62 9997 10123 10003

15800 263,33 262,62 15757 15820 15901

Tabela 4.2: Tabela povprečne vrednosti odčitanih obratov in pogreška

Povprečna Pogrešek (%)

vrednost odčitanih obratov (obr/min)

2005 0,28

3002 -0,28

4013 0,34

5021 0,01

6029 0,19

7003 0,06

8030 0,54

9053 0,94

10063 0,66

15861 0,66

Page 47: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

35

Slika 4.1: Karakteristika prikazanih obratov glede na izračunane

Slika 4.2: Oblika pulzov infrardečega senzorja

Iz izmerjenih vrednosti lahko vidimo, da merjenje obratov deluje pravilno in smo zmožni

meriti obrate do 15000, kot so bile naše zahteve. Vzrok za odstopanje je dnevna svetloba,

ki vpliva na sprejemno diodo, prav tako je amplituda signala vedno odvisna od količine

odbite infrardeče svetlobe. Zato naše vrednosti tudi niso bile stacionarne. V našem

primeru so takšna odstopanja sprejemljiva in zato je tudi test pozitiven.

2000

4000

6000

8000

10000

12000

14000

16000

0 20 40 60 80 100 120 140 160 180 200 220 240 260 280

Ob

rati

(o

br/

min

)

Nastavljena frekvenca (Hz)

Izračunani obrati (obr/min) Odčitani obrati 1 (obr/min)

Odčitani obrati 2 (obr/min)

Page 48: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

36

4.1.6 Preizkus hitrosti

Preizkus hitrosti je potekal tako, da smo si določili nekaj vrednosti hitrosti in jih po formuli

(4.2) preračunali v frekvenco, katero smo potem nastavili. Za proizvajanje impulzov smo

uporabili enosmerni motor, ki je imel na rotorju nameščen magnet. Preko regulacije

napetosti smo spreminjali obrate motorja in posledično frekvenco pulzov, ki jih je oddajal

magnetni senzor. Frekvenco smo merili s Hamegovim 1.6 GHz števcem, z osciloskopom

pa smo opazovali obliko signala (slika 4.4). Tabela 4.2 prikazuje dobljene vrednosti

izračunanih in prikazanih vrednosti hitrosti. Karakteristiko prikazane hitrosti glede na

izračunano, prikazuje slika 4.3.

Frekvenco iz hitrosti računamo po naslednji formuli:

frekvenca = hitrost

obsegKolesa ∗ 60 ∗ 60 (1

100000)

(4.2)

Tu so :

hitrost – vrednost hitrosti (km/h)

obsegKolesa – Obseg kolesa v cm

Tabela 4.3: Tabela izračunane in prikazane hitrosti

Nastavljena Izračunana Prikazana Obseg

frekvenca (Hz) hitrost (km/h) hitrost (km/h) kolesa (cm)

16,67 60 60 100

33,33 120 120 100

50,00 180 180 100

66,67 240 240 100

83,33 300 300 100

100,00 360 360 100

116,67 420 420 100

133,33 480 480 100

150,00 540 540 100

166,67 600 600 100

183,33 660 660 100

200,00 720 720 100

216,67 780 780 100

Page 49: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

37

Slika 4.3: Karakteristika prikazane hitrosti glede na izračunano

Slika 4.4: Oblika pulzov magnetnega senzorja

Iz izmerjenih vrednosti lahko vidimo, da merjenje hitrosti deluje pravilno in zelo natančno.

Odstopanja od izračunane vrednosti ni bilo, kar lahko pripišemo digitalnemu senzorju z

dobrim proženjem.

0

100

200

300

400

500

600

700

800

900

0,00 50,00 100,00 150,00 200,00 250,00

Hit

rost

(km

/h)

Nastavljena frekvenca (Hz)

Izračunana hitrost (km/h) Prikazana hitrost (km/h)

Page 50: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

38

4.2 Poraba merilnega sistema

Merjenje porabe našega celotnega sistema smo izvedli za vsako prikazano stanje

posebej. Za vsako stanje smo izvedli dve meritvi toka in nato izračunali povprečje po

formuli (4.3). Porabo moči smo izračunali po formuli (4.4). Iz tabele 4.4 lahko vidimo, da je

največji porabnik infrardeča led dioda v stanju merjenja obratov.

Spodnja tabela prikazuje porabo toka in moči za vsako stanje merilnega sistema:

Tabela 4.4: Tabela izmerjenih in preračunanih vrednosti porabe

Stanje I1(mA) I2(mA) I povprečen (mA) P (mW) U (V)

Temp 35,2 35,8 35,5 177,5 5

Rpm 72,1 75,1 73,6 368 5

Drag 36,2 35,8 36 180 5

St-ur 36,1 36,3 36,2 181 5

Km/h 36,2 35,8 36 180 5

Enačba za povprečno vrednost električnega toka (4.1):

Ipovprecen =I1 + I2

2 (4.3)

I2 in I1 sta vrednosti izmerjenega električnega toka (mA).

Enačba za porabo moči (4.2):

P = U ∗ Ipovprecen (4.4)

Tu je:

U - naša napajalna napetost (V),

P – izračunana poraba moči (mW),

Ipovprecen – izračunana povprečna vrednost električnega toka (mA).

Page 51: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

39

5 SKLEP

Cilj diplomske naloge je bil izdelati merilni sistem za merjenje parametrov motornega

kolesa. Pri izdelavi le te smo se soočili z nekaterimi težavami. Zataknilo se nam je pri

merjenju obratov in hitrosti. Po preizkusu smo ugotovili, da je prikazana vrednost

napačna. Ob pregledu programa in teorije o prekinitvah na mikrokrmilniku smo to tudi

rešili in program izpopolnili. Pri tem smo se veliko naučili o samem programiranju

mikrokrmilnikov. Prav tako smo spoznali različne komunikacije med mikrokrmilnikom in

zunanjimi napravami.

Zastavljene zahteve diplomskega dela oziroma merilnega sistema smo izpolnili, za

izboljšanje pa bi lahko dodali še izpopolnjen grafični in uporabniški vmesnik, ki bi

uporabniku dovoljeval nastavitev prekoračitvenih vrednosti in obseg kolesa. Merilnik bi

lahko opremili z boljšim LCD prikazovalnikom z večjo ločljivostjo, da bi izboljšali grafični

vmesnik in prikazovanje.

Pri izdelavi diplomskega dela smo se veliko novega naučili in spoznali procese, ki so

potrebni da dobimo uporaben izdelek, ki smo si ga zamislili. Pot do končnega izdelka je

zahtevala veliko volje in dela. Na koncu nam je vendar le uspelo in z končnim izdelkom

smo zadovoljni, kar je bil tudi naš glavni cilj.

Page 52: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

40

6 VIRI IN LITERATURA

[1] Arduino, Arduino [elektronski]. Dostopna na:

https://www.arduino.cc/ [Poskus dostopa 25.8.2015]

[2] Arduino, Arduino – Arduino UNO [elektronski]. Dostopna na:

https://www.arduino.cc/en/Main/ArduinoBoardUno [Poskus dostopa 25.8.2015]

[3] Wikipedia, Wikipedia – Arduino [elektronski]. Dostopna na:

https://en.wikipedia.org/wiki/Arduino [Poskus dostopa 25.8.2015]

[4] Arduino, Arduino – software [elektronski]. Dostopna na:

https://www.arduino.cc/en/Main/Software [Poskus dostopa 25.8.2015]

[5] Arduino, Arduino – Environment [elektronski]. Dostopna na:

https://www.arduino.cc/en/Guide/Environment [Poskus dostopa 25.8.2015]

[6] Ecplaza, Ecplaza – main [elektronski]. Dostopna na:

http://cqfengmei.en.ecplaza.net/main.jpg [Poskus dostopa 25.8.2015]

[7] Tested, Tested – Arduino r3 front [elektronski]. Dostopna na:

http://files.tested.com/photos/2013/06/12/55-48912-arduinouno_r3_front-1371074540.jpg

[Poskus dostopa 25.8.2015]

[8] Wordpress, Wordpress – ritchie-japan-prize [elektronski]. Dostopna na:

https://hightechhistory.files.wordpress.com/2011/10/ritchie-japan-prize.jpg

[Poskus dostopa 25.8.2015]

[9] Wikipedia, Wikipedia – Microcontroller [elektronski]. Dostopna na:

https://en.wikipedia.org/wiki/Microcontroller [Poskus dostopa 25.8.2015]

[10] Atmel, Atmel – Products [elektronski]. Dostopna na:

http://www.atmel.com/products/microcontrollers/default.aspx?src=parent

[Poskus dostopa 25.8.2015]

Page 53: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

41

[11] Tme, Tme – ramka [elektronski]. Dostopna na:

http://www.tme.eu/html/gfx/ramka_1571.jpg [Poskus dostopa 25.8.2015]

[12] Sparkfun, Sparkfun – SPI interface [elektronski]. Dostopna na:

https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi

[Poskus dostopa 25.8.2015]

[13] Wikipedia, Wikipedia – Serial Peripheral Interface [elektronski]. Dostopna na:

https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus [Poskus dostopa

25.8.2015]

[14] Arduino, Arduino – SPI [elektronski]. Dostopna na:

https://www.arduino.cc/en/Reference/SPI [Poskus dostopa 25.8.2015]

[15] MaximIntegrated, MaximIntegrated – one-wire [elektronski]. Dostopna na:

http://www.maximintegrated.com/en/products/comms/one-wire.html

[Poskus dostopa 25.8.2015]

[16] MaximIntegrated, MaximIntegrated – DS18B20 [elektronski]. Dostopna na:

http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf [Poskus dostopa 25.8.2015]

[17] Sparkfun, Sparkfun – pro micro [elektronski]. Dostopna na:

https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide

[Poskus dostopa 25.8.2015]

[18] Atmel, Atmel – Atmega32u4 [elektronski]. Dostopna na:

http://www.atmel.com/Images/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf

[Poskus dostopa 25.8.2015]

[19] Texas Instruments, Texas Instruments – REG113NA [elektronski]. Dostopna na:

http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=reg113-

3&fileType=pdf [Poskus dostopa 25.8.2015]

Page 54: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

42

[20] Vishay, Vishay – TCND 5000 [elektronski]. Dostopna na:

http://www.vishay.com/docs/83795/tcnd5000.pdf [Poskus dostopa 25.8.2015]

[21] Vishay, Vishay – TCRT 5000 [elektronski]. Dostopna na:

http://www.vishay.com/docs/83760/tcrt5000.pdf [Poskus dostopa 25.8.2015]

[22] Sparkfun, Sparkfun – Nokia 5110 [elektronski]. Dostopna na:

https://www.sparkfun.com/datasheets/LCD/Monochrome/Nokia5110.pdf

[Poskus dostopa 25.8.2015]

[23] Farnell, Farnell – A3213 [elektronski]. Dostopna na:

http://www.farnell.com/datasheets/1934041.pdf [Poskus dostopa 25.8.2015]

[24] Wikipedia, Wikipedia – C Programming language [elektronski]. Dostopna na:

https://en.wikipedia.org/wiki/C_(programming_language)

[Poskus dostopa 25.8.2015]

Page 55: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

43

7 PRILOGE

7.1 Priloga A: Vezalna shema celotnega vezja

Slika 7.1: Vezalna shema celotnega vezja

Page 56: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

44

7.2 Priloga B: Izrisano tiskano vezje

Slika 7.2: Tiskano vezje v 2D pogledu

Slika 7.3: Tiskano vezje v 3D pogledu

Page 57: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

45

Page 58: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

46

Page 59: MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV … · ii ZAHVALA Zahvaljujem se mentorju doc. dr. Iztoku Krambergerju in somentorju asist. dr. Marku Kosu, ki sta mi bila v pomoč pri

47