Teee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler... · gerekli bilgiyi yollamakta ve yapılan...
Transcript of Teee.ktu.edu.tr/bitirme.dosyalar/bitirme_projeler... · gerekli bilgiyi yollamakta ve yapılan...
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Ü
ŞEKER SAYISI SEÇİLEBİLİR ÇAY – KAHVE MAKİNASI
BİTİRME ÇALIŞMASI
179944 CEVAT AĞIRMAN
179932 FATİH SAFA ÖZGÜR
TRABZON 2011
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Ü
ŞEKER SAYISI SEÇİLEBİLİR ÇAY – KAHVE MAKİNASI
BİTİRME ÇALIŞMASI
179944 CEVAT AĞIRMAN
179932 FATİH SAFA ÖZGÜR
PROF. DR. SEFA AKPINAR
TRABZON 2011
II
ÖNSÖZ
Bu çalıĢmada Ģeker sayısı seçilebilir çay ve kahve makinesinin PIC16F877
mikrodenetleyicisiyle kontrolü gerçekleĢtirilmiĢtir.
Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği
Bölümünde 2010 - 2011 eğitim öğretim yılının bahar yarıyılında bitirme ödevi olarak
hazırlanan bu çalıĢmada hiçbir yardımını esirgemeyen danıĢman hocamız Prof. Dr. Sefa
AKPINAR ‘a, proje çalıĢmalarımızda bize verdikleri desteklerden dolayı bölüm araĢtırma
görevlilerine, değerli arkadaĢımız Samet YILANCI ’ya teĢekkür eder, Trabzon Teknik ve
Endüstri Meslek Lisesi Makine Teknolojisi Alanında öğretmenlik yapmakta olan Ġlyas
KOLAYLI, Hayri YILMAZ, Raif PAK, Sebahattin TOKA, Salim KAHVECĠ ve müdür
yardımcılığı yapmakta olan çok değerli hocamız uzman teknik öğretmen Fatih COġKUN’a
projenin mekanik aksamının yapımında bizlerden yardımlarını esirgemedikleri için ayrıca
teĢekkürlerimizi sunarız.
Hayatımız boyunca bize maddi ve manevi her türlü desteği veren, bütün düĢünce ve
eylemlerimizi büyük bir özveri ve fedakarlıklarla karĢılayan, bizim için her Ģeyden fazla önem
taĢıyan ailelerimize teĢekkür ve Ģükranlarımızı sunarız.
CEVAT AĞIRMAN
FATĠH SAFA ÖZGÜR
TRABZON 2011
III
1.GĠRĠġ ................................................................................................................................. 1
1.1.ġeker Sayısı Seçilebilir Çay-Kahve Makinası ................................................................ 1
2.YÜRÜME BANDI ............................................................................................................. 6
2.1.Kullanılan Malzemelerin Tanıtılması .............................................................................. 7
2.1.1. DC Motor .................................................................................................................... 7
2.1.1.1.Fırçalı DC Motorlar ................................................................................................... 7
2.1.1.2.Fırçasız DC Motorlar ................................................................................................ 7
2.1.2. Keslamit ...................................................................................................................... 8
2.1.3. Rulman ........................................................................................................................ 9
2.2.Yürüme Bandının Yapım AĢamaları ............................................................................. 10
3.PROJENĠN ELEKTRĠKSEL KISMI ............................................................................... 12
3.1.Kullanılan Malzemeler .................................................................................................. 12
3.1.1.Direnç ......................................................................................................................... 12
3.1.2.Röle ............................................................................................................................ 14
3.1.3. Transistör ................................................................................................................... 14
3.1.4. Selenoid Valf ............................................................................................................. 15
3.1.5. Kapı Kilit Motoru ...................................................................................................... 16
3.1.6.LM016L LCD ............................................................................................................ 17
3.1.7.DC Güç Kaynağı ........................................................................................................ 18
3.1.8. Breadboard ................................................................................................................ 19
3.1.9. Mercimek Kapasite.................................................................................................... 20
3.1.10. LDR (Foto Direnç) .................................................................................................. 21
3.1.11. Kristal Osilatör ........................................................................................................ 21
3.1.12. Mikrodenetleyici ..................................................................................................... 22
3.1.12.1. PIC16F877 ........................................................................................................... 23
3.1.13. Kapasitif Sensör ...................................................................................................... 26
IV
3.2.Kaynak Kodu ................................................................................................................. 27
4.Sonuçlar ............................................................................................................................ 36
5.Kaynaklar ......................................................................................................................... 37
V
ÖZET
Hayatımızı kolaylaĢtırabilecek uygulamalara örnek olarak yaptığımız projede, bir mikro
denetleyici kontrolü ile çay veya kahvenin, sensörler yardımıyla ve el değmeden dökülmesi
üzerine bir çalıĢma yaptık. Bu proje, günlük hayatımızda; kantinler, restoranlar, oteller vb.
yerlerde kullanılabilir. Ayrıca sıvı seviyesi kontrolü ve bardağın algılanma anında sıvının
dökülmesi gibi iĢlemler projemizde yer aldığından; su ve içecek dolum fabrikalarında benzer
Ģekilde kullanımlar mümkündür.
1
1.GİRİŞ
1.1.Şeker Sayısı Seçilebilir Çay – Kahve Makinası
Bu proje çalışmasında PIC16F877 mikrodenetleyicisi ile çay veya kahve dökme işlemi
gerçekleştirilmiştir. Yürüyen bant üzerine bardak koyulur ardından tuşlar yardımıyla çay
ya da kahve seçilir. Bu seçimin ardından arttır ya da azalt tuşundan şeker sayısı seçilebilir.
Şeker sayısının başlangıç değeri üçtür, hiç seçim yapılmazsa üç şeker atılır. Bu
seçimlerden sonra seç tuşuna basılıp, yürüyen bant çalışır. Bardak selenoid valflerin altına
gelir. LDR ile yapılan sensör tarafından algılanır. Bardağa yapılan seçime göre çay veya
kahve dökülür. Dökülme işleminden sonra yürüyen bant tekrar hareket edip, bardak şeker
atma motorunun altına gelir. LDR ile yapılan sensör yardımıyla bardak durur. Şeker atmak
için kullandığımız araba kapı kilit motoru çalışır ve seçilen şeker sayısı atılır. Bu işlemle
uygulamanın çalışması tamamlanır.
Kullanım alanı oldukça fazla olan bu proje, genel itibariyle basit görülse de, optik
sensör dahil tüm elektronik aksamın hazır satın alınmamış ve bizim tarafımızdan
tasarlanmıştır. PLC gibi paket programlar yerine bir mikrodenetleyici kullanılmıştır.
Aşağıdaki resimde projenin proteus ortamında simulasyonu görülmektedir. Bu
simulasyonda motorlar yerine ledler kullanılmakta ve sensörler birer anahtarla temsil
edilmektedir. Simulasyon konusunda çok başarılı sonuçlara ulaştıktan sonra sistemin
fiziksel tasarımına geçilmiştir.
Sistem, Şekil 1.1. den de görüldüğü gibi bir bant motoru, çay ve kahve dökmeyi
sağlayan selenoid valfler ve şeker atmamızı sağlayan bir motordan meydana gelmektedir.
Ayrıca bir LCD yardımıyla içeceğin hazırlanma ve hazır hale gelme durumu
gözlemlenebilmektedir. LCD ekran yardımıyla seçtiğimiz içecek ve atmak istediğimiz
şeker sayısı da görsel olarak görülebilmektedir.
2
Şekil 1.1.Devrenin Proteus şeması
Seçimler tuşlar yardımıyla yapılmaktadır. Bu tuşlar direk olarak mikrodenetleyicinin
ilgili bacaklarına ve oradan da pull-up dirençleri yardımıyla toprağa gitmektedirler. Yani
tuşa basılmadığı sürece mikrodenetleyici bacağına logic-0, tuşa basıldığında ise logic-1
verilmektedir. Her tuşa basıldığında mikrodenetleyici gerekli işlemleri yaparak LCD ye
gerekli bilgiyi yollamakta ve yapılan seçim güncel olarak sürekli görülebilmektedir.
Tuşlar; çay ve kahve seçim tuşları, şeker sayısını arttırıp azaltacak iki adet tuş ve birde
işlemi başlatacak olan “Seç” tuşundan ibarettir.
Seçim işlemi tamamlandıktan sonra, “Seç” tuşuna basılarak içecek hazırlama işlemi
başlatılmaktadır. Mikrodenetleyici, bu durumda bant motorunu çalıştırmaktadır. Bant
üzerinde ilerleyen bardak ilk olarak içeceğin döküleceği aşamaya gelmektedir. Bu kısımda
bardağı algılayacak olan bir optik sensör bulunmaktadır. Bant motoru, sensör bardağı
görene kadar dönmeye devam edecektir. Bardak algılandığında bant motoru durdurularak
seçilen içeceğe ait selenoid valf yardımıyla içecek doldurma işlemi yapılacaktır. Bu işlem
3
şöyle gerçekleşmektedir; başlangıçta seçim yaptığımızda bir değişkene hangi içeceği
seçtiğimizi belirten bir değer atanmaktadır. Optik sensörden uyarı geldiğinde
mikrodenetleyici hemen bu değişkene bakarak hangi içeceği seçtiğimizi belirlemekte ve bir
transistör-röle sistemi yardımıyla o içeceğe ait olan selenoid valfi enerjilendirmektedir.
Böylece doldurma işlemi başlamaktadır. Doldurma işlemi devam ederken devreye sıvı
seviye algılaması için kullanılan kapasitif sensör girmektedir. Bu sensör, bardağın
taşmasını engellemek, sıvı belli bir seviyeye ulaştığında selenoid valfi kapatarak bandı
tekrar çalıştırması için mikrodenetleyiciye uyarı vermek için kullanılmaktadır. Kapasitif
sensörden gelen uyarıyla motor tekrar çalışmakta ve bardak, ikinci aşama olan şeker atma
kısmına geçer.
Bardağın durması için bant motorunu durduran sensör, bir oyuncak lazer ve bir de LDR
den oluşmaktadır. Lazer ve LDR karşılıklı koyulur. Lazer tam olarak LDR‟nin üzerine
denk getirilerek direnci çok küçük değerlerde tutulmaktadır. Bu durumdayken LDR bir
transistörün baz ucuna bağlanarak, transistörü sürekli iletimde tutmaktadır. Bu transistörün
kolektörüne bağlanmış 5V DC „lik bir rölenin kontaklarına uygun bağlantı yapılarak
transistör iletimdeyken mikrodenetleyicinin ilgili bacağına logic 0, lazerle LDR arasına
bardak girdiğinde LDR direncinin çok yükselerek transistorü kesime götürdüğü durumda
ise bu sefer ilgili bacağa logic-1 verecek şekilde rölenin NO ve NC bacakları gerekli
yerlere bağlanmıştır. Bu sayede bardak lazerin önüne geçtiği anda mikrodenetleyici bant
motorunu durdurmakta ve şeker atma işlemini başlatmaktadır.
Şeker atma işlemini gerçekleştirmek için arabalarda kullanılan bir kapı kilit motoru
kullanılmaktadır. Motor, yerine sabitlenmiş olduğundan her şeker atılma işleminden sonra
yerine yenisi gelmesi için bir alüminyum malzeme ile şarjör sistemi tasarlanmış ve şekerler
bu şarjöre yukarıdan aşağıya dizilmiştir. Bu motora enerji verilerek şekere vurulmakta ve
daha sonra ters kutuplandırılarak tam tersi geri çekilmesi sağlanmakta ve böylece şarjör
sistemi şeklinde dizilmiş olan şekerlerde bardağa atılan şeker yerine yenisi gelmektedir.
Kaç şeker seçildiyse bu bir döngüye sokularak seçilen sayı kadar yukarıdaki işlem
tekrarlanmaktadır. Motorun ileri-geri yönde hareketi bir röle yardımıyla sağlanmaktadır.
Rölenin NO ve NC kontaklarına (+) ve (-) kutuplar uygun şekilde yerleştirilmekte ve
motorun bacakları röleye bağlanarak, mikrodenetleyiciden logic-1 geldiğinde bir transistör
yardımıyla röle çekmekte ve böylece motor bacaklarına sırayla (+) ve (-), logic-0
geldiğinde ise röle ilk konumuna geçerek bu sefer motor bacaklarına sırasıyla (-) ve (+)
4
verilmekte böylece geri çekmesi sağlanmaktadır. Yani ters kutuplama işlemi tek bir röle
yardımıyla yapılmaktadır. Tüm bu işlemler gerçekleştikten sonra mikrodenetleyici bir süre
bekleyerek tekrar bant motorunu çalıştırır. Bardak en sona geldiğinde bant motoru
durmakta, tüketime hazır hale gelerek işlemini tamamlamaktadır.
Bu bitirme tezinde öncelikle proje uygulamasındaki malzemeleri ve devreleri
tanıtacağız. Bu malzemeler hakkında kısa bilgiler vereceğiz. Malzemelerin özellikleri ve
ne amaçla kullanıldıklarını açıklayacağız. Daha sonra mikrodenetleyicinin çalışmasının
sağlayan kaynak kodlarından ve işlevlerinden bahsedeceğiz. Son olarak ise tasarlamış
olduğumuz bu proje hakkında değerlendirmeler ve sonuçları ele alcağız.
Projeye başlamadan önce olması gerektiği şekilde bir çalışma takvimi hazırladık. Tablo
1.1.‟ de bu takvime göre yapacağımız işleri belirli zaman aralıklarında planlayarak tüm
işlemlerin planlı bir şekilde ilerlemesini sağlamaya çalıştık.
5
Tablo 1.1. Bitirme çalışması takvimi
Ocak 2011
Şubat 2011
Mart 2011
Nisan 2011
Mayıs 2011
Bitirme Konusu
Belirleme X
Konu Hakkında
Araştırma X X X
Tez ile ilgili
Doküman
Toplama
X
X
Malzeme
belirleme ve
araştırma
X
X
Malzeme Satın
Alma X
Mekanik Kısım
Çalışmaları X X
Elektriksel
Sistem
çalışmaları
X
X
Tez Yazma
X
Uygulamanın
Testi X X
6
2.YÜRÜME BANDI
Yürüme bandının yapımında kullanılan malzemeler;
Çam ağacından yapılmış dalsız tahta
Kayış-kasnak sistemi
Keslamit
17 adet alüminyum silindir
36 adet rulman
2 adet bilgisayar yazıcı silindir ve yatakları
Hasır perde (Bambudan yapılmış)
Deniz tutkalı
DC motor ( Silecek Motoru)
Şekil 2.1. Yürüme Bandı
7
2.1.Kullanılan Malzemelerin Tanıtılması
2.1.1. DC Motor
DC motorlar günümüzde pek çok alanda kullanılmaktadırlar. Bir stator ve rotordan
meydana gelen bu motorlarda manyetik alan meydana getirmek için sargılar veya sürekli
mıknatıslar kullanılmaktadır. Bu motorlar şu şekilde gruplanabilirler.
2.1.1.1.Fırçalı DC Motorlar: Motorun çalışabilmesi için manyetik alan meydana
getirilmelidir. Bu alanı meydana getirebilmek için sargılara akım verilmesi gerekir. Rotor
sürekli hareketli olduğundan ihtiyaç duyulan akım sabit bir bağlantı yardımıyla verilemez
bu sebeple rotora kolektör-fırça ikilisi yardımıyla akım verilir ve manyetik alan oluşarak
motor çalışır. [3]
2.1.1.2.Fırçasız DC Motorlar: Bu motor türünde manyetik alanı meydana getirmek
için rotordan bir akım akıtılmasına gerek yoktur. Çünkü bu motor türünde rotora sargılar
koymak yerine sürekli mıknatıs konulmaktadır. Motorun çalışabilmesi için ihtiyaç
duyduğu manyetik alan bu sürekli mıknatıs yardımıyla sağlanmaktadır. Rotorda sabit bir
mıknatıs ve doğal olarak sabit bir manyetik alan oluştuğu için motorun dönmesi stator
üzerindeki sargılardan akım akıtılmak suretiyle sağlanmaktadır. Bu motor türlerinde
statorda pek çok sargı bulunmaktadır. Rotor hareketi bu sargıların belli bir sırada
enerjilendirilmesiyle mümkün olmaktadır. Bu sargıların enerjilendirme sıralandırması ve
hızı rotorun döneceği yönü ve dönme hızını belirlemektedir. Rotor konumunu
belirleyebilmek için manyetik alan sensörleri kullanılmaktadır. Bu sensörlerden alınan
bilgiler yardımıyla rotorun hızına ve yönüne müdahale edilebilmekte böylece bir konum
kontrolü ya da geri besleme gerektiren durumlarda bu motorlar kullanılmaktadır.
Fırçasız motorlar, kolektör-fırça ikilisi bulunmadığından kıvılcım meydana getirmezler.
Bu nedenle tehlikeli ortamlarda kullanılabilirler. Sargı kayıpları meydana gelmediğinden
fırçalıya göre yüksek verimlidirler. Ayrıca kolektör-fırça ikilisi olmadığından fazla bakım
gerektirmez. Buna karşın rotor konumu algılayan sensörler( örneğin Hall sensörü), kontrol
sistemi ve ek kablolar kullanıldığından maliyet açısından dezavantajlıdır. [3]
8
Yürüme bandını döndürmek için kullanılan DC motor bir araba cam silecek motor
olarak da bilinmektedir. Şekil 2.2 de görülen cam silecek motoru, MAKO 62342392
modelidir. Özellikleri aşağıdaki gibidir;
Motor çeşidi: Fırçasız DC motor
Nominal Gerilimi: 12 V
Redüksiyon Oranı: 1/67 ve 1/63
Düşük seviyede en yüksek akım: 2.5A
Yüksek seviyede en yüksek akım: 4A
En düşük kademe devri: 45±5 rpm
En yüksek kademe devri: 65±5 rpm
Şekil 2.2. Kullanılan DC silecek motoru
2.1.2. Keslamit
Keslamit malzemesi, döküm polyamid grubundan bir malzemedir, döküm yoluyla imal
edilir, sıkı bir dokuya ve sertliğe sahiptir. Mekanik dayanım değeri çok iyidir. Dişli
yapımında özellikle büyük çaplı dişlilerde tercih edilir. Dişlilerin yataklama işlemi düzgün
9
yapılması koşulu ile uzun süreli dayanım elde edilir. Döküm polyamidin üstünlüğü de
aşınma mukavemetinin çok yüksek olmasıdır. Metallerle sürtünerek çalışma durumunda
daha çok yüksek aşınma dayanımına ulaşır. Bu özelliğinden dolayı çelik halat
makaralarında kullanılabilir.
Döner ve kayar hareketli makina parçalarında ağır sanayide dişli ve yataklama alanında,
aşırı tonajlı yük makaralarında, iş makinalarının kızaklama ve yedek parçalarında mekanik
hareket iletişiminde, darbe dayanımı, sessiz çalışması ve yağlama istememesi dolayısıyla
her türlü dişli çark için kullanılır.
2.1.3. Rulman
Rulman, şekil 2.3‟de görüldüğü gibi iki halka ile bunların arasına yerleştirilen
yuvarlanma elemanlarından meydana gelir. Halkalardan birisi aks veya mil üzerine diğeri
yatak gövdesine takılır. Rulmanlar havada asılı kalamayacak makina parçalarını
yataklayarak, onlara gelen yükleri, nihayetinde döşemeye transfer eden makine
elemanlarıdır. Kaymalı yataklarda mil ve yuva arasında yer alan geniş yüzeyli sürtünme
alanı (ki bu geniş temas alanı, daha fazla sürtünme; daha fazla ısınma ve güç kaybı
demektir) yerini, rulmanlı yataklarda çok daha küçük temas alanlarına bırakmaktadır. Bu
bahsedilen daha küçük sürtünme alanları; yuvarlanan elemanların geometrik formuna göre
rulman tiplerine bağlı olarak değişmekle birlikte sonuç olarak kaymalı yataklara göre çok
daha az olup, daha az sürtünme, daha az güç kaybı ve müsaade edilen daha yüksek devir
sayıları ile daha fazla üretim anlamına gelmektedir. Unutulmamalıdır ki, rulmanlar son
derece hassas makine elemanları olup kullanıcıların hatalarını telafi etmek gibi bir
görevleri yoktur.
Şekil 2.3. Rulman
10
Rulmanların kullanım alanları; dönme hareketi olan hemen her uygulamadır. Rulman ya
da yuvarlanma elemanı, rulmanlı yatakların iç ve dış bilezikleri arasında yuvarlanarak
minimum sürtünme ve kayıpla iş yapmasını sağlayan elemanlardır. Sürtünme katsayısının
rulmanlı yataklarda rulmanlar sebebiyle düşük olması, kaymalı yataklara göre rulmanlı
yatakların en önemli üstünlüğüdür. Rulmanlar bilye, makara, masura veya iğne şeklinde
olabilir. Rulmanlı yataklar içinde kullanılan rulmana göre isimlendirilirler.
2.2.Yürüme Bandının Yapım Aşamaları
Adım 1: Çam ağacından yapılmış dalsız tahtalar Şekil 2.1 de görüldüğü gibi hazırlandı.
Adım 2: Keslamit malzemesi CNC tezgahlarında, Al silindirleri rulmanlara sabitlemek
için uygun şekillerde kesildi. Bu kesilen parçalar Al silindirlerin her iki tarafına deniz
tutkalı ile tutturularak rulmanlara sabitlendi. Şekil 2.4 te bu işlemin atöleyede yapım
aşaması görülmektedir.
Şekil 2.4. Hazırlanmış Al silindirler
Adım 3: Yazıcı silindirlerinin biri kendi yatağına diğeri ise yatağı bulunmadığı için
keslamit malzemesi yardımıyla rulmana sabitlendi. Al silindirler ve yazıcı silindirleri adım
1 de hazırlanan tahtalar arasına yerleştirildi.
11
Adım 4: DC motor kayış-kasnak sistemi yardımıyla devri sayısı düşürülerek yazıcı
silindirlerinin birine millendirildi.
Adım 5: Hasır perde uygu şekilde ve uzunlukta kesilerek silindirlerin üzerine gergin bir
şekilde sarıldı.
Adım 6: Yürüme bandının ahşap kısımları estetik görünüm açısından metalik renk
ahşap boyası yardımıyla boyandı.
Aşağıda şekil 2.5 „ de bandın yapım aşamasından bir kesit sunulmuştur.
Şekil 2.5: Bandın yapım aşaması
Fotoğrafta görülen, bandın yapımında büyük emeği geçmiş olan Trabzon Teknik ve
Endüstri Meslek Lisesi Makine Teknolojisi Alanı öğretmenlerinden, uzman teknik
öğretmen sayın Fatih COŞKUN hocamıza teşekkürü bir borç biliriz.
12
3.PROJENİN ELEKTRİKSEL KISMI
3.1.Kullanılan Malzemeler
Direnç
5V ve 24 V luk DC Röle
BC547 bi-polar transistör
Güç transistor
PIC16F877 mikro denetleyicisi
2 adet 12 V DC selenoid valf
12 V DC kapı kilit motoru
2 adet Oyuncak lazer
2 adet LDR
5 adet buton
LM016L LCD
Board, kablolar ve 8mm lik plastik boru
DC güç kaynağı
4 MHz kristal osilatör
2 adet 33nF mercimek kapasite
Kapasitif Sensör
3.1.1.Direnç
Elektrik akımına karşı gösterilen zorluğa direnç denir. Direnç R harfi ile gösterilir.
𝑅 =𝑉
𝐼 bağıntısıyla hesaplanır. Birimi Ω (ohm) dur.
Direnç değerinin okunması;
Dirençler şekil 3.1. teki gibi renkli şeritlerden oluşur. Bu renkli şeritler direnç değerinin
okunması için konur.
4 şeritli direnç okurken; 1. şerit rakam 2. şerit rakam 3. şerit çarpan 4. Şerit ise
toleransını ifade eder. 5 renkli dirençlerde ise ilk üçünde sayı kısmına 4. de çarpan kısmına
5. de ise tolerans kısmına bakılır
13
Renk Sayı Çarpan Tolerans
Siyah 0 1 -
Kahverengi 1 10 ± % 1
Kırmızı 2 100 ± % 2
Turuncu 3 1000 -
Sarı 4 10.000 -
Yeşil 5 100.000 ± % 0,5
Mavi 6 1.000.000 ± % 0,25
Mor 7 10.000.000 ± % 0,1
Gri 8 100.000.000 ± % 0,05
Beyaz 9 1.000.000.000 -
Renksiz - - ± % 20
Gümüş - 0,01 ± % 10
Altın - 0,1 ± % 5
Şekil 3.1. Direnç
Projede 7 tane 1K lık 9 tane 10K lık direnç kullanılmıştır.
14
3.1.2.Röle
Bobininden küçük değerde bir akım geçince, bobinde meydana gelen manyetik alanla
kontaklarını kapatıp açarak yani anahtarlama yaparak çalışan bir anahtarlama elemanıdır.
Büyük güçte çalışan elektriksel aygıtların açma-kapama işlemelerini gerçekleştirmek için
röleler kullanılır. Sistemlerin denetlenmesinde kullanılan elektronik elemanlardan gelen
küçük akımlarla büyük güçlü elektriksel elemanların kontrolünde kullanılır.
Şekil 3.2. DC röle
Projede kullanılan, 5 V DC röle (Şekil 3.2 de görülmektedir); elektronik valflere, silecek
motoruna ve kapı kilit motoruna enerji vermek veya kesmek için kullanılır. 24 V DC röle
ise kapasitif sensörün mikrodenetleyiciye uyarı vermesi için kullanıldı.
3.1.3. Transistör
Transistörler; baz, emetör ve kolektör olmak üzere üç bacağa sahip npn veya pnp
şeklinde üretilen bir yarı iletken anahtarlama elemanıdır. Küçük akımlı devrelere
anahtarlama yapabilen çeşitleri olduğu gibi yüksek akımlı devrelerde de anahtarlama
yapabilen güç transistorü diye adlandırılan çeşitleri de vardır.
15
Şekil 3.3. Transistör
Şekil 3.3 de görüldüğü gibi transistorün tetikleme için kullanılan bir baz(b) ucu vardır.
Bir direnç yardımıyla baz(b) ucuna kaynaktan bir akım akıtıldığında transistör kolektör-
emetör arasında anahtarlama yapar. Projede şekil 3.3 de görüldüğü gibi npn transistörler
kullanılmaktadır. Kolektör(c) bacağına +Vcc, emetör(e) bacağına çalıştırılacak elemanın
pozitif(+) ucu bağlanıp, şase ucu ise toprağa bağlanarak, baz(b) ucuna akım akıtıldığında
transistör doyuma giderek anahtarlama işlemini meydana getirerek elemanı
çalıştırmaktadır. Akım kesildiğinde ise transistör kesime giderek elemanın enerjisini
kesmektedir.
3.1.4. Selenoid Valf
Elektriksel tetikleme ile açılıp kapanan kontrol vanalarıdır. Elektronik valflerin
çalışması röleler ile benzerdir. Şebekeye normalde açık veya normalde kapalı olarak monte
edilirler. Selenoid vanaya elektrik verildiğinde normalde açık ise kapalı konuma, normalde
kapalı ise açık konuma gelir.
16
Şekil 3.4. Selenoid Valf
Projede şekil 3.4 de görülen TEKMAK marka 12 V DC selenoid valf kullanılmaktadır.
Çay veya kahvenin bardağa dökülmesinin kontrolünde iki adet selenoid valf kullanıldı.
Kullanılan bu valfler, normalde kapalı (NC) kontağa sahip olduğundan sıvı dökme işlemini
gerçekleştirmek için enerji bacaklarına transistör ve röle yardımıyla 12 V DC uygulanır.
3.1.5. Kapı Kilit Motoru
Motorun içyapısı elektromıknatısa benzerdir. 12 V DC enerji verildiğinde içerisinde
helezonik şeklinde sarılmış sargılarda akan akımla birlikte manyetik alan oluşmakta,
sargıların içerisinde bulunan motor mili ileri-geri hareket yapabilmektedir. Motor enerji
verildiğinde bu mili itmekte, ters kutuplanma yapılmak suretiyle enerjilendirildiğinde ise
milini geri yönde çekmektedir. Otomobillerin kapı kilitlerinde kullanılan bir motordur.
Projede bardağa şeker atmak için kullanılan MFK marka 12 V DC kapı kilit motoru
Şekil 3.5 te gösterilmektedir.
17
Şekil 3.5. Kapı kilit motoru
3.1.6. LM016L LCD
LM016L LCD şekil 3.6 de görüldüğü gibi 16 adet uca sahiptir. 4 bit veya 8 bit ile
sürülmektedir. Uçlarının görevleri;
1 nolu uç VSS dir. Bu uç toprağa bağlanır.
2 nolu uç VDD dir. Bu uç +5 V a bağlanır.
3 nolu uç VO dır. Kontrast ayarı için kullanılır. Bu ayarı yapabilmek için VDD ve
VSS uçları arasına bir trimpot bağlanır. Trimpotun ayar ucu VO ya bağlanır ve
direnç değeri değiştirilerek kontrast ayarı yapılır.
4 nolu uç RS ucudur. Bu uçtan veri girişi yapılır. Direkt olarak mikrodenetleyiciye
bağlanır.
5 nolu uç R/W ucudur. Veri yazmak veya okumak için kullanılır. Direkt olarak
mikrodenetleyiciye bağlanır.
6 nolu uç E ucudur. Direkt olarak mikrodenetleyiciye bağlanır.
7, 8, 9, 10, 11, 12,13 ve 14 nolu uçlar ise ekrana yazdırılacak olan karakterlerin
bilgisini taşır. LCD 4 bit olarak kullanıldığında 11, 12, 13, 14 nolu uçlar, 8 bit
olarak kullanıldığında 7, 8, 9, 10 nolu uçlar mikrodenetleyiciye bağlanır.
18
15 ve 16 nolu uçlar ekran parlaklığının ayarında kullanılmaktadır. 15 nolu uç bir
direnç yardımıyla +5V a, 16 nolu uç ise toprağa bağlanır. Bu direncin değeriyle
ekran parlaklığı kontrol edilir.
Şekil 3.6. LM016L LCD
3.1.7.DC Güç Kaynağı
DC güç kaynağı şebekeden aldığı alternatif akımı elektronik devrelerin çalışabilmesi
için ihtiyaç doğru akıma çeviren elemandır. İçerisinde yarım dalga veya tam dalga
doğrultucusu bulunur. Güç kaynakları farklı seviyelerde DC gerilimler sağlayabilmektedir.
Örneğin; 5V, 12V, 24V DC gerilim veren güç kaynakları günümüzde sıkça
kullanılmaktadır.
Şekil 3.7 de görülen projede kullanılan güç kaynağı 5V ve 12V olmak üzere iki gerilim
çıkışı sağlamaktadır. Kapasitif sensör 24 V DC ile çalıştığından ve güç kaynağı 24 V
sağlamadığından şebekeden aldığı 220 V AC gerilimini 24 V DC ye çeviren doğrultucu
baskı devresi kullanıldı.
Güç kaynağı içerisinde kullanılan tam ve yarım dalga doğrultucular;
Yarım dalga doğrultucular: AC sinyalin pozitif ya da negatif yani tek bir
alternansını doğrultma işlemine tabi tutarak çıkışına DC gerilim veren elektronik
devrelerdir.
19
Tam dalga doğrultucular: AC sinyalin pozitif ve negatif alternanslarını doğrultma
işlemine tabi tutarak çıkışına DC gerilim veren elektronik devrelerdir.
Bu doğrultucular belirli ateşleme açıları yardımıyla, sağladıkları maksimum gerilimden
daha az gerilimleri çıkışlarına verebilirler. Bu şekilde farklı gerilim seviyeleri elde
edilebilir.
Şekil 3.7. Güç Kaynağı
3.1.8. Breadboard
Elektronik devreleri daha kolay ve daha kısa zamanda kurabilmek için breadboardlar
kullanılır. Breadbordlar, üzerlerine kabloların bağlanması için delikli şekilde yapılmış
tablalardır. Şekil 3.8 de görüldüğü gibi boardın en üstünde üzerleri kırmızıyla çizilmiş
çizgiler içten kısadevredir, yani soldan sağa bir sütun kısa devre şeklindedir. Aynı şekilde
resmin sağında görülen yukardan aşağıya üzeri kırmızı çekilen deliklerde içten kısa
devredir. En üstteki satır halinde kısa devre olan delikler genelde enerji uçlarının
bağlandıkları bölümlerdir. Elektronik devre elemanları ise yukardan aşağı kısa devre olan
ortadaki deliklere bağlanmaktadır. Delikler arası genellikle 0.1 inch yani 2.54 mm‟dir.
Breadboarda bağlantı için 0.6 mm‟lik yalıtımlı tellerin kullanılması tavsiye edilir.
20
Şekil 3.8. Breadboard
3.1.9. Mercimek Kapasite
Elektronik devrelerde katlar arasında kuplaj, by-pass, dekuplaj, bloklama, ayar ve filtre
elemanı olarak kullanılır. Pasif bir devre elemanıdır. Elektrikte kompanzasyon yani güç
katsayısının 1 e yaklaştırılmasında, bir fazlı motorlarda ilk hareketi sağlamada ve kalkınma
momentini artırmada kullanılır. Şekil 3.9 da görüldüğü gibi mercimek kondansatör olarak
adlandırılan kutupsuz kondansatörler bulunduğu gibi yine elektronikte sıkça kullanılan
yönlü kondansatörler mevcuttur.
Şekil 3.9. Mercimek Kapasite
21
3.1.10. LDR (Foto Direnç)
Üzerine düşen ışık şiddetine bağlı olarak direnç değeri değişen elektronik devre
elemanıdır. Işık şiddeti arttığında direnci değeri azalır, ışık şiddeti azaldığında ise direnç
değeri artar. Şekil 3.10 da projede kullanılan LDR görülmektedir.
Şekil 3.10. LDR (foto direnç)
3.1.11. Kristal Osilatör
Osilatörlerde frekansın sabit olması çok önemlidir. Frekansın sabit kalabilme durumuna
frekans kararlılığı denir. Pek çok elektronik uygulama da frekansın kararlı olması önem arz
etmektedir. Bu noktada kristal osilatörler devreye girmektedir. Bu osilatörlerin yapısında
quartz kristalleri kullanılmaktadır. Bu kristaller çok kararlı frekanslar üreterek hassas
frekans gerektiren devrelerde kullanılırlar. Quartz kristali üzerine bir basınç
uygulandığında iki ucu arasında gerilim meydana getiren bir maddedir. Şekil 3.11 da
gösterilen kristal osilatör projede mikrodenetleyecinin ihtiyaç duyduğu clock (saat)
sinyalini üretmede kullanılmaktadır. Kullanılan kristal osilatörün frekansı 4 MHz dir.
22
Şekil 3.11. Kristal Osilatör
3.1.12. Mikrodenetleyici
RAM ve Input/Output bileşenlerinin tek bir chip içerisinde üretilmiş haline
mikrodenetleyici ya da mikrokontoller denir. Mikroişlemcilere göre daha ucuz olan mikro
denetleyiciler günümüzde radyo, televizyon ve elektroniğin birçok alanında sıklıkla
kullanılmaktadırlar. Mikrodenetleyici üreten firmalar ürettikleri chiplere farklı isimler
vermektedir. Üreticilerinin ürettikleri mikrodenetleyiciler birbirinin neredeyse aynısı
olmasına rağmen farklı isimlerle adlandırılmaktadırlar. Mikrochip firması ürettiklerine PIC
adını verirken, parça numarası olarak da 16C84, 16F84, 12C508 gibi numaralar
vermektedir. Aslında PIC16C84, PIC16F84 ve PIC16F84A aynı EEPROM belleğe ve
özelliklere sahip olmalarına rağmen farklı adlarla anılmaktadırlar. PIC, adını Peripheral
Interface Controller cümlesinin baş harflerinden almaktadır. PIC lamba, motor, sensör gibi
üniteleri çok hızlı bir şekilde kontrol edebilmektedir. RISC (Reduced Instruction Set
Computer) mimarisi adı verilen bir yöntem kullanılarak üretildiklerinden kullanılacak
komutlar basit ve sayı olarak da azdır. PIC‟lerin piyasada bulunan türleri çok farklı
ambalajlara sahiptir. [1]
Projede PIC16F877 mikrodenetleyicisi kullanıldı. Bu mikro denetleyiciyi tanıtalım;
23
3.1.12.1. PIC16F877
Şekil 3.12 de görülen projede kullanılan PIC16F877 mikrodenetleyicisinin özelliklerini
sıralarsak;
Her biri 14 bit uzunluğunda 35 adet öğrenilecek komut içerir.
Dallanma komutları hariç tüm komutlar tek çevrimlik sürede, dallanma komutları
ise iki çevrimlik sürede uygulanır.
CPU azaltılmış komut seti RISC temeline dayanır.
16F877 de işlem hızı 20 MHz ye kadar çıkabilir. Buda bir komutun 200ns hızında
çalıştığını göstermektedir.
8 bitlik veri yoluna sahiptir.
32 adet SFR (Special Function Register) olarak adlandırılan özel işlem kaydedicisi
vardır ve bunlar statik RAM üzerindedir.
8 Kword‟e kadar artan flash belleği 1 milyon kez programlanabilir.
368 Byte‟a kadar artan veri belleği (RAM), 256 Byte‟a kadar artan EEPROM veri
belleği vardır.
Bu mikrodenetleyicinin pin çıkışları PIC 16C73B, PIC16C74B, PIC16C76 ve
PIC16C77 mikrodenetleyicilieri ile uyumludur.
14 kaynaktan kesme yapabilir.
Doğrudan, dolaylı ve göreceli adresleme yapabilir.
Enerji verildiğinde sistemi resetleme özelliğine sahiptir.
Powerup Timer (Powerup zamanlayıcı) özelliğine sahiptir.
Osilatör Startup Timer (Osilatör başlatma zamanlayıcısı) özelliğine sahiptir.
Watchdog Timer (Özel tip zamanlayıcı) özelliğine sahiptir.
Program kodları yazılırken aktif edilmesi durumunda kod güvenliğinin
sağlanabilmesi önemli özeliklerindendir.
Yığın derinliği 8‟dir.
Hata ayıklamakta kullanılabilecek modüle sahiptir.
Düşük gerilimli programlama
EEPROM özellikli program belleğine sahiptir.
24
PIC16C77 mikrodenetleyicisi, CMOSFlash EEPROM teknoloji sayesinde düşük
güçte yüksek hızlara erişebilir.
Tamamıyla statik bir tasarıma sahiptir.
2 pinle programlanabilme özelliği yalnız 5V girişle, devre içi seri
programlanabilme özelliği
PWM, Capture ve Compare modülü bulunmaktadır.
10 bit çok kanallı A/D çevirici senkron seri port (SSP), SPI (Master mod) ve I 2 C
(Master Slave) ile birlikte 4Paralel Slave Port, 8 bit genişlikte ve dış RD, WR, CS
kontrolleri vardır.
USART/SCI, 9 bit adres yakalamalı BOR Reset (Brown Out Reset) özelliğine
sahiptir.
İşlemcinin program belleğine, okuma/yazma özelliği ile erişimi 2.0 V – 5.0 V
arasında değişen geniş işletim aralığı
25 mA‟lik kaynak akımıyla çalışabilir.
Osilatör özellikleri seçilebilirdir.
Devre içi, iki pin ile hata ayıklama özelliği
Geniş sıcaklık aralığında çalışabilme özelliği
Düşük güçle çalışabilme özelliği vardır.
TMR0: 8 bitlik zamanlayıcı, 8 bit önbölücülü
TMR1: Önbölücülü, 16 bit zamanlayıcı, uyuma modundayken dış kristal
zamanlayıcıdan kontrolü arttırılabilir.
TMR2: 8 bitlik zamanlayıcı, hem sonbölücü hem de önbölücü sabiti
Mikrodenetleyicide herhangi bir işlem yapılmadığı durumlarda denetleyici kendini
enerji tasarrufu sağlayan uyku moduna alır.
[2]
25
Şekil 3.12. PIC16F877
PIC16F877 mikro denetleyicisinin türkçe DATASHEET‟i Şekil 3.13 de görülmektedir.
26
Şekil 3.13. PIC16F877 pinleri ve görevleri
3.1.13. Kapasitif Sensör
Bu sensör tipi, havayı dielektrik olarak kabul eden bir RC osilatörü sayesinde bir
kapasitif alan oluşturur. Bu alanın içine giren metal veya metal olmayan cisimler,
dielektrik seviyesinin değişimine sebep olur. Bu sayede osilasyon frekansı değişir ve bu
değişim sayesinde sensör algılama işlemini yapar. Sensörün içyapısı; elektrot, osilatör,
tetikleme ve çıkış katlarından oluşmaktadır. Sensörün arka kısmında bulunan
potansiyometre ile hissetme mesafesi ayarlanabilinmektedir. Yani bir nevi hassaslık ayarı
yapılmaktadır.
Şekil 3.14. Kapasitif Sensör
27
3.2.Kaynak Kodu
Projede kullanılan PIC16F877 mikrodenetleyicisinin içerisine atılan kaynak kodu
aşağıdaki gibidir. Kalın yazılmış olan kısım programın kaynak kodlarıdır. Her satırın
yanında “//” işaretinden sonra o satırdaki kodun ne anlama geldiğini açıklanmıştır. Bu
kodlar CCS C COMPILER adındaki PIC derleyicisinde yazılmıştır. Bu sebeple kodların
büyük bölümü bu derleyicinin bünyesinde bulunan özel tanımlı fonksiyonlardan
oluşmaktadır. CCS C COMPILER basit ve hızlı bir şekilde programlama yapabilme ve
derleme, ayrıca az sayıda komut yardımıyla pek çok işlemi yapabilme imkanı verdiğinden
PIC programlamada en çok kullanılan derleyicidir.
#include <16f877.h> // 16f877 denetleyicisini kullanacağız
#include <lcd.c> // LCD çalıştırabilmek için gerekli fonksiyonların
// tanımlı olduğu kaynak kodu
#use delay(clock=4000000) // kristalimiz 4 MHz (geciktirme fonksiyonu için)
#fuses XT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
// fuse ayarları
int seker=3; // şeker sayısı seçimi yapıldığında bu sayının atandığı
// “seker” değişkenine başlangıç değeri olarak 3
verildi
int i=0; // ileride döngülerde kullanılmak üzere değeri 0 olan
// bir i değişkeni oluşturuldu
int icecek=0; // içecek seçimi yapıldığında seçilen içecek çay ise 0
28
// seçilen içecek kahve ise içerisine 1 değeri atanacak
// olan “icecek” değişkenine başlangıç değeri olarak
// 0 yani çay değeri atanır.
void main() // PIC‟in sürekli olarak içini taradığı ana program kodlarının
//bulunduğu ana fonksiyon
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
// aktif ve pasif durumdaki timerlar
// set_tris_x komutları yardımıyla portların giriş ya da çıkış
// oldukları belirlenir. Giriş için 1, çıkış için 0 yazılır.
set_tris_a(0b011111); // A0 pini seker sayisi arttirma, A1 pini azaltma
// A2 pini cay secimi ve A3 pini kahve secimi icin
// seçim tuşları 10K değerindeki pull-up dirençleriyle
// toprağa bağlı yani anahtara basınca PICin bacağına
//logic1 verir
// A4 pini yukarıdaki içecek ve şeker sayısı seçimi
// yapıldıktan sonra sistemin çalışması için basılacak olan //
//seç tuşudur
// Bu tuşa basıldıktan sonra istenilen içecek hazırlanmaya
// başlanmakta, içecek ve şeker sayısı seçim tuşlarına basılsa
// dahi artık program bundan etkilenmemektedir.
29
set_tris_b(0b01100010); // B1 pini programın şeker atma aşamasında bardağı
//algılayacak sensöre bir role yardımıyla bağlı
// (röle pull-up direnciyle toprağa bağlı sistemi anahtarlamak
// için kullanılacak, yani çalışınca bağlı olduğu PIC bacağına
// logic-1 verecek)
// B5 pini programın içecek dökme aşamasında bardağı
// algılayacak sensöre bir röle yardımıyla bağlı
// B6 pini bardağa içecek dökülürken sıvı seviyesi istenilen
// yüksekliği aştıktan sonra bunu algılayan kapasitif sensöre
// bir röle yardımıyla bağlı
// B0 pini bandı döndüren silecek motorunu kontrol eder
// B2 pini bardağa şekeri atacak kapı kilit motorunu ileri iten,
// sistemine bağlı.
// B7 pini bardağa çayı dökecek selenoid valfi kontrol eder
set_tris_c(0b00000000); // C0 pini bardağa kahveyi dökecek selenoid valfi kontrol eder
set_tris_d(0b00000000); // D portu LCD yi sürmektedir.
output_low(PIN_B0); // Program sonda reset attığı için her reset atma işleminden
//sonra
output_low(PIN_B2); //tüm motorlar enerjisiz bırakılmaktadır (Başlangıç konumu).
output_low(PIN_B3);
output_low(PIN_B7);
output_low(PIN_C0);
output_low(PIN_E0);
30
output_low(PIN_E1);
output_low(PIN_E2);
lcd_init(); // LCD çalışmaya başladı
while ( input(PIN_A4) == 0 ) // seç tuşuna basılmadığı sürece PIC bu noktada
// beklemektedir. Bu sayede yapılan seçim, sürekli
// değiştirilebilir.
if ( input(PIN_A2) == 1 // A2 pinine bağlı tuşa basıldığında “icecek”
// değişkenine 0 atanmakta yani çay seçilmektedir.
icecek=0;
if ( input(PIN_A3) == 1 ) // A3 pinine bağlı tuşa basıldığında “icecek”
değişkenine // 1 atanmakta yani kahve seçilmektedir.
icecek=1;
if ( input(PIN_A0) == 1 ) // A0 pinine bağlı tuşa basıldığında “seker”
değişkenin // değeri 1 arttırılmakta yani şeker sayısı
artmaktadır.
seker++;
31
while ( input(PIN_A0) == 1 ); // Tuşa basılı tutma ihtimaline karşı parmak tuştan
// çekilene kadar program sadece bir şeker artırımı
// algılamaktadır yani program bu noktada parmak
//tuştan
// çekilene kadar uyku modunda beklemektedir.
if ( input(PIN_A1) == 1 ) // A1 pinine bağlı tuşa basıldığında “seker” değişkenin
// değeri 1 azalmakta yani şeker sayısı azalmaktadır.
seker--;
while ( input(PIN_A1) == 1 ); // yukarıdaki işlemin aynısı
if ( seker > 5 ) //şeker sayısı 5 den fazla olduğunda şekersize
dönülüyor
seker=0;
if ( icecek == 0 ) // seçilen içecek çay ise
if (seker == 0) // şekersiz ise
lcd_gotoxy(1,1); // LCD de ilk satıra
printf(lcd_putc," Sekersiz cay "); // “Sekersiz cay” yazar
32
else // şekersiz değilse
lcd_gotoxy(1,1);
printf(lcd_putc," %d sekerli cay ",seker); // kaç şekerli seçildiyse o kadar şekerli çay yazar
if ( icecek == 1 ) // seçilen içecek kahve ise
if (seker == 0) // şekersiz ise
lcd_gotoxy(1,1);
printf(lcd_putc," Sekersiz kahve "); // “Sekersiz kahve” yazar
else // şekersiz değilse
lcd_gotoxy(1,1);
printf(lcd_putc,"%d sekerli kahve ",seker); // kaç şekerli seçildiyse o kadar şekerli
// kahve yazar
if ( input(PIN_A4) == 1 ) // seç tuşuna basıldıysa program bu noktada
33
// içeceği hazırlamaya başlamaktadır.
output_high(PIN_B0); // bant çalıştırıldı
lcd_gotoxy(1,2); // LCDnin ikinci satırına
printf(lcd_putc," Hazirlaniyor "); // “Hazirlaniyor” yazar.
while ( input(PIN_B1) == 0 ); //şeker atma aşamasındaki bardağı algılayacak olan
// sensör bardağı görene kadar PIC‟i uyku moduna alır.
// sensör bardağı algılayınca B1 pinini logic-1 yapacak ve program bu satıra geçecektir
if ( input(PIN_B1) == 1 && seker != 0 ) // sensör bardağı görünce ve şekersiz seçimi
// dışında bir seçim yapıldıysa //eğer şekersiz
// seçimi yapıldıysa sistem burada durmadan
// devam edecek, zaman kaybı
//yaşanmayacaktır.
output_low(PIN_B0); // bant durduruldu
while ( i<seker ) // seçilen şeker sayısı kadar şeker at
++i;
delay_ms(1000); // 1 saniye bekler.
output_high(PIN_B2); // motor itiyor
34
delay_ms(1000); // 1 saniye bekliyor
output_low(PIN_B2); // motor ilk konumuna geliyor
delay_ms(1000); // 1 saniye bekler
output_high(PIN_B0); // bant çalıştırıldı
// bardak şeker atma aşamasından çay ya da kahve doldurma kısmına geçiyor
while ( input(PIN_B5) == 0 ) ; // içecek aşamasındaki bardağı algılayacak olan
sensör // bardağı görene kadar PIC‟i uyku moduna
alır.
output_low(PIN_B0); // bant durduruldu
if ( icecek == 0 ) // içecek çaysa
output_high(PIN_B7); // çayı dökecek selenoid valfi çalıştır
if ( icecek == 1 ) // icecek kahveyse
output_high(PIN_C0); // kahveyi dökecek selenoid valfi çalıştır
while ( input(PIN_B6) == 0 ); // kapasitif sensörden PIC‟in bacağına bir röle
// yardımıyla logic-1 gelene kadar PIC‟i uyku moduna alır.
35
output_low(PIN_B7); // her iki valfide kapatır
output_low(PIN_C0);
lcd_gotoxy(1,1); // LCD „nin ilk satırına
printf(lcd_putc," Afiyet Olsun "); // “Afiyet Olsun” yazar
lcd_gotoxy(1,2); // LCD „nin ikinci satırındaki “Hazirlaniyor”
printf(lcd_putc," "); // yazısını ekrandan siler
delay_ms(1000); // 1 saniye bekler
output_high(PIN_B0); // bant çalıştırıldı
delay_ms(2000); //sistem 2 sn bekleyerek kendini resetleyecek
reset_cpu(); //bu noktada kodumuzu en basa donduruyoruz,
//yani seker=3 oluyor ve icecek=0 yapılır
// program tekrar seç tuşuna basılmasını bekler
36
4.SONUÇLAR
Hayatımızın her anında sürekli olarak bir şeyler yaşamakta ve bunlardan tecrübe
edinmekteyiz. Belli bir konuda bir şeyler yapmaya çalışırken hiç ummadığımız konularda
dahi pek çok şeyler öğrenebilmekte ve kendimizi geliştirebilmekteyiz. Yaptığımız bu
bitirme projesi, bu bağlamda kendimizi geliştirmemiz konusunda bize çok büyük bir
katkıda bulunmuştur. Pek çok sorunla karşılaşmamız, bu sorunları bazen kendimiz kafa
yorarak bazen de değerli hocalarımıza danışarak birlikte çözmeye çalışmamız bizlere pek
çok şey katmış ve bir problemle karşılaştığımızda buna hangi yollarla çözüm
sağlayabileceğimiz konusunda ve ufkumuzun genişlemesi anlamında bize çok yol
aldırtmıştır. Öncelikle bir mikrodenetleyici yardımıyla sistemin nasıl kontrol
edilebileceğini, daha sonra ise sistem elemanlarının kontrolünün, hangi devre
elemanlarıyla ve nasıl yapılacağını, kontrol için seçilen elemanların hangi kriterler göz
önünde bulundurarak seçileceğini öğrenmek bizim için en büyük tecrübe olmuştur.
Projemiz basit bir içecek doldurma makinesi gibi gözükse de önemli olan kısım kontrol
mekanizmasıdır. Selenoid valfler yardımıyla yaptığımız sıvı kontrolü içecek dolum
tesislerinde, sıcaklığa ya da neme göre sulama yapan sistemlerde ve daha pek çok yerde
kullanılabilmektedir. Ayrıca projede yaptığımız motor kontrolü ışığında üretim
süreçlerinde kullanılan yürüme bantları ve tüm motorların nasıl kontrol edilebileceklerini,
sisteme zarar vermeden güvenli bir şekilde nasıl sürüleceklerini öğrenmek bizim için çok
yararlı olmuştur. Yaptığımız projenin ışığında neler yapabileceğimizi görebilecek, “nasıl
yapılabilir” sorularına daha pratik ve daha kendinden emin şekilde cevap verebilecek hale
gelmiş bulunmaktayız.
Yaptığımız bu projenin, mühendislik hayatımızda, çözüm üretme aşamasında bize çok
büyük katkılarda bulunacağı inancında olmakta ve daha nice projelerde bize ışık tutmasını
temenni etmekteyiz.
37
5.KAYNAKLAR
[1] Çiçek, Serdar, “CCS C İle PIC Programlama” , Altaş Yayıncılık, 2009
[2] Altınbaşak, Orhan, “Mikrodenetleyiciler ve PIC Programlama”, Altaş Yayıncılık, 2000
[3] Bal, Güngör, “Özel Elektrik Makinaları”, Seçkin Yayıncılık, 2004