Bir Bahçe Sulama Sisteminin Pic 16F84 MCU Kullanarak Gerçekleştirilmesi
BÖLÜM 1
GİRİŞ
Mikrodenetleyicili sistemler, bugün çeşitli uygulamalarda kontrol amaçlı olarak kullanılmaktadırlar. Üretilmiş olan bir çok mikrodenetleyici, sistem tasarımında ve uygulama aşamasında sunduğu kolaylıklar, tasarım aşamasında hazırlanan programlarının simüle edilerek çalışmalarının devre hazırlanmadan kontrol edilebilmeleri ve düşük maliyetleri nedeniyle tercih edilirler. Günümüzde bu kadar popüler olan mikrodenetleyicilerin tanınması, mikrodenetleyici ile bir sistemin nasıl hazırlanacağının öğrenilmesi amacıyla mikrodenetleyici ile kontrol edilen sulama sisteminin tasarımı yapılmıştır.
Kullanım kolaylığı ve küçük uygulamalardaki yeterliliği nedeniyle PIC 16F84 mikrodenetleyicisi kullanılmıştır. Bölüm 2 ‘ de PIC 16F84 mikrodenetleyicisinin yapısı ve özellikleri anlatılmıştır. PIC 16F84 mikrodenetleyicisinin yazılımı Assembly dilinde hazırlanmıştır.
Hazırlanan yazılım mikrodenetleyiciye PC‘nin seri portu ile PICPROG adlı program ile yüklenmiştir. Bölüm 3‘de PICPROG programı anlatılmıştır. Tasarlanan sulama sisteminde mikrodenetleyici bir saat devresinden aldığı zaman bilgisini işleyerek istenilen zaman diliminde sulama işlemini gerçekleştirmektedir. Sulama işleminin yapılabilmesi için selenoid valfler kullanılmıştır. Bölüm 4‘de devrenin çalışması ve yapısı anlatılmıştır.
BÖLÜM 2
PIC 16F84 MİKRODENETLEYİCİSİ
Microchip firmasının ürettiği PIC I6F84 mikrodenetleyicisi kullanım kolaylığı ve uygun fiyatı nedeniyle günümüzde küçük ölçekli uygulamalarda tercih edilmektedir. Fiyatı 5-6 $ olan bu mikrodenetleyici için gerekli olan yazılım ve donanımın Microchip firması tarafından internet üzerinden verilmesi ve firmanın uygulama örnekleri ile öğretici uygulamaları sayesinde tüm dünyada PIC serisi mikrodenetleyiciler popülarite kazanmış ve uygulama alanı bulmuştur. Tüm bunların yanında dengi mikrodenetleyicilere göre daha kolay olan komut seti ve ayrıca kullanılan programlama dilleriyle (BASIC gibi) programlama olanağı sunması PİC serisi mikrodenetleyicilerin rakipleri arasından sıyrılmasını sağlamıştır.
PIC 16F84, ismini İngilizce Peripheral lnerface Controller kelimelerinin baş harflerinden almıştır. Bire bir çevirisi, Çevresel Üniteleri Denetleyici Arabirim’ dir. RISC (Reduced Instraction Set Computer) mimarisi adı verilen bir yöntem kullanılarak üretildiklerinden PIC 16F84 mikrodenetleyicisini programlamak için kullanılan komutlar oldukça az ve kolaydır. 1980’ lerin başından beri kullanılan bir tasarım yöntemi olan RISC mimarisindeki temel düşünce, daha kolay ve az sayıda komut kullanılmasıdır.
PIC 16F84 Flash belleğe sahip olduğu için oldukça kullanışlıdır. Çünkü enerji kesilse bile belleğindeki bilgi silinmez ve istendiğinde değiştirilebilir. PIC 16F84 mikrodenetleyicisi 1000 defa programlanabilir.
2. 1 PIC 16F84’ ün Özellikleri
2. 1. 1 RISC Mimarisinin PIC 16F84’ e Kazandırdığı Özellikler
● Sadece 35 komut ile kontrol
● 10 MHz’ lik çalışma hızı
● 400 ns’ lik komut periyodu
● 14 bit uzunluğunda komutlar
● 8 bit uzunluğunda veri yolu
● 15 özel fonksiyonlu donanım registeri
● 8 seviyeli derin donanım stack’ i
● 1000 defa programlanabilen Flash bellek
2. 1. 2 Genel Özellikler
● 13 ayrı giriş çıkış ucu
● Doğrudan LED sürebilen sink ve source akımı
● Max. 20 mA source akımı
● Max. 25 mA sink akımı
Sink akımı gerilim kaynağından çıkışa akan akım source akımı ise giriş çıkış ucundan
toprağa akan akımdır.

