auto mat ska regulacija temperature
TRANSCRIPT
TEHNIČKA ŠKOLA PULA
J. Cvečića 7
52100 Pula
Ime i Prezime: Mario Celija
Razred: 4. ET.
Smjer: Elektrotehnika
Zanimanje: Elektrotehničar
AUTOMATSKA REGULACIJA TEMPERATIRE
Pula, 12.5.2008. Mentor: Romeo Šain Rok završnog ispita: ljetni rok
SADRŢAJ
1.-Uvod 1.1-Temperatura 1.2-Toplina
1.3-Termometar
2.-Blok shema automatiziranog sustava
3.-Princip rada sklopa
4.-Izrada 4.1-Popis elemenata
4.2-Shema sklopa
4.3-LCD ekran (GDM1602E)
4.4-Temperaturni senzor (DS1612)
4.5-Programiranje PIC-a
4.6-Shema kartice
4.7-Izrada kartice 4.8-Sklop u radu
5.-Zaključak
6.-Literatura
2
1.-UVOD
1.1-TEMPERATURA
Temperatura je fizikalna veličina kojom se izraţava toplinsko stanje neke tvari i jedna
je od osnovnih veličina u termodinamici. Ona ovisi o tome koliko topline sadrţi neko
tijelo odreĎene mase i tlaka. Temperatura ne moţe prelaziti s tijela na tijelo, nego
prelazi toplina, dok se temperature izjednačavaju.
Pojam temperature moţe se definirati na više načina. Osjećamo kada je neko tijelo toplije ili hladnije od našeg tijela, a uočavamo i fizikalne promjene obujma, tlaka i
agregatnog stanja koje pri tome nastaju. Na temelju toga definirane su temperaturne
ljestvice kao što su Kelvinova, Celzijeva i Fahrenheitova koje se i danas koriste u
većini primjena.
Postoji više mjernih jedinica za temperaturu. U Europi temperaturu mjerimo u
Celzijevi stupnjevima (°C), a u Americi su uvrijeţeni Fahrenheitovi stupnjevi (°F).
Jedinica SI za termodinamičku temperaturu je kelvin (K), dok se u Americi još koristi
i Rankineov stupanj.
Formule za pretvaranje brojevnih vrijednosti uobičajenih temperaturnih ljestvica:
K = °C + 273,15 °C = 5/9 · (°F - 32)
Tablica koja prikazuje neke često korištene temperature s vrijednostima izraţenim na
raznim temperaturnim ljestvicama: Opis Kelvinova Celzijeva Fahrenheitova Rankineova Delisleova Newtonova Réaumurova Rømerova
Apsolutna nula 0 -273,15 -459,67 0 559,725 -90,14 -218,52 -135,90
Fahrenheitova mješavina leda i soli
255,37 -17,78 0 459,67 176,67 -5,87 -14,22 -1,83
Talište leda/ledište vode (pri normalnom tlaku)
273,15 0 32 491,67 150 0 0 7,5
Temperatura ljudskoga tijela
310,15 37 98,6 558,27 94,5 12,21 29,6 26,925
Vrelište vode 373,15 100 212 671,67 0 33 80 60
Talište titanija 1941 1668 3034 3494 -2352 550 1334 883
3
1.2-TOPLINA
Toplina je energija koja prelazi sa jednog tijela na drugo zbog postojanja razlike u temperaturi. Kada se temperature izjednače, toplina je jednaka nuli. Toplina je vezana
isključivo za prijelaz, pa je ona procesna veličina.
Toplina je vrsta energije, označava se sa Q, a SI jedinica topline je dţul (J).
Toplina spontano prelazi sa toplijeg tijela na hladnije.
ΔQ > 0 ako je toplina predana sustavu
ΔQ < 0 ako je sustav toplinu predao okolini
Toplina se prenosi kondukcijom, konvekcijom i zračenjem.
1.3-TERMOMETAR
Termometar (grč. θέρμη "toplo" + μετρέω "mjerim") je ureĎaj koji mjeri temperaturu
ili temperaturni gradijent, koristeći razne principe.
Termometar ima dva vaţna dijela:
senzor (osjetilo), na kojem zbiva neka fizikalna promjena vezana s promjenom
temperature;
konverziju fizikalne promjene u čitljivu vrijednost (npr. skala na ţivinom
termometru).
Termometri se dijele na dvije skupine po poznavanju procesa koji stoji iza fizikalne
promjene:
Primarni termometri koriste svojstvo tvari koje je toliko dobro poznato da se
temperatura moţe točno izračunati bez nepoznatih vrijednosti, npr. na bazi
jednadţbe stanja plina.
Sekundarni termometri su prikladniji za korištenje i češće se koriste, a uglavnom su i osjetljiviji. Kod njih poznavanje procesa nije dovoljno,
termometar je potrebno kalibrirati prema primarnom termometru.
4
2-BLOK SHEMA AUTOMATIZIRANOG SUSTAVA
OSJETNIK
TEMP.
MIKRO -
KONTROLER LCD EKRAN
IZVRŠNI ELEMENT
(RELEJ)
GRIJAČ
ULAZNI
UPRAVLJAČKI
SIGNALI
5
3.-PRINCIP RADA SKLOPA
Sklop sluţi za automatsku regulaciju temperature. Sluţi za potrebe regulacije
temperature prostora ili inkubatora jer se temperatura moţe regulirati u području od -
55 °C do +125 °C. Glavni element sklopa je PIC16F84a. To je mikrokontroler koju
upravlja sklopom prema unaprijed napisanom programu (opis programa u poglavlju
4.5).
Temperatura se očitava na digitalnom senzoru DS1621. Digitalni signal se šalje
na mikrokontroler koji zatim obraĎuje dobivene podatke (prema programu). Ako je
izmjerena temperatura niţa od zadane mikrokontroler aktivira Q1 (bipolarni tranzistor)
koji radi kao sklopka. Nakon što tranzistor provede aktivira se relej koji pali trošilo.
Kad temperatura poraste iznad zadane mikrokontroler isključuje tranzistor,a time i
relej i trošilo. Dioda D1 sluţi za zaštitu tranzistora, dok je dioda D2 LED dioda koja
sluţi za indikaciju uključenosti trošila. X1 je kvartzni oscilator koji u paralelnom spoju
s dva kondenzatora generira impulse potrebne za rad mikrokontrolera. Izmjerena i zadana vrijednost temperature se ispisuje na LCD ekranu (korišteni
ekran je opisan u poglavlju 4.3). LCD se napaja iz izvora napajanja +5V.
Potenciometar RV1 sluţi za namještanje kontrasta ekrana.
Mikroprekidači (DEC, INC i SET) sluţe za namještanje ţeljene vrijednosti
temperature. Na mikrokontroleru su ulazi 12, 13 i 18 unaprijed definirani i postavljeni
u stanje logičke jedinice. Kada pritisnemo bilo koji od mikroprekidača te ulaze
spojimo na zajedničku točku i na taj način ih postavimo u stanje logičke nule.
6
4.-IZRADA
3.-POPIS MATERIJALA
Naziv Oznaka Količina
Otpornik R = 4,7k 7
Otpornik R = 390 1
Kondenzator C = 22pF 1
Dioda D [1N4148] 1
Tranzistor Q [BC547] 1
Quartz oscilator X = 400 Mhz 1
LED dioda 1
Trimer RV = 10k 1
LCD LM016L 1
Temperaturni senzor DS1612 1
Mikrokontroler PIC 16F84a 1
Mikroprekidači 3
7
4.2-SHEMA SKLOPA
8
4.3-LCD EKRAN (GDM1602E)
PIN Simbol Funkcija 1 VSS GND (uzemljenje)
2 VDD +5V
3 V0 Namještanje kontrasta
4 RS Signal za odabir registra
5 R/W Signal za čitanje/pisanje
6 E Omogućavanje signala
7 DB0 Pin za podatke
8 DB1 Pin za podatke
9 DB2 Pin za podatke
10 DB3 Pin za podatke
11 DB4 Pin za podatke
12 DB5 Pin za podatke
13 DB6 Pin za podatke
14 DB7 Pin za podatke
15 A +4,2V za pozadinsko osvjetljenje
16 K 0V za pozadinsko osvjetljenje
4.3-TEMPERATURNI SENZOR (DS1621)
PIN Simbol Funkcija 1 SDA Ulaz/izlaz za podatke
2 SCL Ulaz/izlaz za generator takta
3 TOUT Izlaz termostata (aktiviran kada je Tmjereno > Tzadano)
4 GND Uzemljenje
5 A2 Adresni ulaz
6 A1 Adresni ulaz
7 A0 Adresni ulaz
8 VDD Pin za napajanje (2,7-5,5V)
9
4.5-PROGRAMIRANJE PIC-A
PIC (Programmable Integrated Circuit) je mikrokontroler, takozvano „Računalo na
čipu“. Imaju Procesor i memoriju za pokretanje programa koji ovisi o ulazima i prema
njima kontroliraju izlaze. Tako da jednostavno mogu obavljati funkcije za koje je
potrebno nekoliko integriranih krugova.
Programiranje PIC mikrokontrolera moţe se činiti teško za početnike, ali danas postoje
mnogi programi koji omogućavaju lakše korištenje. Za programiranje je potreban
samo jedan od takvih programa i jeftina vanjska jedinica za povezivanje PIC-a s
računalom. Programi za PIC se mogu pisati u najjednostavnijoj verziji programskog
jezika BASIC, ili korištenjem dijagrama toka.
PROGRAM KOJIM JE PROGRAMIRAN PIC MIKROKONTROLER
'**************************************************************
'* Name : PIC-Temp.BAS
'* Author : F. San '* Date : 10.03.2008
'* Notes : Temperature control, -55°C to +125°C
'* : Using the PIC16F84 and DS1621 temp.sens
'**************************************************************
@ device xt_osc, wdt_off, pwrt_on, protect_off
Define LCD_DREG PORTB {definiranje LCD ekrana}
Define LCD_DBIT 0
Define LCD_EREG PORTB
Define LCD_EBIT 4
Define LCD_RSREG PORTB
Define LCD_RSBIT 5
{definiranje vaijabli} Temp var word {DS1621 Temperatura}
TempLo var byte {DS1621 Temp. Niţi byte}
TempHi var byte {DS1621 Temp. Viši byte}
TempX var byte {varijable za pohrnjivanje}
TempNeg var byte { " }
SetTemp var bit { " }
i2c_sda var PortA.2 {DS1621 pin za podatke}
i2c_scl var PortA.3 {DS1621 pin za oscilacije}
RelayOut var PortA.0 {pin za izlaze releja}
Sw_SET var PortA.1 {Tipkalo za postavljanje temperature}
Sw_DEC var PortB.6 {Tipkalo za smanjivanje temperature}
Sw_INC var PortB.7 {Tipkalo za povećanje temperature}
10
TrisA = %11110
PortA = 0
TrisB = %11000000
PortB = 0
SetTemp = 0
EEPROM 0,[22,0] {Početna temp. 22.0°C, pohranjena na EEprom lokaciji 0 i 1}
Read 0, TempHi {Dobivanje temprature iz višeg bytea sa EEprom adrese 0}
Read 1, TempLo {Dobivanje temperature iz niţeg bytea sa EEprom adrese 1}
Main:
gosub Read_Temp
gosub Chk_RelayOut
gosub Chk_Switches
if not settemp then gosub Disp_Temp pause 100
goto Main
Read_Temp:
i2cwrite i2c_sda,i2c_scl,$90,$ac,[0]
Pause 1
I2CWrite i2c_sda, i2c_scl,$90,[$ee]
Pause 1
I2CRead i2c_sda, i2c_scl, $90,$aa,[Temp],Error
TempNeg = " "
TempX = Temp.HighByte
if TempX >= 128 then
TempNeg = "-"
TempX = 256 - (TempX + Temp.7) endif
return
Disp_Temp: {Prikazivanje temperature na LCD ekranu}
Lcdout $fe, 1, TempNeg, Dec TempX,".", Dec (Temp.7/1*50/10),223,"C Tout:",dec
Relayout
Lcdout $fe, $c0, "(",SDec TempHi,".",Dec(TempLo/1*50/10),223,"C)"
return
Disp_SetTemp:
Lcdout $fe,1,TempNeg, Dec TempX,".", Dec (Temp.7/1*50/10),223,"C Tout:",dec
Relayout
Lcdout $fe, $c0, "Tset: ",sDec TempHi,".",Dec(TempLo/1*50/10),223,"C"
return
Error: {Prikazivanje greške na LCD ekranu}
Lcdout $fe, 1, "Error!", $fe, $C0, "Reading Temp."
11
goto Main
Chk_RelayOut:
if Temphi < 128 then 'Set Temp = pos.temp.
if temp.highbyte < 128 then 'Temp = pos.temp
if temp.highbyte = temphi then
if temp.7 < Templo then
RelayOut = 1
else
RelayOut = 0
endif
else
if temp.highbyte < temphi then
RelayOut = 1
else RelayOut = 0
endif
endif
else 'Set Temp = neg.temp.
RelayOut = 1
endif
else 'Set Temp = neg.temp.
if temp.highbyte > 128 then 'Temp = neg.temp
if temp.highbyte = temphi then
if temp.7 > Templo then
RelayOut = 1
else
RelayOut = 0
endif else
if temp.highbyte > temphi then
RelayOut = 0
else
RelayOut = 1
endif
endif
else 'Set Temp = pos.temp.
RelayOut = 0
endif
endif
return
Chk_Switches:
if Sw_SET = 0 then if SetTemp then
gosub Disp_Temp
12
else
gosub Disp_SetTemp
endif
while SW_SET = 0 : wend
if SetTemp then
Write 0, TempHi {Pohranjivanje TempHi na EEprom lokaciju 0}
Write 1, TempLo {Pohranjivanje TempLo na EEprom lokaciju 1}
endif
settemp = not Settemp
endif
if not settemp then return
if Sw_DEC = 0 then
if TempHi > 128 then if Temphi > 201 then
TempLo = TempLo ^ 1 'invert state of TempLo
if TempLo = 1 then TempHi = TempHi - 1
endif
else
TempLo = TempLo ^ 1
if TempLo = 1 then TempHi = TempHi - 1
endif
endif
if Sw_INC = 0 then
if TempHi < 128 then
if TempHi < 125 then
TempLo = TempLo ^ 1 if TempLo = 0 then TempHi = TempHi + 1
endif
else
TempLo = TempLo ^ 1
if TempLo = 0 then TempHi = TempHi + 1
endif
endif
gosub Disp_SetTemp
return
end
13
4.6-SHEMA KARTICE
Pogled na karticu i vodljive linije s donje strane
Pogled na karticu i raspored elemenata s gornje strane
14
4.7-IZRADA KARTICE
Osvjetljavanje i jetkanje kartice: Za izradu kartice koristio sam karticu s fotoslojem. To jest, na sloj plastike nanesen je
sloj bakra, a na bakar fotosloj. Osvjetlio sam ju pomoću sheme vodljivih linija. Karticu
sam stavio izmeĎu dvije ploče od pleksiglasa i osvjetlio lampom od 300W. Nakon 6
minuta osvjetljavanja karticu sam stavio u otopinu NaOH (natrijev hidroksid, 8g : 1l
vode) i lagano miješao 4 minute. Zatim sam karticu isprao vodom i počeo s jetkanjem:
karticu sam ubacio u otopinu HCl + H2O2 (hidrogen peroksid + solna kiselina, 3 : 1).
U toj otopini ostala je sve dok se nije skinuo osvjetljeni bakar. Još jednom sam isprao
karticu vodom te očistio acetonom.
Bušenje kartice: Na izjetkanoj kartici sam otočkao mjesta predviĎena za rupe. Minibušilicom sam
izbušio rupe na otočkanim mjestima.
Karakteristike mini bušilice
Napon 12-18V
Brzina vrtnje 12000-20000 okr/min
Struja ~1A
Snaga 18-45W
Svrdla Φ0,8-Φ1,2 mm
Lemljenje: Elemente sam poslagao na karticu po shemi, a zatim sam lemio element po element.
Lemilicu sam zagrijao na 300 °C i naslonio na noţicu elementa. Lagano sam dodavao
lem ţicu i polako oblikovao u pravilan lem. Pazio sam na izgled i kvalitetu lemova.
15
4.8-SKLOP U RADU
Slika 4.1 - Kartica sa zalemljenim elementima
16
Slika 4.2 - Sklop u kućištu, spreman za rad
17
Slika 4.3 - Prikaz na LCD ekranu
18
5.-ZAKLJUČAK
Izradom ovog elaborata i maturalnog rada naučio sam dosta novih stvari, ali i utvrdio
gradivo koje sam naučio u ovoj školi. Shvatio sam što zapravo znači Mooreov zakon,
koji govori da se broj elektroničkih elemenata udvostručava svakih 18 mjeseci.
Tehnologija napreduje vrlo brzo te je vrlo teško pratiti sve novitete koje ona donosi.
Izradom ovog rada susreo sam se s tehnologijama koje su relativno nove u mojoj struci
i postale su mi mnogo bliţe. Korištenje jednog mikrokontrolera umjesto nekoliko
integriranih krugova, LCD ekrana umjesto 7-segmentnog pokazivača i digitalnog
senzora temperature umjesto temperaturno osjetljivih elemenata je mnogo
jednostavnije te brţe i lakše za izradu.
19
6.-LITERATURA
Internet
Svijet Elektronike
Janko Kotur, Stanko Paunović: Analogni elektronički sklopovi