You are on page 1of 32

T.C.

DOKUZ EYLÜL ÜNİVERSİTESİ


MÜHENDİSLİK FAKÜLTESİ
MAKİNA MÜHENDİSLİĞİ BÖLÜMÜ

SICAKLIK KONTROL DEVRESİ TASARIMI


VE
İMALATI

BİTİRME PROJESİ

İhsan Cihan DAİ

Projeyi Yöneten
Yrd. Doç. Dr. Zeki KIRAL

Ocak, 2007
İZMİR
TEZ SINAV SONUÇ FORMU

Bu çalışma … / … / …. günü toplanan jürimiz tarafından BİTİRME PROJESİ


olarak kabul edilmiştir.
Yarıyıl içi başarı notu 100 (yüz) tam not üzerinden ……… ( …………………) dir.

Başkan Üye Üye

Makine Mühendisliği Bölüm Başkanlığına,


…………………. Numaralı ………………… jürimiz tarafından … / … / …. günü saat
…… da yapılan sınavda 100 (yüz) tam not üzerinden …….. almıştır.

Başkan Üye Üye

ONAY
TEŞEKKÜR

Bu çalışmanın başlangıcından bitimine kadar her aşamada çalışmayı yönlendiren, özverili


yardımlarını esirgemeyen Yrd. Doç. Dr. Zeki KIRAL’a teşekkür ederim.

Sıcaklık Kontrol Devresi Tasarımı ve İmalatı konulu projemde fikirlerini ve yardımlarını


benimle paylaşan Sn. Mak. Müh. Ahmet YİĞİT ve Sn. Elk. Elektr. Müh. Bertan
Karahoda’ya teşekkür ederim.

Ayrıca, hazırladığım bu projenin başından sonuna kadar bana destek olan ve yardımlarını
esirgemeyen, tüm aşamalarda fikirlerini ve önerilerini paylaşan bütün arkadaşlarıma, benim
bu günlere gelmemi sağlayan aileme teşekkürlerimi bir borç bilirim.

İhsan Cihan DAİ


ÖZET

Otomasyon, hayatımızın birçok alanında önemli bir yer edinmiştir. Özellikle günümüzde
teknolojinin hayatımıza hızla girmesiyle birlikte, otomatik kontrollü sistemlerin kullanımı
hızla yaygınlaşmıştır.

Bu projede bir sıcaklık kontrol devresinin tasarımı ve imalatı gerçekleştirilmiştir.


Projedeki temel amaç, ortam sıcaklığının belli bir sıcaklığa ulaşmasını takiben, sistemde
bulunan soğutma fanının otomatik olarak devreye girmesidir. Bu kontrol sistemindeki temel
nokta, devredeki sıcaklık algılayıcısının (termistör) direncinin sıcaklığa bağlı olarak
değişmesidir. Kurulan devrede, algılayıcı direncinin değişimi ile elde edilen gerilim çıktısına
bağlı olarak, sıcaklığın belirli bir seviyeye yükselmesi ile birlikte fan otomatik olarak
çalışmaktadır. Bu işlemin gerçekleşmesi için bir PIC kullanılmıştır. Oluşturulan sistem
endüstriyel kontrol uygulamalarının basit bir modelini temsil etmektedir.
İÇİNDEKİLER

İçindekiler……………………………………………………………………..……………V
Tablo Listesi…………………………………………………………………….………..VII
Şekil Listesi………………………………………………………………………………VIII

Bölüm Bir
SİSTEM ELEMANLARININ TANITIMI

Sayfa
1. Giriş……………………………………………………………………………….1
1.1 Termistör……………………..………………………………………………... 1
1.1.1 Termistör Yapısı……………………………………………...……..…1
1.1.2 Termistör Çeşitleri………………………………………..……………1
1.1.2.1 NTC…………………………………………………………………1
1.1.2.2 PTC…………………………….……………………………………1
1.1.3 Termistörün Özellikleri…………………………………….……….….2
1.1.4 Termistör Sıcaklığının Hesaplanması………………………………….3
1.2 16 F 877 Micro Denetleyici (PIC)…………………….……………………….4
1.2.1 Pic 16 F877 Portları ve Fonksiyonları…………………………………7
1.2.1.1 Port A………………………………………………………………7
1.2.1.2 Port B………………………………………………………………7
1.2.1.3 Port C………………………………………………………………8
1.2.1.4 Port D………………………………………………………………8
1.2.1.5 Port E………………………………………………………………8
1.2.2 PIC 16 F877 Özel Fonksiyonları………...……………………………..9
1.2.2.1 Analog / Sayısal Çevirici Modülü…………………………………9
1.2.2.2 Capture / Compare ve PMW Modülü………………………….…..9
1.3 LCD Ekran…………………………………………………………………...10
1.4 Op-amp (LM 741)…………………………………………………………….11

