Bir Bahçe Sulama Sisteminin Pic 16F84 MCU Kullanarak Gerçekleştirilmesi

Kategoriler:

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.

Image

Ş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.

Image

Ş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.

Image

Ş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

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Şekil 3. 5 Help Menüsünün Altmenüleri

BÖLÜM 4

DEVRENİN YAPISI VE ÇALIŞMASI

Image

Ş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.

Image

Şekil 4.1 Devre şeması

Image

Şekil 4. 2 Baskı Devre Şeması

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

Ş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.

Image

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

Image

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

Image

Ş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

Kategoriler: