Gerçek zamanlı bulanık kontrolörlerinin gerçeklenmesi
Implementation of real-time fuzzy controllers
Yazar: ÖZGÜR AYDIN TEKİN
Danışman: PROF.DR. İBRAHİM EKSİN
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik Mühendisliği Ana Bilim Dalı / Kontrol ve Otomasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2007
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bu çalışma ile teorik olarak elde edilmiş ve iyi benzetim sonuçları veren kontrolörleringerçek zamanlı çalışma performanslarının gözlenebileceği ve gerçeğe daha yakın kontrolsistemlerinin tasarlanabileceği bir çalışma platformu oluşturulmaya çalışılmıştır. Bununiçin endüstride yaygın olarak kullanılan 8-bit PIC mikrokontrolör kullanılmıştır.MATLAB `Fuzzy Logic Toolbox' kullanılarak oluşturulmuş ve `.fis' uzantısı ile diskekaydedilmiş bir bulanık çıkarım yapısı dosyası C dilinde yazılan bir program ileokunarak gerekli parametreler çekilmiş ve bu parametreler ile PIC mikrokontrolörleriçin kullanılan PICC dilinde bulanık çıkarım yapısı yeniden oluşturulmuştur. Bu yapıyıişleyerek bulanık kontrolör çıkışını verecek bulanık çıkarım mekanizması fonksiyonlarıda MATLAB yazılımı ile verilen C kodlarından yararlanılarak PICC dilinde yazılmıştır.Dış dünyadan gelen işaretleri ADC ile elde eden, bulanık kontrolör için gerekli girişparametrelerini oluşturan, bulanık kontrol çıkışını hesaplayıp uygun kontrol işaretiniPWM ile dış dünyaya uygulayan, bu arada bazı bilgileri LCD ekranda gösteren ve RS-232 ile bilgisayara aktaran ana program da PICC dilinde yazıldıktan sonra bütünprogramlar MPLAB IDE kullanılarak bir proje altında derlenmiştir. Makine kodu birPIC programlayıcı ile çeşitli çevre birimleri de üzerinde bulunduran bir PICmikrokontrolör geliştirme kartına yüklenmiştir. Bu mikrokontrolör kartı ile gerçek birölü zamanlı ısıl sistem (Process Trainer PT326 deney seti) gerçek zamanda kontroledilmiş, gerekli işaretler PC'ye aktarılmış, kaydedilmiş ve gözlenebilmiştir.Ayrıca, bu tez çalışması için İ.T.Ü. Fen Bilimleri Enstitüsü tarafından desteklenen?Gerçek Zamanlı Bulanık Kontrol Uygulaması? başlıklı proje kapsamında alınan?phyCORE-MPC555 Rapid Development Kit? mikrokontrolör kartı ile de benzeruygulamalar gerçek zamanda gerçekleştirilmiştir.Anahtar Kelimeler: Bulanık Kontrol, Gerçek Zamanlı Sistemler, MATLAB Simulink,PIC Mikrokontrolör, Phytec MPC555

Abstract:
In this project, a real time fuzzy control application platform is realized to analyze thereal-time performances of various fuzzy control algorithms in the literature and to beable to design controllers with better real-time performances. An 8-bit industrial PICmicrocontroller (PIC18F452) is used. Fuzzy controllers are designed by MATLAB`Fuzzy Logic Toolbox? and saved to disk as a `.fis? file. A C program is written to openthis `.fis? file, parse the necessary parameters of the fuzzy inference structure stored inthis file, and construct the fuzzy inference structure in PICC language for PICmicrocontrollers. Also, the fuzzy inference mechanism are written in PICC language bythe help of MATLAB stand alone C code for fuzzy inference engine. Main controlprogram reading the real world signals by ADC unit, producing the fuzzy controlleroutput and applying the control signal to the real world by PWM unit, and meanwhile,displaying some data on LCD and also transmitting these data to MATLAB platform onPC via RS-232 serial communication port is written in PICC language. Then, all these Ccodes are compiled and built under MPLAB IDE software environment. The builtmachine code is embedded into the PIC microcontroller on a PIC development boardusing an ICSP PIC programmer. Thus, a real heat process with dead time (PT326) iscontrolled in real-time.Finally, similar real-time applications are achieved using the ?phyCORE-MPC555Rapid Development Kit? supported by the Institute of Science and Technology of ITU.Keywords: Fuzzy Control, Real-Time Systems, MATLAB Simulink, PICMicrocontroller, Phytec MPC555