Top Banner
T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SES KONTROLLÜ ELEKTRONİK ANAHTAR BİTİRME ÇALIŞMASI Hazırlayanlar: Ali Mert ÇETİN 164051 Utku ŞAHİN 164078 BAHAR 2011 TRABZON A-PDF Merger DEMO : Purchase from www.A-PDF.com to remove the watermark
30

T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

Apr 22, 2019

Download

Documents

HoàngMinh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

T.C.

KARADENİZ TEKNİK ÜNİVERSİTESİ

MÜHENDİSLİK FAKÜLTESİ

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ

SES KONTROLLÜ ELEKTRONİK ANAHTAR

BİTİRME ÇALIŞMASI

Hazırlayanlar:

Ali Mert ÇETİN 164051

Utku ŞAHİN 164078

BAHAR 2011

TRABZON

A-PDF Merger DEMO : Purchase from www.A-PDF.com to remove the watermark

Page 2: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

T.C.

KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ

MÜHENDĠSLĠK FAKÜLTESĠ

ELEKTRĠK-ELEKTRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ

SES KONTROLLÜ ELEKTRONĠK ANAHTAR

BĠTĠRME ÇALIġMASI

Hazırlayanlar:

Ali Mert ÇETĠN 164051

Utku ġAHĠN 164078

Tez DanıĢmanı: Öğr. Gör. Oğuzhan ÇAKIR

BAHAR 2011

TRABZON

Page 3: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

II

ÖNSÖZ

Günümüzde elektronik cihazların birçok uygulaması mevcuttur. Ses kontrollü

bilgisayar, telefon, güvenlik kapıları bu uygulamalara örnek olarak verilebilir. Bu

çalışmada ses kontrollü elektronik bir anahtar tasarlanmış ve gerçekleştirilmiştir.

Çalışmalarımız boyunca bize değerli zamanını ayıran ve verdiği fikirler ile bizi

yönlendiren hocamız Sayın Öğr. Gör. Oğuzhan ÇAKIR’a teşekkür ederiz.

Ayrıca hayatımız boyunca her türlü maddi ve manevi desteklerini hiçbir zaman

esirgemeyen ailelerimize şükranlarımızı sunarız.

Ali Mert ÇETİN, Utku ŞAHİN

Trabzon, 2011

Page 4: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

III

İÇİNDEKİLER

Sayfa No

ÖNSÖZ……………………………………………………………………………….. II

İÇİNDEKİLER……………………………………………………………………….. III

ÖZET…………………………………………………………………………………. IV

ŞEKİLLER DİZİNİ…………………………………………………………………... V

TABLOLAR DİZİNİ…………………………………………………………………. VI

SEMBOLLER DİZİNİ……………………………………………………………….. VII

1. GENEL BİLGİLER ...................................................................................... 1

1.1. MPLAB ......................................................................................................... 1

1.2. HI-TECH PICC ............................................................................................ 1

1.3. LM7805 ........................................................................................................ 1

1.4. PIC16F877A ................................................................................................ 2

1.4.1. Reset Devresi ................................................................................................ 4

1.4.2. Osilatör Devresi ............................................................................................ 4

1.4.3. Port Yapısı .................................................................................................... 5

1.4.4. Bellek Yapısı ................................................................................................ 5

1.4.5. RAM Yapısı .................................................................................................. 5

1.4.6. Durum Kaydedici .......................................................................................... 6

1.4.7. Adresleme Modları ....................................................................................... 7

1.4.8. PIC16 Ailesi Komut Seti .............................................................................. 8

1. 5. EAGLE ......................................................................................................... 8

1.6. ELEKTRET MİKROFONLAR .................................................................... 9

2. YAPILAN ÇALIŞMALAR, BULGULAR VE TARTIŞMA ...................... 10

2.1. Giriş ............................................................................................................... 10

2.2. Donanım ........................................................................................................ 10

2.3. Yazılım .......................................................................................................... 12

2.4. İş Planı ……………………………………………………………………... 18

3. SONUÇLAR ................................................................................................. 19

4. ÖNERİLER ................................................................................................... 20

5. KAYNAKLAR ............................................................................................. 21

6. ÖZGEÇMİŞ ................................................................................................. 22

Page 5: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

IV

ÖZET

Günümüzde elektronik cihazların birçok uygulaması mevcuttur. Ses kontrollü