V
Bölüm İki
SICAKLIK KONTROL SİSTEMİ

2. Giriş……………………………………………………………………………13

Bölüm Üç
SONUÇ

3. Değerlendirme…………………………………………………………………15

Kaynaklar......................................................................................................................16
Ekler..............................................................................................................................17

VI
TABLO LİSTESİ
Sayfa
Tablo 1.1 PIC 16 F 877’nin özellikleri………………………………….………5
Tablo 1.2 Osilatör Çeşitleri……………………………………………………………..17
Tablo 1.3 Osilatör Tip ve Frekansına Göre Kondansatör Seçimi………………………18

VII
ŞEKİL LİSTESİ
Sayfa
Şekil 1.1 Termistörün Sıcaklık Direnç Değişimi………………………………………..2
Şekil 1.2 Termistör……………………………………………………………………....2
Şekil 1.3 Termistörün Sıcaklık Direnç Değişimi………………………………………..4
Şekil 1.4 16 F 877’ nin bacak bağlantısı………………………………………….……..6
Şekil 1.5 LCD Ekran………………………………………………………………...10
Şekil 1.6 Op-amp………………………………………………………………………..11
Şekil 1.7 LM741 Op-amp……………………………………………………………….11
Şekil 1.8 Op-amp Bağlantıları…………………………..………………………………12
Şekil 1.9 Osilatör Bağlantı Şeması……………………………………….……………..18
Şekil 2.1 Sıcaklık Kontrol Sistemi Devre Şeması………………………………………13
Şekil 2.2 Sıcaklık Kontrol Devresinin Görünüşü……………………………………….14

VIII
BÖLÜM BİR

SİSTEM ELEMANLARININ TANITIMI

1.Giriş:

Bu bölümde sıcaklık kontrol devresinde kullanılan devre elemanları tanıtılmıştır. Devre


elemanlarının birbiriyle olan ilişkileri ve de işleyişleri anlatılmıştır.

1.1. Termistör

1.1.1. Termistör Yapısı

Termistör, ısı ile iç direncini değiştiren bir direnç tipidir. Aynen foto dirençlerde
olduğu gibi termistör de bünyesine uygulanan ısıya göre direncini değiştirir.
Termistörler ucuz ve de kolayca uyum sağlayabilen algılayıcılardır. Termisörler
genelde çok karmaşık olmayan, daha basit devrelerde kullanılmaktadır. Çok yüksek
sıcaklıklarda kullanılamazlar. Termistörler hassas dirençlerdir[1].

Termistörler iki çeşittir;

1.1.2. Termistör Çeşitleri

1.1.2.1. NTC (Negative Temperature Coefficient)

Negatif ısı katsayılı termistördür. Isındıkça direnci azalır, soğudukça direnci artar.

1.1.2.2. PTC (Positive Temperature Coefficient)

Pozitif ısı katsayılı termistördür. Isındıkça direnci artar, soğudukca direnci azalır.

Termistörler foto dirençlerin kullanıldığı tüm devrelerde kullanılabilir. Bu durumda devre


yaptığı işi ışık şiddetinin değişmesi ile değil de, ısının değişmesi ile gerçekleştirir.

1
1.1.3. Termistörün Özellikleri

Termistörlerin en önemli özelliği sıcaklığa bağlı olarak dirençlerinin değişmesidir.


Şekil 1.1’ de görüldüğü gibi termistörün sıcaklığı arttıkça, direnci de düşmektedir.

Şekil 1.1 Termistörün Sıcaklık Direnç Değişimi

Sıcaklık ölçümlerinde termistör kullanılmasının önemli nedenleri vardır. Bunlar:


-Ucuz, sağlam ve güvenilir olmaları
-Sıcaklık hassasiyetlerine hızlı bir şekilde yanıt vermeleridir.

