UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Tomaž Bratuša MERJENJE IN PRIKAZOVANJE DELOVNIH PARAMETROV MOTORNEGA KOL

Podobni dokumenti
Univerza v Ljubljani

Microsoft Word - ELEKTROTEHNIKA2_11. junij 2104

DES

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Mihael Sklepić SISTEM ZA KRMILJENJE TALNEGA GRETJA NA SONČNO ENERGIJO Z

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Diapozitiv 1

10. Meritev šumnega števila ojačevalnika Vsako radijsko zvezo načrtujemo za zahtevano razmerje signal/šum. Šum ima vsaj dva izvora: naravni šum T A, k

Delavnica Načrtovanje digitalnih vezij

Področje uporabe

Microsoft Word - Avditorne.docx

CelotniPraktikum_2011_verZaTisk.pdf

5 Programirljiva vezja 5.1 Kompleksna programirljiva vezja - CPLD Sodobna programirljiva vezja delimo v dve veliki skupini: CPLD in FPGA. Vezja CPLD (

Procesorski sistemi v telekomunikacijah

DES11_realno

seminarska_naloga_za_ev

KRMILNA OMARICA KO-0

Microsoft Word doc

DES11_vmesniki

innbox_f60_navodila.indd

Navodila za uporabo Mini snemalnik

Base NET.cdr

Diapozitiv 1

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Delavnica Načrtovanje digitalnih vezij

101353_-an-01-sl-_vbodni_termometer

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr

Delavnica Načrtovanje digitalnih vezij

Microsoft Word - EV-2-projekt.doc

IR termometer testo 830 testo 830 hiter, za brezkontaktno merjenje površinske temperature Merjenje z laserskim pointerjem za natančno merjenje tudi na

Člen 11(1): Frekvenčna območja Frekvenčna območja Časovna perioda obratovanja 47,0 Hz-47,5 Hz Najmanj 60 sekund 47,5 Hz-48,5 Hz Neomejeno 48,5 Hz-49,0

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

an-01-Stikalo_za_luc_za_na_stopnisce_Zamel_ASP-01.docx

VHF1-VHF2

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Tonski generator IDEAL Electrical PRO Kataloška št.:

Poskusi s kondenzatorji

SLO - NAVODILO ZA UPORABO IN MONTAŽO Št

Slide 1

Delavnica Načrtovanje digitalnih vezij

DES

Mestna občina Celje Komisija Mladi za Celje POLICA ZA HLADILNIK Z VGRAJENO TEHTNICO RAZISKOVALNA NALOGA (Fizika, Elektronika) Avtorja: Martin Malinger

Microsoft Word - avd_vaje_ars1_1.doc

Logični modul LOGO!

Delavnica Načrtovanje digitalnih vezij

- Avtomat za mešanje tekočin Raziskovalna naloga Mentor: Gregor Kramer, univ. dipl. inž. el. Avtorja: David Fonda, E-4. B Jaka Rober, E-4. B Celje, ma

Vgrajeni sistemi Uvod & ponovitev C

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo POSODOBITEV UČNE PRIPRAVE S PODROČJA KRMILNO-REGULACIJSKIH SISTEMOV Z MIKR

an-01-sl-Temperaturni_zapisovalnik_podatkov_Tempmate.-S1.docx

PowerPointova predstavitev

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Microsoft Word doc

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

FOTO

Šolski center celje

Microsoft PowerPoint - NDES_8_USB_LIN.ppt

No Slide Title

VIN Lab 1

Microsoft Word - M docx

Microsoft Word - 2. Merski sistemi-b.doc

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj

Univerza v Ljubljani

1. Električne lastnosti varikap diode Vsaka polprevodniška dioda ima zaporno plast, debelina katere narašča z zaporno napetostjo. Dioda se v zaporni s

Diapozitiv 1

LABORATORIJSKE VAJE IZ FIZIKE

REALIZACIJA ELEKTRONSKIH SKLOPOV

ŠOLA: SŠTS Šiška

NAVODILA ZA UPORABO Smart watch JW018 POZOR! Ura vsebuje magnetne sestavine. Osebe z vgrajenim srčnim spodbujevalnikom (pacemaker) ali kakršnimi drugi

Microsoft Word - Navodila_NSB2_SLO.doc

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

docx

Microsoft Word doc

an-01-USB_digitalni_zvocniki_Logitech_S-150.docx

NETGEAR R6100 WiFi Router Installation Guide

VAU 7.5-3_Kurz_SL_ indd

PodroĊje uporabe

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

VARIMOT® in pribor

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Laserliner tester napetosti AC tive Finder Kataloška št.: 12 3

Microsoft Word doc

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

UPS naprave Socomec Netys PL (Plug in) UPS naprava Socomec Netys PL moč: 600VA/360W; tehnologija: off-line delovanje; vhod: 1-fazni šuko 230VAC; izhod

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Blaž Kovač Nadzor temperature ter vlage v kletnih prostorih Diplomsko de

ISOFT , računalniški inženiring

PowerPointova predstavitev

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Digitalni trifazni števec električnega toka TIP NOVA 80 MID 4L

Microsoft Word - A-3-Dezelak-SLO.doc

_ _BDA_CapitalSports_CS-Timer.indd

Microsoft Word - DIPLOMA.doc

Senzorski modul za spremljanje hladne verige

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

1

SensusScoutls 3300.cdr

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

Transkripcija:

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: Študijski program: Tomaž Bratuša Univerzitetni študijski program Elektrotehnika Smer: Mentor: Somentor: Lektorica: Elektronika doc. dr. Iztok Kramberger asist. dr. Marko Kos univ. dipl. prevajalstva Marjana Bratuša

i

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 ii

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. iii

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. iv

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 v

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 vi

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 vii

Slika 7.2: Tiskano vezje v 2D pogledu...44 Slika 7.3: Tiskano vezje v 3D pogledu...44 viii

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 ix

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 x

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] 1

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] 2

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 3

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. 4

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 5

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] 6

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] 7

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 8