bilgisayar, telefon, güvenlik kapıları bu uygulamalara örnek olarak verilebilir. Bu

çalışmada ses kontrollü elektronik bir anahtar tasarlanmış ve gerçekleştirilmiştir.

Sistemin kontrolü PIC16F877A mikrodenetleyicisi ile yapılmıştır. Denetleyici

mikrofondan aldığı analog sinyali saniyede 10.000 kez örnekleyip 10 bit çözünürlüğünde

sayısal dönüştürmektedir. Alınan örneklerin eşik seviyesini geçip geçmediği test

edilmektedir. Eşik seviyesini geçen iki örnek arasındaki zaman 500 ms’den az ise anahtar

kapanmakta ve anahtara bağlı LED yanmaktadır. İki örnek arasındaki zaman 500 ms’den

fazla ise anahtar açılmakta ve LED sönmektedir.

Anahtar Kelimeler: Mikrodenetleyiciler, Ses İşleme, Kontrol

Page 6: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

V

ŞEKİLLER DİZİNİ

Sayfa No

Şekil 1. PIC16F877A bacak bağlantıları ................................................................... 2

Şekil 2. Reset devreleri .............................................................................................. 4

Şekil 3. Osilatör devreleri ......................................................................................... 5

Şekil 4. Durum kaydedicisi ....................................................................................... 7

Şekil 5. Kaydedicilerdeki anlık değerler ................................................................... 7

Şekil 6. Donanımın şematik diyagramı ……………………………………………. 10

Şekil 7. Donanımın baskı devre çizimi ………………………………………….... 11

Şekil 8. Anahtar açık iken sistemin görünüşü ……………………………………... 11

Şekil 9. Anahtar kapalı iken sistemin görünüşü …………………………………… 12

Page 7: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

VI

TABLOLAR DİZİNİ

Sayfa No

Tablo 1. PIC16F877A bacak bağlantıları ve açıklamaları ......................................... 3

Tablo 2. RAM yapısı .................................................................................................. 6

Tablo 3. İş planı …………………………………………………………………….. 18

Page 8: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

VII

SEMBOLLER DİZİNİ

A : Amper

I : Akım

V : Volt

AC : Alternatif Akım

DC : Doğru Akım

mA : Miliamper

Hz : Hertz

Ω : Ohm

≥ : Büyük Eşit

dB : Desibel

Page 9: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

1

1. GENEL BİLGİLER

1.1. MPLAB

MPLAB Microchip'in ürettigi özel bir yazılımdır. MPLAB, mikroişlemci için yazılan

assembler kodlarının dogru çalışıp çalışmadığını kontrol etmek amacıyla kullanılan bir

yazılımdır. Bu program ile asmbly dilinde program yazılabilir, derlenilebilir ve denenebilir.

Asmbly dili ile yazılan bu programlar derlenip. HEX formatındaki dosyalara yazdırılabilir.

Yazılan bu programlar otomasyon fabrikalarına gönderilip çağ açabilecek programlarla

buluşturulabilir. Ayrıca bu program ile bir çok deneme yapılabilir. Asmbly dilinde program

yazmak bu program ile çok daha kolay bir duruma gelmiştir. Hafızasında binlerce pic'in data

verilerini ve ayrıca açıklama dosyalarını da bulundurmaktadır.

1.2. HI-TECH PICC

Hi-Tech, Microchip’in kullanıcılara sunduğu bir derleyicidir. Tek başına bu derleyiciyi

kullanmak mümkün değildir. Bu yüzden mutlaka bir program yazım editörüne ihtiyaç vardır.

Bunun için en çok kullanılan ara yüz programları ise MPLAB ve Hi-Tide ’dır. Windows, Mac

ve Linux sürümleri için derleyicileri mevcuttur [5].

Hi-Tech profesyonel bir derleyici olduğu için maliyeti yüksektir. Ancak ücretsiz olan

kısıtlı PICC-lite sürümü de mevcuttur. Bazı mikroişlemcilere 2k ROM ve 2 Bank kullanma

imkanı vermektedir.

1.3. LM7805

Elektronik elemanların güç tüketimlerinin hızla azalmaya devam ettiği günümüzde,

Lm78XX serisi pozitif gerilim düzenleyicileri, devre tasarımında sıklıkla kullanılmaktadır [6].