Şekil 2. 1 PIC 16F84’ ün Bacak Yapısı
2. 2 PIC 16F84’ ün Pin ( Bacak) Bağlantıları
2. 2. 1 Besleme Gerilimi
P1C16F84’ ün besleme gerilimi 5 ve 14 numaralı uçlarından uygulanır. 5 numaralı Vdd ucu +5 V’ a 14 numaralı Vss ucu ise toprağa bağlanır. PICI6F84’ e enerji verildiğinde, gerilim dalgalanmalarından korunmak için 5 numaralı Vdd ucu ile toprak arasına 100 nF’ lık bir kondansatör bağlanır. PIC16F84’ ün geniş çalışma gerilimi aralığına sahip olmasına rağmen, uygulamalarda ideal olarak +5 V kullanılır. Şekil 2. 2‘ de PIC 16F84’ün besleme devresi görülmektedir.

Şekil 2. 2 PIC 16F84’ ün Beslemesi
2. 2. 2 Clock Uçları ve Clock Osilatör Seçenekleri
Aritmetik veya lojik işlem yapabilen her entegre gibi P1C16F84’ ün de komutları algılayabilmesi için, bir kare dalga sinyaline ihtiyacı vardır. PIC 16F84’ ün clock olarak kullanılan 2 tane osilatör bacağı vardır. Bunlar 16 numaralı, OSC 1 ve 15 numaralı, OSC2 bacaklarıdır. Clock Osilatör çeşitleri şunlardır:
• RC — Direnç ve Kondansatör (Resistor and Capacitor)
• XT — Kristal veya Seramik rezonatör (Xtal)
• US — Yüksek hızlı kristal veya seramik rezonatör (High Speed)
• LP — Düşük frekanslı kristal
PIC 16F84 için seçilen osilatör çeşidinin, program yapılırken belirtilmesi gerekir. RC Osilatörü PIC 16F84’ ün kontrol ettiği elektronik devrenin zamanlama hususunda hassas olmadığı durumlarda kullanılır.

Şekil 2.3 RC Osilatörün PIC 16F84’ e Bağlantısı
Belirlenen frekans değerinden +1- %20 civarında sapabilir. Bir direnç ve kondansatörden oluştuğu için çok ucuzdur. RC osilatörlü PIC 16F84 devresi Şekil 2.3’ de gösterilmiştir.
Tablo 2.1 RC Osilatör için R ve C Değerleri
| R | C | Fosc yaklaşık |
| 10 K | 20 pF | 625 kHz |
| 10 K | 220 pF | 80 kHz |
| 10 K | 0. 1 μF | 85 kHz |
OSC1’ den uygulanan harici frekans değerinin 1/4‘ ü OSC2’ den görünebilir ve istenirse başka yerde kullanılabilir.
R ve C’ nin değerleri Tablo 2. 1’ deki değerlerden farklı olursa düzgün kare dalgalar elde edilemez ve tutarsız bir çalışma gözlenmesine sebep olur.
Kristal ve Kondansatörlü Osilatör

Şekil 2.4 Kristal Kondansatörlü Osilatör’ ün PIC 16F84’ e Bağlanması
Bu Osilatör zamanlamanın çok önemli olduğu yerlerde kullanılır. Kristale bağlanacak kodansatörün değerinin iyi saptanması gerekir. Şekil 2. 4’ de Kristal ve kondansatörlü osilatörün P1C16F84’ e nasıl bağlanacağı gösterilmiştir. Aşağıdaki Tablo 2. 2’ de, hangi frekansta ne kadarlık kondansatör kullanılacağı belirtilmiştir.
Tablo 2. 2 Osilatör Frekans Değeri ve Kullanılacak Olan Kondansatörlerin Değerleri
| Osilatör Tipi | Frekans (kHz) | Kondansatör (pF) |
| LP | 32 | 33 - 68 |
| LP | 200 | 15-47 |
| LP | 100 | 47-100 |
| XT | 500 | 20-68 |
| XT | 1 | 15-68 |
| XT | 2 | 15-47 |
| XT | 4 | 15-33 |
| HS | 8 | 15-47 |
| HS | 20 | 15-47 |
Seçilen kondansatör değeri, Tablo 2.2’ de belirtilen kristal değerlerine karşılık gelen kondansatör değerlerinden daha büyükse, OSC2’ den elde edilen kare dalga darbelerinin bozuk olmasına PIC 16F84’ in çalışmamasına sebep olur. Ayrıca Cı ve C2 kondansatörlerinin değerleri birbirine eşit olmalıdır.
2. 2. 3 Reset Uçları ve Reset Devresi
PIC 16F84’ ün besleme uçlarına gerilim uygulandığında bellekteki adresin başlangıç adresinden itibaren çalışmasını sağlayan bir reset devresi vardır.
Bu reset devresi PIC 16F84 içinde olup buna “ Power on Reset “ adı verilir. MCLR ucu ise kullanıcının programı kesip, program işlerken alınan bilgileri sıfirlamak için kullanılır. 4 numaralı, MCLR ucuna uygulanan + 5V kesilir ve gerilim 0V’ a düşerse program başlangıç adresine döner. Devre Şekil 2.5’ de gösterilmiştir.