Şekil 1.2 Termistör

2
1.1.4. Termistör Sıcaklığının Hesaplanması

Bir termistörün sıcalıklığa bağlı olarak direnç değişimini aşağıdaki formülden


hesaplayabiliriz:

1/T = A + B*ln(R) + C*(ln(R))3 R(Ω,Ohm), T(oK,Kelvin)

Burada herhangi bir termistörün sıcaklığa bağlı olarak değişim grafiğine bakarsak;

T (oC) R (Ω,Ohm)

0 16,330

25 5000

50 1801

Bu değerleri kullanarak 3 eşitlik yazarız ve A, B ve C değerlerini hesaplayabiliriz.

(1/273) = A + B ln(16330) + C (ln(16330))3

(1/298) = A + B ln(5000) + C (ln(5000))3

(1/323) = A + B ln(1801) + C (ln(1801))3

A = 0.001284
B = 2.364x 10-4
C = 9.304x 10-8

3
Böylece bu değerleri kullanarak, bu termistörün sıcaklığa bağlı direncini belirleyebiliriz.

Şekil 1.3 Termistörün Sıcaklık Direnç Değişimi

1.2. 16 F 877 MİKRO DENETLEYİCİ (PIC):

Mikro-denetleyicinin ucuz oluşu nedeniyle, tek çip kullanarak elektronik çözümler


üretmenin maliyetinin daha düşük olması tercih nedenlerinden ilkidir. İkincisi, mikro-
denetleyicinin çalıştıracağı programı içerisinde depolaması ve istenildiğinde çalıştırabilmesi
onun oldukça kullanışlı olmasını sağlar[2].

16 F 877 , belki en popüler PIC işlemcisi olan PIC16F84’ten sonra kullanıcılarına yeni ve
gelişmiş olanaklar sunmasıyla hemen göze çarpmaktadır. Program belleği FLASH ROM
olan PIC16F877’de, yüklenen program PIC16F84’te olduğu gibi elektriksel olarak silinip
yeniden yüklenebilmektedir.

Özellikle PIC16C6X ve PIC16C7X ailesinin tüm özelliklerini barındırması,


PIC16F877’yi kod geliştirmede de ideal bir çözüm olarak gündeme getirmektedir.
Konfigürasyon bitlerine dikkat etmek şartıyla C6X veya C7X ailesinden herhangi bir
işlemci için geliştirilen kod hemen hiçbir değişikliğe tabi tutmadan F877’ye
yüklenebilir ve çalışmalarda denenebilir. Bunun yanı sıra PIC16F877, PIC16C74 ve
PIC16C77 işlemcileriyle de bire bir bacak uyumludur.

4
Tablo 1.1 PIC 16 F 877’nin özellikleri
Özellikleri PIC16F877
Çalışma hızı DC – 20 Mhz
Program belleği 8Kx14 word Flash ROM
EEPROM Veri belleği 256 byte
Kullanıcı RAM 368x8 byte
Giriş/Çıkış port sayısı 33
Timer Timer0,Timer1,Timer2
A/D çevirici 8 kanal 10 bit
Capture/Comp./PWM 16 bit capture
16 bit compare
10 bit PWM çözünürlük
Seri çevresel arayüz SPI(Master) ve I2C (Master/Slave)
modunda SPI portu
(senkron seri port)
Paralel slave port 8 bit, harici RD, WR ve CS kontrollü
USART/SCI 9 bit adresli
Interrupt kaynağı sayısı 14

PIC16F877 40 pinli bir mikro-denetleyicidir. Bu pinlerin 33 tanesi I/O pinlerine


ayrılmıştır. A, B, C, D, E portları olmak üzere toplam 5 adet portu vardır. A portu 6 bit, B
portu 8 bit, C portu 8 bit, D portu 8 bit ve E portu da 3 bit genişliğindedir. I/O pinleri
gerektiğinde konfigürasyonları ayarlanmak suretiyle başka amaçlarla da kullanılabilir.

5
Şekil 1.4 16 F 877’ nin Bacak Bağlantısı

PIC 16F877 üstteki şekilden de görüldüğü üzere kırk (40) bacaklı bir işlemcidir ve
üstteki şekilde her bir bacağın adı ve bağlantısı yazmaktadır. Bacaklar kendi aralarında Port
adı verilen gruplara ayrılmışlardır. Her bir Port’un kendine has özellikleri vardır.

6
1.2.1. PIC 16F877 Portları ve Fonksiyonları

1.2.1.1 Port A

Her bir biti bağımsız olarak giriş veya çıkış olarak tanımlanabilmektedir. 6 bit
genişliğindedir (F84’de 5 bittir). RA0, RA1, RA2, RA3 ve RA5 bitleri analog/sayısal
çevirici olarak konfigüre edilebilmektedir. Buna ek olarak RA2 ve RA3 gerilim referansı
olarak da konfigüre edilebilmektedir (bu durumda bu bitler aynı anda A/D çevirici olarak
kullanılamazlar). İlgili yazmaçlar ve adresleri aşağıdaki gibidir [5].
PORTA 0x05
TRISA 0x85 ; giriş/çıkış belirleme yazmacı
ADCON1 0x9F ; RA portlarının A/D , referans gerilimi veya sayısal giriş/çıkış
olarak seçiminde kullanılır.

İşlemciye ilk defa gerilim uygulandığında RA4 hariç diğer beş PORTA biti A/D
çeviricidir. Eğer RA portunun bazı bitlerini sayısal giriş/çıkış olarak kullanmak istenirse
ADCON1 yazmacında değişiklik yapmak gerekmektedir.

1.2.1.2 Port B

Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit
genişliğindedir. B portunun her bacağı dahili bir dirençle VDD’ye bağlıdır (weak pull-up).
Bu özellik varsayılan olarak etkin değildir. Ancak OPTION yazmacının 7.bitini 0 yaparak B
portunun bu özelliğini etkinleştirilebilmektedir.

RB4-RB7 bacakları aynı zamanda bacakların sayısal durumlarında bir değişiklik


olduğunda INTCON yazmacının 0. biti olan RBIF bayrağını 1 yaparak kesme oluştururlar.
Bu özelliği, işlemci SLEEP konumundayken, devreye bağlı tuş takımının herhangi bir tuşuna
basıldığında işlemcinin yeniden etkinleşmesi için kullanılabilir. Bütün bunların yanı sıra
RB6 ve RB7 yüksek gerilim programlama, RB3 ise düşük gerilim programlama modlarında
da kullanılmaktadır. İlgili yazmaçlar ve adresleri aşağıdaki gibidir.
PORTB 0x06
TRISB 0x86 ; giriş/çıkış belirleme yazmacı
OPTION_REG 0x81 , 0x18

7
1.2.1.3 Port C

Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit
genişliğindedir. SPI, USART, Capture/Compare ve PWM gibi özel fonksiyonlar, ilgili
yazmaçların ayarlanmasıyla bu porttan yürütülmektedir. İlgili yazmaçlar ve adresleri
aşağıdaki gibidir.
PORTC 0x07
TRISC 0x87 ; giriş/çıkış belirleme yazmacı

1.2.1.4 Port D

Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit
genişliğindedir. Bütün port bacakları Schmitt Trigger girişlidir. TRISE yazmacının 4.biti
olan PSPMODE bitini 1 yaparak “parallel slave mode” da kullanılabilir. Bu fonksiyon
aracılığıyla 8 bit genişliğindeki her hangi bir mikro işlemci bus’ına bağlanabilmektedir.
PORTD 0x08
TRISD 0x88 ; giriş/çıkış belirleme yazmacı
TRISE 0x89

1.2.1.5 Port E

Her bir biti bağımsız olarak giriş veya çıkış olarak tanımlanabilmektedir. 3 bit
genişliğindedir. RE0, RE1 ve RE2 bacaklarında Schmitt Trigger giriş tamponları vardır. Her
bir bacak analog/sayısal çevirici olarak konfigüre edilebilmektedir. Eğer PORTD parallel
slave port olarak konfigüre edilirse, RE0, RE1 ve RE2 bacakları PORTD’nin bağlandığı
mikro işlemci bus’ında sırasıyla READ, WRITE ve CHIP SELECT kontrol girişleri olarak
kullanılır. Bunun için TRISE uygun biçimde ayarlanmalıdır. İlgili yazmaçlar ve adresleri
aşağıdaki gibidir.
PORTE 0x09
TRISE 0x89 ; giriş/çıkış belirleme yazmacı
ADCON1 0x9F ; RE portlarının A/D veya sayısal giriş/çıkış olarak seçiminde
kullanılır.

