Hız Sabitleyici Sisteminin Bulanık Mantık Kontrol Algoritması ile Gerçek Zamanlı Kontrolü Aydın GÜLLÜ 1, Mustafa ARDA 2, Hilmi KUŞÇU 3 1 Elektronik ve Otomasyon Bölümü Trakya Üniversitesi İpsala MYO, Edirne aydingullu@trakya.edu.tr 2 Makine Mühendisliği Bölümü Trakya Üniversitesi Mühendislik Fakültesi, Edirne mustafaarda@trakya.edu.tr 3 Makine Mühendisliği Bölümü Trakya Üniversitesi Mühendislik Fakültesi, Edirne hilmi@trakya.edu.tr Özetçe Hız sabitleyici sistemler araçlarda konfor sağlamaları nedeni ile kullanılmaktadır. Hız parametresi belirli bir değere sabitlendiği zaman gaz kelebeğinin konumu kontrol edilerek, sabitlenen hız değerine gelmesi sağlanır. Gaz kelebeğinin konumu bir servo mekanizma ile kontrol edilir. Kontrol işleminin iyi bir şekilde yapılması, konforlu ve ekonomik bir seyir sağlamak için önemlidir. Bu çalışmada araç hız kontrol sisteminin bir prototipi yapılarak servo mekanizma ile bir gaz kelebeği modelinin konumu kontrol edilmiştir. Konum değişince tekerlekten alınan hız bilgisi de değişmektedir. Konumun iyi bir şekilde kontrolü için bulanık mantık kontrol algoritması kullanılmıştır. Kontrol algoritması bilgisayar ortamında MATLAB - SIMULINK yazılımında geliştirilmiştir. Bilgisayar ile fiziksel sistem üzerinde veri alışverişi için ARDUINO UNO elektronik kartı kullanılmıştır. Bulanık mantık ile yapılan bu kontrol işlemini sonucu verilen hız bilgisine iyi bir şekilde ulaştığı gözlemlenmiştir. 1. Giriş Hız sabitleyici (Cruise Control) sistemleri uzun seyahatlerde konfor sağlaması nedeni ile birçok araçta yerini almıştır. Temel olarak gaz kelebeğinin konumu otomatik değiştirerek kontrol eden bu sistem aracın sabit hızda gitmesini sağlamaktadır. Bazı durumlarda ise aracın önceden belirlenmiş bir hıza ulaşmasını sağlamaktadır.[1] Bu sistemde aracın belirlenen hıza ulaşması ve o hızda sabit kalması için iyi bir kontrol algoritması yapılması gerekmektedir. Sabitlenen hız etrafında salınım gerçekleşirse araçta konfordan uzak bir seyahat meydana gelir. Bunun için, bu çalışmada hız sabitleme sistemi kontrolü için bulanık mantık kontrol algoritması geliştirilmiştir. Bulanık mantık, klasik mantıkta kesin olan doğru ve yanlış iki önermenin arasında belirsizlik adı verilen üçüncü bir önerme ortaya koymuştur. Bulanık mantık işlemleri, bir problemin analizi ve tanımlanması, değişken kümelerin ve mantık ilişkilerinin geliştirilmesinden bulunan bilgilerin bulanık kümelere dönüştürülmesi ve modelin yorumlanması işlemlerinden oluşmaktadır[2]. 2. Sistem Donanımı Hız sabitleyici sisteminin denemeleri için bir prototip düzenek geliştirilmiş. Bu düzenek gaz kelebeğinin kontrolü için servo mekanizma, gaz kelebeği konum sensörü ve hız sensöründen oluşmaktadır. Fiziksel olarak sistemde bilgisayar ile veri transferi için gömülü sistem elektronik kart kullanılmıştır. 2.1. Hız Sabitleyici Sistemi Prototip olarak geliştirilen sistem düzeneğinde hız kontrol ünitesi ve gaz kelebeği konum sensörü Şekil 1 de verilmiştir. Hızlanma ve yavaşlama için temel kontrol gaz kelebeğinin konumunun değiştirilmesidir. İleri seviye hız sabitleyicilerde fren sistemin kontrolü de sağlanarak hız sabitleme yapılmaktadır. Bu çalışmada gaz kelebeğinin konumuna dayalı bir kontrol yapılacaktır. Şekil 1: Servo Mekanizma ve Gaz Kelebeği Konum Sensörü. Gaz kelebeğinin konumu doğrusal hareket eden bir servo mekanizma ile kontrol edilmektedir. İleri ve geri hareket eden bu mekanizma gaz kelebeğinin konumunu değiştirmektedir. 1096
Gaz kelebeğinin konumu bir potansiyometre ile algılanmaktadır. Potansiyometrenin direncinin değişimi motorun hızını değiştirmektedir. Motor hızı, tekerlekler üzerinde bulunan mıknatısların, manyetik sensörün algılaması ile bulunmaktadır. Arada kullanılan elektronik devre ile hız analog olarak algılanmaktadır. Şekil 2: Tekerlek ve Hız Sensörü. Kontrol algoritmasında, sistem geri beslemesi motorun hız bilgisini oluşturmaktadır. Bulanık mantık kontrol algoritmasının çıkışı ise servo mekanizmaya uygulanarak gaz kelebeğinin konumu değiştirilmektir.[3] 2.1. Gömülü Sistem Kontrol Kartı Sistemin kontrol algoritması MATLAB-SIMULINK yazılımı tarafından geliştirilmiştir. MATLAB yazılımında kontrol sağlanabilmesi için sistemden verilerin alıp ve işlenen sinyallerin tekrar sisteme gönderilmesi gerekmektedir. Bunun için üzerinde ATMEL Atmega328 mikro denetleyici entegresi bulunan bir elektronik kart kullanılmıştır. Kartın USB soketi bilgisayar bağlanarak seri haberleşme ile bilgisayardan programlanabilir ve veri haberleşmesi sağlanabilir. [4] Servo Mekanizma 1-12V arasında çalışmaktadır. 1 volt gerilim verildiğinde gaz kelebeğinin konumu kapalı, 12 volt gerilim verildiğinde ise tamamen açık olacaktır. 0V verildiği zaman ise mevcut durumunu korumaktadır. Gömülü sistem üzerinde, hazır olarak darbe genişlik modülasyon çıkışı bulunmaktadır. Bu çıkış sayesinde 8 bit çözünürlüğünde 0-5V arasında DC gerilim üretilebilmekte ve çıkış kontrol edilebilmektedir. Bu sinyal, PWM-Analog dönüştürücü bir devre ile 0-12 volt değerine ölçeklendirilmiştir. Analog olarak algılanan hız bilgisi ise 10 çözünürlüklü girişten algılanarak okunmuştur. Alınan ve gönderilen sinyallerin uyum sağlayabilmesi ve düzgün bir kontrol yapılabilmesi için çeşitli katsayılar ile çarpılmıştır. 3. Kontrol Algoritması Sistemin kontrol algoritması MATLAB-SIMULINK ortamında geliştirilmiştir. Sistemin gerçek zamanlı kontrolü için kullanılan ARDUINO UNO kartı ile MATLAB haberleşmesi için ARDINO IO kütüphanesinden yararlanılmıştır. Bu kütüphane ile MATLAB üzerinden ARDUINO kartının dijital giriş ve çıkışları kontrol edilebilmektedir. Kütüphane MATLAB dizinine eklendiği zaman ister komut satırı ile ister SIMULINK altında bloklar yardımı ile gerçek zamanlı veri transferi yapılmaktadır. Bu işlem diğer yöntemlere daha ekonomik ve kolaydır. MATLAB bir bilgisayarın işletim sistemi altında çalıştığı için sistemde veri transferi hızını bilgisayar sınırlamaktadır. İşletim sisteminden gelen kesmeler (virüs programı, uyarı mesajları v.b.) veri iletiminde bazı sıkıntılara neden olmaktadır. Fakat genel anlamda sistemin denetlendiğini, denetim parametrelerini doğruluğu görmek açısında verimli bir kontrol yöntemidir. Şekil 4 te görülen kontrol algoritmasında giriş parametresi (sabitlenecek hız değeri), sabit sayı olarak sisteme verilmiştir. Verilen hız ve sistemden okunan hız bilgisi karşılaştırılarak hata değeri ve hatanın değişimi elde edilmiştir. Bu değerler MATLAB Bulanık Mantık düzenleyicisinde geliştirilen modele verilmiştir. Şekil 3: ARDUINO Kartın Sisteme Bağlanması. Şekil 4: SIMULINK Ortamında Geliştirilen Kontrol Algoritması. 1097
Bulanık mantık yönteminde veriler öncelikle bulanıklaştırılmakta sonra kural tablosuna göre sınıflandırılmakta ve son olarak da berraklaştırma işlemi uygulanmaktadır. Bulanık mantık yönteminin akış diyagramı Şekil 5 de görülmektedir. Dharamniwas ve arkadaşları[5] bir su deposunun seviyesini bulanık mantık yöntemi ile denetledikleri çalışmalarında benzer bir metot kullanmışlardır. Şekil 7: Hatanın Değişimi Değişkeni Üyelik Fonksiyonları. Değişkenlerin yorumlanmasında kullanılacak olan kural tablosu Tablo 1 de belirtilmiştir. Tablo 1: Değişkenler İçin Kural Tablosu Şekil 5: Bulanık Mantık Akış Diyagramı. Bu çalışmada, hata ve hatanın değişimi değişkenlerinin bulanıklaştırılması için gaussmf üyelik fonksiyonları kullanılmıştır. Belirsizlik durumu Negatif, Sıfır ve Pozitif olarak üç durumda incelenmiştir. Şekil 6 da ve 7 de hata ve hatanın değişimi için üyelik fonksiyonlarının grafiksel gösterimi belirtilmiştir. Üyelik fonksiyonları (-100,100) aralığında tanımlanmıştır. Hata - Hatanın Değişimi Negatif Sıfır Pozitif Negatif Hızlı Hızlı NormalHızlı Sıfır NormalHızlı Yavaş NormalYavaş Pozitif NormalYavaş Yavaş Yavaş Kural tablosuna göre sınıflandırılan verilere berraklaştırma işlemi uygulanır. Bu işlem sonucunda hız verisi elde edilecektir. Berraklaştırma işlemi için trampf ve trimf üyelik fonksiyonları kullanılmıştır. Belirsizlik durumu Yavaş, NormalYavaş, Normal, NormalHızlı ve Hızlı olarak beş durumda incelenmiştir. Şekil 8 de Hız değişkeni için üyelik fonksiyonlarının grafiksel gösterimi belirtilmiştir. Şekil 6: Hata Değişkeni Üyelik Fonksiyonları. 1098
Şekil 8: Hız Değişkeni Üyelik Fonksiyonları 3. Sonuç ve Değerlendirme Araçlarda hız sabitleme sistemleri için bulanık mantık ile bir kontrol algoritması geliştirilmiştir. Bu algoritma MATLAB- SIMULINK yazılımında oluşturulmuş ve ARDUINO UNO elektronik kartı ile prototip sisteme uygulanmıştır. Sisteme sabit bir hız bilgisi verilerek sistemin o hızda sabit gitmesi sağlanmıştır. Sabitlenen hız değeri 30 birimden 60 birime çıkartılmış ve sistem tepkisi gözlemlenmiştir. Şekil 9 da verilen grafikte, sabitlenen hız ve kontrol edilen hız grafikleri üzerinde de görüldüğü gibi hız değeri yaklaşık ±%0,1 hata ile istenen değere ulaşmıştır. Oturma zamanın 98 sn olduğu sistem, yavaş gibi gözükse de servo mekanizmanın tepkisi 30 birimden 60 birime maksimum hızda çalıştığı zaman 48 sn olarak ölçülmüştür. Şekil 10: Servo Mekanizmaya Uygulanan Kontrol Sinyali Şekil 11 de servo mekanizmanın birim basamak cevabı tepkisi gösterilmiştir. Servo mekanizmaya birim basamak verildiği zaman maksimum gerilimde hızlanma grafiği verilmiştir. Şekil 10 da kontrol sinyali görülmektedir. Hızın 30-60 arası değişimi kontrol sinyalinde ani bir artış göstermektedir. Fakat bu artış maksimum değerlere ulaşmamaktadır. Sonrasında ise belirlenen hız değerine kolayca ulaşabilmesi için azalarak devam etmektedir. Otomobillerde ivmelenmenin çok hızlı olması konfor açısından bazı sorunlar oluşturabilir. Bu sebeple bulanık mantıkla yapılan bu denetim hızı yakalaması ve takip edebilmesi sebebi ile kullanılabilir bir yöntemdir. Servo sistemin tepkisinin doğrusal olması nedeni ile sistemin PID ile denetimi daha verimli olabilir. Şekil 9: Kontrol Edilen ve Sabitlenen Hız Grafikleri Şekil 11: Servo Mekanizmanın Birim Basamak Cevabı 1099
Otomatik Kontrol Ulusal Toplantısı, TOK2013, 26-28 Eylül 2013, Malatya Kaynakça [1] GULLU A., KUŞÇU, H.:"Cruise Control Systems and Examination of These Systems with Today's Technology", International Scientific Conference UNITECH'12 Gabrovo, Proceedings Volume-II, pp. 123-128, 16-17 November, Bulgaria, 2012 [2] Yüksel, İ, Otomatik Kontrol: Sistem Dinamiği ve Denetim Sistemleri, Nobel Yayınevi, 7. Basım, İstanbul, 2011. [3] Gullu A, Araçlar için Yol Bilgisayarı Tasarımı, Seminer, Trakya Üniversitesi Müh. Fak. Mak. Müh. Bl. s:19-48, 2013. [4] ARDUINO Resmi WEB Sitesi http://www.arduino.cc Erişim Şubat 2013. [5] Dharamniwas, Ahmad, Redhu, Gupta, International Journal of Advances in Engineering & Technology, Cilt 4, Sayı 1, s:537-549, 2012. [6] Malhotra,R.,Sodhi, R., BoilerFlowControl Using PID andfuzzylogic Controller, IJCSET, Cilt 1, Sayı 6, s. 315-319, 2011. [7] Sudha, G.,Anita, R., Performance Based Comparison Between VariousZ-N Tuninng PID AndFuzzyLogic PID Controller in Position Control Systemof Dc Motor, International Journal on Soft Computing (IJSC), Cilt 3, Sayı 3, 2012. [8] Kuo, B. C., Automatic Controm System, Prentice Hall, 7th Edition, 1995. [9] MATLAB Veri Paylaşım Sitesi http://www.mathworks.com/ Erişim Mart, 2013 [10] Ogata, K., Modern Control Engneering, 4th Edition Prentice Hall 2011. [11] Bahavarnia, M.; Tavazoei, M.S. A new view to ZieglerNichols step response tuning method: Analytic nonfragility justification Journal of Process Control, January 2013. [12] Margolis, Michael. Arduino Cookbook, Edition: 2nd ed. Sebastopol, Calif : O'Reilly. 2012. 1100