Sie sind auf Seite 1von 28

TEHNIKA KOLA KARLOVAC

LJUDEVITA JONKEA BB
47 000 KARLOVAC

Regulacija temperature prostora


-- ZAVRNI RAD--

UENIK: FILIP FABAC


ZANIMANJE : ELEKTROTEHNIAR
RAZREDNI ODJEL: 4 BT

MENTOR: MARIJAN ANI, dipl.ing.

U KARLOVCU, 9. SVIBNJA 2006.

UENIK : __________________________________________________________
Naziv zadatka:_______________________________________________________
____________________________________________________________________

Tekst zadatka:

Mentor:
Rok predaje: __________________ _____________________

Srednja ocjena zavrnog rada: _____________________

Obrazloenje:

Predsjednik
Mentor: lanovi Ispitne komisije
_________________ ___________________ _________________
___________________
TEHNIKA KOLA
KARLOVAC
k.god. ____________

PRIPREME ZA IZRADU
MATURALNOG RADA

IME I PREZIME UENIKA: ____________________________________________


RAZRED I ZANIMANJE: _______________________________________________
NAZIV TEME: ________________________________________________________
MJESTO IZRADE: ____________________________________________________
MENTOR: ____________________________________________________________

PLAN RADA:

A) RASPORED POJEDINIH FAZA RADA

____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

B) POPIS POTREBNOG MATERIJALA


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

C) POPIS LITERATURE
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

TEHNIKA KOLA
KARLOVAC
k.god. ____________

PRIPREME ZA IZRADU
MATURALNOG RADA

IME I PREZIME UENIKA: ____________________________________________


RAZRED I ZANIMANJE: ______________________________________________
NAZIV TEME: ________________________________________________________
MJESTO IZRADE: ____________________________________________________
MENTOR: ____________________________________________________________

A) PODACI O KONZULTACIJAMA

DATUM SADRAJ RADA


KONZULTACIJA S NASTAVNIKOM
S MENTOROM
PRAKTINE NASTAVE

B) TJEK RADA, UTROENI MATERIJAL I VRIJEME, KORITENA SREDSTVA I ALATI

____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
SADRAJ
1. Uvod ........................................................................................... 1
2. Mikrokontroler 89C2051 ............................................................. 2
3. Temperaturni senzor DS18S20 ................................................... 7
4. 1-Wire komunikacija ............................................................. 9
5. LCD ............................................................................................ 11
6. Mjerenje i regulacija temperature ........................................ 12
7. Relej i upravljanje relejom ............................................................. 15
8. Napajanje (stabilizacija napona) ................................................... 16
9. Program: .................................................................................. 18
10. Zakljuak: .................................................................................. 21
11. Literatura: .................................................................................. 23
UVOD

Osnovni element ovog projekta je Atmelov mikrokontroler AT89C2051 programiran u Bascomu


koji mjeri temperaturu okoline pomou digitalnog temperaturnog senzora D18S20 amerke tvrtke
Dallas. Upotrebljen je samo jedan temperaturni senzor i predvieno je upravljanje samo jednom
grijalicom koja uz malu doradu moe raditi kao grijalica ili kao ventilator. Osim mikrokontrolera,
senzora i grijalica tu se jo nalazi i LCD display koji pokazuje trenutnu temperaturu okoline i
prikaz postavki grijanja, releji koji slue za uklapanje i isklapanje grijaa i ventilatora.
Mikrokontroler i releji povezani su preko pojaala koji slui za pretvaranje jedne razine napona
mikrokontrolera u razinu napona koja je potrebna releju za uklapanje i isklapanje. Tu se jo nalazi
i stabiliziran izvor napajanja sa tri razine napona.
MIKROKONTROLER 89C2051

Vanjski izgled mikrokontrolera

Raspored pinova mikokontrolera


89C2051

Dimenzije mikrokontrolera
Unutarnja struktura mikrokontrolera

AT89C2051 je niskonaponski visokouinski, 8-bitni, CMOS mikrokontroler s 2 kB


programirajue i izbrisive read only Flash memeorije (EEPROM). Mikrokontroler je proizveden
koristei Atmel-ovu tehnologiju nezapaljive memorije i kompaktibilan je sa industrijskim
standardom MCS-51.
Mikrokontroler sadri 20 pinova. U nastavku su dane funkcije pinova.

RST (VPP) slui za restetiranje mikrokontrolera. Na njega su spojeni kondenzator od 100 nF


prema masi, kondenzator od 10 F prema naponu napajanja i otpor od 22 k prema masi. Te
komponenete slue za hadwersko resetiranje prilikom samog ukljuejna mikrokontrolera jer se
kod ukljuenja javljaju prijelazne pojave koje smetaju mikrokontroleru te oscilator
mikrokontrolera ne poinje oscilirati. Resetiranje se izvodi na desni brid pozitivnog impulsa
(prelazak iz logike jedinice u logiku nulu).
pin slui jo i kod programiranja mikrokontrolera.

RXD (P3.0), TXD (P3.1) to su pinovi koji imaju vie funkcija. Osim to slue kao ulazi ili
izazi, ti pinovi su jo predvieni za serijsku komunikaciju. Mikrokontroler preko tih pinova moe
komunicirati sa digitalnim senzorima (1-wire komunikacija), drugim mikrokotrolerom (UART),
raunalom (RS232) i nekim vrstama vanjske memorije (I2C).