8
İşlemciye ilk defa gerilim uygulandığında üç PORTE biti de A/D çeviricidir. Eğer RE
portunun bazı bitlerini sayısal giriş/çıkış olarak kullanılmak istenirse ADCON1 yazmacında
değişiklik yapmak gerekmektedir.

1.2.2 Pic 16F877 Özel Fonksiyonları

1.2.2.1 Analog/Sayısal Çevirici Modülü

A/D modülü 16C7x ailesinden farklı olarak 10 bittir. Toplam 8 A/D kanal vardır.
F877’nin güzel bir özelliği de işlemci SLEEP modundayken bile A/D çeviricinin geri planda
çalışmasıdır. A/D kanalları için RA4 hariç diğer RA portlarını ve RE portlarını
kullanabilirsiniz. Aşağıdaki yazmaçlar konfigürasyon ve sonuçta kullanılmaktadır.

ADRESH 0x1E ; A/D sonuç yazmacı (High register)


ADRESL 0x9E ; A/D sonuç yazmacı (Low register)
ADCON0 0x1F ; A/D kontrol yazmacı0
ADCON1 0x9F ; A/D kontrol yazmacı1

1.2.2.2 Capture/Compare ve PWM Modülü

Her capture/compare ve pwm modülü 16 bitlik yakalama(capture) yazmacı , 16 bitlik


karşılaştırma(compare) yazmacı veya 16 bitlik PWM(darbe genişlikli modülasyon) yazmacı
olarak kullanılabilir.

Yakalama modunda, TMR1 yazmacının değeri RC2/CCP1 bacağının durumunda bir


gelişme olduğunda CCPR1H:CCPR1L yazmaçlarına yazılır ve PIR1 yazmacının 2.biti olan
CCP1IF kesme bayrağı 1 olur. RC2 bacağının durumu, her alçalan kenarda, her yükselen
kenarda , her yükselen 4. veya 16.kenarda kontrol edilecek şekilde CCP1CON yazmacı
aracılığıyla ayarlanarak konfigüre edilebilir.

Karşılaştırma modundaysa CCPR1 yazmacındaki 16 bitlik değer düzenli olarak TMR1


yazmaç değeriyle karşılaştırılır ve bir eşitlik olduğunda RC2/CCP1 bacağı CCP1CON
yazmacında yaptığımız ayara göre 1, 0 olur veya durumunu korur.

9
PWM modundaysa RC2/CCP1 bacağı 10 bit çözünürlükte darbe genişlik modülasyonlu
bir sinyal üretecek şekilde konfigüre edilebilir. PR2 yazmacı darbe genişlik periyodunun
tayininde kulanılmaktadır.
CCPR1H 0x16 ; Yakalama/karşılaştırma yazmacı (High register)
CCPR1L 0x15 ; Yakalama/karşılaştırma yazmacı (Low register)
CCP1CON 0x17 ; kontrol yazmacı
PR2 0x92 ; PWM çıkış yazmacı
TMR1L 0x0E ; TMR1 yazmacı (High register)
TMR1H 0x0F ; TMR1 yazmacı (Low register)

1.3 LCD Ekran:

LCD, dizüstü bilgisayarlar ve daha küçük bilgisayarlarda görüntüleme için kullanılan


teknolojiye verilen addır. LED (Light Emitting Diode) ve gaz plazma teknolojileri gibi LCD
, CRT teknolojisinden daha ince görüntülemeye olanak verir. LCD ‘ler, LED ve gaz
teknolojisinden daha az enerji harcar. Bunun sebebi LCD ‘lerin çalışma prensiplerinin ışığı
engellemek yerine, absorbe etmek üzerine kurulmuş olmasıdır [4].

Sıcaklık kontrol devresinde kullandığımız LCD’ler, yazı ya da grafikleri gösteren likid


kristal ekran (LCD) ve bu ekranı süren çipten oluşmaktadır. Sıcaklık kontrol devresinde,
termistörü ısıttıkça termistörün sıcaklığa bağlı olarak direnci değişecektir ve sistemdeki
temel amacımız belli bir sıcaklıktan sonra fanın devreye girmesini sağlamaktır. İşte burada
termistörde meydana gelen değişimleri LCD ekran üzerinde gözlemleyebileceğiz. Bu
projede kullanılan LCD ekran Şekil 1.5 ‘ teki gibidir.

