Professional Documents
Culture Documents
LJUDEVITA JONKEA BB
47 000 KARLOVAC
UENIK : __________________________________________________________
Naziv zadatka:_______________________________________________________
____________________________________________________________________
Tekst zadatka:
Mentor:
Rok predaje: __________________ _____________________
Obrazloenje:
Predsjednik
Mentor: lanovi Ispitne komisije
_________________ ___________________ _________________
___________________
TEHNIKA KOLA
KARLOVAC
k.god. ____________
PRIPREME ZA IZRADU
MATURALNOG RADA
PLAN RADA:
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
C) POPIS LITERATURE
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
TEHNIKA KOLA
KARLOVAC
k.god. ____________
PRIPREME ZA IZRADU
MATURALNOG RADA
A) PODACI O KONZULTACIJAMA
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
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
Dimenzije mikrokontrolera
Unutarnja struktura 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).
Skupina kontrolera 8051 ima dva registra koji su zadueni za serijsku komunikaciju: SCON i
SBUF.
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.
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.
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.
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
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.
Temperatura = T / 2
Temperatura_dec = T - Temperatura
Temperatura_dec = Temperatura_dec - Temperatura
Temperatura_dec = Temperatura_dec * Temperatura_dec
Temperatura_dec = Temperatura_dec * 5
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
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:
U drugom koraku se odreuje konfiguracija LCD display-a, sabirnice i odruje se pin koji e
se koristit za 1-wire komunikaciju
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
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
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
PROGRAM
Ovdje je dan cjelokupni program za mjerenje temperature, namjetanje eljene temperature i
upravljanje radom releja.
Deklaracija varijabli
N = 20
On Int0 Prekid
Enable Interrupts
Enable Int0
Omoguavanje prekida
Sub rutine
Do
Mjerenje
Proracun
Ispis
Regulacija
Loop
End
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
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
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.
ELEMENTI, MATERIJALI,
VRIJEDNOSTI KOLIINA SVRHA
UREAJI
MIKROKONTROLER
- 1 Sredinji sklop srce sklopa
AT89C2051
TEMPERATURNI SENZOR
- 1 Mjerenje temperature
DS18S20
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
LEMILICA Lemljenje
LITERATURA
Svijet Elektronike
Internet (Atmel home page, Dallas home page)
Zabiljeke kod predavanja prof. Marjana Ani (predmet mikroraunala)