1-wire komunikacija jednoina asinkrona komunikacija. Podatak se prenosi iz


digitalnog senzora u kontroler. Kontroler moe komunicirati i sa vie digitalnih komponenti.
Nain spajanja je preko jednoine sabirnice.

UART to je univerzalna asinkrona komunikacija. Predstavlja standardni nain


komunikacije za mikrokontrolere kod koje je svaki kontroler ogranien na dva pina RX i TX. U
nekim sluajevima je mogue organizirati i programski UART. To znai da se za komunikaciju
mogu koristiti i ostali pinovi. Komunikacija je simulirana programski. Programskki UART
simulira se u nekom viem programskom jeziku koji je speciliziran za kontrolere npr. BASCOM.
To omoguava koritenje vie pinova za komunikaciju.

RS232 predstavlja nain komunikacije izmeu mikrokontrolera i raunala. Nain


komunikacije je serijski i sa strane kontrolera i sa strana raunala. Obino je potreban jo jedan
integrirani meusklop koji e prilagoditi razinu signala logike nule i logike jedinice. Obino se
koristi ip sa oznakom MAX232. Kontroler ima 0V za logiku nulu i +5V za logiku jedinicu dok
raunalo ima -12V za logiku nulu i +12V za logiku jedinicu. Da bi komunikacija bila uspjena
program mora biti napisan i na raunalu i na mikrokontroleru. Prijenos podataka ide u oba smjera.
Iz raunala se moe dati naredba mikrokontroleru preko tipkovnice ili mia.

I2C predstavlja komunikaciju mikrokontrolera sa EEPROM memorijama. To je


dvoina komunikacija preko koje kontroler ita sadraj memorije i pie sadraj u memeoriju.
Ovo je isto sabirniki nain rada.

Skupina kontrolera 8051 ima dva registra koji su zadueni za serijsku komunikaciju: SCON i
SBUF.

SCON slui za upravljanje komunikacijom i odreivanja naina rada


(nain 0 do 3)
Nain 0 sinkrona komunikacija
Nain 1, 2 asinkrona komunikacija gdje je podatak osambitni
Nain 3 asinkrona komunikacija gdje je podatak devetbitni

SBUF slui za pohranjivanje podataka neposredno prije komunikacije ako se podatak


alje i neposredno poslije komunikacije ako se podatak prima.
Kod asinkrone komunikacije imamo dva razliita generatora takta, ali njihove frekvencije trebaju
biti iste. Zbog odstupanja u frekvenciji predajnika i prijamnika potrebno je uvesti dodatne
impulse za sinkronizaciju. Da bi se postavila potpuna sinkronizacija osim podatka uvjek se
prenosi START i STOP bit.

XTAL to su dva pina na koje se spaja kristal za odreivanje frekvencije osciliranja. Kristali se
biraju izmeu 4 i 16 MHz. Osim kristala izmeu svakog pina XTAL i mase spajaju se
kondenzatori od 30 pF 10 pF ako je kristal glavni oscilator ili 40 pF 10 pF ako se radi o
keramikom oscilatoru. Mogue je dovesti i vanjski signal. U tom sluaju se taj signal dovodi
samo na pin XTAL1 dok je pin XTAL2 odspojen ili spojen na masu. Najea frekvencija je 12
MHz jer je mikrokontroleru potrebno 12 perioda takta za izvravanje jednog procesa pa svaki
proces traje 1 s. Kondenzatori se stavljaju da bi frkvencija osciliranja bila to tonija.
Mikrokontroler e raditi i ako samo spojimo kristal bez kondenzatora.

INT0 (P3.2), INT1 (P3.3) to su pinovi koji slue u prekidnim rutinama, slue za dovoenje
prekida. Prekid je nepredvidljiv dogaaj. Taj dogaaj moe nastati unutar ili izvan kontrolera.
Prekid se odvija nesinkronizirano. Kad se prekid pojavi on je registriran od strane prekidnog
sklopovlja. Odmah trai neodloivo izvravanje prekidne rutine. Prekidna rutina je dio programa
(potprogram) koji se odvija na zahtjev prekida. Potprogram je dio programa koji bi se inae
ponavljao na vie mjesta u programu. Klasini potprogram nazivamo naredbom. Nakon to se
izvri potprogram, izvoenje glavnog programa nastavlja se na mjestu gdje je prekinut. Pozivanje
prekidnih rutina vri se hadwerski npr. promjena iz logike jedinice u logiku nulu na pristupu
INT. Vraanje iz prekidne rutine mora se rijeiti progamski, naredbom RETURN (BASCOM).
Osim vanjskih postoje i unutranji prekidi. Unutranji prekidi mogu nastati od TIMER-a ili
serijske komunikacije. Postoje pet razina prekida prema priroritetu. Najvei proritet ima prekid na
pinu INT0, zatim TIMER0 , INT1, TIMER1, a najmanji proritet ima prekid uzrokovan serijskom
komunikacijom. Prekidni sustav podrazumijeva tri najvanija registra:
IE omoguavaju se prekidi
IP odreivanje prioriteta
TCON odreuje se da li e biti padajui ili rastui signal, ako se ne naglasi onda je
padajui.