Şekil 2. 5 PIC 16F84’ ün Reset Devresi
2. 2. 4 I/O Portları
PIC 16F84’ ün 13 tane giriş çıkış bacağı vardır. Bunların 5 tanesine A portu (RA0 - RA4), 8 tanesine de B portu (RB0 – RB7) denir. 13 bacağın her biri giriş yada çıkış olarak kullanılabilir. PIC 16F84’ ün içinde adına TRIS denilen özel bir data yönlendirme registeri vardır. I/0 portlarından geçebilecek 25 mA’ lik bir sink veya source akımı LED’ leri doğrudan sürebilir. Yani PIC 16F84’ ün bacaklarına doğrudan LED’ ler bağlanabilir.
A portunun 4. biti, TOCKI adı verilen harici timer/counter giriş ucu ile ortaklaşa kullanıldığı için, RA4 ucu çıkış olarak kullanılacaksa, açık kollektör özelliğinden dolayı muhakkak harici bir pull-up direnci ile beraber kullanılmalıdır. RA4 ucundan yanlızca sink akımı geçer, source akımının geçmesi imkansızdır.
2. 3 PIC 16F84’ ün Bellek Yapısı
P1C16F84 mikrodenetleyicisinin belleği, RAM ve program belleği olmak üzere iki ayrı bellek bloğundan oluşur. Harward mimarisi ile üretilen bir RISC işlemci olması nedeniyle program belleği ile data belleği ayrı ayrıdır. Halbuki PC’ lerde kullanılan mikro işlemcilerde böyle bir özellik yoktur. Bu yüzden, komut alma işleminde mikrodenetleyicilerin mikroişlemcilerden daha hızlı olduğunu söyleyebiliriz.
2. 3. 1 Program Belleği
PIC 16F84’ ün 1 K. Bytelık program belleği vardır. Her bir bellek hücresindeki program komutunun uzunluk kapasitesi 14 bittir. Program belleği Flash bellektir, yani programın icrası dışında bellek silinip yazılabilir. Program belleğine sadece assembly komutları yazılabilir. Şekil 2.6’ da PIC 16F84’ ün program haritası görülmektedir.

Şekil 2.6 PIC 16F84’ ün program haritası
2. 3. 2 Ram (Random Access Memory) Bellek
PIC 16F84’ ün RAM belleği, 0x00 - 0x4F adresleri arasında yer alır. RAM’ ın içinde bulunan fıle registerler PIC 16F84’ ün Merkezi İşlem Birimi’ ni kontrol eder. File registerlerin bellek uzunluğu 8 bit olup, sadece PCLATH’ in register uzunluğu 5 bittir.
RAM’ ın içindeki file registerlerin dışında kalan alan program değişkenleri için kullanılır. PIC 16F84’ ün RAM belleği Bank adı verilen, iki kısımdan meydana gelir. Bank kelimesi, bir şeyin/şeylerin toplandığı yığın, alan anlamına gelir. Bunlardan birincisi Bank0[0x00~0x4F] ikincisi de, Bank1 [0x80~0CF] olarak adlandırılır. Toplam 80 tane file register vardır. Bazı özel registerlar hem Bank0, hem de Bankl’ de yer alırlar. Bunun sebebi Bank değiştirmeye gerek kalmadan registerin kullanılabilmesidir.Şekil 2.7’ de PIC 16F84’ ün RAM belleği blok şeklinde gösterilmiştir.

Şekil 2. 7 PIC 16F84’ ün RAM Belleğinin Görünüşü
2. 3. 3 W Registeri
RAM bellekte görünmeyen, akümülatör gibi işlev yapan ve direkt erişilemeyen W registerine ancak diğer registerlere bilgi depolarken erişilir. Aritmetik işlemler ve atama işlemleri gerçekleştirilirken W registeri kullanılır. İki sayı toplanacağında sayılardan biri W registerine aktarılır ve daha sonra diğer registerdeki sayı W registerindeki sayı ile toplanır.
BÖLÜM 3
PICPROG PROGRAMI
Çeşitli hafıza birimlerine veya hafıza birimi olan mikroişlemcilere, mikrodenetleyicilere yazılan bir programı yazdırabilmek için farklı yazılımlar ve bu yazılıma uygun olan bir donanım vardır.
Bizim kullandığımız yazılım: PICPROG adlı yazılım ve buna ait olan donanımdır. PICPROG’ un görünüşü Şekil 3.1’ de gösterilmiştir.

