merjenje in prikazovanje delovnih parametrov … · ii zahvala zahvaljujem se mentorju doc. dr....
TRANSCRIPT
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
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
i
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
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.
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.
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
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
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
viii
Slika 7.2: Tiskano vezje v 2D pogledu .............................................................................44
Slika 7.3: Tiskano vezje v 3D pogledu .............................................................................44
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
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
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]
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]
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
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.
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
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]
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]
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
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
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
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]
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
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.
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
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
16
Diagram poteka programa za temperaturo:
Slika 3.7: Diagram poteka za program temperature
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]
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
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)
20
Diagram poteka programa za hitrost:
Slika 3.11: Diagram poteka programa za hitrost
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]
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]
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)
24
Diagram poteka programa za obrate:
Slika 3.15: Diagram poteka programa za obrate
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.
26
Diagram poteka:
Slika 3.18: Diagram poteka programa merilca časa
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.
28
Diagram poteka programa delovnih ur:
Slika 3.20: Diagram poteka programa števec ur
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.
30
Diagram poteka programa tipk:
Slika 3.22: Diagram poteka programa tipk
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.
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.
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.
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
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)
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
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)
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).
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.
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]
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]
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]
43
7 PRILOGE
7.1 Priloga A: Vezalna shema celotnega vezja
Slika 7.1: Vezalna shema celotnega vezja
44
7.2 Priloga B: Izrisano tiskano vezje
Slika 7.2: Tiskano vezje v 2D pogledu
Slika 7.3: Tiskano vezje v 3D pogledu
45
46
47