Konfiguracija prekidnog sustava odvija se po redosljedu:


- omoguavanje svih prekida
- omoguavanje tono odreenog prekida
- odreivanje prioriteta
- pisanje prekidne rutine

T0 (P3.4), T1 (P3.5) to su pinovi na koje je spojen TIMER Mikrokontroler 89C2051 sadri


dva TIMER-a. To su dva 16-bitna registra. Mogu biti brojai ili TIMER-i. Broja ili COUNTER
je unutarnji dio mikrokontrolera koji neovisno o glavnom procesoru broji vanjske impulse.
TIMER je vrsta brojaa koji broji impulse dobivene iz unutranjeg generatora takta, to je obino
glavni generator takta u mikrokontroleru (clok). Registri koji se koriste kod TIMER-a :
TCON to je kontrolni registar iz kojeg se pokree broja ili timer. Bit koji pokree timer
ili broja je TR0
TF0 i TF1 zastavice koje registriraju trenutak kada je COUNTER0 u maksimumu.
IT i IE desni partet TCON registra vezan je za sustav prekida
GATE zastavica ili bit koji odreuje da li e se brojaem upravljati hadwerski ili
softverski. Ako je u nuli onda se upravlja softverski, a to znai da smo program moe upravljati
brojaem.
C/T bit koji odreuje da li emo sklop koristiti kao timer ili kao broja. Ako je C/T u
logikoj jedinici tada je to broja, a ako je u logikoj nuli tada je to timer.
M0 i M1 odreuje nain rada timera ili brojaa
Nain 0 broja ili timer radi kao 13-bitni sklop
Nain 1 broja ili timer radi kao 16-bitni sklop
Nain 2 pola registra radi kao broja, a pola se koristi za namjtanje poetne
vrijednosti
Nain 3 odnosi se samo na TIMER0, itav registar je podjeljen na dva neovisna
brojaa.

AIN0 (P1.0), AIN1 (P1.1) ovi pinovi koriste se za analogne ulaze. Mikrokontroler 89C2051
moe prepoznati sve vrijednosti napona od 0 do 5V. Mikrokontroler sadri komparator kiji je
vezan na pristupe P1.0 i P1.1. S tim komparatorom je mogue organizirati A/D pretvorbu ali se
mora upotrijebiti TIMER. Vei mikrokontroleri sadre gotove A/D pretvarae. Napon koji elimo
pretvoriti dovodi se na ulaze komparatora. On se usporeuje sa naponom dobivenim iz D/A
pretvornika. D/A napon ovisi o broju impulsa koji dou u brojilo. Poetak pretvorbe zahtjeva
resetiranje brojila i postavljanje pina P3.7 u logiku jedinicu ime poinje punjenje kondenzatora.
Kada se izjednae naponi iz D/A pretvornika i napona na analognom ulazu komparator e
promijeniti stanje. Izlaz komparatora spojen je na pin P3.6 koji nema izlaz izvan kuita pa stanje
pina P3.6 treba provjeravati programski. Kad se izjednae naponi pin P3.6 iz logike jedinice
prelazi u logiku nulu i zaustavlja pretvorbu. Stanje TIMER-a proporcionalno je ulaznom naponu.
Glavni nedostatak ovakvog naina pretvorbe je nelinarno punjenje kondenzatora. Dodavanjem
strujnih izvora krivulja punjenja kondezatora moe biti linearna.

VCC , GND to su pinovi za napajanje. Na pin VCC se dovodi +5V a na GND se spaja masa.
Napajanje moe biti i naponom od 2,7V do 6V

P1.0 do P1.7 , P3.0 do P3.5 i P3.7 to su pinovi kiji mogu sluiti i kao ulazi i kao izlazi.

Mikrokontroler 89C2051 sadri 2kB flash memorije


TEMPERATURNI SENZOR DS18S20

Vanjski izgled temperaturnog senzora

Raspored pinova Raspored pinova digitalnog temperaturnog


temperaturnog senzora senzora smjetenog u kuite sa 16 pinova

Temperaturni senzor DS1820 je proizvod tvrtke Dallas. Kao to se vidi na slici temperaturni
senzor DS1820 moe biti smjeten u dva kuita. Jedno kuite je od tranzistora. Kod te izvedbe
postoje samo tri izvoda, a to su GND koji se spaja na masu, DQ je pin koji slui za serijsku
komunikaciju i preko njega mikrokontroler dobiva podatke o izmjerenoj temperaturi, senzor
dobiva naredbu za poetak mjerenja. Trei pin je VDD koji slui za dovoenje napajanja. Tu se
dovodi napajanje od +5V. Kod izvedbe u 16 pinskom kuitu spajaju se samo tri pina kao i kod
izvedbe sa tranzistorskim kuitem dok su ostali pinovi odspojeni.

Karakteristike temperaturnog senzora DS18S20: komunikacija je jednoina (1-wire) i


odvija se preko pina DQ. Svaka komponenta ima jedinstveni 64-bitni serijski kod koji je
spremljen u internom ROM-u.
Temperaturni senzor moe se napajati iz podatkovne linije ili naponom od 3.0V do
5.5V.
Mjerno podruje mu je od -55 C do +125 C, ali je tonost od 0,5 C u podruju od
-10 C do +85 C.
Maksimalno vrijeme pretvorbe temperature iznosi 750 ms.
Maksimalna duina vodia od senzora do mikrokontrolera smije iznositi 200m.
Senzor alje podatak o temperaturi mikrokontroleru, bit po bit u binarnom obliku.
Unutranja struktura temperaturnog senzora DS18S20

