18
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU SMER : EMT PREDMET : SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE POMOĆU NTC OTPORNIKA PROFESOR Prof. Dr Branislav Petrović ASISTENT STUDENTI Mr Goran Nikolić Dušan Petrović 13509 Aleksandar Zlatković 13510 u Nišu 24.6.2013 godine

PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

Embed Size (px)

Citation preview

Page 1: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

UNIVERZITET U NIŠU

ELEKTRONSKI FAKULTET

KATEDRA ZA ELEKTRONIKU

SMER: EMT

PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA

PROJEKAT SISTEM ZA MERENJE TEMPERATURE

POMOĆU NTC OTPORNIKA

PROFESOR

Prof. Dr Branislav Petrović

ASISTENT STUDENTI

Mr Goran Nikolić Dušan Petrović 13509

Aleksandar Zlatković 13510

u Nišu 24.6.2013 godine

Page 2: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

2 | P a g e

Sadržaj 1. Zadatak ............................................................................................................................................... 3

2. Blok šema i princip rada sistema .......................................................................................................... 4

3. Električna šema sistema ....................................................................................................................... 5

3 Linearizacija prenosne funkcije NTC otpornika ................................................................................... 9

4 Procedeure za izračunavanje temperature na osnovu odmerenih vrednosti sa ADC ............................. 14

4.1. Konfiguracija kontrolera ............................................................................................................. 14

4.2. Glavni program ........................................................................................................................... 17

Page 3: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

3 | P a g e

1. Zadatak

Projektovati sistem za akviziciju podataka koji treba da omogući merenje do osam temperature, prikaz

rezultata merenja na LCD displeju I vezu ka drugim sistemima preko dva nezavisna RS485

komunikaciona kanala. SIstem prijektovati na bazi mikrokotrolera C8051F545.

Temperaturni merni opseg treba da iznosi najmanje 25+/-55 stepeni a rezolucija merenja 0.1 stepen.

Rezultate merenja treba ažurirati na svaku sekundu.

Kao temperaturne senzore koristiti NTC otpornike nominalne otpornosti 2.2k i koeficienta B =3900.

Otporna mreža za polarizaciju NTC otpornika treba da se napaja stabilnim izvorom od 5V. Obezbediti

prenaponsku zaštitu senzorskih ulaza od napona većih od 5V i manjih od 0V.

Multipleksiranje analognih signala realizovati pomoću kola CD4051.

AD konverziju vršiti pomoću ugrađenog 12-bitnog ADC u mikrokontroleru, koji ima merni opseg od 0-

2.5V. Koristiti unutrašnji izvor referentnog napona Vref=2.5V.

Kao rezultat, projekat sadrži:

1. Električnu šemu sistema

2. Linearizaciju NTC otpornika

3. Osnovne procedure za izračunavanje temperature na osnovu odmerenih vrednosti sa ADC

Page 4: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

4 | P a g e

LCD

2. Blok šema i princip rada sistema

Senzor 1

Senzor 2

. AMUX Kondicioner ADC

.

.

Senzor 8

uC C8051F545

Slika 1. Blok šema sistema

Sistem koji projektujemo meri temperature pomoću senzora. U našem slučaju imamo 8 NTC otpornika

koji predstavljaju senzore. Svaki od njih je povezan na jedan od analognih ulaza multipleksera.

Selektorski ulazi multipleksera su povezani sa mikrokontrolerom tako da on određuje koji će senzor biti

selektovan. Svakih 100ms se čita po jedan senzor, što je realizovano tajmerom koji se nalazi u

mikrokontroleru. Svakih 100ms čita se jedan ulaz multipleksera, tj napon na jednom senzoru. Izlaz

multipleksera vodi se preko kondicionera na AD konvertor. Kondicioner podešava nivo napona na

granicu referentnog napona AD konvertora. AD konvertor vrši konverziju analognog ulaza u 12 bitnu

digitalnu reč. Ova reč se nakon određenih transformacija vodi na LCD displej gde se prikazuje kao krajnji

rezultat merenja temperature.

Page 5: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

5 | P a g e

3. Električna šema sistema

U nastavku će biti data detaljna šema sistema i objašnjeni njeni delovi.

Slika 2. Šema zaštite jednog senzora

Senzor se može direktno povezati na multiplekser, ali postoji mogućnost da dodje do njegovog

pregorevanja u slučaju da je na njega doveden napon veći od 5V, ili manji od 0V. Ukoliko se takav napon

javi, može da se desi da ne pregori samo senzor već i neke druge komponente kao što su multiplekser,