Şekil 1.5 LCD Ekran

10
1.4 Op-amp (LM 741)

Op-amp, kelime anlamı işlemsel kuvvetlendirici (operationel amplifier) olan,


kısaca transistörlerden oluşan bir yükselticidir. Biz iç yapısıyla ilgilenmez, sadece
dıştan bağladığımız elemanlarla değişik uygulamalarda kullanırız. Op-amp’lar bir
çok değişik uygulamada kullanılırlar. Yükselteç, karşılaştırıcı, osilatör, filtre vs.
Elektronikte çok sık kullanılan önemli bir elemandır [3].

Şekil 1.6 Op-amp

Yukarıda şematik sembolünde görüldüğü üzere negatif ve pozitif olarak iki


girişi ve bir çıkışı bulunmaktadır. Op-amp, iki girişini hep eşit görmek ister. İki girişi
arasında gerilim farkı olursa, bu farkı düzeltecek yönde çıkış gerilimini değiştirir.
Eğer op-amp’ın çıkışı negatif girişe geri besleme yapılırsa, bir yükselteç olarak
çalışır.
Sistemimizde LM741 op-amp kullanmaktayız. Aşağıdaki şekillerde sistemimizde
kullanılan LM741 op-amp görülmektedir.

Şekil 1.7 LM741 Op-amp

11
Şekil 1.8’ de LM741 op-amp’ındaki bağlantılar görülmektedir.

Şekil 1.8 Op-amp Bağlantıları

12
BÖLÜM İKİ

SICAKLIK KONTROL SİSTEMİ

2. Giriş

Bölüm 1’de kısa tanıtımları verilen devre elemanları kullanılarak bir sıcaklık kontrol
devresi tasarlanmış ve üretilmiştir. Kontrol sistemi devre şeması Şekil 2.1’de verilmiştir.

Şekil 2.1 Sıcaklık Kontrol Sistemi Devre Şeması

13
Geliştirilen sıcaklık kontrol devresindeki temel eleman PIC16F877’dir. Bu işlemci
geliştirilen sistem için programlanmıştır. Kontrol devresi için geliştirilen PIC programı
Ek’de verilmiştir. Geliştirilen sıcaklık kontrol devresinin görüntüleri Şekil 2.2’de verilmiştir.

Şekil 2.2 Sıcaklık Kontrol Devresinin Görünüşü.

14
BÖLÜM ÜÇ

SONUÇ

3. Değerlendirme

Bu çalışmada, bir sıcaklık kontrol devresi tasarlanmış ve imalatı gerçekleştirilmiştir.


Sıcaklık kontrol devresi, sıcaklık algılayıcısının sıcaklığının, daha önceden tespit edilmiş bir
değere ulaşması ile birlikte bir soğutma fanını devreye almakta, sıcaklığın düşmesi ile
birlikte fan devreden çıkmaktadır.

Geliştirilen sıcaklık kontrol devresinde sıcaklık seviyesinin değiştirilmesi için, devrede


kullanılan PIC’in tekrar programlanması gerekmektedir. Kontrol devresinde PIC kullanımı
ile birlikte, kontrol devresinin kullanılacağı yerde bilgisayara bağımlılık ortadan
kaldırılmıştır.

Proje kapsamında geliştirilen kontrol devresi, endüstriyel uygulamalar için tekrar gözden
geçirilip, daha profesyonel hale getirilebilir.

15
Kaynaklar

[1] Bucknell Üniversitesi web sayfası, http://www.bucknell.edu

[2] ALTINBAŞAK O., PicBasic Pro ile Pic Programlama 2. baskı, Altaş Yayıncılık,
İstanbul, TÜRKİYE, 2004.

[3] Elektronik Dünyası web sayfası, http://www.elektronikdunyasi.com/opamp.htm

[4] ODTÜ Bilgisayar Topluluğu web sayfası, http://www.cclub.metu.edu.tr

[5] Microchip firması web sayfası, http://www.microchip.com

16
EKLER

Ek-1 PIC 16F877 İşlemcisinde Kullanılan Osilatör Tipleri