Princip rada:
Prilikom ukljuenja mikrokontroler alje senzoru naredbu za oitavanje adrese
senzora da bi mogao komunicirati s njime.
Kad mu senzor poalje svoju adresu, mikrokontroler alje naredbu za mjerenje
temperature. Temperatura se mjeri preko analognog temperaturnog senzora. Analogni
temperaturni senzor pretvara neelektrinu veliinu, u ovom sluaju temperaturu u odreeni
napon. Takav analogni signal se pretvara u digitalni. Tako obraeni digitalni signal alje se u
memoriju gdje se privremeno sprema do slanja. Tu jo postoji 1-wire komponenta koja takav
16-bitni podatak alje bit po bit mikrokontroleru.
Svaki digitalni temperaturni senzor posjeduje ROM memoriju u kojoj se uva
jedinstvena adresa senzora.
1-WIRE KOMUNIKACIJA

1-wire protokol je razvilo poduzee Dallas Semiconductor za komunikacju s nekim svojim


komponenetama (A/D pretvarai, razne memorije, temperaturni senzori, digitalni
potenciometri).
Mrea se sastoji od jednog nadreenog ipa (master tu ulogu ima mikrokontroler) i jedne ili
vie podreenih (slave), a sve je povezano samo na jedan vod sabirnicu kojom se
prenose potrebni kontrolni i adresni signali te podaci.
Komunikacija zapoinje RESET signalom (logika nula u trajanju 480 s) koji generira
master i nakon toga prelazi na itanje. Na RESET periferne komponenete odgovaraju
signalom prisutnosti (logika nula u trajanju od 60 do 240 s, nakon pauze od 15 do 60 s).
Nakon toga master adresira pojedine komponenete u mrei i uspostavlja komunikaciju s
njima. Za uspjenu komunikaciju master mora unaprijed poznavati adrese svih komponeneti u
mrei. U sluaju da se u mrei nalazi samo jedna periferna komponenta adresiranje se moe
preskoiti i komunikacija se tada uspostavlja neposredno.
Na poetku programa definira se pin na koji se spaja 1-wire komunikacija. To znai da je
mogue koristiti bilo koji slobodni pin za 1-wire komunikaciju. U ovom sluaju komunikacija
e se odvijati preko pina P3.0 koji je ve u naprijed predvien za serijsku komunikaciju.

Config 1wire = P3.0

Na taj se pin sada spajaju sve 1-wire komponenete

Svaka komunikacija poijne RESET signalom (1wreset) to je ujedno resetiranje sabirnice.


Poto je spojen samo jedan temperaturni senzor komunikacija je znatno pojednostavljena, pa
se naredbom 1wwrite & HCC preskae interni ROM, a naredbom 1wwrite &H44 daje naredba
mikrokontroleru za pretvorbu temperature. Program sada izgleda ovako
1wreset
1wwrite & HCC
1wwrite & H44

Poto je senzoru potrebno neko vrijeme da pretvori temperaturu potrebno je u nastavku


programa staviti naredbu ekanja od 500 ms i zatim oitamo rezultat mjerenja.
Waitms 500
1wreset
1wwrite & HCC
1wwrite & HBE
T1 = 1wread()
T2 = 1wread()
1wreset

Rezultat mjerenja oitava se naredbom 1wwrite & HBE i zatim se prihvaa u varijable koje su
se deklirirale na poetku programa. Koriste se dvije varijable jer svaka ima veliinu od jednog
byte-a , podatak je 16 bitni. Pomou naredbe Makeint te dvije varijable se slau u 16-bitnu
varijablu tipa integer.

T = Makeint (T1 , T2)


Daljnim postupkom dobiva se preciznost od 0.5 C i dvije varijable. U jednoj je spremljen
cijeli broj temperature, a u drugoj decimalni broj temperature.

Temperatura = T / 2
Temperatura_dec = T - Temperatura
Temperatura_dec = Temperatura_dec - Temperatura
Temperatura_dec = Temperatura_dec * Temperatura_dec
Temperatura_dec = Temperatura_dec * 5

Sada se podatak priprema za ispis na LCD displayu.


LCD DISPLAY