Şekil 3.1 PICPROG’ un Genel Görünüşü
PICPROG, hazırladığımız programı, hex dosyası haline getirdikten sonra, kendisine ait olan donanımı bilgisayarın seri portuna bağlayarak, PIC16F84’ e yüklememizi sağlar. Aslında PICPROG, PIC 16C84 için yazılmış bir programdır, ama PIC 16F84’ le 16C84 arasında çok fazla farklılık olmadığı için bu yazılım, P1C16F84, içinde kullanılabilir.
PICPROG’ un sol üst köşesinden başlayarak sağa doğru devam eden 4 tane alt menüsü vardır. Sol alt kısımda ise Fuses adı altında bazı seçenekler vardır. Alt alta LP ile başlayıp RC ile biten seçenekler, kullanılan donanımdaki osilatörün tipini belirlenmesini sağlar. Biz Kristal osilatör kullandığımız için XT seçeneğine tıklıyoruz. PWRT, WDTE ve Code Protect seçeneklerinden ise sadece PWR’ yi seçiyoruz eğer PIC 16F84’ e programı yükledikten sonra programın okunmasını istemiyorsak, Code Protect’ i de seçeriz.
Sağ alt kısımda ise donanımın bilgisayarın hangi seri portuna takılı olduğu belirten bir bilgi vardır. Orta sağ kısımda bulunan:
Blank Check: PIC 16F84’ ün boş olup olmadığı kontrol eder.
Erase Chip: PIC 16F84’ in içindeki bilgileri siler.
Program Chip: PICPROG’ a bir hex dosyası yüklendikten sonra faal olan bu seçenek
PIC 16F84’ ün içine belirtilen programı yükler.
Read Chip: Donanıma takılı olan PIC 16F84’ in içindeki programı hex olarak okur. Şimdi kısaca PICPROG’ un menülerini görelim.

Şekil 3. 1. 1 PIC 16F84 Programlayıcı Devresi
3. 1 File
Eğer yüklenecek dosya seçilmek istenirse Open File alt menüsünü seçerek istenilen hex dosyası PICPROG’ a gönderilir. Şekil 3.2’ de File menüsünün alt menüleri görülmektedir.

Şekil 3. 2 File Menüsünün Altmenüleri
Read Chip’ le PIC 16F84’ in içindeki programı okunduktan sonra kaydetmek istenirse save file as seçeneği kullanılır. Exit PİCPROG’ dan çıkışı sağlar.
3. 2 Device
Bu menünün alt seçenekleri yukarda anlatılmıştır. Device menüsünün alt menüleri Şekil 3. 3’ de gösterilmiştir.

Şekil 3. 3 Device Menüsünün Altmenüleri
3. 3 Setup
Donanımın bağlı olduğu seri portun yerini başka bir seri girişte değiştirmek istersek Com Port seçeneği ile bunu gerçekleştiririz. Şekil 3. 4’ de Device menüsünün altmenüleri gösterilmiştir. Donanımı kontrol etmek istersek Check Hardware seçeneğini kullanırız.

Şekil 3. 4 Setup Menüsünün Altmenüleri
3. 4 Help
PICPROG’ la ilgili bilgilerin ve yardım menüsünün bulunduğu menüdür. Şekil 3. 5’ de Help menüsünün altmenüleri görülmektedir.

Şekil 3. 5 Help Menüsünün Altmenüleri
BÖLÜM 4
DEVRENİN YAPISI VE ÇALIŞMASI