PIC16F877’de clock uçları 13 ve 14 nolu pinlerdir. Hazırlanacak olan PIC


programlarında kullanılan osilatör tipi PIC programının çalışma hızını ve hassasiyetini
etkileyeceğinden dolayı amaca uygun bir osilatör devresi kullanılmalıdır. Tablo 1.2 farklı
osilatör çeşitleri ve özellikleri görülmektedir. Osilatör tipinin seçiminde dikkat edilecek bir
başka nokta ise, seçilecek olan osilatörün kullanılan PIC’in özelliğine uygun olarak
seçilmesidir. Örnek verecek olursak 10MHz çalışma frekansına sahip bir PIC16F877 için
20MHz’lik bir osilatör kullanmak doğru olmaz. Fakat daha düşük bir frekans değeri ile
çalışan bir osilatör devresi kullanılabilir.

Tablo 1.2. Osilatör Çeşitleri


Osilatör Tipi Tanımı Özelliği Frekansı
LP Kristal osilatör veya seramik rezonatör Asgari akım 40KHz
XT Kristal osilatör veya seramik rezonatör Genel amaçlı 4MHz
HS Kristal osilatör veya seramik rezonatör Yüksek hız 20MHz
RC Direnç / Kapasitör zaman sabitli Düşük maliyet 4MHz

XT, LP ve HS modları, RC osilatörlere nazaran çok daha hassastırlar. Bu modlar, kristal


osilatör veya rezonatörlerin, OSC1 / CLKIN ve OSC2 / CLKOUT uçlarına bağlanmalarıyla
kurulmaktadır. Tablo1.3 te hangi frekansta kaç pF’lık kondansatör kullanılması gerektiği
belirtilmiştir.

17
Tablo 1.3. Osilatör Tip ve Frekansına Göre Kondansatör Seçimi
OSİLATÖR TİPİ FREKANS KONDANSATÖR
LP 32KHz 33-68pF
200 KHz 15-47pF
100KHz 47-100pF
XT 500KHz 20-68pF
1MHz 15-68 pF
2MHz 15-47 pF
4MHz 15-33 pF
HS 8MHz 15-47 pF
20MHz 15-47 Pf

Kristal osilatörler kararlılığı yüksek olan osilatörlerdir. Bu yüzden genellikle bu osilatör


çeşidi kullanılır. 32 KHZ'den 200 KHZ'e kadar olan kristal osilatörler LP, 200 KHZ'den 4
MHZ'e kadar olan kristal osilatörler XT, 4 MHZ'den 20 MHZ'e kadar olan kristal osilatörler
ise HS olarak adlandırılır.

Bizim sistemimizde XT tip kristal osilatör kullanmaktayız. Aşağıda kristal osilatör


bağlantı şeması verilmiştir.

Şekil 1.9 Osilatör Bağlantı Şeması

18
Ek-2 Sistem için kullanılan program komutları

Program, Micro Code Studio ile yazılmıştır, Icprog ile PIC ‘e yüklenmiştir.

****************************************************************
'* Name : mikdoislemci ile sicaklik kontrolu.BAS *
'* Author : [powered by icihandai ] *
'* Notice : Copyright (c) 2006 [set under view...options] *
'* : All Rights Reserved *
'* Date : 10.01.2007 *
'* Version : 1.0 *
'* proje : ihsan cihan dai *
'* danisman: Yrd. Doc. Zeki KIRAL *
'****************************************************************

'degiskenler
TERM VAR WORD

fan var portc.2


'’C.2 UYARI LEDI

TRISA=%11111111
TRISB=%00000000
TRISC=%00000000
TRISD=%00000000
TRISE=%00000000

PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0

19
'’LCD TANIMLAMALARI

DEFINE LCD_DREG PORTD


DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTC
DEFINE LCD_RSBIT 5
DEFINE LCD_EREG PORTC
DEFINE LCD_EBIT 7
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2

‘'ANALOG PIN SECIMI

DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50

ADCON1=%10000010
'’ANALOG GIRISLER PORTA.0 VE PORTA.1 SECILDI.

INCLUDE "modedefs.bas"

START:

ADCIN 1,TERM

'’serout portb.7,N9600,[#TERM,13,10]
'’istenildiginde yukaridaki komut kullanilarak seri porttan bilgi okunabilir

