You are on page 1of 3

Genel Amaçlı PIC-Mikrodenetleyici Kullanarak Bulanık Mantık Denetleyici

Uygulaması

Fuzzy Logic Controller Implementation by Using General Purpose PIC


Microcontroller
Davut HANBAY 1, İbrahim TÜRKOĞLU 1, Yakup DEMİR 2
Fırat Üniversitesi Elektronik ve Bilgisayar Eğitimi
Fırat Üniversitesi Elektrik-Elektronik Mühendisliği
dhanbay@firat.edu.tr, iturkoglu@firat.edu.tr, ydemir@firat.edu.tr

Özetçe çıkarım hızı düşmektedir. Çıkarım algoritmasının


seçilmesinde ve bulanık kümelerin ve kuralların
belirlenmesinde ve tanımlanmasında yazılım kullanılması
Bu çalışmada bulanık mantık donanımları hakkında genel bilgi
tasarımcıya büyük kolaylık sağlar[1].
verilmiş ve genel amaçlı 8-bit PIC mikrodenetleyisi ile örnek
bir çamaşır makinesi denetimi gerçekleştirilmiştir. Bu
çalışmada amacımız sadece çamaşır makinesi denetimini 2. Bulanık Mantık Kavramı
gerçekleştirmek değil aynı zamanda kişisel bilgisayarlardan
bağımsız olarak temel bulanık mantık denetim temel Bulanık mantık ve bulanık küme teorisi, ilk kez 1965 yılında
uygulamalarını genel amaçlı PIC-mikrodenetleyiciler Prof. Dr. Lotfi A. Zadeh (California University, Berkeley)
kullanarak gerçekleştirilmesi konusunda temel bir çalışma tarafından ortaya atılmış ve hızla gelişerek birçok bilim
yapmaktır. adamının ilgisini çeken araştırmaya açık yeni bir konu
olmuştur. Bulanık mantık, denetim, haberleşme, tümleşik devre
Abstract üretimi, işletme, tıp ve psikoloji gibi birçok farklı alanda
uygulanmış fakat en önemli uygulamalar ve çalışmalar bulanık
denetim alanında olmuştur [5-9]. Bulanık mantığın oldukça
This paper presents an overview of fuzzy logic hardware. The kapsamlı ve ayrıntılı matematiksel temeli olmasına rağmen,
Fuzzy Logic Controller (FLC) was designed for washing uygulaması oldukça kolaydır. Bir bulanık sistem temel olarak
machine which is implemented on general purpose 8-bits PIC dört ana bölümden oluşur[1]. Şekil 1’de de görüldüğü gibi
Microcontroller 16F877. The aim of this study is not only the bunlar:
implementation of FLC for washing machine but also the 1-) Bulandırıcı (fuzzifier) diye adlandırılan giriş birimi
application of fuzzy logic controller for demonstration of basic 2-) Kural–tabanı (rule-base)
principles in PC independent hardware applications. 3-) Çıkarım mekanizması(inference mechanism)
4-) Durultucu (defuzzifier) diye adlandırılan çıkış birimidir.
1.Giriş

Günümüzde akılı sistem denetim uygulamalarının çoğu Kural Tabanı