Şekil 4. 1. Sistemin yapısı
Tasarlanan sistem şekilde görülen 15x20 metrelik bölüm bahçesinin otomatik olarak sulanmasını sağlar. Kontrol devresi istenilen zaman aralıklarında veya manuel olarak sulama işlemini başlatır. Sulama işlemi başladığında kontrol devresi selenoid valfleri enerjilendirerek su yolunu açar. Bahçe yapısına uygun olarak yerleştirilen fıskiyeler ile bahçe homojen olarak sulanır.
Devrede kullanılan PIC 16F84 mikrodenetleyicisi saat modülünden aldığı zaman bilgisini işler ve ayarlanan zaman aralığında ilgili çıkışlarını aktif yaparak triyakları sürer. Triyaklar da selenoid valfleri enerjilendirerek suyun akması sağlanır.
Selenoid valfler elektrikle kumanda edilen vanalardır. Bobini enerjilendiğinde oluşan manyetik kuvvet mekanizmayı çekerek su yolunu açar.
Bu uygulamada PIC 16F84 mikrodenetleyicisinin A portu giriş, B portu ise çıkış olarak düzenlenmiştir. RA0 pinine alarm bilgisinin saatten alınması için kullanılmıştır. RA1 pini, otomatik ve manuel çalışma seçimi yapan auto/manuel butonuna bağlanmıştır.
RA2 pinine 1 numaralı selenoid valfi açmak için kullanılan 1 butonu, RA3 pinine 2 numaralı selenoid valfi kotrol etmek için kullanılan 2 butonu bağlanmıştır. RA4 pini sistemi durdurma için kullanılan stop butonuna bağlanmıştır.
Çıkış olarak kullanılan B portu şu şekilde kullanılmıştır. RB0 pini1 numaralı selenoid valfi süren triyağı kontrol etmektedir. RB1 pini 2 numaralı selenoid valfi süren triyağı kontrol etmektedir. RB2 pini kumanda paneli üzerinde otomatik çalışma modunu gösteren ledi, RB3 pini de manuel çalışma modunu gösteren ledi sürmektedir. RB4 ve RB5 pinleri sırasıyla 1. ve 2. selenoid valflerin çalışmasını gösteren ledleri sürmek için kullanılmıştır. RB6 ve RB7 pinleri ise saat devresinin alarmlarını susturmak için kullanılmıştır.
4. 1 Çalışma Modları
Sistem istenildiğinde tamamen otomatik, istenildiğinde ise elle kontrol edilecek şekilde tasarlanmış olduğundan farklı iki modda çalışmaktadır.
4. 1. 1 Otomatik Çalışma Modu
Bu çalışma modunda gösterge paneli üzerindeki A/M butonuna iki kez basılmasıyla geçilir. Otomatik çalışma modunda ayarlanan zaman aralığında otomatik olarak sulama işlemi yapılır. Otomatik moda çalışmak için şu işlem sırası izlenir.
• Panel üzerindeki A ve B tuşları ile sistem saati ayarlanır. A tuşu saat hanesini B
tuşu ise dakika hanesini ayarlar.
• Sistem saati ayarlandıktan sonra sulama işleminin hangi saatte başlayıp hangi
saatte biteceği ayarlanmalıdır. Bunun için panel üzerindeki C butonu basılı
tutulurken A ve B butonlarıyla sulama işleminin başlayacağı saat ve dakika
ayarlanır. Başlama zamanının ayarlanmasından sonra sulama işleminin bitiş
zamanı ayarlanmalıdır. Panel üzerindeki D butonu basılı tutularak A ve B butonlarıyla sulama işleminin bitiş saati ve dakikası ayarlanır. Böylece
ayarlanan zaman aralığında sulama işlemi yapılabilir.
• Panel üzerindeki A/M tuşuna iki defa basılır. Bu durumda tuş üzerindeki M harfişeklindeki uyarı ışığı aydınlanır. Bu durumda sistem otomatik çalışma moduna
geçmiş olur.
• Otomatik çalışma modunda iken panel üzerindeki 1 ve 2 tuşları da aydınlanır.
Bu tuşların aydınlanması, sulama zamanı geldiğinde hangi selenoid valf ile
sulama yapılacağını gösterir. Otomatik çalışma moduna geçildiğinde her iki
kanaldan da sulama yapılmak üzere ayarlanmıştır. İstenildiği taktirde 1 veya 2
tuşlarından birine basılarak o kanalın sulama zamanı geldiğinde sulama
yapmaması sağlanır. Bu durum ilgili tuşun ışığının sönmesiyle anlaşılır. Işığı
yanmayan kanaldan sulama yapılmaz. Eğer otomatik çalışma modunda iken 1 ve
2 tuşlarının her ikisine de basılır ise otomatik çalışma modundan çıkılır ve OFF
moduna geçilir. Bu durumda ayarlanan zaman diliminde sulama yapılmaz.
Ayrıca herhangi bir anda panel üzerindeki OFF butonuna basıldığında da OFF
moduna geçilir.
• Otomatik çalışma modundan manuel çalışma moduna geçilmek istenirse A/M
tuşuna birkez basılır. Bu durumda tuş üzerinde bulunan A harfi aydınlanır ve
sulama işlemi o anda başlar.
4. 1. 1. A Otomatik Çalışmada Bekleme Modu
Bu mod aslında otomatik çalışma modudur. Ancak bu şekilde ayrıca tanımlama yapmanın amacı otomatik çalışma modunda sulama işleminin olmadığı anları belirtmektir. Otomatik çalışma modunda sistem, ayarlanan sulama zamanı gelene kadar otomatik çalışmada bekleme modundadır.
Bu moda iken istenildiği zaman A/M tuşuna bir kez basılarak manuel moda geçilebilir.
4. 1. 1. B Otomatik Çalışmada Sulama Modu
Bu moda otomatik çalışma modunda sulama işleminin başlamasıyla girilmiş olur. O anda panel üzerinde 1 ve 2 tuşlarından hangisi aydınlanmış ise sulama işlemini o kanal yapar. 1 ve 2 tuşlarından her ikisi de aydınlanmış ise her kanaldan da sulama yapılır. Bu moda iken A/M tuşuna bir kez basılarak manuel moda geçilebilir.
4. 1. 2 Manuel Çalışma Modu
Bu modda sistem kullanıcının istediği anda ayarlanan zaman aralıklarından bağımsız olarak sulama yapılır. Panel üzerindeki A/M tuşuna birkez basılarak her iki kanaldan da sulama işlemi başlatılır. Bu durum A/M tuşu üzerindeki A harfinin, 1 ve 2 tuşlarının aydınlanmasıyla görülebilir. İsteğe göre kanallardan biri 1 veya 2 tuşlarından birine basılarak sulama işleminden çıkarılabilir. Manuel çalışma modunda 1 ve 2 tuşlarının ikisine de basılırsa OFF moduna geçilir. Ayrıca istenildiğinde panel üzerindeki OFF butonuna basılarak da OFF moduna geçilebilir.
4. 1. 3 OFF Modu
Bu modda sulama işlemi yapılmaz. Ayrıca otomatik olarak sulama işlemi yapılmaya devam edilmesi isteniyorsa sistem tekrar otomatik çalışma moduna alınmalıdır.OFF moduna herhangi bir modda 1 ve 2 tuşlarının her ikisinin de ışıkları söndürülecek şekilde 1 ve 2 tuşlarına basılarak geçilebilir. Ayrıca panel üzerindeki OFF tuşuna herhangi bir anda basılarak da OFF moduna geçilebilir.
4. 2 Devrenin Fiziksel Yapısı
Bu bölümde devrenin açık şeması, baskı devre şeması ve görünüşü verilmiştir. Devre üzerinde yapılan bağlantılar ve kullanılan malzemeler verilmiştir.