LCD display je display s tekuim kristalom. Drugi naziv je alfanumeriki display. Omoguava
ispis brojeva, slova i neke vrste znakova. Sadri vlastitu memeoriju koja slui za pohranu
podataka koji se trebaju ispisati na dispalayu. Memeorija je tipa DDRAM. Osim memeorije tu
se jo nalaze i instrukcijski registri za upravljanje radom displaya. Instrukcijski registar bavi
se instrukcijama i naredbama koje su neophodne za rad displaya. Display moe pohraniti
naredbu. Sadri tri skupine pinova.
Prva skupina pinova su pinovi za napajanje. To su pinovi VSS na koji se spaja masa, VDD na
koji se spaja napon od 5V. Taj napon ne smije prijei vrijednost od 5V jer bi mogao unititi
display. Display e raditi i na neto niem naponu. Slijedei pin je VEE koji slui za kontrast.
Ukoliko ne elimo regulirati kontrast tada se taj pin spaja na masu. Kontrast se regulira
potenciometrom od 22 k.
Sljedea skupina pinova su instrukcijski pinovi. Pin RS je pin preko kojig se upravlja
instrukcijskim registrom. RW je pin koji odreuje da li e se na display pisati ili e se podatak
itati iz memeorije displaya. Ukoliko piemo na dispaly-a tada taj pin treba biti spojen na
masu, a ukoliko elimo itati iz memeorije dispalay-a tada je taj pin spojen na +5V. E je pin
kojim se pokree display. Da bi se display pokrenuo nije dovoljno samo napajanje ve i
pravokutni impulsi odreene frekvencije. Obino reagira na negativan brid.
Sljeea skupina pinova su pinovi na koje se spaja sabirnica display-a. Sabirnica moe biti 8-
bitna ili 4-bitna.
Prilikom pisanja programa na poetku programa potrebno je napisati konfiguraciju LCD
display-ai konfiguraciju sabirnice LCD-a

Config Lcd = 16*2


Config Lcdbus = 4

Ova konfiguracija govori da se radi o dvorednom LCD display-u koji u svaki red moe
ispisati 16 znakova. Komunikacija s mikrokontrolerom odvijat e se peko etverobitne
sabirnice. Najee se uzima etverobitna sabirnica jer je brzina prijenosa podataka neznatno
sporija, a dobivaju se 4 pina vie na mikrokontroleru.
Neke navanije naredbe za upravljanje radom displaya su:

LCD rije ispisuje zadanu rije


LCD broj ispisuje varijablu
CLS ova naredba brie sadraj display-a i postavlja pokaziva na poetno mjesto

MJERENJE I REGULACIJA TEMPERATURE


Mjerenje temperature sastoji se od nekoliko koraka.
U prvom koraku se deklariraju sve varijable.

Dim T As Integer , Temperatura As Integer , Temperatura_dec As Integer


Dim T1 As Byte , T2 As Byte

U drugom koraku se odreuje konfiguracija LCD display-a, sabirnice i odruje se pin koji e
se koristit za 1-wire komunikaciju

Config 1wire = P3.0


Config Lcd = 16 * 2
Config Lcdbus = 4

U treem koraku se stavlja petlja koja osigurava da se temperatura konstantno mjeri. Ukoliko
nebi bilo te petlje temperatura bi se izmjerila samo jednom i zatim bi se program zaustavio
Do
Mjerenje
Proracun
Ispis
Loop
End

U etvrtom koraku se pokree program za mjerenje temperature.

Sub Mjerenje
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 500
1wreset
1wwrite &HCC
1wwrite &HBE
T1 = 1wread()
T2 = 1wread()
1wreset
End Sub

Nakon izvedenog mjerenja temperature podatak se sprema u dvije varijable koje pomou
naredba Makeint spajaju u jednu varijablu integer i slijedi obrada podatka

Sub Proracun
T = Makeint(t1 , T2)
Temperatura = T / 2
Temperatura_dec = T - Temperatura
Temperatura_dec = Temperatura_dec - Temperatura
Temperatura_dec = Temperatura_dec * Temperatura_dec
Temperatura_dec = Temperatura_dec * 5
End Sub
Nakon provedenog prorauna podatak se ispisuje na display-u. Tu je stavljen jo jedan mali
program koji upozorava na greku koja se javlja ako doe do greke u 1-wire komunikaciji.
Postoji jo jedan program koji vri korekciju ako je temperatura negativna. Ta korekcija vri
se na nain da se temperatura pretvori u pozitivnu vrijednost, a minus se samo ispie na LCD
display-a kao znak.

Sub Ispis
If Err = 1 Then
Cls
Lcd "greska"
Elseif T = -1 Then
Korekcija
Else
Cls
Lcd "T=" ; Temperatura ; "." ; Temperatura_dec
End If
End Sub
Sub Korekcija
Cls
Lcd "T=-" ; Temperatura ; "." ; Temperatura_dec
End Sub

Ovime je izvren ispis temperature na LCD display-u. Za regulaciju grijanja uzima se samo
cijeli dio temperature dok se decimalni do zanemaruje.
Na poetku programa se postavlja poetna vrijednost temperature kako bi sklop poeo s
radom odmah nakon ukljuenja. N je jo deklarirana kao varijabla jer je omoguena
mogunost namjetanja temperature pa je e se N poveavati ili smanjivati ovisno o potrebi.

N = 20

Kod ovog naina rada su mogua tri stanja.


Prvo stanje je kada je eljena temperatura manja od izmjerene temperature okoline. Tad sklop
treba hladiti, to znai da je grija iskljuen, a ventilator ukljuen.
Drugo stanje je kada je temperatura okoline jednaka eljenoj temperaturi. U tom sluaju ne
radi ni ventilator ni grija.
Trei sluaj je kada je eljena temperatura vea od temperature okoline. U tom sluaju e
raditi grija, a ujedno i ventilator koji u prostor pue topli zrak. Kada bi radio samo grja
grjanje bi bilo usporeno, grijalica bi se jako grijala te bi postojala opasnost od samozapaljenja.
Jo jedna zatita je izvedena prilikom samog spajanja grijaa i ventilatora. Tako je tako
spojeno da je nemogue zatvoriti strujni krug ako ne radi ventilator.
Sub Regulacija
If N < Temperatura Then
P1.0 = 1
P1.1 = 0
Elseif N = Temperatura Then
P1.1 = 0
P1.0 = 0
Elseif N > Temperatura Then
P1.0 = 1
P1.1 = 1
End If
End Sub