Slika 3.1: Shema našega merilnega sistema 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 9

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 10

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] 11

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 12

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. 13

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 14

3.5.1 Izvedba temperaturnega senzorja Povezavo senzorja na mikrokrmilnik kaže slika 3.6: Slika 3.6: Povezava temperaturnega senzorja na mikrokrmilnik 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. 15

Diagram poteka programa za temperaturo: Slika 3.7: Diagram poteka za program temperature 16

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] 17

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 18

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): 1 hitrost = kmh obsegkolesa 60 ( 100000 ) (3.2) Tu je : kmh število obratov za računanje hitrosti (obr/min) ObsegKolesa Obseg kolesa v centimetrih (cm) 19

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

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] 21

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] 22

3.7.1 Izvedba infrardečega senzorja in vgrajena programska koda za obrate Povezavo senzorja na mikrokrmilnik kaže slika 3.14: Slika 3.14: Povezava infrardečega senzorja na mikrokrmilnik 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) 23

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

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. 25

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

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. 27

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

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: Slika 3.21: Povezava tipk na mikrokrmilnik. 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. 29

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

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. 31

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. 32

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. 33

Frekvenco iz obratov računamo po naslednji formuli: frekvenca = obrati/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 34

Obrati (obr/min) 16000 14000 12000 10000 8000 6000 4000 2000 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 Nastavljena frekvenca (Hz) Izračunani obrati (obr/min) Odčitani obrati 2 (obr/min) Odčitani obrati 1 (obr/min) 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. 35

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: hitrost frekvenca = (4.2) 1 obsegkolesa 60 60 ( 100000 ) 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 36

Hitrost (km/h) 900 800 700 600 500 400 300 200 100 0 0,00 50,00 100,00 150,00 200,00 250,00 Nastavljena frekvenca (Hz) Izračunana hitrost (km/h) Prikazana hitrost (km/h) 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. 37

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). 38

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. 39

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] 40

[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] 41

[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] 42

7 PRILOGE 7.1 Priloga A: Vezalna shema celotnega vezja Slika 7.1: Vezalna shema celotnega vezja 43

7.2 Priloga B: Izrisano tiskano vezje Slika 7.2: Tiskano vezje v 2D pogledu Slika 7.3: Tiskano vezje v 3D pogledu 44

45

46

47