Şekil 4.1 Devre şeması

Şekil 4. 2 Baskı Devre Şeması

Şekil 4. 3 Devrenin Üsten Görünüşü
4. 2. 1 Bağlantı Noktaları
S1,S2 = Selenoid valflerin bağlantı noktası
B2 = Auto ledi
B3 = Manuel ledi
B4 = 1 tuşu ledi
B5 = 2 tuşu ledi
B6 = Alarm1 reset
B7 = Alarm2 reset
A0 = Alarm
A1 = Auto/manuel tuşu
A2 = GRUP1 ( 1 ) tuşu
A3 = GRUP2 ( 2 ) tuşu
A4 = Stop tuşu
4. 2. 2 Ön Panel Kabloları
4. 2. 2. A Tuşların Bağlantı Kabloları
MOR : + 5 V bağlantı noktasına
GRİ : STOP tuşu
BEYAZ : AUTO/MANUEL tuşu
YEŞİL : GRUP1 ( 1 ) tuşu
MAVİ : GRUP2 ( 2 ) tuşu
4. 2. 2. B Ledlerin Bağlantı Kabloları
BEYAZ : GRUP2 ( 2 ) tuşu ledi
GRİ : GRUP1 ( 1 ) tuşu ledi
MOR : STOP tuşu ledi
MAVİ : AUTO/MAUNEL tuşu A ledi
YEŞİL : AUTO/MAUNEL tuşu M ledi
4. 2. 3 Saat Ayar Kabloları
4. 2. 3. A Besleme
KIRMIZI : +9 V
KAHVE : GND
4. 2. 3. B Fonksiyon
SARI : Alarm çıkışı (saatten A0 bağlantı noktasına)
BEYAZ : Alarm1 reset (B6 dan ALARM1 RESET tuşuna paralel)
SİYAH : Alarm2 reset (B7 den ALARM2 RESET tuşuna paralel)
4. 2. 3. C Tuşlar
MAVİ : Alarm1 reset
YEŞİL : Alarm2 reset
SARI : Alarm1
TURUNCU : Dakika ayarı
KIRMIZI : Saat ayarı
KAHVE : Alarm2
SİYAH : Ortak uç
NOT : Kullanılan swichlerin birer uçları ortak uca bağlanır.