Namjetanje same temperature izvodi se pomou 4 tipkala. Tipkalo koje je spojeno na pin
P3.2 je tipkalo s kojim se ulazi u meni za namjetanje temperature. To tipkalo ustvari izaziva
prekid. Tipkala na pinovima P3.3 i P3.4 su tipkala za poveanje odnosno smanjenje
temperature. Tipkalo spojeno na P3.5 je tipkalo koje potvruje namjetenu vrijednost i
omoguava normalan rad kontrolera vraajui ga iz prekidne rutine. Tipkala su jednim krajem
spojena na pinove, a drugim na masu. To znai da prilikom pritiska tipkala mi ustvari spajamo
pin sa masom. Kontroler reagira samo na promjenu iz logike jedinice u logiku nulu pa u
stajnu kada je tipkalo otputeno za kontroler to ustvari oznaava logiku jedinicu. Prilikom
smanjenja ili poveanja eljene temperature moramo staviti naredbe ekanja kako bi mogli
otpustiti tipku. U koliko ne bude naredba ekanja mikrokontroler e izvravati uvjet sve dok
mi drimo tipku i unaat e greku jer vrijeme potrebno za otputanje tipke nije dovoljno brzo
kao vrijeme koje je potrebno kontroleru za izvravanje naredbe.Kontroler e se ponovno
vratiti na poetak potprograma i ponovno uveati ili smanjiti vrijednost namjetene
temperature.
Prekid:
Do
If P3.3 = 0 Then
Incr N
Waitms 500
Cls
Lcd "temperatura ="
Locate 2 , 7
Lcd N
Elseif P3.4 = 0 Then
Decr N
Waitms 500
Cls
Lcd "temperatura ="
Locate 2 , 7
Lcd N
Elseif P3.5 = 0 Then
Return
End If
Loop

RELEJ
Relej je sklop koji radi kao elektrina sklopka. On ima u sebi elektromagnet koji privue
preklopku kada kroz zavojnicu potee dovoljno velika sruja. Protjacanjem sruje kroz
zavojnicu stvara se elektromagnetsko polje koje djeluje kao magnet i privue preklopku. Relej
ima dvije neovisne preklopke koje se zajedno ukljuuju i iskljuuju. To znai da je mogue
ukljuivati i iskljuivati dvije faze ili fazu i nulu. Na svakoj sklopci spojena su tri izvoda.
Jedan izvod je za dovod napona (najee srednji izvod), dok su drugi dva izlazi. Jedan izvod
slui kao uklopnik dok drugi slui kao isklopnik.
Uklopnik radi tako da preklopka spoji izlazni izvod na ulaz kada kroz zavojnicu releja potee
struja, dok isklopnik radi obrnuto.
Ovdje upotrebljen relej moe podnijeti struju od 10A i napon od 250V. Uklapa se
istosmjernim naponom od 12V i strujom minimalnom strujom 25mA. Relej je smjeten u
harmetiki zatvoreno kuite jer se tu preklapaju struje os 10A gdje lako moe doi do
nastajanje lukova koji loe utjeu na rad releja kao i na rad sklopa kojeg relej isklapa.
Poto se za prebacivanje preklopke koristi elektromagnet trebamo znati da se elektromagnet
sastoji od zavojnice koja ima karakteristiku da u sebi inducira napon pri brzoj promjeni
napona. Taj inducirani napon dolazi do izraaja kod isklapanja releja i moe poneked unititi
sklop koji slui za uklapanje releja. Da se to nebi dogodilo, paralelno zavojnici se spaja dioda
koja ne doputa da se inducira vei napon od prikljuenog napona.
Poto mikrokontroler radi sa naponom od +5V, a za uklapanje relaja je potrebno +12V izmeu
mikrokontrolera i releja se stavlja jo jedan sklop. To moe biti najobinija tranzistorska
sklopka ili drugi relej manjih snaga kako bi se prilagodile odgovarajue razine napona. U
ovom sluaju je upotrebljena tranzistorska sklopka. Koriten je najobiniji NPN tranzistor.
Nain spajanja je takav da se +12 V najprije spoji na jedan izvod elektromagneta releja dok se
drugi izvod spaja na kolektor tranzistora. Emiter tranzistora se spaja na masu, a baza se spaja
na izlazni pin mikrokontrolera. Za ograniavanje struje kolektora u krug s relejom je u seriju
spojen jo jedan otpornik od 100 koji ograniava struju na oko 30 mA, a za ograniavanje
struje baza koristi se otpornik od 1 M. Poto izlaz mikrokontrolera ne daje tono 0V za
logiku nulu ve je to neki mali napon, postojala bi opasnost da se relaj na bi iskljuio kada bi
na izlazu bila logika nula. Stoga se jo koristi i trimer koji slui za namjetanje radne toke
tranzistora. Trimer ima maksimalnu vrijednost 47 k. Ovim skolopm omogueno je
jednostavno i sigurno uklapanje releja.

