Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically...

50
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

Transcript of Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically...

Page 1: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 2: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 3: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

i

Page 4: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 5: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 6: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 7: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 8: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 9: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

vii

KAZALO TABEL

Tabela 8.1: Meritev obodne hitrosti .................................................................................... 31

Tabela 8.2: Merjenje temperature ........................................................................................ 33

Page 10: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 11: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 12: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 13: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 14: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 15: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 16: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 17: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 18: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 19: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 20: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 21: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

11

Slika 4.3: Priklop senzorja z zunanjim napajanjem

Slika 4.4: Priklop senzorja s parazitnim napajanjem

Page 22: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 23: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

13

Slika 4.5: Časovna inicializacija ponastavitve komunikacije

Slika 4.6: Časovna inicializacija branja/pisanja podatkov

Page 24: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 25: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

15

Slika 4.7: Blokovni diagram ROM ukazov

Page 26: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 27: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

17

Slika 4.8: Blokovni diagram funkcijskih ukazov

Page 28: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 29: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 30: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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 , "##.#")

Page 31: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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)

Page 32: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 33: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 34: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 35: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 36: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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]

Page 37: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

27

Slika 6.2: Blokovni diagram LCD prikazovalnika

Slika 6.3: Razporeditev priključkov LCD prikazovalnika

Page 38: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 39: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 40: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

30

Slika 7.1: Končno vezje

Slika 7.2: PCB vezje

Slika 7.3: Končni produkt na plošči

Page 41: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 42: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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)

Page 43: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 44: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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)

Page 45: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

---------------

-----

Page 46: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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.

Page 47: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

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

Page 48: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

38

Page 49: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

39

Page 50: Igor Rihter - core.ac.uk · PDF fileTabela 8.1: Meritev obodne ... EEPROM – Electrically erasable programmable read-only memory ... Microchip PIC, STMicroelectronics, NXP Semiconductors,

40