kondicioner ili čak i mikrokontroler. Zbog toga moramo obezbediti adekvatnu zaštitu, kako od napona

većih od 5V, tako i od onih manjih od 0V. Ta zaštita se sastoji od dve diode i otpornika. Ako na ulaz

dodje napon veći od 5V, provodi dioda D1, jer je njena katoda povezana na 5V. Time će sprečiti da visok

napon stigne do ostalih komponenata i uništi ih. Sa druge strane, ako se javi negativan napon, provešće

dioda D2, jer je njena anoda povezana na masu. Otpornik R2 služi da ograniči vrednost struje ukoliko

dodje do napona dosta većeg od 5V (reda veličine 12V), i time zaštiti diode od pregorevanja.

Page 6: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

6 | P a g e

Slika 3. Senzori sa zaštitom, multiplekser, I kondicioner

Na Slici 3 prikazana je detaljna električna šema ulaznog stepena sa multiplekserom, otpornicima za

polarizaciju senzora i zaštitnim diodama. Svaki senzor povezan je na jedan od analognih ulaza

multipleksera. Između izlaza multipleksera i ulaza AD konvertora nalazi se kolo za kondicioniranje. Kolo

za kondicioniranje u ovom slučaju ima funkciju da prilagodi dinamički opseg signala sa izlaza senzora,

odnosno multipleksera, na merni opseg AD konvertora. Dinamički opseg na izlazu senzora, na osnovu

šeme sa Sl. 2, iznosi od 0 do 5 V. Merni opseg AD konvertora definisan je referentnim naponom

ugrađenog ADC i iznosi 2.5 V. Kondicioner se sastoji od operacionog pojačavača (neinvertujućeg) i od

dva otpornika vrednosti 2.2K, koji predstavljaju prosti razdelnik napona i na izlazu obezbeđuju napon od

2.5V. Ispred razdelnika neophodno je staviti operacioni pojačavač čija je ulazna impedansa beskonačna,

da bi se sprečio uticaj otpornosti prethodnog stepena na otpornike razdelnika napona.

Page 7: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

7 | P a g e

Slika 4. Mikrokontroler, napajanje, LCD displej I blok za serijski prenos

Na Slici 4 prikazan je mikrokontroler C8051F545 sa svim svojim periferijama. Pin P2.2 predstavlja

analogni ulaz AD konvertora. Pinovi P2.5-P2.7 su selektorski izlazi koji su povezani na selektorske ulaze

multipleksera. Ovim pinovima se kontroliše koji će senzor biti selektovan.

Sistem se napaja preko dvopinskog konektora. Kako se mikrokontoler napaja sa 5V, potreban nam je

stabilan napon od 5V. Upravo u te svrhe koristimo kolo stabilizatora napona LM7805. Dioda D1,

postavljena je kao test dioda. Ona služi za proveru napajanja. Kada je napajanje uključeno, dioda svetli.

Mikrokontroler vrši neka podešavanja displeja pre samog početka rada. Potrebno je izvršiti odredjenu

inicijalizaciju, slanjem odredjenih vrednosti na RS(Register Select), E(Enable) i RW(Read/Write). Pinovi

RS i E povezani sun a pinove kontrolera P0.6 i P0.7, respektivno. Displeju se podaci šalju preko pinova

DB0-DB7, koji su povezani na pinove kontrolera P1.0-P1.7. Displej takodje ima pin za podešavanje

pozadinskog osvetljenja. Pozadinsko osvetljenje se podešava potenciometrom. Na ovoj šemi P1 ne

predstavlja sam displej, već konektor na ploči na koji se postavlja displej. Header 4 je konektor za

programiranje kontrolera.

Page 8: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

8 | P a g e

Kolo MAX485 se koristi za serijsku komunikaciju RS485 ili RS422. Povezano je na pinove UART0RX i

UART0TX mikrokontrolera. To je ustvari primopredajnik male snage. Svako kolo poseduje drajver i

jedan prijemnik. Slew Rate drajvera ovog kola nije ograničen, i dozvoljava prenos brzinom i do 2,5 Mbps.

Svi delovi kola koriste napajanje od 5V. Zaštićena su od preterane potrošnje snage mogućnošću

termalnog gašenja kola. Uglavnom se koriste za poludupleks komunikaciju. Ovo kolo ustvari predstavlja

interfejs ka fizičkom sloju za prenos podataka pri RS485 komunikaciji. RS485 interfejs se sastoji iz