20
LCDOUT $FE, 1, "termistor "
LCDOUT $FE, $C0, #TERM
PAUSE 300

if TERM > 700 then

LCDOUT $FE, $C0, #TERM, " FAN AKTIF..."


high portb.7
high fan
pause 500
else
low fan
low portb.7

LCDOUT $FE, $C0, #TERM," FAN DURDU... "

pause 500

endif
goto start
end

21
Ek-3 Kulanılan Komutlar

Goto Komutu

Programın akışı etiket ile belirlenen yerdeki komuttan itibaren devam eder[2].
Kullanılışı: GOTO Etiket

End Komutu

Programın çalışmasını durdurup düşük güç moduna geçmek için kullanılır. Tüm pinlerin
lojik seviyesi o andaki değerde kalır. End komutu, sleep komutunun bir döngü içerisinde
devamlı olarak çalıştırılması prensibine göre çalışır.

Her programın sonunda END, STOP, GOTO komutu yer almalıdır. Aksi halde programın
bitmesi gereken adresten sonra çalışmaya devam etmesi engellenemez.

Low Komutu

Belirlenen bir pini (low=düşük) "OV" yapar. Pin otomatik olarak çıkış olur. Pin 0-15
arasında bir sabit veya 0-15 sayılarını içeren değişken (örn. BO) ya da pin adı PORTA)
olabilir.

Kullanılışı: LOW Pin

High Komutu

Belirlenen bir pin'i (high=yüksek) "5V" yapar. Pin otomatik olarak çıkış olur. 0-15
arasında sabit bir sayı, 0-15 arasındaki sayıları içeren bir değişken (örn: B0) veya bir pin adi
(örn: PORTA.O) olabilir.

Kullanılışı: HIGH Pin

If … Then Komutu

IF ... THEN karşılaştırılan ifadelerin doğru veya yanlış oluşunu değerlendirerek, farklı
işlemler gerçekleştirmek için kullanılır. Karşılaştırma sonucu doğruysa THEN' den sonraki

22
komut çalıştırılır. Karşılaştırma sonucu yanlışsa THEN' den sonraki komut çalıştırılmadan bir
sonraki komuta geçer. Karşılaştırma ifadesinin olduğu yerdeki sayı sıfırsa yanlış olarak
değerlendirilir. Diğer tüm sayılar doğru olarak değerlendirilir. Tüm karşılaştırma işaretsizdir,
çünkü PicBasic Pro sadece işaretsiz sayıları destekler.

IF ... THEN deyiminin bir kullanış biçimi de etiket kullanarak program akışını
değiştirme şeklindedir. Karşılaştırma doğruysa program akışı THEN' den sonra yazılan
etikete dallanır. Yanlışsa THEN' den sonraki komuttan devam eder.

IF ... THEN' in başka bir kullanış biçimi de THEN' den sonra bir grup komut
çalıştırılacak olduğu zaman kullanılır. Bu durumda grup halinde çalışacak olan deyimlerden
sonra ELSE veya ENDIF yazılmalıdır.

Kullanılışı:
IF Karşılaştırma { AND/OR Karşılaştırma … } THEN Etiket
veya
IF Karşılaştırma { AND/OR Karşılaştırma … } THEN
Deyimler…
ELSE
Deyimler…
ENDIF

Pause

Programı süre parametresi ile belirlenen milisaniye süresince durdurur. Süre 16 bittir, bu
nedenle bir gecikme süresi 65535 milisaniye olabilir. Diğer gecikme komutlarında (NAP ve
SLEEP) olduğu gibi mikro-denetleyiciyi düşük güç moduna sokmaz. PAUSE komutu
çalışınca diğerlerine göre daha fazla güç harcar, ancak süre diğerlerine göre daha hassastır.

PAUSE 4MHz lik osilatör frekansının kullanıldığını varsayar. Eğer osilatör 4MHz den
farklıysa DEFINE OSC komutu ile bu frekans değiştirilir.

Kullanılışı: PAUSE Süre

23
Ek-4 Termistörün Sağlamlık Kontrolü

Ohm metre X 100 konumuna alınır ve uçlar yön farketmeksizin termistöre bağlanır ve
termistör ısıtılır. Eğer termistör PTC ise direnci düşer, NTC ise direnci azalır. Bu şekilde
davranan bir termistör sağlam demektir.

24

You might also like