6 th International Advanced Technologies Symposium (IATS 11), 16-18 May 2011, Elazığ, Turkey Kablosuz Algılayıcı Ağlar Kullanılarak Birinci Dereceden Ölü Zamanlı Bir Sistemin Denetimi F. AktaĢ 1, C. Çeken 1, K. Erkan 1, M. Yıldırım 1 1 Kocaeli Üniversitesi, Ağ Tabanlı Kontrol Laboratuarı, Kocaeli/Türkiye {faruk.aktas, cceken, erkan, myildirim, ncs}@kocaeli.edu.tr A First Order Plus Dead Time System Control by Using Wireless Sensor Networks Abstract Wireless Sensor Network ( WSN ) applications commonly are available in industrial, medical, military, and environmental areas, especially for the monitoring and tracking. In addition to their aforementioned applications, they can also be used in the field of networked control systems for both controlling and monitoring purposes. The goal of this study is to implement a test bed which includes a first order plus dead time process control system and a WSN. The temperature data measured by the sensor node is sent to the access point, which is a gateway between computer and wireless sensor network. According to the received data, the developed algorithms running on the computer generates a control data and send it to the data acquisition board using the access point. After that, the control data is applied to the system controlled as an input. The results show that the system is controlled successfully by means of wireless sensor network. Keywords Networked Control, Wireless Sensor Networks, Dead Time Systems. M I. GĠRĠġ ĠKRO elektronik ve kablosuz haberleģme teknolojilerindeki geliģmeler küçük boyutlu, hareketli, düģük maliyetli, düģük enerji gereksinimli ve çok fonksiyonlu algılayıcı düğümlerin yaygın olarak kullanılmasına olanak sağlamıģtır [1]. Kablosuz Algılayıcı Ağ daki (KAA) algılayıcı düğümler, bulunduğu ortamdan topladığı bilgileri merkezi bir eriģim noktasına göndermektedir. KAA lar günümüzde çevresel, sağlık, askeri ve endüstriyel alanlarda özellikle ortam izleme amaçlı olarak kullanılmaktadır [2]. Bu çalıģma ise KAA ların ortam izleme amaçlı kullanımlarının yanı sıra denetim amacıyla da kullanılabileceğini gösteren örnek bir uygulama içermektedir. ÇalıĢma kapsamında KAA altyapısı kullanılarak birinci dereceden ölü zamanlı bir sistemin denetimi gerçekleģtirilmiģtir. Yapılan çalıģmada KAA yapısı, Crossbow firmasının algılayıcı düğümleri, veri edinim düğümü (MicaZ) ve eriģim noktasıyla oluģturulmuģtur. Denetimi gerçekleģtirilen sistem olarak ise Feedback Process Trainer 37-100 eğitim seti kullanılmıģtır. Sonraki bölüm gerçekleģtirilen uygulamanın bileģenlerini anlatmaktadır. Bölüm 3' te birinci dereceden ölü zamanlı sistemler hakkında bilgiler sunulmaktadır. Bölüm-4 gerçekleģtirilen uygulamayı ayrıntılarıyla içermektedir. II. KABLOSUZ ALGILAYICI AĞ BĠLEġENLERĠ A. Algılayıcı Düğümleri ve Erişim Noktası Sistemin KAA kısmını MicaZ algılayıcı düğümler ve eriģim noktası oluģturmaktadır. MicaZ düğümleri 128 KB kod belleği, 4 KB veri belleği, 4 KB EEPROM ve 16 MHz ATMEGA128L iģlemcisine sahiptir. IEEE 802.15.4 standardı ile uyumlu Chipcon CC2420 MPR2600 devresini kullanarak 2,4 GHz frekans bandında 250 Kbps hızında iletiģim yapabilmektedir [3]. MTS400CA algılayıcı kartı ile kullanılarak ortamdaki sıcaklık, nem, basınç, ivme bilgilerini ölçebilir. MicaZ algılayıcı düğümleri, gömülü algılayıcı ağ sistemleri için tasarlamıģ TinyOS açık kaynak kodlu iģletim sistemi ile nesc programlama dili kullanılarak programlanabilmektedir. MicaZ düğümler içerisine yazılan kodu gömmek için MIB520 programlama bordu kullanılmaktadır. USB kablo ile bilgisayara bağlanan MIB 520, aynı zamanda, algılayıcı ve eyleyicilerin bilgisayar ile bağlantısını sağlayan eriģim noktası olarak da kullanılmaktadır. ġekil 1 de MicaZ algılayıcı düğüm ve MIB520 programlama bordu (eriģim noktası) görülmektedir. ġekil 1 : MicaZ Algılayıcı Düğüm ve MIB520 Programlama Bordu (EriĢim noktası) B. MDA320 Veri Edinim Bordu Yapılan çalıģmanın bileģenlerinden biri de MDA320 veri edinim bordudur (Data acquisition board, DAQ). MDA320 veri edinim bordu üzerinde 8 kanal analog giriģ, 8 dijital giriģ çıkıģ kanalı, dıģarıdan sensör bağlanabilen 3 farklı seviye ucu ve harici I2C haberleģme uçları bulunmaktadır. 251
F. Aktaş, C. Çeken, K. Erkan, M. Yıldırım MDA320 bordunun öncelikli kullanım alanları, kablosuz düģük güçlü ölçümler, hava ölçüm sistemleri, hassas tarım ve sulama kontrolleri, ekolojik izlemeler, toprak analizleri ve uzaktan süreç denetimi olarak gösterilebilir [4]. ġekil 2 de MDA320 veri edinim blok diyagramı ve veri edinim bordu görülmektedir. Bu çalıģmada veri edinim bordu uzaktan denetim amaçlı kullanılmıģtır. K F(t), X(t) 0 L T t ġekil 3: Ölü zamanlı sistemin Birim Basamak Cevabı ġekil 3 te görüldüğü gibi sistem L zamanı kadar bir gecikme ile birim basamak fonksiyonuna cevap vermektedir. Bunun sebebi sistemde bulunan e -sl ifadesidir. Bu sistem herhangi bir denetleyici ile kontrol edilmek istenirse sistemde meydana gelen gecikmeler önemli sorunlar yaratabilir. Denetleyen sistem eski değerleri değerlendirerek hatalı kontrol iģaretleri üretebilir. Gecikme, giriģ iģaretindeki değiģiminin etkisinin çıkıģ iģaretinde gecikmeli olarak görülmesinden kaynaklanır [6]. ġu anda ölü zamanlı sistemlerin kontrolü için birçok yöntem geliģtirilmiģtir. Bu çalıģmada, Feedback Process Trainer 37-100 cihazı (ġekil 4) denetimi gerçekleģtirilen birinci dereceden ölü zamanlı bir sistem olarak kullanılmıģtır. Sistem cihaz üzerinde bulunan aksam ile kontrol edilebildiği gibi cihazın harici giriģleri ile dıģarıdan da kontrol edilebilmektedir. ġekil 2 : MDA320 veri edinim bordu blok diyagramı ve MDA320 veri edinim bordunun üstten görünüģü III. BĠRĠNCĠ DERECEDEN ÖLÜ ZAMANLI SĠSTEMLER Ölü zamanlı sistemler üzerine yapılan araģtırmalar artmakta ve bu sistemler için tasarlanan kontrolörler gün geçtikçe çeģitlenerek geliģmektedir. Fakat özellikle zamanla değiģen sistemlerin kontrolünün performansı ve kalitesi memnun edici düzeyde değildir. Bu sistemlerin matematiksel modelleri kolay elde edilemediğinden mühendislik uygulamalarını yapmak oldukça zordur [5]. Sanayide kullanılan endüstriyel kontrol sistemlerinin büyük bir bölümü ölü zamanlı sistemlerdir. Ölü zamanlı sistemler için X(s) giriģ büyüklüğü F(s) çıkıģ büyüklüğü olmak üzere transfer fonksiyonu aģağıdaki gibi tanımlanabilir. Burada K terimi kazancı, T terimi zaman sabitini, L terimi ise ölü zamanı ifade etmektedir. ġekil 3 te ölü zamanlı sistemin birim basamak cevabı görülmektedir. ġekil 4 : Denetimi gerçekleģtirilen Feedback Process Trainer 37-100 Sistemi IV. GERÇEKLEġTĠRĠLEN AĞ TABANLI DENETĠM UYGULAMASI Uygulaması gerçekleģtirilen süreç denetim sistemi blok Ģeması ġekil 5 te, kurulan düzenek ise ġekil 6 da görülmektedir. Söz konusu sistemin takip eden alt bölümlerde anlatılan 3 temel iģlevi vardır. GeliĢtirilen sistemle ilgili geniģ bilgiye http://ncs.kocaeli.edu.tr adresinden ulaģılabilir. 252
Kablosuz Algılayıcı Ağlar Kullanılarak Birinci Dereceden Ölü Zamanlı Bir Sistemin Denetimi ġekil 5: GeliĢtirilen sistemin blok Ģeması ġekil 6: GeliĢtirilen sistem için kurulan düzenek 253
F. Aktaş, C. Çeken, K. Erkan, M. Yıldırım A. Ortamdaki Verilerin Toplanması ve Bilgisayara Aktarılması ÇalıĢmanın ilk kısmı olan verilerin ortamdan toplanması iģlemini MicaZ algılayıcı düğümler gerçekleģtirmektedir. MPR2600 devresi ile MTS400CA algılama kartı birlikte kullanılarak algılayıcı MicaZ düğüm oluģturulur. MP2600 içerisine yüklenecek uygun kod ile düğüm ortamdaki fiziksel büyüklükleri algılayabilir. MicaZ düğümler, TinyOS açık kodlu iģletim sistemi ve nesc derleyicisi kullanılarak programlanabilirler. TinyOS iģletim sistemi bileģen tabanlıdır ve bu bileģenlerin iki tipi vardır; bunlar modül ve konfigürasyon dosyalarıdır. Konfigürasyon dosyası bileģenleri ve arayüzleri birbirine bağlamayı sağlar. Bu sayede bileģenler birbirlerinin görevlerini, komutlarını ve olaylarını kullanabilmektedir. BileĢenler arayüzler ile birbirlerine bağlanmaktadırlar. Arayüz ve bileģenler paket haberleģmesi, yönlendirme, algılama, harekete geçirme ve depolama gibi iģlemleri gerçekleģtirebilmektedir [7]. Sistem fanının çıkıģ kısmında bulunan algılayıcı düğüm, sistemin sıcaklığını algılamaktadır. Algılanan veriler baz istasyonuna gönderilmektedir ve baz istasyonuna gelen veriler Xserve ile bilgisayar ortamına aktarılmaktadır. Xserve KAA ile uygulama yazılımı arasında geliģtirilmiģ bir geçit olarak kabul edilebilir. Algılanan bu veriler XML formatında yayınlanmaktadır. Eğitim seti tarafından üretilen sıcaklık verisi Perl yazılımı tarafından XML paket formatında alınır ve kontrol iģaretini üretmek üzere Matlab yazılımına gönderilir. B. Değerlendirme ve Kontrol İşaretinin Üretilmesi ÇalıĢmada sistemin aç-kapa kontrolü gerçekleģtirilmiģtir. Aç-kapa kontrolde, kontrol cihazı belirlenen referans değerinin üzerinde veya altında enerjiyi açar ya da kapatır. Enerji ya tamamen açıktır ya da tamamen kapalıdır. Bu tip sistemler sıcaklık kontrolü gibi çok hassas olmayan sistemlerde kullanılırlar. Bu tip sistemlerde en çok karģılaģılan sorun, referans değerine ulaģan sistem çıkıģında sürekli bir aç-kapa durumunun oluģması ve bunun kontrol kısmında bulunan mekanik aksama zarar vermesidir. Bu sorunu aģmak amacıyla sistemde histerezis ile aç-kapa kontrol gerçekleģtirilmiģtir. Histerezis kontrolde referans değeri aģılır aģılmaz enerji kesilmez (off durumu). Daha önceden belirlenen bir değeri aģarsa enerji kesilir. Aynı Ģekilde referans değerinin altına düģüldüğünde sisteme enerji verilmez (on durumu). Daha önce belirlenen bir değerin altına düģüldüğünde sisteme enerji verilir. Böylelikle aç-kapa durumları geciktirilerek mekanik sistemin sık aç-kapa yapmasının önüne geçilir. ġekil 7 de histerezis grafiği görülmektedir. GerçekleĢtirilen uygulamada referans değeri merkez alınarak histerezis bir aralık belirlenmiģtir. Denetim yazılımı tarafından kontrol iģareti, referans değeri merkez alınarak belirlenmiģ bu histerezis aralıkta üretilmektedir. ġekil 7 : Histerezis Grafiği Sistemin denetim kısmının yazılımı Matlab programında geliģtirilmiģtir. Matlab programında yazılan kod ile Perl yazılımından alınan veri değerlendirilerek kontrol iģareti üretilmektedir. Üretilen kontrol iģareti MDA320 veri edinim bordunun dijital çıkıģlarına yazılacağından üretilen kontrol iģareti bu çıkıģ formatına uygun olacak Ģekilde üretilmektedir. Veri edinim bordunun 8 adet dijital çıkıģ ucu bulunmaktadır. Buna göre çıkıģlar onluk sayı sistemine göre 0 ile arasında değerler almaktadır. Matlab programında üretilen kontrol iģareti de bu doğrultuda olmaktadır. Sisteme gönderilmek üzere aç sinyali için onluk sayı sistemine göre 0 iģareti, kapa sinyali için onluk sayı sistemine göre iģareti üretilmektedir. ġekil 8 de sistemin çalıģmasını gösteren basit durum diyagramı görülmektedir. ġekil 8 : Sistemin çalıģmasını gösteren basit durum diyagramı Durum diyagramına göre yazılan kod Matlab Simulink ortamında Embedded Matlab Function bloğu içerisine yazılarak düzenlenmiģtir. Embedded Matlab Function bloğunun kullanılmasının nedeni, benzetim yapıldıktan sonra oluģturulan mex dosyasının gömülü sistemler içinde kullanılabilmesidir. Ayrıca Simulink ortamında veriler daha kolay izlenebilmektedir. ġekil 9 da uygulamanın Simulink ortamındaki çalıģır hali görülmektedir. Denetleyici ile gösterilen blok içerisinde aç-kapa denetim algoritması çalıģmaktadır. Ġleriye yönelik olarak bu blok içersinde bulanık mantık, PID, adaptif v.b. geliģmiģ denetim algoritmalarının kullanılması düģünülmektedir. 254
Kablosuz Algılayıcı Ağlar Kullanılarak Birinci Dereceden Ölü Zamanlı Bir Sistemin Denetimi Veri oku oku veri Ölçülen Değer Denetleyici 25.65 Denetleme ĠĢareti ġekil 9 : Simulink Ortamında Denetim Verisinin Üretilmesi C. Kontrol İşaretinin Sisteme Uygulanması Bu bölümde Matlab tarafından üretilen kontrol iģaretinin, sisteme nasıl uygulandığı anlatılmaktadır. Üretilen kontrol iģareti XMLRPC yöntemi kullanılarak veri edinim bordunda çalıģtırılmaktadır. XMLRPC, (Remote Procedure Calls) uzaktan yordam çağrısı anlamına gelmektedir. Basit olarak uzaktaki sisteme ait bir fonksiyonun çağrılmasıdır. Matlab programından Perl programına kontrol iģareti gönderilirken veri onluk sayı sistemine göre gönderilmektedir. XMLRPC yöntemi ile Perl programı üzerinden MDA320 veri edinim bordunun içerisinde çalıģan fonksiyon çağrılarak, kontrol iģareti bordun dijital çıkıģlarına yazılmaktadır. Gönderilen bilgi I2C veri yolu üzerinden bordun çıkıģlarına ikilik sayı sisteme göre yazılmaktadır. Örneğin Matlab programından gönderilen onluk sayı sistemindeki 15 verisi, veri edinim bordunun çıkıģlarında 00001111 ikilik Ģeklinde görülmektedir. Sisteme gönderilen aç kontrol sinyali olan onluk sayı sistemindeki değeri veri edinim bordunun çıkıģlarında 11111111, kapa kontrol sinyali olan onluk sayı sistemindeki 0 değeri ise 00000000 Ģeklinde okunmaktadır. MDA320 veri edinim bordunun dijital çıkıģlarındaki gerilim seviyesi maksimum 3,3 volt olmaktadır. MDA320 veri edinim bordu ile dijital analog çevirici devresinin lojik seviyelerini uygunlaģtırmak için bordun dijital çıkıģlarına seviye kaydırıcı devresi eklenmiģtir. Seviye kaydırıcı devresi dijital çıkıģlardaki gerilim seviyesini 5 volta çekmektedir. Denetim sistemini iki seviyeli ( 0/10 V ) denetime ek olarak oransal olarak da denetleyebilmek için dijital analog çevirici (Digital Analog Converter, DAC) kullanılmıģtır. Seviye kaydırıcı devresi çıkıģına eklenen 8 bit çözünürlüklü DAC devresi ile dijital veri analog sinyale çevrilmiģtir. Böylece Matlab ortamında üretilen kontrol iģareti DAC çıkıģında 0 ve 10 volt olarak görülmektedir. V. DENEYSEL SONUÇLAR Veri gönder oku veri Uygulamada kullanılan süreç denetim sisteminde sıcaklık, rezistans tarafından üretilmekte, rezistans çıkıģına bağlı bulunan fan yardımıyla da yayılmaktadır. Sisteme uygulanan aç-kapa kontrol bilgisi, rezistansın enerjisini açıp, kapatmaktadır. GeliĢtirilen uygulamayı test etmek için referans sıcaklığı 26 o C, histerezis aralığı ise 2 o C olarak belirlenmiģtir. 2 o C sıcaklık aralığı referans değerinin 1 o C üstü ve 1 o C altında olacaktır. Buna göre Matlab programında yazılmıģ kontrol rutinlerine göre kontrol iģaretinin, referans değeri olan 26 o C de değil, referanshisterezis değeri olan 25 o C ve referans+histerezis değeri olan 27 o C de üretilmesi gerekmektedir. Sıcaklık değeri histerezis aralığa girene kadar sisteme Ģartlara göre aç veya kapa iģaretleri gönderilmelidir. Sıcaklık değeri histerezis aralığına girdiğinde Ģartlara göre aynı aralıkta sisteme hem aç hem de kapa iģareti gönderilmelidir. Örneğin sıcaklık değeri histerezis aralığın üst sınırı olan 27 o C ye geldiğinde kapa kontrol iģareti sisteme gönderilmelidir. Bu iģaret, histerezis aralığın alt sınırı olan 25 o C ye kadar gönderilmelidir. Sıcaklık değeri 25 o C nin altına indiği anda ise sisteme aç iģareti gönderilmelidir. Bu iģaret yine üst sınır olan 27 o C ye kadar gönderilmelidir. ġekil 10 da Matlab yazılımına gelen sıcaklık verisi ve gelen bu veriye göre üretilen denetim iģareti grafikleri görülmektedir. ġekil 10 : Sıcaklık ve Denetim Bilgisi Grafikleri ġekil 10 daki grafiklerde görüldüğü gibi sistem denetimine baģlandığı anda ortamdan örneklenen ilk sıcaklık değeri 25 o C civarındadır. Algılanan bu ilk sıcaklık verisi histerezis aralığın altındadır ve süreç denetim sistemine rezistansı aç sinyaline karģılık gelen iģareti gönderilmiģtir. Bu iģaret referans+histerezis değerine karģılık gelen 27 o C ye kadar sisteme gönderilmektedir. 100. örnekleme değerine çok yakın bir örnekleme değerinde sıcaklık değeri 27 o C nin üzerine çıkmıģtır ve sisteme rezistansı kapat sinyaline karģılık gelen 0 iģareti gönderilmiģtir. Bu iģaret referans-histerezis değerine karģılık gelen 25 o C ye kadar gönderilmektedir. 300. üncü örnekleme değerine yakın bir örnekleme değerinde sıcaklık değeri tekrar 27 o C yi aģmıģtır ve sisteme tekrar rezistansı aç sinyaline karģılık gelen iģareti gönderilmiģtir. Bu süreç test aģaması boyunca devam etmektedir. VI. SONUÇ Bu çalıģmada kablosuz algılayıcı ağ altyapısı kullanılarak, birinci dereceden bir sistemin denetimine yönelik deney düzeneği geliģtirilmiģtir. Elde edilen sonuçlar kablosuz algılayıcı ağların geleneksel kullanım alanlarının yanı sıra denetim amaçlı olarak da kullanılabildiğini göstermiģtir. Ġleriye yönelik olarak
F. Aktaş, C. Çeken, K. Erkan, M. Yıldırım kablosuz algılayıcı ağların bulanık mantık, PID, adaptif gibi geliģmiģ denetim yöntemleri ile zaman duyarlı sistemlerin denetiminde kullanılması düģünülmektedir. KAYNAKLAR [1] Ceken, C., An Energy Efficient and Delay Sensitive Centralized MAC Protocol for Wireless Sensor Networks, Computer Standards & Interfaces, 30.1-2, 20-31, 2008. [2] Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E., A Survey on Sensor Networks, IEEE Communications Magazine 40.8, 102-114, 2002. [3] WSN PRO2400CA Kablosuz Algılayıcı kiti kullanım kılavuzu. [4] Crossbow Technology Inc.: http://www.xbow.com. [5] Han, P., Liu, J., Kai, P., A set of simple and effective control methods for dead time systems, Proceedings of the IEEE International Conference on Automation and Logistics 1674-1677, 2008. [6] Yücelen, T., Uzun Ölü Zamanlı Sistemler Ġçin Smith Öngörücüsü Yöntemi Ġle PI-P Kontrolör Tasarımı, http://www.emo.org.tr [7] Çalhan, A., Çeken, C., "Ortam Ġzleme Amaçlı Kablosuz Algılayıcı Ağların Benzetimi ve Uygulaması", (Habtekus 08) HaberleĢme Teknolojileri ve Uygulamaları Sempozyumu, (2008). 256