Üç bacağa sahip olan LM7805 devre elemanı giriş gerilimi 5 volt ile 24 volt arası

seçilebilmektedir. Soğutucu blok ile devrenin ısınma problemine karşı önlem alınmakla

birlikte; 24 voltu aşan giriş gerilimi değerlerinde devre aşırı ısınma sorunu ile karşı karşıya

kalmaktadır ve soğutucu blok yeterli olamamaktadır. Bazı özellikleri şu şekildedir;

Çıkış akımı 1,5 A kadar olabilir.

Çıkış gerilimleri: 5; 5,2; 6; 8; 8,5; 9; 10; 12;15;18;24V

Termik aşırı yük koruması

Page 10: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

2

Kısa devre koruması

Çıkış geçiş SOA koruması

1.4. PIC16F877A

PIC mikrodenetleyiciler içinde en yaygın olanıdır [1, 2, 3, 4]. PIC16F84A’nın gelişmiş

modelidir. Orta sınıf PIC mikrobilgisayarlardaki çoğu özellik kendisinde bulunur. Bacak

bağlantılar Şekil 1’de özellikleri Tablo 1’de görülmektedir. Özellikleri şunlardır:

Program belleği : 8K x 14-bit (8 x 1024 x 14-bit)

RAM belleği : 368 bayt

EEPROM belleği : 256 bayt

Portları : 5 farklı port (A, B, C, D, E) toplam 33 I/O ucu

Kesme : 14 adet

Zamanlayıcı : 3 adet ön değeri ayarlanabilir

USART : 1 adet

ADC : 1 tane 8 kanallı 10-bitlik ADC

Yakalama devresi : 2 adet

Karşılaştırma dev. : 2 adet

PWM devresi : 2 adet

Seri port : 1 adet I2C ve SPI destekli

Paralel port : 1 adet

Şekil 1. PIC16F877A bacak bağlantıları

Page 11: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

3

Tablo 1. PIC16F877A bacak bağlantıları ve açıklamaları

No İsim Açıklaması

2-7 RA0-5 A Portu (6-bit) Giriş-Çıkış

33-40 RB0-7 B Portu (8-bit) Giriş-Çıkış

15-18, 23-26 RC0-7 C Portu (8-bit) Giriş-Çıkış

19-22, 27-30 RD0-7 D Portu (8-bit) Giriş-Çıkış

8, 9, 10 RE0-2 E Portu (3-bit) Giriş-Çıkış

26 RX USART asenkron alıcı

25 TX USART asenkron verici

18 SCK Senkron seri saat girişi

18 SCL SPI ve I2C modları için çıkış

26 DT Senkron veri

25 CK Senkron saat

24 SDO SPI veri çıkışı

23 SDI SPI veri girişi

23 SDA Veri I/O

17, 16 CCP1,2 Yakalama girişi / Karşılaştırıcı çıkışı / PWM çıkışı

13 OSC1/CLKIN Osilatör girişi / Harici saat girişi

14 OSC2/CLKOUT Osilatör çıkışı / Saat çıkışı

1 MCLR Reset ucu (Düşük aktif)

1 Vpp Programlama voltajı girişi

1 THV Yüksek voltaj test kontrol modu

4 VREF+/- Referans voltajı

7 SS Senkron seri port için köle (slave) seçici

6 TOCKI 0. Zamanlayıcı için saat girişi

15 T1OSO 1. Zamanlayıcı için osilatör çıkışı

16 T1OSI 1. Zamanlayıcı için osilatör girişi

15 T1CKI 1. Zamanlayıcı için saat girişi

40 PGD Seri programlama için veri bilgisi

39 PGC Seri programlama için saat sinyali

36 PGM Düşük voltaj programlama girişi

No İsim Açıklaması

Page 12: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

4

33 INT Harici kesme

8 RD Paralel köle port okuma kontrol

9 WR Paralel köle port yazma kontrolü

10 CS Paralel köle seçme kontrolü

19-22, 27-30 PSP0-7 Paralel köle port

11, 32 Vdd Dijital I/O pinleri için besleme voltajı

12, 31 Vss Toprak

1.4.1. Reset Devresi

Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

üzerinden beslemeye bağlamak yeterlidir (Şekil 2). Bu devre ile otomatik reset (POR)

yapılabilmekte ve devreye enerji verildiğinde PIC reset olmaktadır. Eğer PIC herhangi bir