Şekil 4. 4 Saat Modülü
1) Alarm 2
2) Saat ayarı
3) Dakika ayarı
4) Saniye ayarı
5) Alarm 1
6) Sleep
7) Alarm 2 stop
8) Alarm 1 stop
9) Tarih
0) Ortak uç
Tüm uçlarla ortak uç arasına birer buton koyarak ayarlama yapılır.
BÖLÜM 5
AKIŞ DİYAGRAMLARI
Akış diyagramları mikrodenetleyicinin çalıştırmakta olduğu programın akış sırasını gösterir. Akış diyagramlarından programın nasıl işlediği izlenebilir.

Şekil 5. 1 Automanu Alt Programının Akış Diyagramı
Şekil 5. 1’de görülen akış diyagramı otomatik ve manuel çalışma modlarına geçilmesini sağlar. Otoman değişkeni 1 ise manuel 0 ise otomatik çalışma moduna geçer.

Şekil 5. 2 Grupp1 Alt Programının Akış Diyagramı
Şekil 5. 2 ve şekil 5. 3 de görülen alt programlar sulamanın iki selenoid valften hangisi veya tamamında yapılacağına karar veren kısımdır.
Şekil 5. 6’daki alt program ana program olup herhangi bir modda çalışmada yönlenilecek altprogramları çağırır.

Şekil 5. 3 Grupp2 Alt Programı Akış Diyagramı
Şekil 5. 4’de görülen alt program otomatik çalışma modunda gereken işlemleri yapar. Saat bilgisini alır ve zamanı geldiğinde sulama işlemini başlatır.
Şekil 5. 5’de görülen alt program herhangi bir anda bir tuşa basılırsa algılar ve gereken alt programlara yönlendirir.

Şekil 5.4 Otomatik Alt Programı Akış Diyagramı

Şekil 5. 5 İçtarama Alt Programının Akış Diyagramı