upredene parice s oznakama A i B i zajedničkog uzemljenja GND. Kondenzator se koristi za filtriranje

napona i eliminisanje smetnji na napajanju. Opcioni otpornik R3 koji se nalazi na priključnim krajevima

RS485 interfejsa služi za prilagodjenje impedanse. On se stavlja u slučaju da se sistem nalazi na kraju

komunikacionog interfejsa.

Page 9: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

9 | P a g e

MEMORIJA

ADC

Detektovani ospeg

ofset

i

pojacanje

DAC

Ulazni signal

Izlazni signal

senzora

f(x)

Ulazni signal

Kalibrisani

izlazni signal

ASP ili DSP

PWL

3 Linearizacija prenosne funkcije NTC otpornika

Neki tipovi senzora imaju tipičnu nelinearnu karakteristiku, koja se može objasniti na osnovu fizičkog

modela. U ovom slučaju kalibracija se može upotrebiti tako što se najpre primeni sistemska linearizacija.

Zaostale slučajne varijacije nelinearnosti se onda mogu kalibrisati korišćenjem neke generalne

linearizacione metode. Postojeća sistemska greška lakše će biti korigovana sistemskom linearizacijom

nego interpolacijom zasnovanom na višesturkim kalibracionim merenjima. U našem slučaju koristićemo

Piece-wise metodu za linearizaciju koja se vrši na sledeći način:

Umesto pamćenja kompletne prenosne karakteristike senzora u velikoj memoriji, može se koristiti manja

memorija i pamtiti samo koeficijenti modela koje opisuje senzor. Možemo izvršiti merenja izlaznog

signala senzora za mali skup poznatih ulaznih signala. Ovim merenjima dobijamo čvorove prenosne

karakteristike senzora. Između susednih čvorova se povlače prave linije definisane sa y = an*x+bn. Ovim

linijama vršimo Piece-wise linearnu interpolaciju (PW), i dobijamo fpwl(x). Na osnovu ovih linearnih

segmenata može se izvršiti jednostavno procesiranje da bi se dobila linearna prenosna kriva. U svakom

podopsegu se primenjuje korekcija pojačanja i ofseta. Sada je potrebno samo upamtiti tačke koje definišu

granice podopsega.

Slika 5. Piece wise linearni metod za kalibraciju linearnosti

Kao senzor temperature koristi se NTC otpornik.

Page 10: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

10 | P a g e

Slika 6. Zavisnost otpornost NTC otpornika od temperature

Zavisnost otpornosti NTC otpornika od temperature data je sledećom formulom:

RT : otpornost NTC termistora na temperaturi T

RN : otpornost NTC termistora na relativnoj temperaturi TN

B : konstanta koja predstavlja nagib R/T krive i koja zavisi od materijala od koga je napravljen

NTC otpornik.

e : osnova prirodnog logaritma ( e = 2.71828)

)11