çalışma anında resetlenmek isteniyorsa devreye ilave olarak bir buton eklenebilir.

Şekil 2. Reset devreleri

1.4.2. Osilatör Devresi

Mikrobilgisayarın çalışması için bir saat sinyali gereklidir. Bu sinyal hassas zamanlama

gerektiren uygulamalarda kristal, rezonatör veya kristal osilatör bağlanarak sağlanabilir (Şekil

3). Hassas zamanlama gerektirmeyen uygulamalarda ise direnç-kapasite bağlanarak veya

mikrobilgisayarın dahili osilatörü kullanılarak da gerekli saat sinyali üretilebilir.

Saat sinyali beş farklı şekilde elde edilebilir.

Düşük güçlü kristal kullanılarak (LP Modu, 0 - 4 MHz)

Page 13: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

5

Kristal/Rezonatör kullanılarak (XT Modu, 100 kHz – 4 MHz)

Yüksek hızlı kristal/rezonatör kullanarak (HS Modu, 4 – 20 MHz)

Direnç-Kapasite kullanılarak (RC Modu, 0 – 4 MHz)

Dahili osilatör kullanılarak (Yalnızca dahili osilatörü olan PIC’lerde)

Şekil 3. Osilatör devreleri

1.4.3. Port Yapısı

PIC16F877A’nın beş adet portu vardır. Bu portlarda kullanılan pinler program

esnasında giriş veya çıkış olarak ayarlanabilir. Program başında giriş olarak ayarlanmış bir pin

program esnasında çıkış olarak ayarlanabilir. Bir porttaki pinlerin hepsi giriş veya çıkış olarak

seçilebileceği gibi tek tek de ayarlanabilir. Pinlerin kurulumunu belirleyen kaydedicide

kendisine karşılık gelen bitin 0 olması çıkış, 1 olması ise giriş olarak ayarlandığını gösterir.

1.4.4. Bellek Yapısı

PIC16F877A’da bellek yapısı program ve veri hafıza alanlarından oluşmuştur. Orta

sınıf PIC mikrodenetleyicilerde üç değişik hafıza bulunur.

Program hafıza alanı : Program

Dosya kaydediciler : Veri

EEPROM hafıza alanı : Veri

1.4.5. RAM Yapısı

PIC16F877A’da geçici veriler RAM’da saklanır. Bu kısım diğer mikrobilgisayarlardan

farklı olarak banklardan oluşmuştur. PIC16F877A’da RAM dört banktan oluşmaktadır.

Banklar arasında geçişler Durum Kaydedicisi (Status Register) ile gerçekleştirilir. Durum

Page 14: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

6

kaydedicisinin RP1 (RAM Sayfası 1, RAM Page 1) ve RP0 (RAM Sayfası 0, RAM Page 0)

numaralı bitleri ile istenen bank seçilir (Tablo 2).

Bank 0 : RP1 = 0, RP0 = 0

Bank 1 : RP1 = 0, RP0 = 1

Bank 2 : RP1 = 1, RP0 = 0

Bank 3 : RP1 = 1, RP0 = 1

Örneğin önce Bank 1’e sonra tekrar Bank 0’a geçmek için aşağıdaki komutlar yazılır.

BSF STATUS, RP0 ; Durum kaydedicisinin RP0 bitini birle

BCF STATUS, RP0 ; Durum kaydedicisinin RP0 bitini sıfırla

Tablo 2. RAM yapısı

BANK 0 BANK 1 BANK 2 BANK 3

0x00 0x80 0x100 0x180

Özel Özel Özel Özel

Amaçlı Amaçlı Amaçlı Amaçlı

Kaydedici Kaydedici Kaydedici Kaydedici

0x1F 0x9F 0x10F 0x18F

0x20 0xA0 0x110 0x190

Genel Genel Genel

Amaçlı Amaçlı Amaçlı

Kaydedici Kaydedici Kaydedici

Genel (80 bayt) (96 bayt) (96 bayt)

Amaçlı 0xEF 0x16F 0x1EF

Kaydedici 0xF0 0x170 0x1F0

(96 bayt) Özel Özel Özel

Amaçlı Amaçlı Amaçlı

-

1.4.6. Durum Kaydedici

