Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically...
Transcript of Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically...
Fakulteta za elektrotehniko, računalništvo in informatiko
Smetanova ulica 17 2000 Maribor, Slovenija
Igor Rihter
MERILNIK TEMPERATURE, HITROSTI IN
OBRATOV MOTORJA DC
Diplomsko delo
Maribor, september 2013
MERILNIK TEMPERATURE, HITROSTI IN OBRATOV
MOTORJA DC
Diplomsko delo
Maribor, september 2013
Študent: Igor Rihter
Študijski program: VS Elektrotehnika
Smer: Elektronika
Mentor(ica): viš. pred. dr. Mitja Solar
Somentor(ica): /
Lektor(ica): Bojana Samarin
i
ii
ZAHVALA
Zahvaljujem mentorju, viš. pred. dr.
Mitju Solarju, da mi je omogočil
opravljanja diplomskega dela, za pomoč
in nasvete.
Posebna zahvala gre staršema, ki sta me
podpirala in mi nudila finančno pomoč
pri študiju.
iii
MERILNIK TEMERATURE, HITROSTI IN OBRATOV
MOTORJA DC
Ključne besede: mikrokrmilnik, programska oprema, BASCOM, temperaturno tipalo
DS1820, magnetni senzor, hall senzor, AVR, zaslon LCD
UDK: 007.52:681.5 (043.2)
Povzetek:
V diplomski nalogi je opisan potek digitalizacije merilih naprav za merjenje hitrosti,
temperature ter obratov enosmernega motorja. Zajema podrobni opis aplikacije, ki je
izdelana s programsko opremo BASCOM in je uporaben za zajemanje in obdelavo
podatkov, dobljenih ob izvajanju meritve.
iv
MEASUREMENT SYSTEM FOR DC MOTOR
Key words: microcontroller, software, BASCOM, temperature sensor, DS1820, hall
sensor, AVR, LCD
UDK: 007.52:681.5 (043.2)
Abstract:
This thesis describes the process of digitization devices criteria for speed, temperature and
revolutions per minute for dc motor. Includes a detailed description of the application,
which is made by software Bascom and care for the capture and processing of data
obtained from the measurement values.
v
KAZALO VSEBINE
1 UVOD ............................................................................................................................ 1
1.1 Splošno o področju diplomskega dela .................................................................... 1
1.2 Namen in cilji diplomske naloge ............................................................................ 1
1.3 Pregled vsebine diplomske naloge .......................................................................... 1
2 MIKROKRMILNIK....................................................................................................... 2
2.1 Notranje periferne naprave mikrokrmilnikov ......................................................... 2
2.2 Vrste mikrokrmilnikov ........................................................................................... 4
2.3 ATMEL AVR ATmega32 ...................................................................................... 4
3 PROGRAMSKA IZVEDBA ......................................................................................... 7
4 TEMPERATURNI SENZOR DS18S20 ........................................................................ 9
4.1 1-wire protokol ..................................................................................................... 12
4.2 Delovanje 1-wire protokola .................................................................................. 12
4.3 Ukazi za komunikacijo s senzorjem DS18S20 ..................................................... 14
4.4 Programska rešitev temperature ............................................................................ 18
5 HALLOV SENZOR ..................................................................................................... 21
5.1 Allegro A3213 ...................................................................................................... 22
5.2 Programska rešitev hall senzorja .......................................................................... 23
5.3 Priklop DC motorja ............................................................................................... 25
6 GRAFIČNI LCD PRIKAZOVALNIK ........................................................................ 26
6.1 Programska rešitev LCD prikazovalnika .............................................................. 28
7 STROJNA REALIZACIJA SISTEMA ........................................................................ 29
8 REZULTATI MERITEV ............................................................................................. 31
9 SKLEP .......................................................................................................................... 36
10 LITERATURA ......................................................................................................... 37
vi
KAZALO SLIK
Slika 2.1: Prikaz mikrokrmilnika ATmega32........................................................................ 5
Slika 2.2: Razvrstitev priključkov na mikrokrmilniku .......................................................... 6
Slika 3.1: Programsko okolje BASCOM ............................................................................... 7
Slika 3.2: USB programator .................................................................................................. 8
Slika 3.3: Blokovna shema programatorja ............................................................................ 8
Slika 4.1: Blokovni diagram senzorja DS18S20 ................................................................... 9
Slika 4.2: Priključki senzorja DS18S20 .............................................................................. 10
Slika 4.3: Priklop senzorja z zunanjim napajanjem ............................................................. 11
Slika 4.4: Priklop senzorja s parazitnim napajanjem ........................................................... 11
Slika 4.5: Časovna inicializacija ponastavitve komunikacije .............................................. 13
Slika 4.6: Časovna inicializacija branja/pisanja podatkov .................................................. 13
Slika 4.7: Blokovni diagram ROM ukazov ......................................................................... 15
Slika 4.8: Blokovni diagram funkcijskih ukazov ................................................................ 17
Slika 5.1: Allegro A3213 (desno-tip izdelave LH, levo-tip izdelave UA) .......................... 21
Slika 5.2: Blokovni diagram senzorja.................................................................................. 22
Slika 5.3: Priklop senzorja na mikrokrmilnik ...................................................................... 23
Slika 5.4: Priklop DC motorja s PWM regulacijo ............................................................... 25
Slika 6.1: Grafični LCD prikazovalnik ............................................................................... 26
Slika 6.2: Blokovni diagram LCD prikazovalnika .............................................................. 27
Slika 6.3: Razporeditev priključkov LCD prikazovalnika .................................................. 27
Slika 6.4: Vezalna shema LCD prikazovalnik..................................................................... 28
Slika 7.1: Končno vezje ....................................................................................................... 30
Slika 7.2: PCB vezje ............................................................................................................ 30
Slika 7.3: Končni produkt na plošči .................................................................................... 30
Slika 8.1: Odvisnost nazivne in izmerjene obodne hitrosti od nazivne obodne hitrosti ...... 32
Slika 8.2: Relativni pogrešek v odvisnosti od nazivne obodne hitrosti ............................... 32
Slika 8.3: Odvisnost nazivne in izmerjene temperature od nazivne temperature ................ 34
Slika 8.4: Relativni pogrešek v odvisnosti od nazivne temperature .................................... 34
Slika 8.5: Prikaz merjenih rezultatov na grafični LCD prikazovalnik ................................ 35
Slika 8.6: Prikaz napake senzorja ........................................................................................ 35
vii
KAZALO TABEL
Tabela 8.1: Meritev obodne hitrosti .................................................................................... 31
Tabela 8.2: Merjenje temperature ........................................................................................ 33
viii
UPORABLJENE KRATICE
CPU – Central processing unit (centralno procesna enota).
I/O – Input/Output (izhod/vhod).
PDIP – Plastic dual-In-line Package (tip ohišja).
VCC – Supply voltage (napajalna napetost).
GND – Ground (masa).
FET – Field Effect Transistor (spojni tranzistor z efektom polja).
PCB – Protection safety board (tiskano vezje).
RPM – Revolutions per minute (obratov na minuto).
SPI – Serial Peripheral Interface (zaporedno vodilo).
ISP – In-System Programming (programiranje neposredno v ciljnem sistemu).
USB – Universal Serial Bus (univerzalno zaporedno vodilo).
USART – The Universal Synchronous and Asynchronous serial Receiver and Transmitter
(zaporedno programiranje).
PWM – Pulse Width Modulator (pulzna širinska modulacija).
SRAM – Static random-access memory (statično bralno-pisalni pomnilnik)
LCD – Liquid crystal display (zaslon na tekoči kristal).
DC – Direct current (enosmerni tok).
ADC – Analog-to-digital converter (analogni-digitalni pretvornik).
EEPROM – Electrically erasable programmable read-only memory (električno izbrisljivi
programabilni bralni pomnilnik).
I2C – Inter-intergrated circuit (zaporedno dvožično vodilo).
ID – Identity (identiteta).
ROM – Read-only memory (bralni pomnilnik).
1
1 UVOD
1.1 Splošno o področju diplomskega dela
Pojem temperatura je znan iz vsakdanjega življenja. S pomočjo čutil zaznavamo, kdaj je
nekaj topleje oziroma hladneje. Prva analogna merjenja s termometrom segajo v čas 17.
stoletja s tako imenovanimi florentinskimi termometri. Sedaj so najbolj razširjeni
termometri z živim srebrom, ki pa jih vse bolj nadomeščajo elektronski termometri. V
današnjih časih se vse več meritev prikazuje v digitalni obliki za lažje ter hitrejše
odčitavanje, s tem pa se izpodriva analogne sisteme. Na osnovi spoznanj pri različnih
predmetih in še posebej predmeta Načrtovanje elektronskih sistemov je zasnovalo
diplomsko delo. Zanimala nas je predvsem digitalizacija merjenih veličin. Poleg
temperature smo dodali še merilnik hitrosti ter obratov realiziran na DC motorju.
1.2 Namen in cilji diplomske naloge
Namen diplomskega dela je prikazati možnosti uspešne digitalizacije merjenih parametrov
in jih prikazati na prikazovalnik. Cilj diplomskega dela je predstavitev merilne naprave in
opis aplikacije, izvedene s programskim orodjem BASCOM.
1.3 Pregled vsebine diplomske naloge
Vsebina diplomskega dela je razdeljena na sedem poglavij. V začetku obravnavamo srce
merilnika temperature, hitrosti in obratov DC motorja, ki je mikrokrmilnik ATmega32, ter
spoznamo programsko opremo BASCOM. V nadaljevanju spoznamo temperaturni in
hallov senzor ter komunikacijo z mikrokrmilnikom. Navsezadnje opredelimo še LCD
prikazovalnik, na katerega izpisujemo merilne rezultate. V zadnjih dveh poglavjih opišemo
ter izvedemo slikovno izvedbo celotnega vezja, PCB vezja ter prikažemo meritve.
2
2 MIKROKRMILNIK
Mikrokrmilnik je integrirano vezje, ki vsebuje procesno enoto, pomnilnik, V/I enote, A/D
ali D/A-pretvorniki ter drugo periferijo. Dandanes ga srečamo že skoraj v vsaki napravi,
bodisi če gre za igračo ali zahteven industrijski krmilnik. Velikokrat srečamo v
elektronskih napravah ne samo en krmilnik, ampak več skupaj. Mikrokrmilnik je majhne
robustne strukture in navadno poceni izdelek [1].
2.1 Notranje periferne naprave mikrokrmilnikov
Vsebina notranjih perifernih naprav posameznega mikrokrmilnika je odvisna predvsem od
tega, za kakšen namen je bil izdelan. Osnovno strukturo notranjih perifernih naprav ima
večina proizvajalcev mikrokrmilnikov enako.
Pomnilnik uvrstimo med najpomembnejše dele mikrokrmilnika. Ločimo: EEPROM,
pomnilnik FLASH, pomnilnik RAM, notranje delovne registre ter notranje funkcijske
registre. V pomnilnik FLASH se shranjuje programska koda in njen zapis ostane lahko
precej let, ne da bi se pri tem izbrisal. Pomnilnik RAM med izvajanjem programa hrani:
spremenljivke, rezultate, vmesne rezultate logičnih in računskih operacij. Ob izključitvi
napajanje izgubi vso vsebino ter ima možnost naključnega branja. EEPROM je vrsta
pomnilnika, kjer se zapisani podatki ohranijo. Zbrišemo ga z električnim impulzom,
vpisujemo pa ga podobno kot pomnilnik EPROM. Ima omejeno število vpisov (nekaj
1000). Notranji delovni registri so pomnilne celice, ki so namenjene predvsem odlaganju
operandov, rezultatov, spremenljivk in tako dalje. Notranji funkcijski registri so pomnilne
lokacije, kjer so vpisane začetne vrednosti nabora funkcij za delovanje mikrokrmilnika. Ob
prekinitvi napajalne napetosti se vrednosti na lokacijah izbrišejo.
3
Časovniki in števci Timer0, Timer1, Timer2 so vgrajeni v mikrokrmilnik in jih lahko
programsko uporabimo na več načinov. Tako lahko nastavimo pulzno širinsko modulacijo,
omogočajo štetje zunanjega vira inpulzov, takt sistemske ure, kar pomeni, da so
nepogrešljiv člen mikrokrmilnika.
Komunikacija omogoča različne oblike povezovanja. Navadno je vhodno/izhodna
naprava dvosmerna, kar pomeni, da lahko vmesnik (angl. port) definiramo kot vhod ali
izhod.
Možnosti komunikacije :
UART.
SPI.
1WIRE.
I2C.
USB.
CAN.
WireLess.
RF.
Analogno-digitalni pretvornik najdemo skoraj že pri vsakem mikrokrmilniku za
obdelavo analognih signalov (angl. analogue-to-digital converter ADC). Z AD
pretvornikom lahko analogne vrednosti pretvorimo v digitalno obliko in jih shranimo v za
to namenjene pomnilniške lokacije. AD pretvornik ni napajan iz skupnega napajanja z
mikrokrmilnikom, temveč mu moramo privesti napajalno napetost na AVCC pin. Treba je
poudariti, da so AD pretvorniki 10-bitni. AD pretvornik ima dodaten vhod AREF, na
katerega povežemo referenčni vir napetosti in pomeni za mikrokrmilnik največjo vrednost
AD pretvornika-1024.
Notranji RC oscilator imajo vgrajeni vsi AVR mikrokrmilniki ter zadostuje za aplikacije,
kjer niso v ospredju velike časovne točnosti. To omogoča, da lahko sprogramiramo in
zaženemo testni program brez zunanjega kristala [2].
4
2.2 Vrste mikrokrmilnikov
Obstaja več vrst mikrokrmilnikov od 1-, 4-, 8-, 16-, do 32-bitnih. Dandanes najpogosteje v
elektroniki srečujemo 8-bitne in 32-bitne mikrokrmilnike. Najbolje uveljavljeni
proizvajalci so: Atmel AVR, Microchip PIC, STMicroelectronics, NXP Semiconductors,
Intel in še mnogo drugih.
4-bitni mikrokrmilniki se predvsem uporabljajo, kadar gre za količinski proizvod, kjer je
nizka cena izrednega pomena. Namenjeni so manj zahtevnim aplikacijam.
8-bitni mikrokrmilniki so danes zelo razširjeni med uporabniki ter nudijo dokaj širok
izbor funkcij ob relativno nizki ceni. Primer 8-bitnih mikrokrmilnikov so Intel 8031 in
8051, Microchip Technologx PIC z oznako PIC1x, Motorola MC68HC11 družine, NXP
Semiconductors LPC900 in LPC700, družina Atmel AVR.
16- bitni mikrokrmilniki omogočajo večjo natančnost in učinkovitost v primerjavi z 8-
bitnimi mikrokrmilniki. Primer 16-bitnih mikrokrmilnikov so PIC dsPIC33 in dsPIC24,
Intel 8096, Motorola MC68HC12.
32- bitni mikrokrmilniki zagotavljajo še višjo natančnost in učinkovitost od 16-bitnih
mikrokrmilnikov. Najdemo jih v vgrajenih računalniških sistemih, kot so mobilne naprave,
avdio in video sistemi, slikovna obdelava, vesoljski sistemi. Primer 32-bitnih
mikrokrmilnikov so Atmel AVR32 in AT91SAM, PIC PIC32, Motorola M68331 in
M68332, ARM-7 in ARM-9 RISC arhitektura.
2.3 ATMEL AVR ATmega32
AVR ATmega32, kot prikazuje slika 2.1, je 8-bitni mikrokrmilnik, ki temelji na AVR
RISC arhitekturi podjetja Atmel. Mikrokrmilnik vsebuje: 32 kilobajtov programirljivega
FLASH pomnilnika z možnostjo 10000 vpisov in izbrisov, 1024 bajtov EEPROMA z
100000 vpisov in izbrisov in 2 kilobajta internega SRAM-a. Ohišje PIDP ima 40
priključkov, TQFP in MLF ohišja pa imata po 44 priključkov, od tega 32 vhodno-izhodnih
5
linij, 32 delovnih registrov, JTAG vmesnik, ki omogoča odkrivanje prisotnosti in pravilne
orientacije komponent, kratke stike, prekinitve in druge nepravilnosti pri konstruiranju
vezja, omogočena podpora programiranja in razhroščanje programov (angl. Debugging
kontroliramo izvajanje programa), tri prilagodljive časovnike/števce z možnostjo načina
notranje ali zunanje prekinitve, zaporedno programiranje USART (angl. The Universal
Synchronous and Asynchronous serial Receiver and Transmitter), 8-kanalni analogni-
digitalni pretvornik (10-bitni ADC). Vmesnik SPI omogoča hitro zaporedno komunikacijo
z vhod/izhod napravami ali drugimi procesorji in je striktno tipa gospodar/suženj (angl.
master/slave). Šest programskih nastavitev omogoča varčevanje z energijo. Štirje pulzno
širinski modulacijski kanali (angl. Pulse Width Modulator PWM) so uporabni za
krmiljenje motorjev, v vezju pa je tudi možno uporabiti uro realnega časa z ločenim
oscilatorjem. Mikrokrmilnik deluje v območju napajalne napetosti od 4,5 V do 5,5 V.
Pregled funkcij ATmega32 omogoča izvedbe zahteve diplomske naloge [9].
Slika 2.1: Prikaz mikrokrmilnika ATmega32
Napisano programsko kodo s pomočjo programatorja naložimo v pomnilnik FLASH.
Program v zaporednih korakih izvaja aritmetično logična enota po taktu, ki ga generira
kvarčni kristal. V primeru ne-prisotnosti kvarčnega kristala se delovanje ustavi ter
nadaljuje ob ponovni prisotnosti kristala. Aritmetično logična enota deluje z binarno
logiko, pri kateri je ukaz v strojni kodi sestavljen iz enic in ničel. V začetkih programiranja
mikrokrmilnikov so programerji uporabljali strojno kodo, vendar so prišli do spoznanja, da
je izredno nepraktična. Danes se za programiranje uporabljajo višji programski jeziki C,
C++ in basic (Bascom) [1].
6
Prve teste smo naredili na mikrokrmilniku ATmega8, ker pa je bil glavnih razlog
pomanjkanje količine Flash pomnilnika, smo izbrali ATmega32, ki ima 32KB pomnilnika.
K temu je pripomogel tudi vključen grafični LCD zaslon, ki porabi velik del Flash
pomnilnika. Na razpolago smo imeli mikrokrmilnike v: TQFP, MLF in PDIP ohišju,
izbrali pa smo mikrokrmilnik v PDIP ohišju zaradi lažje dostopnosti na testni plošči ter pri
razvijanju programske opreme (slika 2.2).
Slika 2.2: Razvrstitev priključkov na mikrokrmilniku
PORT A (PB0..PB7) – 8-bitna V/I vrata, opremljena z vgrajenimi dvižnimi upori.
PORT B (PB0..PB7) – 8-bitna V/I vrata, opremljena z vgrajenimi dvižnimi upori.
PORT C (PC0..PC7) – 8-bitna V/I vrata, opremljena z vgrajenimi dvižnimi upori.
PORT D (PD0..PD7) – 8-bitna V/I vrata, opremljena z vgrajenimi dvižnimi upori.
VCC – napajalna napetost.
GND – masa.
XTAL1/XTAL2 – kristal.
AREF – analogni referenčni pin za pretvornik A/D.
AVCC – napetost za portA ter A/D vmesnika, mora biti navzven povezan na VCC
tudi, če se ne uporablja ADC.
RESET − pin za resetiranje mikrokrmilnika
7
3 PROGRAMSKA IZVEDBA
Razlog, zakaj smo izbrali programski jezik BASCOM AVR slika 3.1, je več. Najbolj
pomembna je seveda nizka cena za originalno verzijo. Seveda je za manjše aplikacije na
voljo tudi demo verzija, ki je brezplačna in dostopna na spletu. Treba je vzeti v zakup, da z
demo verzijo ne sme prevedena koda presegati velikosti 4k byte. Bascom uvrščamo v
kategorijo basic programov. Njegova prepoznavnost in uporaba sta se je krepko razširila
po Evropi in prav tako po Sloveniji. Programiranje v Bascomu je dokaj enostavno, ne
zahteva prevelikega predznanja. Imamo možnost preverbe programa s simulatorjem, kar
nam omogoča preverbo delovanja programske kode, ne da bi mikrokrmilnik povezali na
osebni računalnik. V veliko pomoč je orodna vrstica za pomoč (angl. help), kjer so
podrobneje razloženi ukazi z dodanimi primeri.
Slika 3.1: Programsko okolje BASCOM
8
Programator »mySmartUSB light«
Programator slika 3.2 povezujemo z namiznim računalnikom ali prenosnikom preko USB
povezave. Je zelo priročen in ne potrebuje zunanjega napajanja. Napaja se preko USB
povezave, torej lahko programsko določimo 5V ali 3,3V ter ima zaščito proti kratkemu
stiku. Z namestitvijo gonilnikov je pripravljen za uporabo. Ima 6-polno standardno ISP
povezavo za programiranje mikrokrmilnikov − prenos kode v FLASH ali EEPROM.
Uporablja protokol STK500 ali AVR910/911, slika 3.3. Kompatibilen je z Windows, (XP,
Vista, 7), Linux ter McOSX. Podpira več vrst ATMEL krmilnikov: AT90PWM3-
AT90S8535, ATmega103-88 in ATtiny12-ATtiny85. Programsko združljiv je z
AVRStudio, Bascom, CodeVision, myAVR Workpad, Sisy AVR in še mnogo drugih [5].
Slika 3.2: USB programator
Slika 3.3: Blokovna shema programatorja
9
4 TEMPERATURNI SENZOR DS18S20
Temperaturni senzor DS18S20 daje digitalno vrednost z možnostjo izbire resolucije od 9
do12 bitov za merjeno temperaturo v °C. Ima dodatno funkcijo vklopa alarma, ki se sproži
ob spodnji oziroma zgornji meji temperature (senzor pošlje ID). Za komunikacijo med
senzorjem ter mikrokrmilnikom je uporabljen 1-Wire protokol. Temperaturno območje
senzorja je od -55 do +125 °C, s pogreškom +/- 0,5 °C pa deluje v območju temperatur
med od -10 in +85 °C. Vsak temperaturni senzor v našem primeru DS18S20 ima
edinstveno 64-bitno serijsko številko shranjeno v ROM-u, kar omogoča priključitev več
senzorjev na eno linijo slika 4.1 [3].
Zgradba ROM kode:
8-bitna CRC(krožno preverjanje)
48-bitna serijska številka
8-bitna koda družine 1-wire
Blok diagram:
Slika 4.1: Blokovni diagram senzorja DS18S20
10
Priključki temperaturnega senzorja DS18S20, slika 4.2:
1 – Masa
2 -- Digitalni izhod (dvosmerna komunikacija)
3 -- Napajalna napetost (od 3,0 do 5,5 V).
Slika 4.2: Priključki senzorja DS18S20
Možnost priklopa senzorja preko zunanjega napajanja je prikazana na sliki 4.3, kjer je
senzor povezan s tremi linijami. Druga možnost priklopa je tako imenovano delovanje v
parazitnem načinu, ki je prikazan na sliki 4.4. Parazitni način zagotavlja, da se preko linije
DQ v visokem stanju vodila napolni kondenzator Cpp, ki zagotovi delovanje senzorja tudi
v času, ko je vodilo v nizkem stanju. Pri drugi varianti priklopa se povečajo zakasnitve, ob
neprimernem napajanju drugih naprav pa lahko pride do izgube podatka na vodilu, prav
tako pa se zmanjša za zanesljivo delovanje maksimalna razdalja povezave master – slave.
11
Slika 4.3: Priklop senzorja z zunanjim napajanjem
Slika 4.4: Priklop senzorja s parazitnim napajanjem
12
4.1 1-wire protokol
1-wire protokol se uporablja za komunikacijo med napravami, ki ga je zasnovalo podjetje
Dallas Semiconductor Corporation. Namenjeno je predvsem za temperaturne senzorje, ure,
EEPROM, nadzor periferije in razne vremenske instrumente. Po definiciji potrebuje eno
podatkovno vodilo za dvosmerno komunikacijo branja ali pisanja. Poudariti je treba, da
lahko vsi pošiljajo in sprejemajo podatke (sužnji in gospodar), vendar se hkrati na vodilu
lahko izvaja le ena operacija (branja ali pisanja). 1-wire sistem uporablja za nadzor eno
glavno enoto (angl. master), to je običajno za mikrokrmilnik ali računalnik in eno ali več
podrejenih enot (angl. slave) [3,4].
4.2 Delovanje 1-wire protokola
Komunikacija se pri enožičnem protokolu (angl. 1-wire) vedno prične med enim
gospodarjem ter enim ali več sužnji. Kot smo že omenili, je komunikacija dvosmerna, a ne
v istem trenutku. Lahko se izvaja branje ali pisanje. Prenos komunikacije se prične z
impulzom RESET (angl. reset pulse), kot je prikazano na sliki 4.5. Impulz RESET traja
najmanj 480µs in drži vodilo v nizkem stanju. Če naprava odda prisotni impulz, s tem javi
pripravljenost za komunikacijo z gospodarjem. Ob neuspešnem odgovoru gospodar čaka
toliko časa, dokler ni impulza. Ponastavitev lahko izvede samo gospodar. Nivo se dviguje
ter spušča s pomočjo dvižnega upora (angl. pullup resistor) z vrednostjo 4,7kΩ.
Komunikacija se izvaja po tako imenovanih časovnih režah. Če želimo poslati sužnju, v
našem primeru senzorju logično »1«, morda gospodar vodilo postaviti na nizek nivo za
najmanj 15µs ter za logično »0« postaviti na nizek nivo za najmanj 60µs do 240µs slika
4.6. Podatki se prenašajo po sistemu z najmanj pomembnim bitom naprej. Med vsako
časovno režo je premora 1µs [3].
13
Slika 4.5: Časovna inicializacija ponastavitve komunikacije
Slika 4.6: Časovna inicializacija branja/pisanja podatkov
14
4.3 Ukazi za komunikacijo s senzorjem DS18S20
Ob dostopu do senzorja se moramo držati naslednjega zaporedja:
1. Inicializacija
2. ROM ukazi
3. Funkcijski ukazi
1. Ciklično preverjanje, ali je suženj odgovoril z impulzom prisotnosti. Preverja se
toliko časa, dokler se ne pojavi impulz.
2. Ob prijetem impulzu se začne izvedba ROM ukazov, slika 4.7, ki temeljijo na
unikatni 64-bitni kodi zaznane naprave.
SEARCH ROM [F0h] ukaz izvede branje 64-bitne kode naprav, ki so priključene na
vodilo.
READ ROM [33h] ukaz uporabimo, kadar je na vodilo priključen en suženj. Pri tem
omogoča, da gospodar direktno prebere 64-bitno kodo, ne da bi uporabili ukaz search
ROM. V primeru prisotnosti več naprav na vodilo pride do trčenja podatkov, kajti vse
naprave se hkrati odzivajo.
MATCH ROM [55h] ukaz za naslavljanje točno določene naprave ob pogoju, da se ujema
64-bitna ROM koda. Druge naprave medtem čakajo na ponastavitev impulza.
SKIP ROM [CCh] ukaz obravnava vse sužnje hkrati, a pri tem ne upošteva 64-bitne
ROM kode.
ALARM SEARCH [ECh] ukaz je po delovanju enak search ROM. Pri tem se odzivajo le
sužnji, ki imajo postavljeno zastavico za opozorilo [3].
15
Slika 4.7: Blokovni diagram ROM ukazov
16
3. Po izvedbi ukazov za ROM preide na funkcijske ukaze, ki so prikazani na sliki 4.8
– bere ter piše iz hitrega pomnilnika (angl. SCRATCHPAD), ugotavlja napajanje
prisotne naprave (parazitni način ali zunanje napajanje) in izvaja pretvorbo
temperature.
CONVERT T [44h] ukaz sproži pretvorbo temperature ter jo shrani v hitri pomnilnik
(sestavljen iz SRAM in EEPROM) bajt 0 in bajt 1.
WRITE SCRATCHPAD [4Eh] ukaz dovoljuje gospodarju, da zapiše 2 bajta v
SCRATCHPAD. Prvi bajt se hrani v TH, drugi pa v TL register. Pred ponastavitvijo
morata biti oba bajta zapisana.
READ SCRATCHPAD [BEh] ukaz dovoljuje gospodarju, da prebere vsebino iz
SCRATCHPAD. Branje poteka od bajta 0 vse do bajta 8. Gospodar lahko kadarkoli izvede
ponastavitev branja le v delu hitrega pomnilnika.
COPY SCRATCHPAD [48h] ukaz izvede kopiranje iz registra TH in TL v EEPROM
pomnilnik.
RECALL E2 [B8h] ukaz povrne podatka iz registra TH in TL nazaj v SRAM pomnilnik.
Možnost izvedbe ima samo gospodar.
READ POWER SUPPLY [B4H] ukaz za ugotavljanje, ali je kateri senzor priklopljen v
parazitnem načinu napajanja [3].
17
Slika 4.8: Blokovni diagram funkcijskih ukazov
18
4.4 Programska rešitev temperature
Najprej se bomo osredotočili na programsko kodo, kadar je na vodilo priključen zgolj en
senzor DS18S20. Pri vsakem programiranju je obvezno začeti z definiranjem
mikrokrmilnika, v našem primeru ATmega32.
$regfile = "m32def.dat"
Dodamo kristal ter izberemo eksterni način delovanja.
$crystal = 2000000
$prog &HFF , &HFD , &H99 , &H00
Določimo vmesnik (angl. port) za 1-wire komunikacijo, na katerega priključimo senzor.
Izberemo spremenljivko ter določimo njen tip za obdelavo podatkov temperature.
Config 1wire = Portc.0
Dim T As Integer
Postopek merjenja ter priprava na izpis temperature
1wreset 'Ponastavi vodilo.
1wwrite &HCC 'Preskoči ROM, kajti na vodilu je 1 senzor.
1wwrite &H44 'Pričetek meritve.
Waitms 750 'Čaka max. 750ms nato bere iz hitrega pomnilnika.
1wreset 'Ponastavi vodilo.
1wwrite &HCC 'Preskoči ROM.
1wwrite &HBE 'Beri podatke, ki se nahajajo v hitrem pomnilniku senzorja.
T = 1wread(2) 'Prva dva bajta v hitrem pomnilniku nosita podatek temperature.
1wreset 'Ponastavi vodilo.
T = T / 2 'Dallas daje temp. v ½ °C in ne °C. Zato celo stopinjo delimo z dve.
19
Kadar na vodilo priključimo dva ali več senzorjev, se pojavi potreba po novi, dopolnjeni
programski kodi. V primeru, da vzamemo program za en senzor ter na vodilo priključimo
vsaj dva senzorja, pride do spora kode, kajti oba senzorja bi istočasno oddajala podatke.
Ker je konfiguracija kristala ter mikrokrmilnika enaka kot za en senzor, je ne bomo
ponovno izpostavljali. Program začnemo z ustrezno konfiguracijo spremenljivk za
temperaturo, po možnost definiranje funkcije ali podprograma.
W = 1wirecount() 'Prebere vse naprave, ki so prisotne na vodilu..
Dsid1(1) = 1wsearchfirst() 'Začne postopek nabiranja ID-jev na vodilu.
Do
Dsid2(1) = 1wsearchnext() 'Ukaz za pridobivanje drugih ID -jev.
Loop Until Err = 1 'Err=1, če na vodilu ni nobene naprave.
Wait 1 'Čakaj sekundo.
Cls
Do 'Začetek glavne zanke
Pretvorba
Waitms 1
1wverify Dall_1(1)
Locate 1 , 1
If Err = 1 Then
Lcdat 1 , 0 , " Error " 'Opozorilo, kadar na vodilo ni prisotnega senzorja
Elseif Err = 0 Then
1wwrite &HBE
Waitms 750
Scratchpad(1) = 1wread(9)
If Scratchpad(9) = Crc8(scratchpad(1) , 8) Then
De = Preciznost(scratchpad(9))
Z = Str(de)
Temp = Format(z , "000.0")
Lcdat 1 , 0 , "T1:" 'Izpis temperature na zaslon
Lcdat 1 , 23 , Temp
End If
End If
20
Waitms 200
1wverify Dall_2(1)
Locate 2 , 1
If Err = 1 Then
Lcdat 2 , 0 , " Error "
Elseif Err = 0 Then
1wwrite &HBE
Scratchpad(1) = 1wread(9)
If Scratchpad(9) = Crc8(scratchpad(1) , 8) Then
De = Preciznost(scratchpad(9))
Z = Str(de)
'Temp = Format(z , "000.0") 'Oblika formata izpisa merjenja temperature na LCD zaslon
'Temp = Format(z , "##.&")
Temp = Format(z , "00.0")
Lcdat 2 , 0 , "T2:"
Lcdat 2 , 23 , Temp
End If
End If
Waitms 200
Loop
End 'Konec glavne zanke
Sub Pretvorba 'Podprogram za začetek meritve temperature
1wreset
1wwrite &HCC
1wwrite &H44
End Sub
Function Preciznost(byval Scratchpad(9) As Byte) 'Klic funkcije za izračun na 0.1 °C natančno
Dim Tmp As Byte , T As Integer , T1 As Integer
Tmp = Scratchpad(1) And 1
If Tmp = 1 Then Decr Scratchpad(1)
T = Makeint(scratchpad(1), Scratchpad(2))
T = T * 50
T = T - 25
T1 = Scratchpad(8) - Scratchpad(7)
T1 = T1 * 100
T1 = T1 / Scratchpad(8)
T = T + T1
Preciznost = T / 10
End Function
If Min2 > Dg Then Min2 = Dg
If Max2 < Dg Then Max2 = Dg
'Programska logika za določitev minimalne in maksimalne
'temperature senzorja 1 in 2
Tt3 = Str(min2)
Tt4 = Str(max2)
Tmin1 = Format(tt1 , "##.#")
Tmax1 = Format(tt2 , "##.#")
21
5 HALLOV SENZOR
Merilnik obratov oziroma hitrosti smo realizirali s pomočjo hallovega senzorja model
A3213, slika 5.1, ki ga je zasnovalo podjetje Allegro. Fizična zasnova deluje na principu
senzorja in magneta. Ko magnet prečka senzor, dobimo impulz na pinu mikrokrmilnika.
Število magnetov je lahko poljubno, seveda z več magneti zagotovimo večjo točnost
meritve. Takšna integrirana vezja so danes priljubljena v avtomobilski industriji, industriji
mobilnih komunikacij, za merjenje hitrosti, določanje pozicije, smeri gibanja, v končnih
stikalih in drugje. So zelo robustni, odporni na fizične ovire ter so preprosti za uporabo in
namestitev.
Hallov senzor deluje na principu hallovega efekta, ki ga je odkril Edwin Hall leta 1897.
Bistvo efekta temelji na Lorentzovi sili, ki deluje na primikajoče nosilce električnega
naboja v snoveh, ki so izpostavljene magnetnemu polju [7].
Slika 5.1: Allegro A3213 (desno-tip izdelave LH, levo-tip izdelave UA)
22
5.1 Allegro A3213
Hallov senzor Allegro A3213 ima 3 priključke, od tega pripadata 2 priključka napajanju ter
tretji priključek digitalnemu izhodu. Deluje v območju napajanja od 2,4V do 5,5V, s
porabo energije do približno 825µW. Histereza senzorja omogoča vklop izhoda ne glede
na to, kako je obrnjen magnetni fluks, bodisi z južne ali severne strani dobimo na izhodu
impulz. Zaradi dvižnega upora, ki je vezan na (+5V), je izhod senzorja v visokem stanju.
Ob prehodu magneta se stanje spremeni na nizek nivo in odda impulz. Pri tem je treba
obvezno v programu definirati zunanjo prekinitev kot »Config Int0 = Falling«. Senzor, ki
se nahaja na malem silicijevem čipu, vsebuje; hallov napetostni generator, manjši
ojačevalnik signala s stikalno stabilizacijo ničelne napetosti (angl. chopper), flip-flop ter
MOSFET izhod, kot prikazuje slika 5.2. BiCMOS tehnologija zagotavlja večji izkoristek
pri nižjih napetostih, nizko porabo moči, majhen pogrešek ničelne napetosti in navsezadnje
se lahko pohvali z malo geometrijo. Priključimo ga preko dvižnega pull-up upora velikosti
10kΩ na pinu mikrokrmilnika, kot prikazuje slika 5.3 [8].
Slika 5.2: Blokovni diagram senzorja
23
Slika 5.3: Priklop senzorja na mikrokrmilnik
5.2 Programska rešitev hall senzorja
V začetni fazi je pomembna nastavitev
konfiguracije timerja. Pomagamo si s
programom (angl. AVR timer calculator),
kjer z vnosom frekvence mikrokrmilnika
in želenim časom zunanje prekinitve
(angl. interrupt) generira Bascom kodo.
Const Timer1reload = 31250
Config Timer1 = Timer , Prescale = 256
Load Timer1 , Timer1reload
On Ovf1 Timer1_isr
Enable Timer1
Start Timer1
Enable Interrupts
On Int0 Int0_int
Enable Int0
Config Int0 = Falling
Nadaljujemo z definiranjem spremenljivk, ki jih uporabimo za nadaljnje programske
operacije.
Dim St_impulzov As Word
Dim Obodna_hitrost As Word
Dim Hitrost As Word
Dim Obseg_kolesa As Word
Dim St_impulzov_old As Word
St_impulzov = 0
Obseg_kolesa = 37.7
24
Glavna zanka je zasnovana kot do-loop. Ni omejena na število ponovljenih ciklov, temveč
se izvaja v neskončnost.
Do
Cls
Lcdat 1 , 1 , Obodna_hitrost
Lcdat 2 , 1 , Hitrost
Waitms 500
Loop
Prekinitvena rutina se izvede vsako sekundo, torej preštejemo število pulzov in izračunamo
hitrost.
Timer1_isr:
Load Timer1 , Timer1reload
Disable Int0
Obodna_hitrost = St_impulzov * 60
Hitrost = St_impulzov * Obseg_kolesa
Hitrost = Hitrost / 100
Waitms 20
St_impulzov = 0
Enable Int0
Return
Prekinitvena rutina se izvede ob prehodu signala na pinu ( INT0) z 0 na 1.
Int0_int:
Incr St_impulzov
Return
25
5.3 Priklop DC motorja
Za pogon DC motorja smo izbrali integrirano vezje L272M, kot je prikazano na sliki 5.4.
Vsebuje dva močnostna operacijska ojačevalnika, ki zmoreta krmiliti električno breme do
1A toka. Priklop ter zagon motorja v poljubno smer je izveden z nastavljanjem izhoda
mikrokrmilnika na logično »0« ali logično »1«. Za vrtenje v eno smer zadostuje en
operacijski ojačevalnik. Izhod PORTD.7(OC2) imamo rezerviran za 8-bitno PWM
regulacijo motorja s pomočjo dveh tipk.
Slika 5.4: Priklop DC motorja s PWM regulacijo
26
6 GRAFIČNI LCD PRIKAZOVALNIK
LCD zasloni (angl. Liquid Cristal Display) so izdelani v tehnologiji tekočih kristalov. kar
pomeni, da za prikazovanje informacij bodisi v znakovni ali slikovni obliki izkorišča
lastnost tekočih kristalov. Za prikaz merjenih rezultatov smo izbrali grafični LCD
prikazovalnik modela DEM128064BSBH-PW-N, slika 6.1, v ločljivosti 128 x 64 točk.
Deluje s pomočjo krmilnika SBN0064. Poudariti moramo, da je zaslon razdeljen na dva
dela, se pravi CS1 in CS2 (angl. chip select), slika 6.2, ki ga izberemo s programsko kodo.
LCD priključujemo z dvajsetimi priključki slika 6.3, ki so razdeljeni na podatkovni,
kontrolni in napajalni del. Priklop zaslona na mikrokrmilnik prikazuje slika 6.4.
Slika 6.1: Grafični LCD prikazovalnik
Tehnični podatki:
8-bitni vmesnik za vzporedne zaslonske podatke od MPU
512 B RAM vmesnik
Delovna temperatura -20 °C do +70 °C
Ločljivost 128 x 64 točk
Napajanje 5V
Velikost 75.00 x 52.70 x 9.60 mm
Velikost prikaza 60.00 x 32.60 mm
Velikost točke 0.40 x 0.40 mm [6]
27
Slika 6.2: Blokovni diagram LCD prikazovalnika
Slika 6.3: Razporeditev priključkov LCD prikazovalnika
28
Slika 6.4: Vezalna shema LCD prikazovalnik
6.1 Programska rešitev LCD prikazovalnika
Konfiguriramo knjižnico, v kateri se nahajajo rutine za kontrolo zaslona.
$lib "glcdKS108.lib"
Definiramo priključke LCD prikazovalnika, ki so fizično povezani na mikrokrmilnik.
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 3 , Ce2 = 4 , Cd = 0 , Rd =
1 , Enable = 2 , Reset = 5
Dodamo oblike pisave, fonte, ki so potrebni za črke, znake, številke, navsezadnje s fonti
določimo velikost pisave: Setfont Font8x8. Na koncu programa dodamo: $include "font8x8.font",
kar pomeni vključitev zunanje datoteke, ki vsebujejo omenjene fonte.
Za izpis teksta na zaslon uporabimo ukaz Lcdat. Horizontalne ali vertikalne črte izrisujemo
z ukazom Line. Možnosti za grafično obliko lahko popestrimo z ukazi za izrise kvadrata,
kroga, inventiran tekst, točke (angl. pixel) in slike.
29
7 STROJNA REALIZACIJA SISTEMA
Vezalni načrt ter PCB vezje smo realizirali s programsko opremo Altium Designer.
Program omogoča, da lahko na enostaven in obenem na profesionalen način načrtujemo
tiskana vezja. Pomembna sta dva koraka pristopa do končnega izdelka. V prvem koraku
narišemo v (angl. schematic) končno vezje s pravilnim izborom ohišja elementov. Za lažji
pregled vezja si elemente postavimo tako, da se povezave čim manj križajo med seboj, kar
najlaže rešimo s funkcijo (angl. place port). Pomembno je, da si uredimo knjižnice
elementov z ustreznimi podnožji, preden začnemo s kreiranjem PCB vezja.
Drugi korak je namenjen izdelavi PCB vezja oziroma izgledu tiskanega vezja na tiskani
ploščici. Pri izbiri podnožja elementov imamo možnosti delati v tehnologiji ohišja DIL ali
SMD. Pri postavljanju elementov v PCB okolju imamo možnost avtomatske postavitve in
prav tako avtomatsko generiranje povezav. Velikokrat s pravilno postavitvijo oziroma
rotacijo elementa prihranimo na prostoru ter enostavnosti povezav.
Glavni element vezalne sheme slika 7.1 je mikrokrmilnik ATmega32 s štiridesetimi
priključki. Nanj so povezani: − LCD prikazovalnik, ki s kontrolnim ter podatkovnim
delom zavzema 13 priključkov: dva temperaturna senzorja DS1820, vezana preko dvižnih
pull-up uporov (10 kohm), hallov senzor, vezan preko dvižnega pull-up upora (10 kohm),
dve tipki, povezani preko dvižnih pull-up uporov (10 kohm), dva vzporedno vezana 100nF
kondenzatorja, zunanji kristal, s katerim je generiran takt za delovanje mikrokrmilnika, 6-
pinski ISP konektor, dvojni ojačevalnik L272M za priklop in omogočitev PWM regulacije
motorja ter priključek za napajanje mikrokrmilnika (5V).
Treba je omeniti, da je napajanje motorja ločeno od mikrokrmilnika. PCB vezje je v izmeri
velikosti 11,5 x 11,5 cm, slika 7.2. Po uspešnem zaključku vezja ter PCB izdelave v
programu Altium smo s pomočjo strojne opreme reskalnika izdelali ploščico, slika 7.3.
30
Slika 7.1: Končno vezje
Slika 7.2: PCB vezje
Slika 7.3: Končni produkt na plošči
31
8 REZULTATI MERITEV
Zanimala nas je predvsem točnost narejenega merilnika. Meritev obratov smo izvedli s
pomočjo digitalnega obratomera DT-2234C+, s katerim smo nastavili nazivno vrednost
obratov vrteče se naprave. Meritve izvajamo po koraku 200 RPM, kot prikazuje tabela 8.1.
Iz merjenih vrednosti izračunamo relativni pogrešek po enačbi 8.1 in predstavimo v
grafični obliki, kot prikazujeta sliki 8.1 in 8.2. Iz slike 8.2 je razvidno, da je pri manjših
obratih prisoten večji pogrešek in pada z višanjem obratov.
Tabela 8.1: Meritev obodne hitrosti
NA(RPM) IZ(RPM) e(%)
200 202 1
400 405 1,25
600 605 0,83
800 795 0,63
1000 1005 0,5
1200 1200 0
1400 1402 0,14
1600 1600 0
1800 1800 0
2000 1995 0,25
2200 2205 0,23
2400 2400 0
2600 2595 0,19
2800 2790 0,36
Izračun relativnega pogreška:
(%) 100(%)IZ NA
eNA
(8.1)
kjer je:
IZ - izmerjena vrednost
NA- nazivna vrednost
(%)e - relativni pogrešek, izražen v odstotkih
32
Slika 8.1: Odvisnost nazivne in izmerjene obodne hitrosti od nazivne obodne hitrosti
Slika 8.2: Relativni pogrešek v odvisnosti od nazivne obodne hitrosti
0
500
1000
1500
2000
2500
3000
200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400 2600 2800
NA
(RP
M),
IZ(R
PM
)
NA(RPM)
0
0,2
0,4
0,6
0,8
1
1,2
1,4
200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2400 2600 2800
e(%
)
NA(RPM)
33
Meritev temperature izvedemo na naslednji način: v posodo nalijemo vodo, dodamo led, da
dosežemo referenčno temperaturo 0 stopinj. Nato počasi z mešanjem dolivamo toplo vodo
in izvajamo meritev po koraku 5 stopinj, kot prikazuje tabela 8.2. K dobljenim meritvam
dodamo izračun relativnega pogreška po enačbi 8.2 in predstavimo v grafični obliki, kot
prikazujeta sliki 8.3 in 8.4. Iz slike 8.4 je razvidno, da je pri nižji temperaturi prisoten večji
pogrešek in pada z višanjem temperature.
Tabela 8.2: Merjenje temperature
T(°C) DS(°C) e(%)
0 0,2 /
5 5,1 2,00
10 9,9 1,00
15 14,7 2,00
20 19,8 1,00
25 24,6 1,60
30 29,7 1,00
35 34,8 0,57
40 39,7 0,75
45 44,8 0,44
50 49,8 0,40
55 54,9 0,18
60 59,8 0,33
65 64,9 0,15
70 69,8 0,29
75 74,8 0,27
80 79,9 0,12
85 84,7 0,35
90 89,9 0,11
95 95 0,00
Izračun relativnega pogreška:
(%) 100(%)DS T
eT
(8.2)
Kjer je:
DS - izmerjena vrednost,
T - nazivna vrednost in
(%)e - relativni pogrešek izražen v odstotkih.
34
Slika 8.3: Odvisnost nazivne in izmerjene temperature od nazivne temperature
Slika 8.4: Relativni pogrešek v odvisnosti od nazivne temperature
0
10
20
30
40
50
60
70
80
90
100
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
T(°C
), D
S(°C
)
T(°C)
0,00
0,50
1,00
1,50
2,00
2,50
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
e(%
)
T(°C)
35
Slika 8.5 prikazuje zaslonsko porazdelitev merjenih veličin na grafičnem LCD zaslonu, ki
zajema dva temperaturna senzorja, hallov senzor in stolpčni izris 5-stopenjske PWM
regulacije DC motorja.
Slika 8.5: Prikaz merjenih rezultatov na grafični LCD prikazovalnik
V primeru neprisotnosti ali okvare temperaturnega senzorja DS1820 se izpiše opozorilo
(angl. error). Slika 8.6 prikazuje merjenje s senzorjem (1) ter odkriva neprisotnost senzorja
(2).
Slika 8.6: Prikaz napake senzorja
Maksimalna in minimalna
temperatura senzorja (1) v °C
Maksimalna in minimalna
temperatura senzorja (2) v °C
Trenutna temperatura senzorja
(1) in (2) v °C
Stolpčni prikaz PWM regulacije
Obrati na
minuto
---------------
Hitrost
---------------
Opravljena
pot
---------------
-----
36
9 SKLEP
Realizacija merilnika temperature, hitrosti in obratov motorja DC je dosežena. Izdelan
merilnik lahko praktično uporabimo tam, kjer nas zanima temperatura v razponu od -55 °C
do +125 °C. Uporabnost lahko razširimo prav tako na področju merjenja obratov in
hitrosti, kot so: kolesarski števci, ugotavljanje hitrosti in obratov električnih motorjev,
vrtalnih strojev in podobno. Merilnik je podprt s temperaturnim senzorjem DS18S20,
magnetnim senzorjem A3213, z grafičnem LCD zaslonom in programskim okoljem
Bascom AVR.
Pri meritvah smo si pomagali z dvema merilnikoma: analogni merilnik temperature z
natančnostjo ±0,2°C in digitalnim obratomerom DT-2234C+ s proizvajalčevo natančnostjo
±(0.05% + 1 digit). Po končanih meritvah lahko rečemo, da smo dosegli zastavljene cilje,
kajti povprečni relativni pogrešek pri RPM meritvah je 0,38 % in 0,66 % pri temperaturnih
meritvah.
Merilnik bi lahko izboljšali z miniaturizacijo celotnega vezja (angl. SMD). Primerna bi bila
tudi uporaba optičnih ali magnetnih inkrementalih dajalnikov, ki lahko povečajo točnost
tudi preko 1000-krat. Z vsemi temi izboljšavami bi prišli do boljših rezultatov merilnika.
37
10 LITERATURA
[1] Wikipedia: Microcontroller.
http://en.wikipedia.org/wiki/Microcontroller [26. 11. 2012].
[2] Bojan Kovač. Elektronika za začetnike – Programiranje mikrokontrolerjev III (27).
Svet elektronike, 193, (01-2012), str. 43–47.
[3] Maxim: Digital thermometer DS18S20.
http://datasheets.maximintegrated.com/en/ds/DS18S20.pdf [30. 11. 2012].
[4] Wikipedia: 1-Wire.
http://en.wikipedia.org/wiki/1-Wire [1. 12. 2012]
[5] MyAVR: mySmartUSB light.
http://shop.myavr.com/index.php?sp=article.sp.php&artID=200006 [12. 12. 2012]
[6] Elfa: Graphic LCD DEM128064BSBH-PW-N.
https://www1.elfa.se/data1/wwwroot/assets/datasheets/dem128064bsbh-pw-n_eng_tds.pdf
[28. 08. 2013].
[7] Honeywell: Hall effect sensor.
http://sensing.honeywell.com/index.php?ci_id=47847 [29. 12. 2012].
[8] Allegro MicroSystem: Hall sensor A3213.
http://www.allegromicro.com/~/media/Files/Datasheets/A3213-4-Datasheet.ashx [29. 12.
2012].
[9] Atmel: Microcontroller ATmega 32.
http://www.atmel.com/Images/doc2503.pdf [7. 2. 2013].
38
39
40