yazılım teknolojisi olarak görülmektedir. Belirli bir modelin
yazılımı gerçeklenmekte ve işlem kapasitesi yüksek
bilgisayarlarda çalıştırılarak sorunların çözülmesi
istenmektedir. Gerçek uygulamalarda ise özel donanım
tasarlanarak, PC kullanarak ya da genel amaçlı üretilen
programlanabilen entegreler kullanarak akıllı sistem denetimi Girişler Çıkarım Çıkışlar
gerçekleştirilir. Gerçekleştirilen bu uygulamalarda özel Bulandırıcı Durultucu
Mekanizması
donanım kullanılması veya kapasitesi yüksek donanımların
kullanılması maliyet yönüyle pahalı olmaktadır. Hatta çoğu
uygulamalarda özel tasarlanmış donanım bulmak imkânsızdır. Şekil 1: Bir bulanık denetleyicinin blok diyagramı.
İlk olarak 1965 yılında Lotfi zadeh tarafından
bulanık kümeler teorisi ortaya atılmış ve o zamandan 2.1. Bulanık Mantık Donanımları ve Uygulamaları
günümüze kadar birçok alanda bilim adamları çeşitli
çalışmalar yapmışlardır. 1974 yılında bulanık denetleyici Sayısal bulanık kontrolörler günümüzde en fazla ticari olarak
mamdani tarafından laboratuar ortamında buhar makinesine gerçekleştirilen bulanık mantık uygulamalarıdır. Bu uygulama
uygulanmış[1,2]. Bu çalışma diğer bilim adamlarını bulanık alanları içerisinde fizyolojik, ekonomik ve teknik alanlar
küme teorisini farklı alanlara uygulama konusunda sayılabilir. İlk bulanık denetleyicinin gerçekleştirilmesinden
cesaretlendirmiştir[1]. O zamandan beri farklı bilim dallarında beri[5-9] çok sayıda sayısal tabanlı Bulanık Mantık
uygulamaya yönelik çalışmalar yapılmıştır[1-4]. Genellikle Denetleyici (BMD) gerçekleştirilmiştir. Çok sayıda değişik
bulanık algoritmalar kullanılarak oluşturulan sistemler genel uygulamada sayısal BMD kullanılmış olmasından dolayı
amaçlı mikroişlemciler ya da bilgisayarlar kullanılarak gerçekleştirmelerin kesin bir şekilde sınıflandırılması oldukça
gerçekleştirilmişlerdir. Bundan dolayı bulanıklaştırma, zordur.
çıkarım ve durultma işlemleri ardışıl yapılmaktadır. Değişken Bulanık mantık problemlerinin çözülmesinde ilk
sayısı ya da kurallar artıkça hesaplama sayısı artmakta böylece çözüm probleme özel donanımların tasarlanmasıdır. Bulanık

0-7803-9238-8/05/$20.00 ©2005 IEEE


işlemciler bir komut kümesi yardımı ile bulanık işlemleri
gerçekleştirecek şekilde tasarlanırlar. Bu yaklaşımla değişik Mikro denetleyici
Portlar
uygulamalar gerçekleştirilmiştir[1,2]. A
Diğer bir yaklaşım ise genel amaçlı birkaç OSC, Program hafızası B
işlemcinin paralel bağlanmasıdır. Böylece yüksek kapasite ve C
işlem hızı gerçekleştirilir. Fakat donanım karmaşıklığı artırılır. D
Ayrıca paralel çalışabilen bir programa ihtiyaç duyulur. Bu RAM hafıza E
uygulama şekli diğer paralel işlemcili uygulamalar ile benzer
şekilde gerçekleştirilir[1]. Fazla bilgi kullanan gerçek zamanlı Dahili Kaydediciler
süreçler yüksek hızlı özel tasarlanmış entegre bulanık
denetleyiciler gerektirirler. Bu konuda ilk çalışma Togai ve
Watanabe tarafından yapılmıştır[1]. Yaptıkları çalışma bu Data EPROM,
konuda temel referans olmuştur. Gerçekleştirilen devre
saniyede 80,000 kural hesaplayabilmektedir.
Belirli bir BMD’nin kullanılırlığını belirleyen iki Zamanlayıcı, USART, A/D
temel parametre vardır. Bu parametreler giriş değişkenlerinin
ve çıkış değişkenlerinin sayısıdır. Yani yapılacak işlemin
karmaşıklığıdır. BMD için giriş analog verilerin sayısala Şekil 2: PIC 16F877 blok iç yapısı.
dönüştürülmesi ve elde edilen bulanık bilgilerin çıkış
verilerine dönüştürülmesi oldukça önemlidir. Çünkü BMD’nin 3.1. PIC 16F877 Kullanarak Bulanık Mantık Uygulaması
performansını önemli ölçüde etkilerler. BMD’lerin en önemli
sorunlarından biri performansları ile ilgilidir. Bilimsel ve Bu çalışmada Sugeno tipi bulanık mantık denetleyicisi
teknik literatürlerde en az üç tane performans parametresi kullanılarak gerçekleştirilmiş bir çamaşır makine tasarımı
belirtilmiştir[1]. Bunlar, verilmiştir. Bu bulanık mantık denetleyicisinin kirlilik oranı ve
çamaşır miktarı olmak üzere iki adet girişi, devir sayısı
• BMD nin çalışacağı en yüksek saat frekansı,
şeklinde bir adette çıkışı bulunmaktadır. Bu yapıda, her bir
• Saniyede gerçekleştirilen bulanık çıkarım sayısı,
giriş için üç adet giriş üyelik fonksiyonu olmak üzere altı adet
• Saniyede gerçekleştirilen MİN veya MAX gibi giriş üyelik fonksiyonu tanımlanmıştır. Bundan dolayı kural
temel bulanık işlem sayısıdır. sayısı 32 =9 dur. Aşağıda bu uygulama için tasarlanan giriş
Bu sayılan parametreler tamamen BMD’nin üyelik fonksiyonları (Şekil 3, Şekil 4) ve kural tablosu (Tablo
performansını belirleyemez. Bundan dolayı giriş ile çıkış 1) verilmiştir.
arasında meydana gelen toplam gecikme de hesaba katılır.
Bunlardan başka BMD’lerin performansını belirlemede
kullanılan bazı parametreler şu şekilde sıralanabilir.
Üyelik derecesi