Programdaki işlemleri kontrol eden öncelikli kaydedicidir (Şekil 4). Üç kısımdan

oluşur.

1. Kısım : İşlemlerin aritmetik ve lojik sonuçlarını belirten bayraklardır. Yapılan işlemin

sonucu sıfır ise Sıfır Bayrağı (Z, Zero Flag) bir olur. Toplama ve çıkartma işlemlerinde elde

Page 15: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

7

oluşmuşsa Elde Bayrağı (C, Carry Flag) bir olur. Dört bitlik işlemlerde sayı 15’den büyükse

Hane Elde Bayrağı (DC, Digit Carry) bir olur. Diğer durumlarda bayraklar lojik-0’dır.

2. Kısım : Başlama ve uykudan kalkma bitlerinin bulunduğu kısımdır.

3. Kısım : Bank seçme bitlerinin bulunduğu kısımdır.

Şekil 4. Durum kaydedicisi

1.4.7. Adresleme Modları

Orta sınıf PIC mikrobilgisayarlarında üç farklı adresleme kullanılır.

1. İvedi adresleme : Herhangi bir sayı W kaydedicisine (akümülatöre) doğrudan

atanıyorsa bu ivedi adreslemedir.

MOVLW 0x55 ; 55 onaltılı sayısını akümülatöre yükle

2. Doğrudan adresleme : Bir kaydedicideki değeri (F) akümülatöre (W) veya

akümülatördeki (W) bir değeri kaydediciye (F) yüklemekle yapılır.

MOVFW PORTA ; PORTA’daki değeri aküye yükle

MOVWF PORTB ; Aküdeki değeri PORTB’ye yükle

3. Dolaylı adresleme : Bir kaydedicinin göstermiş olduğu değerin işaret ettiği adresteki

veriye ulaşmaya dolaylı adresleme denir. Bunu için FSR ve INDF kaydedicileri birlikte

kullanılır. FSR adresi, INDF ise veriyi tutar. Dosya kaydedicilerimizdeki değerler Şekil 5’de

ki gibi olsun.

Şekil 5. Kaydedicilerdeki anlık değerler

Page 16: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

8

MOVFW INDF ; INDF kaydedicisindeki değeri aküye yükle (W = 0x55)

INCF FSR ; FSR’nin içeriğini bir arttır. (FSR = 22)

MOVFW INDF ; INDF kaydedicisindeki değeri aküye yükle (W =0xAA)

1.4.8. PIC16 Ailesi Komut Seti

PIC16 ailesi toplam 35 tane komut ile programlanır. Komutlar üç sınıf altında

toplanabilir.

Bayt Yönlendirme Komutları (BYK)

Bit Yönlendirme Komutları (bYK)

Sabit Sayı ve Denetim Komutları (SSDK)

1. 5. EAGLE

Eagle, elektronik devre tasarımlarında kullanabilecek yaygın bir Layout Editörüdür.

Devre şemaları çıkarılabilir, Autoroute özelliği ile PCB oluşturulabilir. Ücretsiz sürümlerinde

100x80 mm’lik PCB alanında çalışma, tek sayfada işlem yapma, iki katman üzerinde

çalışabilmeye müsade edilmiştir [7].

Eagle programının diğer programlardan artı bir özeliği ise şema ve PCB kısmının bir

birlerine direkt ilişkili olmasıdır. Devre şemasında yapılan her değişikliği anında PCB

kısmında görülebilir.

Eagle, grafik ara yüzlü, kullanımı kolay ve çok güçlü bir baskı devre kartı tasarım

aracıdır. Eagle ismi Easy Applicable Graphical Layout Editor kelimelerinin baş harflerinden

oluşur ve anlam olarak, kolay uygulanabilir grafiksel çizim editörü olarak tanımlanır.

Program üç ana modülden oluşmaktadır:

Çizim editörü

Şema editörü

Autoroute modülü.

Tüm bu modüller tek bir kullanıcı ara yüzüne entegre edildiğinden modüller arası

geçişte herhangi dönüştürme işlemi yapmak gerekmez.

Page 17: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

9

1.6. Elektret Mikrofonlar

1960‘lı yıllarda New York’ta ilk elektret mikrofon çalışmaları GERHARD SESSLER

ve JAMES WEST tarafından başlatıldı. Yapım esnasında “bazı dielektriklerin elektriksel

polarizasyonu kaybetmedikleri “ ilkesinden yola çıkılarak elektret çeviriciler geliştirilmiştir.

Japonlar elektreti 2. dünya savaşından önce tanıyorlardı. Daha sonra 2. dünya savaşı

sırasında telefonlarda kullanmaya başladılar.

Rondela şeklindeki, ince bir yarı iletken maddenin iki yüzü, elektrostatik bir yöntemle,

moleküler bir aranjman yapılarak pozitif (+) ve negatif (-) olarak yüklenir. Bu yarı iletkenin

en büyük özelliği, elektrik yüklerini sürekli korumasıdır.Bu tür yarı iletkenlere elektret

(electret) adı verilmiştir.

Hareket özelliği olan bu malzemeler hoparlör imalatı için tercih edildi. Bunlar

başlangıçta telefonlarda kullanılmaya başlandı. Elektret birkaç yıl sonra, sadece telefon

ekipmanı değil ses kayıt ve akustik(güzel ses veren cihazlar) eleman olarak tüm dünyada

yaygın olarak kullanıldı. Bugün elektretler, mikrofonlar ve modern teyplerde kullanılır.

Elektret; ucuz, metalleştirilmiş dielektrik filmden (özellikle teflon) ibarettir ve kondansatör

mikrofon yapımında kullanılır.

Page 18: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

10

2. YAPILAN ÇALIŞMALAR, BULGULAR VE TARTIŞMA

2.1. Giriş

Bu çalışmada, PIC16F877A denetleyicisi ile elektronik bir anahtar geliştirlmiştir.

Konsol donanım ve yazılım olmak üzere iki temel kısımdan oluşmaktadır.

2.2. Donanım

Denetleyici, mikrofon, gerilim regülatörü, LEDler ve çevre elemanlardan

oluşmaktadır. Donanımın şematik (Şekil 6) ve baskı devre çizimi (Şekil 7) Eagle v5.11

programı ile hazırlanmıştır [7]. Sistemin genel görünümü Şekil 8 ve çalışması Şekil 9’da

verilmiştir.

Şekil 6. Donanımın şematik diyagramı

Page 19: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

11

Şekil 7. Donanımın baskı devre çizimi

Şekil 8. Anahtar açık iken sistemin görünüşü

Page 20: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

12

Şekil 9. Anahtar kapalı iken sistemin görünüşü

2.3. Yazılım

Konsol yazılımı PIC C dili kullanılarak geliştirilmiştir. Ses işleme ve kontrol işlevini

yerine getirmektedir. Kontrol yazılımı aşağıda verilmiştir.

#include <htc.h>

#include <pic.h>

#include <delay.h>

// Denetleyiciyi ayarla /////////////////////////////////////////////////

__CONFIG(0X3F71);

// Tanımlamalar ////////////////////////////////////////////////////////

// Pin isimleri

#define MIC RA0 // Mikrofon

#define VREF RA3 // ADC için referans voltaj 0.64 V

#define LED_M RB0 // Mavi LED

#define LED_K RB1 // Kırmızı LED

// Sabitler

Page 21: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

13

#define GBANDI 15 // Sesin sönümlenmesi için gereken zaman [x10 ms]

#define ESIK_Z 50 // Açma-kapa için zaman eĢiği [x 10 ms]

#define ESIK_S 20 // Ses eĢiği [x5 mV]

// DeğiĢkenler ///////////////////////////////////////////////////////////

// uc

unsigned char uci; // Sayaç

unsigned char ucj; // Sayaç

unsigned char uck; // Sayaç

unsigned char ucSes; // Sesin genliği

// Fonksiyonlar ////////////////////////////////////////////////////////

void Init(void);

void ADCAc(void);

void ADCKapat(void);

void EEPROMYaz(unsigned char ucAdres, unsigned char ucData);

// uc

unsigned char ADCOku(void);

unsigned char EEPROMOku(unsigned char ucAdres);

// ui

unsigned int uiZaman;

// ANA PROGRAM ///////////////////////////////////////////////////////////

void main(void)

Init();

// LED test

for ( uci = 0; uci < 7; uci++ )

LED_K = 1;

LED_M = 0;

DelayMs(50);

LED_K = 0;

LED_M = 1;

DelayMs(50);

// LEDleri söndür

Page 22: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

14

LED_K = 0;

LED_M = 0;