NAPAJANJE
Nita od navedenoga ne bi funkcioniralo bez napajanja. Napajanje je iz gradske mree i
omoguava tri razine napona. To su naponi od 12V za releje, 5V za mikrokontroler i
temperaturni senzor, te neto manji napon od 5V koji se koristi za napajanje LCD display-a.
Najprije se napon gradske mree pomou transformatora snizi na vrijednost od oko 15V. Taj
napon je i dalje izmjenian pa se preko Gretzova spoja pretvara u istosmjerni koji i dalje
sadri veliku valovitost koja se filtrira preko kondenzatora. to je vrijednost kondenzatora
vea to je filtriranje bolje. Tu se upotrebljava neki elektrolitski kondenzator od 100 F pa na
dalje. Filtriranjem se podie vrijednost napona koja sada iznosi neto oko 18V. Da bi se releju
osiguralo 12V koristi se integrirani stabilizator 7812 koji pretvara bilo koju vrijednost ulaznog
napona od 15 do 30 V u napon od 12 V. Da bi se osiguralo 5V za mikrokontroler i
temperaturni senzor koristi se jo jedan stabilizator napona, ali ovaj put stabilizator napona za
5V, a to je 7805. Poto je za rad mikrokontrolera potreban vrlo stabilan napon on se jo
dodatno filtrira sa jo jednim elektrolitskom kondenzatrom. Napon za display se dobiva preko
otpornog djelila koje je ostvareno preko trimera od 10 k. Ulazni napon je 5V, izlazni napon
je od 4 do 5V pa je otpor koji utjee na struju gotovo na minimumu. Tako se osigurava
dovoljna struja za alfanumeriki display.
Napajanje grijaa i ventilatora vri se preko releja koj ujedno upravljaju njihovim radom.
Prespajanje se vri tako da je nemogue ostvariti da radi samo grija bez ventilatora. To je
ujedno zatita od pregrijavanja grijalice i mogueg zapaljenja. Cijelo napajanje se prekida
preko prekidaa koji je smjeten u ulazni krug transformatora tj. na primar. Njegovim
iskljuenjem automatski se preida napajanje mikrokontrolera, senzora, display-a, a time i
napajanje grijaa i ventilatora preko releja jer je relej tako spojen da ukoliko nema nikakvog
impulsa na ulazu on iskljui kontakte koji napajaju grija i ventilator. Poto se isklapaju i faza
i nula nemogua je bilo kakva pojava opasnih potencijala na grijau ili ventilatoru

Na slici je dan prikaz integriranog stabilitatora napona smjetenog u tiristorsko kuite. Na


prvi pin se spaja napon kojeg elimo stabilizirati na odreenu vrijednost, srednji izvod je masa
dok je trei izvod izlaz stabiliziranog napona. Kod ovog stabilizatora je predvieno i hlaenje
ali nije stavljeno jer se radi o vrlo malim strujama, ukupna struja cijelog sklopa ne prelazi
vrijednost od 200 mA. Da bi se ostvarilo hlaenje stabilizator se stavlja na aluminijske
hladnjake i izolira se sa tinjcem ili nekom drugom tvari poput gume koja dobro provodi
temperaturu. Na grafu je dana ovisnost izlaznih karakteristika od temperaure. Na apscisi je
nanjeta vrijednost napona dok je na ordinati nanjeta vrijednost sruje za razliite temperature.
Iz unutranje strukture se vidi sloenost integriranog stabilizatora napona.

PROGRAM
Ovdje je dan cjelokupni program za mjerenje temperature, namjetanje eljene temperature i
upravljanje radom releja.

Dim T As Integer , Temperatura As Integer , Temperatura_dec As Integer


Dim T1 As Byte , T2 As Byte
Dim N As Byte

Deklaracija varijabli

N = 20

Namjetanje poetne vrijednosti temperature tj. temperatura koja e se odravati kada se


ukljui cijeli sklop

On Int0 Prekid
Enable Interrupts
Enable Int0

Omoguavanje prekida

Declare Sub Mjerenje


Declare Sub Proracun
Declare Sub Ispis
Declare Sub Korekcija
Declare Sub Regulacija

Sub rutine

Config 1wire = P3.0


Config Lcd = 16 * 2
Config Lcdbus = 4

Konfiguracija LCD displaya i pina za 1-wire komunikaciju

Do
Mjerenje
Proracun
Ispis
Regulacija
Loop
End

Petlja koja omugaava ponavljanje programa

Sub Mjerenje
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 500
1wreset
1wwrite &HCC
1wwrite &HBE
T1 = 1wread()
T2 = 1wread()
1wreset
End Sub

Mjerenje temperature

Sub Proracun
T = Makeint(t1 , T2)
Temperatura = T / 2
Temperatura_dec = T - Temperatura
Temperatura_dec = Temperatura_dec - Temperatura
Temperatura_dec = Temperatura_dec * Temperatura_dec
Temperatura_dec = Temperatura_dec * 5
End Sub

Proraun temperature

Sub Ispis
If Err = 1 Then
Cls
Lcd "greska"
Elseif T = -1 Then
Korekcija
Else
Cls
Lcd "T=" ; Temperatura ; "." ; Temperatura_dec
End If
End Sub

