5 Elektronik Tasarım, Algoritma ve Yazılım Tasarımı
5.1 Elektronik Tasarım Süreci
Aracın elektronik tasarım süreci 3 aşamadan oluşmaktadır:
1-Gerekli kompenentlerin ve enerji taşıma kablolarının hesabı ve seçimi.
2-Merkezi besleme noktasından gelen gerilimin uygun gerilime dönüştürülmesi.
3-Data hatları için uygun haberleşme protokolünün seçimi ve testi.
İlk aşamada tespit edilen malzemelerin satın alınıp donanımsal ve yazılımsal özellikleri test edilecektir, akabinde ise montaj kısmına geçilecektir.
29
Kablo gerilim düşümü hesabına göre 8 AWG kablo kullanılacağı hesaplanmıştır. Araca gelen 48v gerilimide hazır bir dc dc buck konverter ile 12v a düşürüp kullanmayı hedeflemekteyiz.
RASPBERRY Pİ 4
Özellikle otonom görevi için güçlü bir kontrol kartı seçmek adına hem ekonomik hem de kullanım kolaylığı açısından raspberry pi 4 seçildi. Raspberry pi4 ün temel özellikleri 1.5 GHz dört çekirdekli ARM Cortex-A72 CPU, 4GB RAM, Gigabit Ethernet. Aracın kontrolünden çok görüntü işleme kısmı için bu kartın kullanılması hedeflenmektedir.
Şekil 5.1 Raspberry pi 4
Arduino Mega
Görüntü işleme işi çok ciddi işlem kapasitesi gerektirdiği için o kısımı raspberry pi kullanarak yapmayı hedeflemekteyiz. Kontrol kısmını ise arduino nano kullanarak yapmayı hedefliyoruz. Bu sayede raspberry pi ın işlem yükünü azaltıp bir kısmını arduinoya yaptırmış olacağız. Neden arduino sorusunun cevabı ise yine kullanım kolaylığı ve efektif çalışabilmesidir.
Şekil 5.2 Arduino Mega
30 Acil Stop Butonu
Aracın üst kısmında bulunacak olan acil stop butonu sayesinde herhangi bir acil durumda basılarak ana besleme hattının gerilimini kesecektir ve dolayısıyla araca elektrik akışı kesilmiş olacaktır. Bu butonu plastikten tercih ettik çünkü metal olması durumunda sudan dolayı korozyona uğrayacaktır. Ancak klemens vidaları metal olduğu için gerekli bağlantıları yaptıktan sonra epoksi reçine ile metal noktaları da kapatacağız
Şekil 5.3 Acil Durum Butonu
Fırçasız Motor Sürücü
FVT LittleBee 20A fırçasız motor sürücü(ESC) içerisinde bulunan mikrokontrolcü ile bilgisayardaki arayüğz programı ile programanıp geerekli konfigrasyon yapıldıktan sonra son derece efektif bir şekilde çalışmaktadır. Birçok sualltı aracı takımı çift yönlü çalışan esc alamayı tercih ediyor. Ancak biz maliyeti düşürmek adına nomrla bier esc alıp röle ile kendimiz çift yönlü hale getirmeyi hedeflemetkeyiz. Bu esc kullanacağımız motorlar için uygun güce sahiptir ve esv hanesinde sudan koprunacak şekilde duracaktır.
Şekil 5.4 ESC
31 Fırçasız Motor
Tasarladığımız thrusterlara tahrik gücünü veren motor 800kva brushless dc motordur.
Bu motor tipini seçmemizin ana sebebi ise sargılarının vernik kaplı olması ve şasesinin aluminyum olması ile beraber sudan etkilenmemesidir.
Şekil 5.5 Fırçasız Dc Motor
MPU 6050 Gyro Sensör
MPU-birçok projede sıklıkla kullanılan üzerinde 3 eksenli bir gyro ve 3 eksenli bir açısal ivme ölçer bulunduran 6 eksenli bir IMU sensör kartıdır. Her eksende 16bit çözünürlükte çıkış verebilmektedir. Aracımızın yan atmaması ve ya ters dönmemesi için pid kontrol ile kullanmayı hedeflemekteyiz. Mikrokontrolür ile I²C haberleţmesi ile çalýţmakta olup en ufak elektromanyetik alandan etkilenmektedir. Bu sorunu da su altý aracımızın modüle tasarımı sayesinde aşmayı hedeflemekteyiz. Modüler tasarımın bize en büyük katkısı motorlar ve sürücüler kontrol modülünden uzakta konumlandırılmış durumda, dolayısı ile herhangi bir elektromanyetik alandan etkilenme durumu söz konusu olmayacaktır.
Şekil 5.6 Gyro Sensör
32 Klemens Modülü
Arduino nano klemens shield ve raspberrpi klemens shield ile arduinonun pinlerinden çıkan kabloları kolayca ve güvenli bir şekilde çevre birimlere iletmeyi hedefliyoruz. ikinici aşamada ise kendi anakartımızı tasarlamayı hedeflemekteyiz.
Şekil 5.7 Klemens Modülü
Su Sensörü
Bu sensörü kendimiz elektrot mantığı ile yapmayı hedeflemekteyiz. Aracımızın modüler yapısından dolayı he modüle bu sensörden koyup herhangi bir ıslanma anında aracı su yüzeyine çıkacak şekilde programlamayı hedefliyoruz. Basit bir direnç yardımı ile bu sensörü üretip doğru kablolama ile efektif çalışır hale getireceğiz.
Şekil 5.8 Su Sensörü Modülü
DC DC Buck Dönüştürücü
Ana besleme noktasından gelen 48V gücü 12V a dönüştürecek modül. Bu dc dc buck dönüştürücü su altı aracımız için uygun gerilimi bize sağlayacaktır. 150w olan ve üzerinde bulunan ayar potu sayesinde 0-60v DC girişi 0-30v DC çıkışa çevirmektedir.
%95 verimlilikele çalışmakta olup kendi yapacağımız fanlı soğutma ile destekleyeceğiz.
Şekil 5.9 DC DC Dönüştürücü
33
Şekil 5.10 Aracın Blok Şeması
Şekil 5.11 Aracın Kontrol Kartı
34
Şekil 5.12 Aracın Elektronik Sistem Şeması
35 5.2 Algoritma Tasarım Süreci
5.1 Araç Kontrol Sistemi Mesaj Algoritması
Araç kontrol sisteminde Şekil 5.1’deki algoritma tasarlandı. Algoritmada eksiklikler olduğu belirlendi ve algoritma iyileştirildi .
36
Şekil 5.2 Araç Kontrol Sistemi Mesaj Algoritması
Bu algoritma ile Kontrol istasyonundan Raspberry Pi’ ye veri yollanacaktır. Yollanan bu verilere göre Raspberry Pi motorları harekete geçirecektir.
37
5.3 Hareket algoritması
Bu algoritmada A değişkeni döngünün devam edebilmesi için gerekli olan şartı barındırmaktadır. B değişkeni ise adım sayısını belirtir bu değişken istenirse kolayca değişebilecek şekilde tasarlandı.
38
5.4 Navigasyon Algoritması
Navigasyon algoritması iki doğrulama ile çalışmakta en başta gerekli verileri okuyup kendi konumunu belirlemekte daha sonra ise hareketlerine göre konum verileri değiştirmektedir. Bu algoritma gerekli çalışmalar ve birebir denemeler sonucu değişebilir.
39
5.5 Güdüm Algoritması Tasarımı
Güdüm algoritması havuzu tarama ve cisim algılama üzerine kurulu , bu algoritma aracın testlerinde gözlemlenen sonuçlara göre geliştirilecektir.
Cisim algıla işlemlerinde Fast R-CNN ve R-CNN gibi cisim algılama işlemlerinde kullanılan sistemleri kullanmayı amaçlıyoruz.
40 5.3 Yazılım Tasarım Süreci
Araç navigasyon sistemi için iki farklı yöntemimiz bulunmakta bu iki farklı yöntem navigasyon sisteminin daha güvenli ve daha sürdürülebilir hale getirmektedir.
1.Sistem
Araç su içerisinde 3 eksende mesafe ölçümü yapacak ve hareketlerine göre bu mesafe değerleri değişecek buna göre araç kendi konumunu bulabilecektir. (Not:Kırmızı çubuklar 3 eksende mesafe ölçümünü temsil etmektedir)
Şekil 5.6 Örnek sensör yerleşimi 2.Sistem
Aracın içerisinde gyro-sensör bulunmaktadır gyro-sensör ile alınan veriler işlenerek aracın tam ve doğru konumu öğrenilecektir. 1.sistemden alınan veriler başlangıç verisi olacak bu verilere gyro-sensörden gelen veriler ile destekleme yapılarak aracın kendi konumunu bulması sağlanacak. Araç bu sistemden aldığı veriler ile göreve göre su içerisini otomatik olarak tarayacak.
41
Şekil 5.7 Harf Tanıma
Harf tanıma işleminde Pytesseract kütüphanesini kullanmaktadır. Bu kütüphane hızlı olması, donanımı zorlamaması ve kolay kurulumu nedeniyle seçildi. Threshold yaparak görüntüyü daha az karmaşık hale getirdik. Gördüğünüz üzere bu yazılım ile A harfi bilgisayar tarafından algılanmıştır. Geliştirdiğimiz bu yazılım bir resmi farklı açılardan 10 defa okumakta ve en fazla hangi harf çıktı verildiyse sonuç olarak o harf alınmaktadır. Böylece hata oranı en aza indirilmektedir.
42
Şekil 5.8 Harf Konum Bulma
Şekil 5.9 Harf Konum Bulma Geliştirilmiş Versiyon
Harf konum bulma yazılımı Harf Tanıma işleminin bütün bir resimde yapılarak donanımın zorlanmasını engellemek amacıyla geliştirilmiştir. Bu yazılım ile harf konumları bulunmakta ve resimden parçalar halinde kesilmektedir bu parçalar Harf Tanıma Yazılımına ayrı ayrı verilerek çıktılar alınmaktadır.
43 5.4 Dış Arayüzler
Aracın dış arayüzü C# Form Application ile oluşturulacak olup seri haberleşme kütüphanesinden yararlanılacaktır. Bu platformu tercih etme sebeplerimiz ise yaygın olarak kullanılması, sürükle bırak metodunun hızı ve çok ayrıntılı olmasıdır. Arayüzde ise kamera ekranı, kontrol paneli için joistik ikonları, gyro sensörden alınan değerlerin gösterilmesi, nem sensörlerinden alınan bilgilerin ekranda gösterilmesi acil stop butonu ikonu ve gripper joystick ikonu yer alacaktır.
Şekil 5.10 Kontrol İstasyonu
44 6. GÜVENLİK
Araçta herhangi bir aksaklık ve olası bir müdahale durumunda aracın gücünü kesmek için acil durum butonu kullanılacaktır
Şekil 6.1 Acil Durum Butonu
Aracın motor ve pervanelerini herhangi zarar ve darbeden korumak amacıyla motorlara etrafını çevreleyen kutu tasarlandı.
Şekil 6.2 Motor Kutuları
Aracın sivri kenarları ve diğer parçaların kenarları herhangi bir zarar verilmemesi için şaseye radyüs yapılarak diğer parçalarda şaseye gömüldü.
Şekil 6.3 Aracın Şasesi ve Parçaların Konumları
45 7. TEST
Aracın Final Tasarımın malzeme kutularına su testi yapıldı ve kutuların su geçirgenlikleri test edildi. Testten geçemeyen malzemeler ise sızıntı yerlerine ilgili yapıştırıcı uygulanarak tekrar aynı teste maruz bırakıldı.
Aracın malzeme kutularının kapaklarında su geçirmemesi ve acil bir durumda açılması için kapaklara sıvı conta testi yapılmıştır.
Şekil 7.2 Sıvı Conta Testi Şekil 7.1 Malzeme Kutusu Su Testleri
46 8. TECRÜBE
Araç yapılırken birçok yerlerde hatalar yapılmıştır bunlardan biri ön tasarımın malzeme kutusu bir biri içerisinde iki kutuydu CAD ortamında herhangi bir sorun gözükmezken aracı gerçek ortaya çıkarıldığında kutuların birbirine geçmediği görülmüştür.
Şekil 8.1 Test Aşaması
Bu sorunun çözümü birbiri içinde kutular şeklinden tek bir kutu ve izolasyonu yapılmış bir kutu modeline geçmekti malzeme israfını önleyerek ve su geçirgenliğini tehlikeye atmayarak yeni bir kutu modeline geçildi .
Şekil 8.2 Tasarlanan Yeni Kutu Modeli
Diğer bir karşılaşılan sorun ise ön tasarımın şasesinin yeterince sağlam olamaması, şasenin esneme yaparak yer değiştirme yapması ve aşağı yukarı motorların şasenin altında kalarak ulaşım ve müdahale imkanını zorlaştırması.
47
Şekil 8.3 Esneme yapan şase
Şasenin esnemesini önlemek için final tasarımında sigmalardan şaseye iskelet yapıldı.
Şekil 8.4 Final Tasarımı İskelet yapısı
Bu tecrüben yer alarak aracın motorlarını Final Tasarımında merkeze konuşlandırarak müdahale imkanı kolaylaştırılmış oldu .
48
Şekil 5.7 de ki yazılımın sistemi yorabilmesi nedeni ile Sistemi daha az yoracak bir algoritma araştırıldı fakat kullanılan yazılımın geliştirilmesi planlandı. Bunun üzerine yazılıma sadece harflerin konumunu algılayacak bir tasarım geliştirilerek eklendi .