Az Orta Çok
• Bilgi tabanından elde edilen kural sayısı 1
• Giriş kümesinden elde edilen üyelik fonksiyon
sayısı
• Çıkış kümesine karşılık gelen çıkış üyelik
fonksiyonu sayısı Kirlilik Oran
• Üyelik fonksiyonunu karakterize eden ikili bit sayısı 0 4 8 12 16
• Bir tek ikili vektördeki bit sayısı
Şekil 3: X1 girişi üyelik fonksiyonu.
3. PIC Mikrodenetleyicisi ile Bulanık Mantık
Uygulaması
Üyelik derecesi

Hafif Normal Ağır


1
Bu çalışmada kullanılan denetleme programı PIC C programı
kullanarak derlenmiştir. Elde edilen hex. dosyası 16F877
hafızasına yüklenmiştir. Flash eprom kullanılmasından dolayı
hafızadaki programın tekrar değiştirilmesi veya yeniden Çamaşır Miktar
yüklenmesi oldukça kolaydır. Denetim programındaki
değişiklikler kolayca denetleyici hafızasına tekrar 0 4 8 12 16
yüklenebilir. Aynı donanım farklı programlar yüklenerek diğer
sistem denetim uygulamaları içinde kullanılabilir[10,11]. Şekil 4: X2 girişi üyelik fonksiyonu.
Kullanılan entegresin blok iç yapısı şekil 2’de verilmiştir.
Tablo 1: Kural Tablosu.

Kirlilik Az Orta Çok


Çamaşır Oranı
Miktarı
Hafif Düşük Düşük Orta
Normal Düşük Orta Yüksek
Ağır Orta Yüksek Yüksek

Kullanılan devre blok şeması şekil 5’te verilmiştir.