Sub Korekcija
Cls
Lcd "T=-" ; Temperatura ; "." ; Temperatura_dec
End Sub

Ispis i korekcija temperature prije ispisa

Sub Regulacija
If N < Temperatura Then
P1.0 = 1
P1.1 = 0
Elseif N = Temperatura Then
P1.1 = 0
P1.0 = 0
Elseif N > Temperatura Then
P1.0 = 1
P1.1 = 1
End If
End Sub
Regulacija temperature, upravljanjem radom releja
Prekid:
Do
If P3.3 = 0 Then
Incr N
Waitms 500
Cls
Lcd "temperatura ="
Locate 2 , 7
Lcd N
Elseif P3.4 = 0 Then
Decr N
Waitms 500
Cls
Lcd "temperatura ="
Locate 2 , 7
Lcd N
Elseif P3.5 = 0 Then
Return
End If
Loop

Potprogram prekida. Omoguava namjetanje eljene temperature preko tipkala

ZAKLJUAK
Zadatak ovog sklopa je da regulira temperaturu neke prostorije. Sklop se sastoji od
temperaturnog senzora koji mjeri temperaturu, mikrokontrolera koji obrauje temperaturu i
prikazuje ju na alfanumerikom displayu. Osim mjerenja temperature sklop jo omoguava
namjetavnje eljene temperature pomou 4 tipkala i uklapanje ventilatora i/ili grijaa po
potrebi. Uklapanje se izvodi pomou releja. Jo se moe izvesti i pomou trijaka ili tiristora.
Poto se za regulaciju koristi samo grija i relej nerealno je za oekivati veliki raspon
temperature koji se moe regulirati. Za regulaciju u veem opsegu se na postojee releje mogu
spojiti sklopnici koji e ukljuivati topove za grijanje ukoliko elimo zagrijati neki vei
prostor. Takav sklop je primjeran za odravanje eljene temperature plastenika ili neke velike
prostorije. Poto je sklop izveden pomou mikrokontrolera i digitalnog temperaturnog
senzora, taj senzor se moe zamijeniti nekim drugim digitalnim senzorom. Uz izmjene
programa, ukoliko je potrebno, cijeli sklop se moe koristiti u nekoj drugoj regulaciji.

Materijal, elementi i ureaji koji su koriteni prilikom izrade sklopa:

ELEMENTI, MATERIJALI,
VRIJEDNOSTI KOLIINA SVRHA
UREAJI

RAUNALO - 1 Programiranje mikrokontrolera

Unoenje programa iz raunala


PROGRAMATOR - 1
u mikrokontroler

MIKROKONTROLER
- 1 Sredinji sklop srce sklopa
AT89C2051

TEMPERATURNI SENZOR
- 1 Mjerenje temperature
DS18S20

TIPKALA - 4 Namijetenje temperature

Prikaz temperature i postavke


LCD DISPLAY - 1
grijanja

Ukljuivanje i iskljuivanje
RELEJ 250V / 10A 2
grijaa i ventilatora
Slui za ukljuivanje i
TRANZISTOR BC 517 (NPN) 2 isklapanje releja i prilagodbu
razina napona
Smanjenje ulaznog napona na
TRANSFORMATOR 220V/15V 1
napon koji je potreban sklopu

12V 1 Stabilizira na 12V


STABILIZATOR NAPONA
5V 1 Stabilizira na 5V
Odreuje frakvenciju
KRISTAL 12 MHz 1 osciliranja koja je potrebna za
rad mikrokontrolera
330F 1 Filtriranje
KONDENZATOR 1000F 3 Filtriranje
ELEKTROLITSKI
47F 1 resetiranje mikrokontrolera

33 pF 2 Poboljavaju svojstva oscilatora


KONDENZATOR
KERAMIKI
47nF 1 Resetiranje mikrokontrolera

Otporno djelilo koje slui da


TRIMER 1 10 k 1
snizi napon za display

Namjetanje radne toke


TRIMER 2 47 k 2
tranzistora

Ograniavanje struje baze


OTPOR 47 k 2
tranzistora
Zatita tranzistora od
DIODE 1A 2 prednapona zbog uklapanja
releja

SKLOPKA 250V/6A 1 Prekidanje napajanja sklopa

Slui za povezivanje pinova


7 vodia 1
mikrokontrolera sa djelovima
SABIRNICA
koji se nalaze izvan glavne
8 vodia 1
ploe (LCD, display, tipkala)
Predstavlja vodove i vrstu
BAKRENA PLOICA 2
podlogu gdje se leme elementi

LEMILICA Lemljenje

Slui za ienje bakrene


ploice od oksidacije i masnoa
BRUSNI KAMEN Mekani 1
prije nego se ploica stavi u
kiselinu
Slui za crtajne vodova po
ploici prije nego to se stavlja
FLOMASTER ZA u kiselinu. Na mjestu gdje je
1
BAKRENE PLOICE flomaster vod ostaje cijeli, a na
mjestu gdje ga nema kiselina
razgradi bakar
Otapanje bakra sa bakrene
KISELINA granulirana
ploice

LITERATURA

Svijet Elektronike
Internet (Atmel home page, Dallas home page)
Zabiljeke kod predavanja prof. Marjana Ani (predmet mikroraunala)

Das könnte Ihnen auch gefallen