// ADC'yi aç

ADCAc();

while ( 1 )

// Ses genliğini oku

ucSes = ADCOku();

// 1. çınlamayı bekle

if ( ucSes > 10 )

// Güvenlik bandı

LED_K = 1;

DelayMs(50);

LED_K = 0;

// 1. çınlama ile 2. çınlama arasındaki zamanı ölç

uiZaman = 0;

while ( uiZaman < 10000 )

// Ses genliğini oku

ucSes = ADCOku();

// 2. çınlamayı bekle

if ( ucSes > 10 )

// Mavi LED zamana bağlı aç veya kapat

if (uiZaman < 5000) LED_M = 1;

else LED_M = 0;

// Güvenlik bandı

LED_K = 1;

DelayMs(50);

LED_K = 0;

// Döngüden çık

Page 23: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

15

uiZaman = 7000;

// Zamanı arttır

uiZaman++;

while (1)

//====================================================================

// BAġLANGIÇ DEĞERLERĠ /////////////////////////////////////////////////

void Init(void)

// Interrupları kapat

GIE = 0;

// Portların verilerini belirle

PORTA = 0x00; // A portunun içeriğini temizle

PORTB = 0x00; // B portunun içeriğini temizle

PORTC = 0x00; // C portunun içeriğini temizle

PORTD = 0x00; // D portunun içeriğini temizle

PORTE = 0x00; // E portunun içeriğini temizle

// Portların yönlerini ayarla

ADCON1 = 0x00000101; // Sola yaslanmıĢ

// Vref = AN3

// A0, A1 analog A2..A5 dijital, E portu dijital

TRISA = 0b00111111; // A portu giriĢ

TRISB = 0b01111100; // B portu giriĢ-çıkıĢ

TRISC = 0b11111111; // C portu giriĢ

TRISD = 0b11111111; // D portu giriĢ

TRISE = 0b00000111; // E portu giriĢ

// BaĢlangıç değerlerini ver

ucSes = 0;

Page 24: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

16

// ADC AÇ ///////////////////////////////////////////////////////////////

void ADCAc(void)

// uc

unsigned char i; // Sayaç

// ADC ayarlarını yapıp, ADCyi aç

ADCON0 = 0b00000001; // Fosc/2, AN0, CON_OFF, ADC_ON

// Bekle

for ( i = 0; i < 10; i++ )

// ADC KAPAT ////////////////////////////////////////////////////////////

void ADCKapat(void)

// uc

unsigned char i; // Sayaç

// ADC'yi kapat

ADCON0 = 0b00000000; // Fosc/2, AN0, CON_OFF, ADC_OFF

// Bekle

for ( i = 0; i < 10; i++ )

// ADC OKU //////////////////////////////////////////////////////////////

unsigned char ADCOku(void)

// uc

unsigned char i; // Sayaç

// Analog-Sayısal dönüĢümünü baĢlat

ADCON0 = 0b00000101;

// Bekle

for ( i = 0; i < 10; i++ )

// En anlamlı 8 biti geri döndür

return ADRESH;

Page 25: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

17

// EEPROM OKU ///////////////////////////////////////////////////////////

unsigned char EEPROMOku(unsigned char ucAdres)

// Okunacak adresi belirle

EEADR = ucAdres;

// Okunacak EEPROM bölgesini belirle

EEPGD = 0; // Data memory

// Okuma iĢlemini baĢlat

RD = 1;

// Okunan veriyi geri döndür

return EEDATA;

// EEPROM YAZ ///////////////////////////////////////////////////////////

void EEPROMYaz(unsigned char ucAdres, unsigned char ucData)

// Yazılacak adresi belirle

EEADR = ucAdres;

// Yazılacak veriyi belirle

EEDATA = ucData;

// Yazılacak EEPROM bölgesini belirle

EEPGD = 0; // Data memory

// Yazmayı aktifleĢtir

WREN = 1;

// Yazma iĢleminin aktifleĢmesini bekle

EECON2 = 0X55;

EECON2 = 0XAA;

// Yazmayı baĢlat

WR = 1;

Page 26: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

18

// Yazma iĢleminin bitmesini bekle

while (WR)

// Yazım iĢlemini pasifleĢtir

WREN = 0;

2.4. İş Planı

Hazırlamış olduğumuz bu bitirme çalışması Tablo 4’de verilen iş planı çerçevesinde