(NTT

B

NT eRR

2

1ln

12

21

R

R

TT

TTB

dT

dR

R

1

Page 11: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

11 | P a g e

Slika 7. Zavisnost napona NTC otpornika od temperature

Zavisnost napona NTC otpornika od temperature data je sledećom formulom(Rx je polarizacioni

otpornik):

VccRxRt

RtVo

Page 12: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

12 | P a g e

Slika 8. Zavisnost temperature od napona koji je predstavljen kao 12-bitni ceo broj

Grafici na slikama 6, 7 i 8, dobijeni su u Matlab-u, pomoću sledećeg koda. U zadatku su date vrednosti

R0, opseg temperatura, B, Tc0, T0 i T, ostale vrednosti su dobijene su pomoću gore navedenih formula.

Rp=6000; t=(-30:0.1:80); Ro=2200; Tco=25; To=273.15+Tco; T=273.15+t; B=3900; Rt=Ro.*exp(B.*((1./T)-(1./To))); plot(t,Rt); xlabel ('Temperatura(C)'); ylabel ('Otpornost(kOhm)'); Vo=5*(Rt./(Rp+Rt)); figure; plot(t,Vo); xlabel ('Temperatura(C)'); ylabel ('Napon(V)'); Do = round(4096*(Vo./5)); figure; plot(t,Do); xlabel ('Temperatura(C)'); ylabel ('Do');

Page 13: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

13 | P a g e

Zavisnost temperature od napona koji je predstavljen kao 12-bitni ceo broj nam je od značaja jer je

koristimo za dobijanje vrednosti temperature na osnovu izlaza AD konvertora. Međutim, vrednost

temperature nije moguće direktno odrediti na osnovu Do, već je potrebna određena linearizacija. Nju

vršimo gore pomenutom Piece-Wise metodom, pravimo određeni broj podopsega koje aproksimiramo

pravama čije su jednačine y = an*x+bn. U ovoj jednačini x je vrednost očitana sa AD konvertora, a y

krajnja vrednost temperature. Tačke (-30, y1), (-15, y2), (15, y3), (20, y4), (30, y5), (45, y6), (60, y7), (80,

y8) predstavljaju granice izabranih podopsega a vrednosti y su vrednosti Do za određene temperature

očitane sa grafika sa Slike 8. Drugi, lakši način za dobijanje ovih vrednosti je preko formule za y napisane

u ko du. Koeficijenti an i bn se dobijaju tako što se iz jednačine prave kroz dve tačke

računa inverzna funkcija po x. U ovoj jednačini y predstavlja vrednost Do, a x vrednost temperature.

Pošto je nama potrebna vrednost temperature na osnovu očitanog Do sa AD konvertora, moramo naći

inverznu zavisnost. Sledeći deo koda sadrži konačne izraze za an i bn, kao i granične tačke izabranih

podopsega. Koeficijenti su pomnoženi sa vrednošću 2560 da bi bili celi brojevi i time smo omogućili

izračunavanja sa integer brojevima.

S obzirom na nesavršenosti prilikom linearizacije javlja se određena greška. Najveća greška se javlja na

sredinama opsega pa smo uzeli proizvoljne vrednosti temperatura iz tih delova, i za njih izračunali

vrednost dobijene temperature na osnovu formule, a ne sa grafika. Na taj način smo uvideli razliku

između vrednosti temperatura računatih na ova dva načina. Sledeći kod to predstavlja:

Temp = [-30, -15, 15, 20, 30, 45, 60, 80]; for i=1:8 y(i) = Do((Temp(i) - Temp(1))*10 + 1); end for j=1:7 a(j) = round(((Temp(j+1)-Temp(j))/((y(j+1)-y(j))))*2560); b(j) = round(Temp(j)*2560 - y(j) * a(j)); end

Temp1 = (a(1)*3314 + b(1))/256; % -22 stepena, izračunato -22.82 stepeni Temp2 = (a(2)*2246 + b(2))/256; % 0 stepeni, izračunato 0,28 stepena Temp3 = (a(3)*1390 + b(3))/256; % 17.5 stepeni, izračunato 17,54 stepena Temp4 = (a(4)*1099 + b(4))/256; % 25 stepeni, izračunato 25,36 stepeni Temp5 = (a(5)*717 + b(5))/256; % 38 stepeni, izračunato 38,90 stepeni Temp6 = (a(6)*437 + b(6))/256; % 53 stepena, izračunato 53,95 stepeni Temp7 = (a(7)*253 + b(7))/256; % 70 stepeni, izračunato 71,8 stepeni

Page 14: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

14 | P a g e

4 Procedeure za izračunavanje temperature na osnovu odmerenih vrednosti

sa ADC

Najpre je potrebno izvršiti konfiguraciju kontrolera, i to: konfiguracija oscilatora, tajmera, i AD

konvertora. Treba podesiti da frekvencija takta procesora bude 3MHz, dozvoliti rad AD konvertora, i

podesiti da tajmer odbrojava 100ms.

4.1. Konfiguracija kontrolera

Konfiguraciju vršimo pomoću programa Configuration Wizzard. Na sledećim slikama su prikazana

podešavanja za AD konvertor, tajmer i oscilator.

Vrednost frekvencije oscilatora treba podesiti na 3MHz.

Slika 9. Podašavanje oscilatora

Page 15: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

15 | P a g e

Potrebno je omogućiti rad AD konvertora i podesiti da analogni ulaz mikrokontrolera za AD konvertor

bude pin P2.2.

Slika 10. Podašavanje AD konvertora.

Tajmer treba da odbrojava 100ms, jer na svakih 100ms treba čitati vrednost sa NTC otpornika. Tajmer može biti podešen u jedan od više mogućih režima rada. Za naš projekat, odabrali smo 16-bitni auto

reload mode. Dakle, on će početi da broji od 0000h, brojaće do FFFFh, zatim će fleg TF2 postaviti na jedinicu, i time obavestiti da je odbrojao do kraja, i da kreće opet od 0000h. Medjutim, nama treba

obaveštenje na 100ms. Kako to podesiti? U podešavanjima za tajmer, postoji opcija odabira takta za tajmer. U projektu, odabrana je frekvencija SYSCLK/12, što znači da je naš sistemski takt podeljen sa 12.

1. Dakle imamo frekvenciju takta:

3MHz/12 = 250KHz

2. Perioda takta je:

1/250KHz = 4us

Page 16: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

16 | P a g e

3. Nama treba 100ms, dakle:

100ms/4us = 25*103 = 25000 taktova potrebno za 100ms. Dakle, kada brojač odbroji do FFFFh, on bi se

po rutini vratio na 0000h. Medjutim, postoji mogućnost zadavanja početne vrednosti brojača(Slika 11.). U

ovom slučaju, za 100ms, mi ćemo mu zadati 65545-25000 = 40535 = 9E57h.

Slika 11. Zadavanje početne vrednosti brojaču u auto reload režimu rada.

Slika 12. Konfiguracija tajmera.

Page 17: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

17 | P a g e

4.2. Glavni program

U glavnom programu, na svakih 100ms čita se vrednost AD konvertora, funkcijom Read_ADC. Nakon

čitanja 12-bitne vrednosti sa AD konvertora, vrši se ispitivanje u kom opsegu se nalazi pročitana

vrednost. Opseg se određuje u for petlji tako što se vrednost očitana sa AD konvertora poredi sa

graničnim vrednostima svakog opsega. Promenljiva index se inkrementira u svakom prolasku kroz petlju

ako je vrednost na AD konvertoru manja od granične vrednosti Do za taj opseg. Ove granične vrednosti

su prethodno izračunate u Matlab-u i unete u niz y. Posle prepoznavanja opsega, očitana vrednost se

ubacuje u inverznu funkciju x=an*y+bn, gde su koeficijenti a i b u Matlab-u unapred određeni za svaki

opseg i uneti u nizove a i b respektivno. X predstavlja konačnu vrednost očitane temperature, a y vrednost

sa AD konvertora. Nakon izračunavanja, dobijena vrednost temperature se smešta na određenu poziciju

niza Temp.

Kada se čita vrednost sa senzora, potrebno je vratiti fleg TF na nulu, da bi on mogao da broji od početka. Ako ne bismo vratili ovaj fleg na nulu, tajmer bi se ukocio i fleg bi ostao na jedinici, pa bi se pri svakom

prolasku kroz petlju očitavala vrednost senzora, što nam nije potrebno. Potrebno je ispitivati fleg TF2H jer je specifikacija tajmera takva da ima dva marker – TF2L, koji će se postaviti kada nižih 8 bitova brojača dostignu vrednost FFh(tajmer dostigne vrednost 00FFh), i marker TF2H, koji će se postaviti kada

viših i nižih 8 bitova brojača dostignu vrednost FFh, odnosno kada brojač dostigne vrednost FFFFh. S obzirom na to da se na svakih 100ms čita vrednost jednog senzora, tj čita se vrednost sa jednog ulaza

AMUX-a, potrebno je uvesti brojač koji će se inkrementirati na svakih 100ms. Brojač broji od 0-7, jer ima 8 senzora. Naime, pošto su nam selektorski signali povezani na pinove P2.5-P2.7, u svakom ciklusu treba postaviti određenu vrednost na te pinove, tj vrednost selektorskih signala. Na primer, pri čitanju

trećeg senzora treba postaviti vrednost 010 na ove pinove. Postavljanje ovih vrednosti na selekcione signale postižemo određenim and i or logičkim operacijama. Najpre maskiramo port P2 vršeći nad njim and operaciju sa vrednošću 00011111 da bismo sačuvali vrednosti pinova od P2.0-P2.4. To pamtimo u

promenljivoj prom nad kojom nakon toga vršimo or operaciju sa vrednošću promenljive selekcija šiftovane za pet pozicija ulevo. Promenljiva selekcija predsavlja gore pomenuti brojač.

U zadatku je definisano da rezolucija merenja temperature bude 0.1oC. Kao što smo već pomenuli, u Matlab-u se vrednosti koeficijenata množe sa 2560 da bi dobili cele brojeve, a ovde ćemo vrednost

temperature podeliti sa 256, i time podesiti traženu rezoluciju. Na primer, za vrednost temperature od 30oC, u programu ćemo dobiti vrednost 300, a na ekranu će biti prikazano 30.0 stepeni.

Page 18: PROJEKAT - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works DAS/Sistem za merenje temperature... · PREDMET: SISTEMI ZA AKIVIZICIJU PODATAKA PROJEKAT SISTEM ZA MERENJE TEMPERATURE

18 | P a g e