Çıkışa uygun olarak devir sayısının ayarlanması elde edilen
çıkış değerine uygun darbe kod modüleli (PWM) sinyalin [3] Nabiyev V. V.,2003, yapay zeka, Şeçkin yayımcılık,
üretilmesi ile ya da elde edilen koda uygun devir sayısı için Ankara, 717p.
sayısal-analog (D/A) dönüştürücü kullanılarak gerekli gerilim [4] Sugeno, M. and Kang, G.T., 1988,“ Structure
değerinin elde edilmesi ile sağlanabilir. identification of fuzzy model”, Fuzzy Sets and Systems,
vol. 28, pp. 15-33.
[5] Takagi, T. and Sugeno, M., 1985, Fuzzy identification of
X1 Girişi systems and its applications to modeling and control,
IEEE Trans. Systems, Man. and Cybernetics, vol. 15, pp.
116-132.
[6] Kosko, B., 1991, Neural Networks and Fuzzy Systems, A
Sürücü Dynamical Systems Approach, Englewood Ciffs., NJ:
PIC devre Prentice Hall.
16F877 ve Çıkış [7] Lee, C.C., Feb. 1990, Fuzzy logic in control systems:
fuzzy logic controller- Part 1, IEEE Trans. Syst. Man.
and Cybern., vol. 20, pp. 404–418.
[8] Lee, C.C., Feb. 1990, “Fuzzy logic in control systems:
fuzzy logic controller- Part 2”, IEEE Trans. Syst. Man.
X2 Girişi and Cybern., vol. 20, pp. 419–435.
[9] Mamdani, E. H., and Assilian, S., 1975, An experiment
Şekil 5: Gerçekleştirilen devre blok şeması. in linguistic synthesis with a fuzzy logic controller, Int. J.
Man-Machine Studies, vol. 7, no. 1, pp. 1-13.
[10] Duman F., Erdem H., 2003, Hardware Implementation of
4. Sonuç Ve Değerlendirme Neural Network on General Purpose Mikroconroller.,
International Conf. On Sig. Proc., Vol. 1, num. 2,
Akılı donanımlar günümüzde tam anlamı ile genel amaçlı bir [11] Avci M., Yıldırım T., 2003, Microcontroller Based
ticari alan olarak kabul edilmemiştir. Algoritmaya bağlı Neural Network Realization and Iris Plant Classifier
alarak gerçekleştirilen donanımlar yeni özeliklerin eklenmesi App., TAINN 2003, Turkey
ve donanımın yeniden tasarlanmasını gerekli kılmaktadır
bundan dolayı ticari olarak tasarlanan bir ürünün kabul
görmesi zordur. Ancak tasarlanan donanımların tekrar
programlanabilen ya da bilgisayar kontrollü yapılması
donanımın daha fazla kabul görmesini sağlamaktadır.
Küçük ve maliyeti düşük uygulamaları gerçeklemek
amacı ile özel yongalar tasarlanabilir ve maliyetin düşürülmesi
sağlanabilir. Fakat ortam ve şartlar değiştiğinde tasarlanan
donanım üzerinde değişiklik yapmak imkânsız olacaktır.
Ayrıca belirli amaç için tasarlanan bir yonga kullanıcının tam
olarak isteğine cevap veremeyecektir.
Akılı sitemlerin sağlamış olduğu faydaları elde
etmek için çevremizdeki sistemlerde bu metotların
kullanılması gerekir. İsteyen kullanıcının kendi amacına
uygun olarak kullanabileceği akıllı sistem donanımlarına
ihtiyaç vardır. Bu ihtiyaçlarını gidermek için ise
kullanabilecekleri iki yol vardır. Birincisi uygulamaya özel
entegre veya kartları alıp kullanmak ikincisi ise genel amaçlı
donanımlar ile kendi sistemlerinin modelleme ve kontrolünü
gerçekleştirmektir. Bu çalışmada genel amaçlı kullanım için
üretilen ve küçük ve orta büyüklükteki akıllı sistem kontrol
uygulamalarında kullanılabilecek, programlaması kolay,
maliyeti düşük, kolay temin edilebilir bir donanım olan PIC
16F877 entegresi ile bir denetim uygulaması
gerçekleştirilmiştir.
İleriki çalışmalarda gerçekleştirilen sistem daha da
geliştirilerek üretimi gerçekleştirilebilir. Ayrıca genel amaçlı
donanımlar kullanarak sistem modelleme ve kontrolü alanında
çalışmalar yapılabilinir. Böylece çok karmaşık olmayan
sistemlerin akıllı sistemler ile modellenmesi ve kontrolünde
benzetim ile yetinilmeyip sağladığı faydalar uygulamalara
dönüştürülebilinir.

5. Kaynakça

[1] Paytra M.J., Mlynek D.M.,1996, Fuzzy logic


implementation and Applications, John Wiley pres, New
York, 317p.
[2] Hirota K. And Fukuda T., 1999, Soft computing in
mechatronics, Physica-Verlag, New York, 186p.

You might also like