Sualtı Deney Platformu için Kontrol Kartı Tasarımı Ahmet Furkan ERGAN 1, Serhat Yılmaz 1, Mehmet YAKUT 1 1 Elektronik ve Haberleşme Mühendisliği Bölümü Kocaeli Üniversitesi, Kocaeli ahmetfurkanergan@gmail.com, serhaty@kocaeli.edu.tr, myakut@kocaeli.edu.tr Özet Uzaktan kumanda edilen sualtı araçları (ROV) hem sığ hem de derin sulardaki deniz bilimleri, petrol ve gaz çıkarımı, keşif ve kurtarma gibi zorlu görevler için kullanılırlar. Bu uygulamalarda ROV hareketleri bir batmaz kablo bağlantısı veya akustik haberleşme sistemleri aracılığıyla yüzeyde bulunan bir pilot tarafından yönlendirilir. Bu çalışmada TÜBİTAK desteği ile hazırlanan sualtı deney platformu için derinlik ve yön kontrolünü gerçekleştirecek kontrol kartı tasarlanmış ve güç katı, motor sürücüler, algılayıcı modülleri gibi tasarım aşamaları anlatılmıştır. Kart 8 adet DC, 8 adet servo motor sürebilecek şekilde tasarlanmıştır. Kontrol kartı 4 iticili deney platformuna kullanılacak ve Derinlik ve yön kontrolünde PID ve YSA yaklaşımları uygulanıp hangi yöntemle daha dengeli kontrol yapılabildiğine karar verilecektir. Abstract Remotely controlled underwater vehicles (ROVs) is using for marine sciences, oil and gas extraction, discovery and recovery tasks in shallow and deep waters. In these applications ROVs movements controlled by the pilot on the surface with a buoyant cable connection or acoustic communications. In this study, power stage, motor drivers, sensor modules such as the design phases are described for control board is designed to perform depth and direction control for the experimental platform which is prepared by The Scientific and Technological Research Council of Turkey (TUBITAK) s support. Board is designed for drive 8 DC motors and 8 servo motors. The control board will be used on experimental platform which have 4 thrusters and PID and Neural Networks approaches will be applied for decide which method can make more stable control. 1. Giriş İnsansız su altı araçları, günümüzde sualtı hareketlerinin izlenmesi, okyanus dibi sıcaklık haritalarının çıkarılması, gemi altı hasarlarının görüntülenmesine yönelik ekspertiz işlemleri, tehlikeli derinliklerde görüntü alma, batıkların incelenmesi, sahil güvenliğini sağlama, askeri bir takım görevleri yerine getirme, akarsuların denizlere döküldüğü alıcı su ortamlarının düzenli kirlilik analizi ve kirlilik haritalarının çıkarılması gibi çok geniş bir alanda kullanılmaktadır. Sualtı araçlar özelliklede ROV lar herhangi bir dalış ekibi ya da dalgıca gerek duyulmadan kıyıdan ya da su üstünde bulunan bir operatör tarafından kullanılan cihazlardır. Bu araçlar enerjilerini bünyelerindeki bataryalardan sağlayabildiği gibi yüzeydeki bir platformda konuşlandırılmış güç kaynağı ile bir kablo üzerinden de sağlayabilmektedirler. ROV lar yapılacak çalışmaya uygun olarak çeşitli algılayıcılar, pençeler, boru veya kablo takip mekanizması, yan taramalı sonarlar ve multibeam sonarlar gibi donanımlarla donatılabilirler [1]. Çalışmanın amacı, sualtı aracı teknolojisindeki gelişmelere denetim yöntemleri açısından katkı sağlayacak bir platform geliştirmektir. Uzaktan kumandalı veya otonom olarak çalışan sualtı araçları belirli bir açıya yönelme, belirli bir derinliğe inme, yanaşma ve seyir gibi temel dinamik hareketleri yapabilmelidir. Bu hareketlerin, sualtı akıntıları gibi bozucu etkiler karşısında da başarılı olması beklenmektedir. Bu amaçla testlerin yapılacağı bir sualtı aracı hazırlanmıştır. Aracın içinde çalıştırılacağı bozucu etki üreten bir deney tankı kurulmuştur. Araç derinlik bilgisini basınç transmitterinden, yön bilgisini elektronik pusuladan almaktadır. Aracın temel dalış ve hareketleri yapabilmesi için kablo bağlantısıyla uzaktan yönlendirilmesi sağlanmıştır. Hazırlanan kontrol arayüzünde istenen hareketleri sağlayabilmek için gerekli algoritmalar çıkarılmıştır. Bu çalışmada sualtı uygulamaları geliştirebilmek için tasarlanan bir sualtı deney platformu için hazırlanmış olan kontrol kartına ve kontrol uygulamasına yer verilmiştir. Yapılacak olan kontrol uygulaması TÜBİTAK desteği ile hazırlanan sualtı deney platformunda uygulanacaktır. Şekil 1: Sualtı Aracının İlk Tasarım Çizimleri Araç gövdesi elektronik aksamı koruyacak bir ana gövde, bataryayı taşıyan bir gövde kızağı ve motorlardan oluşmalıdır. Literatür çalışmaları incelenerek, araçta bulunması gereken 316
temel ekipmanlar belirlenmiş ve istenen aracın genel görünümü taslak olarak çıkarılmıştır (Şekil 1). Aracın derinlik (sephiye) kontrolü ve yalpa hareketi kontrolü için dikey iki motoru, aracın ileri ve geri yönde hareketi (itiş) ve sağa sola dönüşünü (manevra) kontrol edebilmek için ise yatay iki motoru bulunmalıdır. Araç gövdesi 200m derinliğe kadar sızdırmazlık sağlaması için 20bar basınç altında test edilmiştir [2]. 2. Kontrol Kartı Tasarım bir deney platformu için yapıldığı için uygulamanın yapılacağı donanımdan farklı donanımlar içinde kullanılabilecek şekilde tasarlanmıştır. Kart üzerinde iki adet mikrokontrolör bulunmaktadır. Bunların bir tanesi ARM Cortex-M4 tabanlı STM32F407VGT6 mirokontrolörüdür, bir diğeri ise üzerinde ARM Cortex-A8 tabanlı Texas Instruments AM335x mikrokontrolör ailesinden bir mikrokontrolör barındıran BeagleBone Black geliştirme kartıdır. Bu iki mikro kontrolör kontrol uygulamasında ayrı ayrı kullanılabileceği gibi aralarında iş bölümü yapılarak birlikte de kullanılabilmektedir. 2.1. Besleme Katı Kontrol kartımız 12 Volt pil grubundan beslenecek şekilde tasarlanmıştır. Uygulama için seçilen DC motorlarımızın beslemeside 12 Volt civarında olduğundan motor beslemeleri için ayrı bir besleme katı tasarlanmamış motor beslemeleri direkt olarak pillerden sağlanmıştır. Pillerden sağlanan besleme gerilimimiz anahtarlamalı regülatörler kullanılarak mikrokontrolörler ve algılayıcıları besleyecek seviyelere düşürülmüştür. Ayrıca 12V pilleri şarj edebilmek için de bir SEPIC şarj ünitesi kart üzerine eklenmiştir. 8 x DC Motor Sürücü Beslemesi Kamera Beslemesi SEPIC Şarj Ünitesi 2A Şarj Akımı 12V Pil Grubu 5V Regülatör 3A Besleme Akımı 3.3V Regülatör 3A Besleme Akımı elemanı farklı kimyalardaki pilleri şarj etmek içinde uygundur. Gerilim geribeslemesi istenilen şekilde ayarlanarak farklı gerilimlerdeki pilleri şarj etmekte mümkündür. Şarj devresinde akım geribeslemesi referans olarak 0 Volt alındığından ve pilden tamamen bağımsız olduğundan hassas bir şarj akımı ayarına izin vermektedir. Şarj ünitemizin akım geribeslemesi 2 Amper şarj akımı verecek şekilde ayarlanmıştır. Ayrıca, SEPIC topolojileride bir tür alçaltanyükselten dönüştürücü olduğu için giriş voltajı pilin voltajından daha düşük olduğunda da şarj imkânı vardır [3]. Fakat giriş voltajı düştüğü zaman giriş kaynağından çekilecek olan akımın artacağı unutulmamalıdır. Şekil 3: SEPIC Dönüştürücü Basitleştirilmiş Devresi 2.1.2. Alçaltıcı Dönüştürücüler Kontrol kartının mikrokontrolörlerini ve algılayıcılarını beslemek için ise anahtarlamalı alçaltıcı dönüştürücüler kullanılmıştır. 5 Volt ve 3,3 Volt beslemeler için iki ayrı dönüştürücü tasarlanmıştır. Bu iki dönüştürücü tasarım olarak birbirinin birebir aynısıdır. Yalnızca çıkış gerilimlerini ayarlamak için geribesleme dirençleri birbirinden farklıdır. Alçaltıcı dönüştürücüler için seçilen anahtarlama elemanları 340KHz frekansta anahtarlama yapabilen elamanlar olduğu için çıkış bobini boyutları oldukça küçülmüştür. İki dönüştürücününde anahtarlama elemanları direkt olarak pillerden beslenmektedir ve 3 Amper çıkış akımı sağlayabilmektedirler ve %96 ya varan verimle çalışırlar. LED Aydınlatma Beslemesi Basınç Transmitteri TCM3 Pusula BeagleBone Black Mini Servolar ARM MCU GY-80 IMU Sıcaklık Algılayıcısı Şekil 2: Kart Besleme Şeması 2.1.1. SEPIC Şarj Ünitesi Kontrol kartımızın şarj kısmında akım modlu bir anahtarlama elemanı kullanılmıştır. Bu anahtarlama elamanı 500KHz frekansında anahtarlama yapmaktadır. Dönüştürücü elemanlarda kullanılan gerilim geribeslemesine ek olarak anahtarlama elemanımızın akım geribeslemeside bulunmaktadır. Bu sayede pilleri şarj etmek istediğimiz akımı kendimiz belirleyebilmekteyiz. Kullanılan anahtarlama Şekil 4: Alçaltıcı Dönüştürücü Basitleştirilmiş Devresi 2.2. Kontrol Katı Kartın kontrol katı motor sürücüleri, algılayıcılar ve mikrokontrolörleri içermektedir. Bu bölümde bu kısımlar açıklanacaktır. 317
Kontrol kartımızın üzerinde STM32F407VGT6 mikrokontrolörü bulunmaktadır kartımızın algılayıcı bilgilerini toplamak, PID kontrolü yapmak, motorları, led aydınlatmayı, kamerayı kontrol etmek gibi görevlerini bu mikrokontrolör üstlenmektedir. Kart üzerinde video görüntüsünü yakalayabilmek için yüksek güçlü bir geliştirme kartı (BeagleBone Black) için bağlantı konektörleri bulunmaktadır. BeagleBone Black sadece kameradan aldığı görüntüleri Ethernet üzerinden yayınlamak için kullanılabileceği gibi, asıl kontrolör olan STM32F407VGT6 mikrokontrolörünün görevini üstlenebilecek şekilde tasarıma dahil edilmiştir. Kullanım kolaylığı sağlamak için kart üzerine STMicroelectronics firmasının üretmiş olduğu mikrokontrolörleri programlayabilen ve hata ayıklama yapabilen bir USB programlayıcı dahil edilerek USB aracılığıyla STM32F407VGT6 mikrokontrolörünün programlanabilmesi ve hata ayıklama kullanılarak programlama hatalarının giderilebilmesi amaçlanmıştır. Kontrol algoritmasında STM32F407VGT6 mikro kontrolörünün üstlendiği birçok görev vardır. Gerek algılayıcı değerlerinin okunması olsun gerekse PID veya YSA kontrolünün sağlanması olsun kontrol kısmının büyük bir yükü bu mikrokontrolöre binmektedir. STM32F407VGT6 pusula ve ivme algılayıcılarından aldığı verileri geri besleme olarak kullanırken aynı zamanda işlediği verileri BeagleBone Black kartına veya istenirse direkt olarak kontrol arayüzüne gönderebilmektedir. 2.2.1. Mikrokontrolör Kartın ana kontrolörü STMicroelectronics firmasının üretmiş olduğu ARM Cortex-M4 tabanlı STM32F407VGT6 mikrokontrolörüdür. Bu mikrokontrolör yeterli çevre birimleri ve yüksek çalışma frekansıyla kontrol kartımızın ana işlemlerini yapabilecek kapasitede bir mikrokontrolördür. DS18B20 WIKA S10 Kamera & LED Aydınlatma On/Off USB-OTG TCM3 Pusula GPIO ADC GPIO USB USART 2 USART1 USART 3 RS232 ARM Cortex-M4 BeagleBone Black GPIO Yön Kontrol PWM SPWM I2C DAC Zoom Kontrol USB Ethernet Live Stream & RS232 PC Şekil 5: Mikrokontrolörün Şematik Gösterimi 8 x DC Motor Hız ve Yön Kontrolü 8 x Servo Motor veya ESC GY-80 IMU Kamera 2.2.2. Algılayıcılar Şekil 6: Kontrol Kartı 3D Görünüşü Bu çalışmada yön bilgisini algılamak için PNI firmasının üretmiş olduğu TCM3 elektronik pusula modülü ve GY-80 IMU, derinlik bilgisini elde etmek için ise WIKA firmasının üretmiş olduğu S10 basınç transmitteri kullanılmaya karar verilmiştir. Fakat tasarım bu algılayıcıların yerine farklı algılayıcılar kullanmak içinde uygundur. TCM3 elektronik pusulası yüksek hassasiyetli ve insansız araçlar için sık kullanılan bir elektronik pusula modülüdür. Manyetik alandan doğru verileri elde edebilmek için uygulanması gereken birçok filtreyi içerisinde barındırmaktadır. Bu sayede ekstra bir çaba sarf etmeden 0.5C hassasiyetle yön bilgisi elde edilebilmektedir. Aynı şekilde WIKA S10 basınç transmitteride endüstriyel alanlarda kullanılan hassas bir basınç transmitteridir. GY-80 IMU ise üzerinde manyetometre, akselerometre, jiroskop ve barometre bulunduran hepsi bir arada bir insansız araç kontrol modülüdür TCM3 modülüne ucuz bir alternatif olarak karta eklenmiştir. 2.2.3. Motor Sürücüleri Daha öncede belirtildiği gibi kontrol kartı 8 DC ve 8 servo motoru kontrol edebilecek şekilde tasarlanmıştır. Servo motorlar için direkt olarak mikrokontrolörden PWM çıkışları alınmıştır. Yüksek güç gerektiren uygulamalarda servo motorlar için ayrılmış olan çıkışlar Elektronik Hız Kontrolörü (ESC) kullanılarak fırçasız DC motor sürmek içinde kullanılabilir. DC motorlar içinse hız ve yön kontrolü yapabilen iki adet yarım köprü sürücüler beraber kullanılarak H-Köprü sürücüler tasarlanmıştır. DC Motorun uçlarını bir gerilim kaynağına bağlarsak, motor bir yönde dönmeye başlar, DC Motoru ters kutupladığımızda ise motorun ters yönde hareket ettiğini görürüz. DC Motorun yön kontrolünü sağlayabilmek için H-Bridge (H-Köprü) denilen bir yöntem geliştirilmiştir. H-Bridge genel olarak 4 318
adet transistor, diyot ya da MOSFET ile gerçekleştirilen motorun iki yönlü dönebilmesini sağlayan bir yöntemdir. [4] d u( = KP e( + KI e( dt+ KD e( (1) dt e( r( y( = (2) PID kontrolde sistem çıkışının istenen referans değerini takip edebilmesi için KP, KI ve KD katsayılarının uygun şekilde belirlenmesi gerekmektedir. Bu yöntemde e( hata sinyalinin KP oransal terimle, hata sinyalinin integralinin KI integral terimiyle ve hata sinyalinin türevinin KD türevsel terimle çarpılıp toplanmasıyla u( kontrolör çıkışı elde edilir. Her bir PID katsayısının sistem performansı üzerindeki etkileri Tablo 1 de verilmiştir [6]. Tablo 1: PID Parametrelerinin Sistem Cevabına Etkisi Katsayı Yükselme Zamanı Aşım Oturma Zamanı Kalıcı Durum Hatası KP Azaltır Artırır Az Etki Azaltır KI Az Etki Azaltır Azaltır Yok Eder KD Azaltır Artırır Artırır Az Etki Şekil 7: DC Motor Sürücülerinin Basit Gösterimi 3. PID Kontrolör Başla PID kontrol döngüsü yöntemi, endüstriyel kontrol sistemlerinde yaygın kullanılan bir kontrol döngüsü geribildirim mekanizmasıdır. Bir PID denetleyici ölçülü bir süreç içinde değişen ve istenilen ayar noktası ile arasındaki farkı alarak bir "hata" değeri hesaplar [5]. Kontrolör proses kontrol girişini ayarlayarak hatayı en aza indirerek istenilen ayar değerine ulaşmaya çalışır. PID algoritması üç ayrı sabit parametreyi içerir ve buna göre bazen üç aşamalı kontrol olarak adlandırılır: oransal P ile gösterilir integral I ile gösterilir türev değerleri D ile gösterilir. Sezgisel olarak, bu değerler mevcut değişim göz önüne alınarak zaman açısından şu şekilde yorumlanabilir; P mevcut hataya bağlıdır, I geçmiş hataların toplamı ve D gelecekteki hataların bir tahminidir. Bu üç eylemin ağırlıklı toplamı yoluyla kontrol edilen süreç istenilen seviyeye ulaşmak için kullanılır. Örnek olarak bir DC motorun gerilimi kontrol edilerek istenilen hız en düşük hata ile elde edilmeye çalışılır. Modülleri Kontrol Et Tüm Modüller Hazırmı Evet Algılayıcı Verilerini Oku ve Arayüze Gönder Arayüzden Gelen Referans Bilgisini Oku Hayır PID Çıkışına Göre Hesaplanan PWM Değerini Motorlara Uygula Hata ve Bir Önceki Hata Arasındaki Değişimi Türev Olarak Ata Evet Eldeki Veri İle Gelen Referansı Karşılaştır ve Hatayı Bul Hata ve Bir Önceki Hatayı Topla ve Bunu İntegral Olarak Ata Şekil 8: Derinlik için PID Kontrol Bloğu Blok diyagramda u( kontrol sinyalini, y( çıkış sinyalini, r( referans sinyalini ve e( ise hata sinyalini göstermektedir. Yukarıda verilen blok diyagrama göre PID çıkışı u( Denklem 1 ve 2 deki gibi hesaplanır. Hata İstenilen Değerden Küçükmü? Hayır Şekil 9: Kontrol Algoritması PID Kontrole Başla 319
Burada hata işareti derinlik kontrolü için referans derinlik değeri ile basınç transmitterinden okunan gerçek derinlik bilgisi arasındaki ilgili örneklemedeki farktır. Denetim işareti ise dikey motorlara uygulanacak PWM işareti tarafından belirlenen ortalama gerilimdir. Yön kontrolünde ise denetlenecek yön hangisi ise istenen açı değeri ile elektronik pusulada o açıya ait eksenden gelen gerçek açı değeri arasındaki fark hatayı temsil eder. Denetim işareti söz konusu eksende dönüşü sağlayan motorlara uygulanan gerilimin karşılığı olan PWM işaretidir. 4. Bilgisayar Arayüzü Aracın uzaktan kontrolü PC tarafından sağlanmaktadır. Aracın durumunu görüntüleyebilmek ve değerlerini araca göndermek için C# ile bir bilgisayar arayüzü oluşturulmuştur. Şu anki haliyle arayüz sadece kontrol denemelerini yapabilmek amacıyla basit olarak tasarlanmıştır ve RS232 aracılığıyla araçla haberleşmektedir. İlerleyen tasarımda grafik arayüzden aracın kamera görüntüleri de izlenebilecektir. Aracın hareketleri şuanda grafik arayüz üzerindeki yönelim butonları ve bu butonlara karşılık gelen klavye tuşları ile yapılmaktadır. Sonraki arayüz revizyonlarında araç hareketleri bir gamepad veya joystik aracılığıyla yapılacak şekilde tekrar düzenlenecektir. Şekil 11: Derinlik Kontrolü Uygulaması Şekil 10: Bilgisayar Arayüzü 5. Sonuçlar Aracın derinlik kontrol uygulamaları ve testleri için bir test platformu oluşturulmuştur. Ayrıca bozucu etki oluşturmak içinde platform içerisine daldırılacak bir dalgıç pompa temin edilmiştir. Aracın derinlik kontrolü test platformunda test edilmiş ve 30cm derinlikten 60cm derinliğe dalarken basınç transmitterinden 1ms aralıklarla derinlik bilgisi okunmuş ve bu bilgiler kullanılarak bir derinlik grafiği çizdirilmiştir. Grafikten anlaşılacağı gibi araç 60cm derinliğe yaklaşık 0.6sn de dalmış ve yaklaşık 2sn sonunda 60cm derinlikte kendisini sabitlemiştir. Şekil 12: Derinlik-Zaman Grafiği Bu çalışma devam etmekte olan bir çalışmanın tamamlanan kısımlarını içermektedir. Çalışmada su altı deney platformu için bir kontrol kartı tasarlanmış olup PID derinlik kontrol uygulaması gerçekleştirilmiştir. Devam eden aşamalarda PID kontrol yön kontrolü içinde uygulanacaktır. Aynı zamanda bir YSA yapısı oluşturulup PID kontrol sonuçları ile karşılaştırılacaktır. Verimli olan kontrol biçimine karar verilip STM32F407VGT6 mikrokontrolörüne gömülecek ve aracın sadece seri haberleşme ile kontrol edilebilmesi sağlanacaktır. Ayrıca kontrol arayüzüde geliştirilip kart ayarlarının değiştirilebilmesine olanak sağlanacak ve kamera görüntüsünün ethernet aracılığıyla arayüz üzerinden izlenmesi sağlanacaktır. Aracın hareketlerinin kolay kontrol edilebilmesi içinde arayüze joystik veya gamepad desteği eklenecektir. 320
Teşekkür Makalede sunulan platform 111E294 No lu TÜBİTAK Projesi kapsamında kontrol kartı ise Kocaeli Üniversitesi BAP Hızlı Desteği kapsamında yapılmıştır. Yazarlar projeye desteklerinden dolayı TÜBİTAK ve Kocaeli Üniversitesi BAP Koordinasyon Birimi ne teşekkürlerini sunar. Kaynakça [1] L. Valdovinos, T. Jiménez, M. Sánchez, L. Balanzar, R. Alvarado and J.A. Ledesma, 2013: Modelling, Design and Robust Control of a Remotely Operated Underwater Vehicle [2] S. Yılmaz, M. Yakut, S. İnce, 2013: Derinlik ve Yön Kontrol Uygulamaları için Deney Platformu Tasarımı, Tübitak 1002 Hızlı Destek Projesi Final Raporu, Proje No:111E294, Temmuz 2013. [3] I.D. Kim, J.Y. Kim, E.C. Nho, and H.G. Kim, 2010: Analysis and Design of a Soft-Switched PWM Sepic DC- DC Converter [4] http://ieee.itu.edu.tr/lab/hbridge.pdf Ziyaret Tarihi:27.06.14 [5] http://en.wikipedia.org/wiki/pid_controller Ziyaret Tarihi:27.06.14 [6] G.Taşçı, G.Küçükyıldız, H.M. Ertunç, H.Ocak, PID ve Bulanık Mantık ile DC Motorun Gerçek Zamanda DSPIC Tabanlı Konum Kontrolü, Otomatik Kontrol Ulusal Toplantısı, Niğde, s:503-506, 2012 321