Şekil 5. 6 Ana Program Akış Diyagramı
BÖLÜM 6
SONUÇ
PIC 16F84 mikrodenetleyicisinin öğrenilmesi ve mikrodenetleyici kontrollü sistemlerin tanınması amacıyla yapılan bu çalışmada Niğde Üniversitesi Mühendislik - Mimarlık Fakültesi Elektrik - Elektronik Mühendisliği Bölümü bahçesine PIC 16F84 mikrodenetleyicisi kontrollü sulama sistemi yapılmıştır.
Sistem, bir saat modülünden aldığı zaman bilgisiyle istenilen zaman aralıklarında ve istendiğinde manuel olarak iki ayrı selenoid valf ile sulama işlemini gerçekleştirir.
EKLER
EK – A MALZEME LİSTESİ
R1,R2,R3,R4 = 10K direnç
R5,R6 = 220 Ω direnç
R7,R8,R9,R10 = 100 Ω direnç
C1 = 220 μF / 16 V
D1,D2,D3,D4 = 1N4001
IC1 = PIC 16F84
IC2,IC3 = MOC 3023
RG1 = L7809
RG2 = L7805
XT1 = 4 MHz kristal
TY1,TY2 = 9548T435 triyak
EK – B HAZIRLANAN PROGRAMIN KODLARI
LIST P=16F84 INCLUDE "P16F84.INC" SULAMA EQU h'0C' OTOMAN EQU h'0D' GRUP1 EQU h'0E' GRUP2 EQU h'0F' SAYAC1 EQU h'10' SAYAC2 EQU h'11' CLRF PORTB BSF STATUS, 5 CLRF TRISB MOVLW h'FF' MOVWF TRISA BCF STATUS, 5 MOVLW h'0' MOVWF SULAMA MOVWF OTOMAN MOVWF GRUP1 MOVWF GRUP2 MOVWF PORTB BAS BTFSS PORTA,1 GOTO A1 A0BAS CALL AZBEKLE BTFSC PORTA,1 GOTO A0BAS CALL AUTOMANU A1 BTFSS PORTA,2 GOTO A2 A1BAS CALL AZBEKLE BTFSC PORTA,2 GOTO A1BAS CALL GRUP1P A2 BTFSS PORTA,3 GOTO A3 A2BAS CALL AZBEKLE BTFSC PORTA,3 GOTO 2BAS CALL GRUP2P A3 BTFSC GRUP1,0 GOTO A4 BTFSC GRUP2,0 GOTO A4 GOTO A5 A4 BTFSS PORTA,4 GOTO BAS A3BAS CALL AZBEKLE BTFSC PORTA,4 GOTO A3BAS A5 MOVLW h'0' MOVWF PORTB BCF SULAMA,0 BCF OTOMAN,0 BCF GRUP1,0 BCF GRUP2,0 GOTO BAS AUTOMANU COMF OTOMAN,1 BTFSS OTOMAN,0 GOTO B1 MOVLW h'3B' MOVWF PORTB BSF GRUP1,0 BSF GRUP2,0 BSF SULAMA,0 RETURN B1 MOVLW h'34' MOVWF PORTB BCF SULAMA,0 BCF OTOMAN,0 BSF GRUP1,0 BSF GRUP2,0 CALL OTOMATIK RETURN OTOMATIK CALL ICTARAMA BTFSC GRUP1,0 GOTO W1 BTFSC GRUP2,0 GOTO W1 RETURN W1 BTFSS OTOMAN,0 GOTO AB1 RETURN AB1 BTFSS PORTA,0 GOTO OTOMATIK COMF SULAMA,1 BTFSS SULAMA,0 GOTO C2 BTFSS GRUP1,0 GOTO D2 BSF PORTB,0 BSF PORTB,4 GOTO D1 D2 BCF PORTB,0 BCF PORTB,4 D1 BTFSS GRUP2,0 GOTO D5 BSF PORTB,1 BSF PORTB,5 GOTO D3 D5 BCF PORTB,1 BCF PORTB,5 D3 BSF PORTB,6 CALL AZBEKLE BCF PORTB,6 AB2 CALL ICTARAMA BTFSC GRUP1,0 GOTO S1 BTFSC GRUP2,0 GOTO S1 RETURN S1 BTFSS OTOMAN,0 GOTO AB3 RETURN AB3 BTFSC PORTA,0 GOTO AB2 GOTO OTOMATIK C2 BSF PORTB,7 CALL AZBEKLE CALL AZBEKLE BCF PORTB,7 BCF PORTB,0 BCF PORTB,1 BCF SULAMA,0 GOTO OTOMATIK ICTARAMA BTFSS PORTA,2 GOTO TT2 CALL AZBEKLE A5BAS BTFSC PORTA,2 GOTO A5BAS COMF GRUP1,1 BTFSC GRUP1,0 GOTO T1 BCF PORTB,0 BCF PORTB,4 GOTO TT2 T1 BSF PORTB,4 TT2 BTFSS PORTA,3 GOTO TT3 CALL AZBEKLE A6BAS BTFSC PORTA,3 GOTO A6BAS COMF GRUP2,1 BTFSC GRUP2,0 GOTO T4 BCF PORTB,1 BCF PORTB,5 GOTO TT3 T4 BSF PORTB,5 TT3 BTFSS PORTA,1 GOTO T5 A7BAS CALL AZBEKLE BTFSC PORTA,1 GOTO A7BAS BSF GRUP1,0 BSF GRUP2,0 MOVLW h'3B' MOVWF PORTB COMF OTOMAN,1 BCF SULAMA,0 RETURN T5 BTFSS PORTA,4 GOTO T6 A8BAS CALL AZBEKLE BTFSC PORTA,4 GOTO A8BAS BCF GRUP1,0 BCF GRUP2,0 BCF SULAMA,0 BCF OTOMAN,0 CLRF PORTB T6 RETURN GRUP1P BTFSC PORTB,2 GOTO SON BTFSC PORTB,3 GOTO SON BSF PORTB,0 BSF PORTB,3 BSF PORTB,4 BSF GRUP1,0 BSF OTOMAN,0 RETURN SON COMF GRUP1,1 BTFSS GRUP1,0 GOTO G1 BSF PORTB,0 BSF PORTB,4 RETURN G1 BCF PORTB,0 BCF PORTB,4 RETURN GRUP2P BTFSC PORTB,2 GOTO SON1 BTFSC PORTB,3 GOTO SON1 BSF PORTB,1 BSF PORTB,3 BSF PORTB,5 BSF GRUP2,0 BSF OTOMAN,0 RETURN SON1 COMF GRUP2,1 BTFSS GRUP2,0 GOTO K1 BSF PORTB,1 BSF PORTB,5 RETURN K1 BCF PORTB,1 BCF PORTB,5 RETURN AZBEKLE MOVLW h'1' ;NORMAL:h'32' MOVWF SAYAC1 DONGU1 MOVLW h'1' ;NORMAL:h'16' MOVWF SAYAC2 DONGU2 DECFSZ SAYAC2, F GOTO DONGU2 DECFSZ SAYAC1, F GOTO DONGU1 RETURN END
Hazırlayan : Erdem Tayfun SALMAN
- Yorum yazmak için giriş yapın veya kayıt olun