gerçekleştirilmiştir. İş planının düzenlenmesinde çalışmanın tüm döneme yayılması ve her

hafta tez danışmanının denetiminde çalışmanın sürdürülmesi amaçlanmıştır.

Tablo 3. İş planı

Tarih Çalışma

02.02.2011 Konunun belirlenmesi.

09.02.2011 İş planının hazırlanması.

16.02.2011 Sistemin blok diyagramının hazırlanması.

23.02.2011 Gerekli malzemelerin tespiti.

02.03.2011 Gerekli malzemelerin temini.

09.03.2011 Şematik diyagramın çizilmesi.

16.03.2011 Baskı devre şemasının çizilmesi.

23.03.2011 Baskı devre üretimi.

06.04.2011 Malzemelerin montajı.

13.04.2011 Donanımın test edilmesi.

20.04.2011 Yazılımın hazırlanması.

27.04.2011 Sistemin test edilmesi.

04.05.2011 Bitirme kitapçığının hazırlanması.

11.05.2011 Bitirme kitapçığının kontrolü.

Page 27: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

19

3. SONUÇLAR

Bu çalışmada, ses kontrollü elektronik bir aahtar tasarlanmış ve gerçekleştirilmiştir.

1. Sistemin tasarımı yapılmıştır.

2. Tasarıma göre gerekli donanım tespit ve temin edilmiştir.

3. Şematik ve baskı devre çizimleri yapılmıştır.

4. Donanımın baskı devresi üretilip montajı gerçekleştirilmiştir.

5. Kontrol yazılımı geliştirilmiş ve sistem test edilmiştir.

Page 28: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

20

4. ÖNERİLER

1. Röle eklenerek büyük yükler anahtarlanabilir.

2. Yazılım geliştirilerek basit düzeyde ses tanıma yapılabilir.

3. Açma-kapa zamanları uygulamaya göre değiştirilebilir.

Page 29: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

21

5. KAYNAKLAR

[1] İbrahim, Doğan, PIC C ile ses projeleri, İstanbul, 1999.

[2] Ak, Nursel, PIC programlama, İstanbul, 2007.

[3] Altınbaşak, Orhan, Mikrodenetleyiciler PIC Programlama, İstanbul, 2008.

[4] Microchip Technology Incorporated., PIC16F87X Data Sheet 28/40-Pin 8-Bit

CMOS FLASH Microcontrollers, USA, 2001.

[5] Microchip Technology Inc., Getting Started with the HI-TECH C Compiler for

IC10/12/16 MCUs, Microchip PICDEMTM 2 PLUS Board and MPLABR ICD

2, Australia, 2010.

[6] Fairchild Semiconductor Corporation, LM78XX/LM78XXA 3-Terminal 1A

Positive Voltage Regulator, USA, 2010.

[7] CadSoft Computer, EAGLE EASILY APPLICABLE GRAPHICAL LAYOUT

EDITOR Tutorial Version 5, 7th Edition, USA, 2010.

Page 30: T.C. - eee.ktu.edu.tr · Soğutucu blok ile devrenin ısınma problemine karı önlem alınmakla ... Bir PIC mikrobilgisayarını reset yapmak için MCLR ucunu bir direnç (1K-10K)

22

6. ÖZGEÇMİŞ

Ali Mert ÇETİN 1987’de Ankara’da doğdu. İlköğrenimini Kooparaatifler İlkokulu ve

orta öğrenimini Namık Kemal Ortaokulu’nda, lise öğrenimini Prof. Dr. Şevket Raşit

Hatipoğlu’nde yaptı. 2005 yılında Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi,

Elektrik-Elektronik Mühendisliği Bölümü’nde Lisans Programı’na başladı. Yabancı dil olarak

İngilizce bilmektedir.

Utku ŞAHİN 1987’de Kayseri’de doğdu. İlköğrenimini Hürriyet İlkokulu ve orta

öğrenimini Kırıkkale Anadolu Lisesi’nde, lise öğrenimini Kırıkkale Fen Lisesi’nde yaptı.

2005 yılında Karadeniz Teknik Üniversitesi, Mühendislik Fakültesi, Elektrik-Elektronik

Mühendisliği Bölümü’nde Lisans Programı’na başladı. Yabancı dil olarak İngilizce

bilmektedir.