14
2209 ÜNİVERSİTE ÖĞRENCİLERİ YURT İÇİ / YURT DIŞI ARAŞTIRMA PROJELERİ DESTEKLEME PROGRAMI SONUÇ RAPORU PROJE BAŞLIĞI: ÜÇ BOYUTLU İVME SENSÖRÜ İLE TRAFİK KAZALARINI BİLDİRME SİSTEMİ PROJE YÜRÜTÜCÜSÜNÜN ADI: Ali Kemal SARUHAN DANIŞMANININ ADI: Prof. Dr. Akif KUTLU

TÜBİTAK 2209

  • Upload
    kemsar

  • View
    1.251

  • Download
    7

Embed Size (px)

Citation preview

Page 1: TÜBİTAK 2209

ÜNÜ

2209

ÜNİVERSİTE ÖĞRENCİLERİ YURT İÇİ / YURT DIŞI ARAŞTIRMA

PROJELERİ DESTEKLEME PROGRAMI

SONUÇ RAPORU

PROJE BAŞLIĞI: ÜÇ BOYUTLU İVME SENSÖRÜ İLE TRAFİK KAZALARINI BİLDİRME SİSTEMİ

PROJE YÜRÜTÜCÜSÜNÜN ADI: Ali Kemal SARUHAN

DANIŞMANININ ADI: Prof. Dr. Akif KUTLU

Page 2: TÜBİTAK 2209

GENEL BİLGİLER

PROJENİN KONUSU Trafik Kazası Bildirme Sistemi

PROJE YÜRÜTÜCÜSÜNÜN ADI Ali Kemal SARUHAN

DANIŞMANIN ADI Prof. Dr. Akif KUTLU

PROJE BAŞLANGIÇ VE BİTİŞ TARİHLERİ

01.09.2011-30.06.2012

1. Giriş

Ülkemizin öncelikli problemleri arasında yerini halen korumakta olan trafik kazalarının

ve trafik kazaları sonucu ölümlerin azaltılması, araçlarda kullanılan iletişim

teknolojileri sayesinde mümkün olabilir. Klasik olarak kaza olduğunda: Kazayı,

kazazede kendisi veya kazayı gören seyirci bildirir. Fakat kazazede durumunu

bildiremeyecek kadar kötü olabilir, seyirci geçmeyebilir veya kaza mahalli

bildirilemeyebilir. Bu durumun etkisini azaltmak için kaza tespiti ve kazanın

konumunun belirlenmesi ile en yakın ilkyardım ekiplerinin kaza yerine yönlendirilmesi

sağlanabilir. Bu proje ile kazaların anında bildirimin iyileştirilmesi ve acil servisin

tepkisinin hızlandırılmasını sağlayacak yeni bir iletişim sistemi tasarlanması

hedeflenmektedir. Bu sayede kaza sonucu meydana gelen ölümleri ve yaralanmaları

en aza indirmeye çalışarak trafik kazalarının toplumsal ve mali yükünün azaltılması

hedeflenmektedir. Projemizde araç koordinat verilerinin SMS (Short Message

Service) aracılığı ile merkeze iletilmesi ve herhangi bir internet bağlantısına gerek

duyulamadan koordinat belirleme işleminin gerçekleştirilmesini amaçladık. Ek olarak

SMS ile alınan koordinat bilgileri Google Earth haritasını kullanan bir kullanıcı

arayüzünde gösterilerek projemize görsel bir fonksiyon kazandırdık.

Page 3: TÜBİTAK 2209

2. Rapor dönemlerinde yapılan çalışmalar

2.1. I. Dönem Çalışmaları

2.1.1. Sistemin Sınıflandırılması

Bu bölümde, projemiz “Üç Eksenli İvme Sensörü ile Trafik Kazalarını Bildirme

Sistemi”ni sınıflandırarak daha kolay anlaşılmasını sağlayarak sistemin tasarım

aşamaları belirlenecektir (Şekil 1).

Şekil 1. Sistemin Sınıflandırılması

Sistem temel olarak iki kısımdan oluşmaktadır. Birinci kısım araçlara monte edilen

“kaza tespit sistemi” ve ikinci kısım ise acil merkezlerde kaza sonuçlarının

değerleneceği “kaza izleme programı”dır.

Kaza tespit sistemi, sensörlerden gelen verileri değerlendirerek kaza tespit eden ve

tespit edilen kazaları konum bilgisi ile acil merkeze bildiren bir sistemdir. Sistem

Page 4: TÜBİTAK 2209

temel olarak haberleşme ünitesi, konum belirleme ünitesi ve kontrol ünitelerinden

meydana gelmektedir.

Konumlandırma ünitesi, kaza mahallinin konumunu belirlemek için kullanılmakla

beraber, GPS teknolojisi kullanılmıştır. Haberleşme ünitesi ise sistemin

haberleşmesini sağlayan birimdir ve GSM teknolojisi kullanılmıştır. Projemizde bu iki

üniteyi beraber barındıran GM862-GPS modülü kullanılmıştır. Biz iki ünite için kısaca

haberleşme ünitesi ismini kullanacağız.

Kaza izleme programı acil merkeze SMS ile gelen kaza bilgisini ve konumu

görüntülemek için tasarlanmıştır. Temelde iki kısımdan oluşur. İlki SMS’leri alan

modem ve ikincisi ise SMS’lerdeki bilgileri okuyarak konumları görüntüleyecek

yazılımdır.

Sistemi meydana getiren ünitelerin tasarımı ve gerçeklenmesinde aşağıdaki

yöntemler kullanılmıştır.

2.1.2. GM862-GPS modülünün RSTERM programı testi

Projemizde haberleşme Telit GM862 modülünü barındıran Smart GM862 boardını

kullandık (Şekil 2). Smart GM862 boardında GM862 modülüne ek olarak bir adet

UART USB çıkışı, bir adet GPS anten, bir adet GSM anten bulunmaktadır.

Modülümüzün işlevlerini öğrenebilmek için GSM modemlerin konfigürasyonu ve

testleri esnasında kullanabilecek kullanışlı bir program olan RSTERM arayüz

programını kullandık. Modül üzerinde bulunan UART USB çıkışı kullanılarak

bilgisayar ile modül arasında bağlantı kurduk. Bu şekilde bağlantı kurarak modülün

çalışmasını gözlemledik (Şekil 3).

Page 5: TÜBİTAK 2209

Şekil 2. Smart GM862 Board

Şekil 3. RSTERM Arayüz Programı ile Test

Page 6: TÜBİTAK 2209

2.1.3. Kontrol Ünitesi Donanım Tasarımı

Kontrol ünitesinin görevi sensörden gelen bilgileri değerlendirerek kaza olup

olmadığına karar vermek, GM862 Modülü ile haberleşerek GPS’den kaza mahalli

koordinatlarını almak ve bu bilgileri SMS olarak gerekli merkeze iletmektir.

Araca monte edilecek kontrol ünitesinin donanımı Proteus programında

tasarlanmıştır. Tasarlanan devrenin simülasyonu Proteus ISIS programı i le yapılmış

(Şekil 4), PCB kart tasarımı ve modeli ise Proteus ARES programıyla elde edilmiştir

(Şekil 5). Devre besleme katı, uart haberleşme katı, mikroişlemci katı ve sensör

haberleşme katından oluşmaktadır. Devrenin gerçeklenmiş hali Şekil 6’da verilmiştir.

Şekil 4. Kontrol Ünitesinin Donanımı Proteus Çıktısı

Page 7: TÜBİTAK 2209

Şekil 5. Proteus ARES Baskı Devre Çizimi

Şekil 6. Kontrol Ünitesi Donanımı

Page 8: TÜBİTAK 2209

2.2 II. Dönem Çalışmaları

2.2.1. Kontrol Kartı Yazılımı Geliştirme

Kontrol ünitesindeki PIC 16F877 mikroişlemcisinin gerekli işlemlerini yapabilmesi için

kullanılacak yazılım CCS C dili seçilmiştir. C dili hem insan diline olan yakınlığı hem

de makine diline daha az kayıpla çevrilebilme özelliğinden dolayı tercih edilmiştir.

CCS C Compiler, PIC ürünleri için mevcut olan C derleyicileri içinde, PIC ürünlerinin

bir çoğunu destekleyen, ANSI C uyumlu, esnek ve kolay bir şekilde mikrodenetleyici

programlanmasına izin veren, birçok iletişim protokolü ve çevresel ürünler için hazır

kütüphane dosyaları (kontrol fonksiyonları) içeren CCS (Custom Computer Services

Inc.) firması ürünüdür.

Geliştirilen mikroişlemci yazılımının yerine getirdiği temel görevler aşağıda verilmiştir.

Bu yazılımın akış şeması ve SMS yollama algoritması akış şeması Tablo 1’de

verilmiştir.

Seri kanaldan AT komutlarını göndererek modül ile haberleşmek,

Sensörlerden değer okumak

Alınan sensör değerlerini yorumlamak,

Modülden konum bilgisini almak,

Alınan konum bilgisini SMS yoluyla merkeze göndermek,

Merkezden gelen uyarıları LCD’de görüntülemek.

Yazılımın genel yapısına bakıldığında, PIC mikroişlemci ana programda sonsuz bir

döngü içinde sürekli olarak “sensör okuma”, AT komutunu göndermekte ve modül

seri portundan gelen cevabı dinlemektedir. Yazılım okunan sensör değerlerini

yorumlayarak, kaza olup olmadığına karar verir. Eğer kaza tespit edilirse aldığı

koordinat bilgilerini SMS yoluyla yine modül üzerinden merkeze iletir. Bu aşamalar

devre üzerindeki LCD’de gösterir.

Page 9: TÜBİTAK 2209

Tablo 1. Yazılım ve SMS Yollama Algoritması Akış Şeması.

2.2.2. Kaza İzleme Programı Yazılımı

Merkez tarafında son kullanıcı ile gerçeklenen kaza konumu belirleme sistemi

arasında bir köprü görevi gören kullanıcı arayüzü Microsoft Visual Studio .NET

platformunun bir üyesi Visual C# ortamında geliştirilmiştir. Merkezde sisteme hakim

olan son kullanıcılar bu arayüz aracılığı ile sisteme koordinat isteği, uyarı mesajı vb.

direktifler göndererek araç takip surecini kontrol ederler.

Page 10: TÜBİTAK 2209

Geliştirilen arayüz yazılımının yerine getirdiği temel görevler:

Kullanıcı arayüzü ile Google Earth programını entegre bir şekilde çalıştırmak,

SMS almak,

Alınan SMS’ten konum bilgisini çekmek,

Konum bilgisinin işlemek,

İşlenen konum bilgisini Google Earth için anlamlı hale getirmek(KML

oluşturmak)

Araç konumunu Google Earth haritası üzerinde göstermek,

Yazılımın genel yapısına bakıldığında program kodunun modül i le seri haberleşme,

API fonksiyonlarını içeren .dll kütüphanelerinin kullanımı ve basit arayüz

fonksiyonlarının yerine getirilmesinden ibaret olduğu görülür.

Bilgisayar ile modül arasındaki iletişim aynen araç tarafında olduğu gibi seri kanal

üzerinden AT komutlarının gönderi lmesi ile sağlanmıştır. Bu aşamada araç kaza

yaptığında modül bu kazanın olduğu konumu saptayıp merkeze SMS yoluyla

iletilmesi sağlanır. SMS yolu ile gelen koordinat bilgisi de yazılan algoritmayla

filtrelenip paralel, meridyen gibi gerekli bilgiler SMS text mesajından ayıklanır.

Google Earth programının oluşturulan arayüz üzerinde çalıştırılması, ayıklanan

anlamlı verilerin anlamlı hale getirilmesi ve bu verilerin Google Earth üzerinde

gösterilmesi amacıyla API kullanılmıştır:

Google Earth COM API: Google Earth’un normal kullanıcılara sunduğu belli bir

koordinata gitme, koordinat işaretleme, noktaya yakınlaşma, noktaya isim verme

vb tüm özelliklerin yazılımsal olarak uygulanmasına, kontrol edilmesine yarayan

API’dir. Earthlib.dll kütüphanesinin projeye eklenmesiyle bu API’nin fonksiyonları

kullanıma hazır hale gelir.

Google Earth KML API: Alınan koordinat bilgilerinin Google Earth için anlamlı

hale getirilip, Google Earth programının okuyabileceği .KML uzantılı dosyaların

oluşturulmasında kullanılan API’dir.

Page 11: TÜBİTAK 2209

Win32 API: Google Earth programının tasarlanan arayüz üzerinde çalıştırılmasını

sağlayan fonksiyonlar bütünüdür. Normal kullanıcının Google Earth ikonu üzerine

çift tıklayarak gerçekleştirdiği açma işlemini, kapama işlemini ve aktif Google

Earth ekranını form üzerine alma gibi fonksiyonları yazılımcıya sunar.

Google ve Microsoft tüm bu API’ lerin uygulama geliştiriciler tarafından kullanılmasına

ücretsiz olarak izin verir ve bu API’leri içeren kütüphaneleri internette yayınlar.

Yukarıda da belirtildiği gibi bu kütüphaneler indirilip projelere dahil edilerek istenen

fonksiyonlar yazılımcının amaçları doğrultusunda kullanılabilir. Tasarlanan arayüz

resimleri Şekil 7 ve Şekil 8’de görülebilir.

Şekil 7. Arayüz Genel Görünümü

Page 12: TÜBİTAK 2209

Şekil 8. Alınan Koordinat Bilgisinin Gösterilme

3. Sonuç

Teknolojinin gelişimi temelde insana verilen değerin bir göstergesidir. Bu gerçekten

yola çıkarak gelişen dünyamızda bu amaca yönelik çalışmaların aslında amacına

yeterince ulaşamadığı da kabul edilmesi gereken bir gerçektir. Projemiz kapsamında

gerçekleştirilen bu çalışmada, GPS ve GPRS teknolojileri mikrodenetleyici

aracılığı ile internetten bağımsız olarak, araç kaza yaptığı anda bulunduğu

koordinantları tespit ederek acil yardım servisine (112) bildirme sistemi ortaya

konmuştur.

Donanımsal olarak GPS ve GPRS modüller içeren modüler bir kart ile mikroişlemci

bulunan kontrol amaçlı bir kartın tasarımları gerçekleştirilmiştir. Markadan ve

modelden bağımsız olması için GPS modül kullanımında uluslararası standard

haberleşme protokolleri tercih edilmiştir. GPRS modül için bağlantı ve kontrol

komutları küçük farklar gösterdiğinden markadan bağımsız modüllerin kullanılması

durumunda ek bir konfigrasyon gerekmektedir. Kontrol kartı mikroişlemcisi için

hazırlanan gömülü yazılım, GPS ve GPRS modüllerin kontrolünü ve 112 merkez

bilgisayarı ile arasındaki haberleşmeyi gerçekleştirmektedir.

Gerçekleştirilen bu proje ile birbirinden bağımsız sistemlerin yararlı amaçlar

için entegre bir şekilde kullanılması öğrenilmiştir. GPS sistemi hakkında detaylı

Page 13: TÜBİTAK 2209

bilgiler edinilerek etkin bir şekilde kullanılmıştır. Modül kontrolünde ihtiyaç

duyulan AT komut yapısı öğrenilerek bu yolla merkez ve araç tarafında

modül kontrolü gerçekleştirilmiştir. Araç tarafındaki mikroişlemci yazılımında CCS

dili kullanılarak C dili ile mikroişlemci programlama konusunda deneyim kazanılmıştır.

Merkez tarafı fonksiyonlarının yerine getirilmesinde C# dili kullanılarak nesnel

programlama bilgisi geliştirilmiştir. C# kodlama ortamı olarak son yılların en

popüler platformlarından biri olan Microsoft Visual Studio .NET ortamı

kullanılarak .NET ortamında yazılım geliştirme tecrübesi kazanılmıştır. Arayüz

geliştirmede üçün parti uygulama yazılımları olarak bilinen API’ler ve bu API’leri

içeren kütüphaneler kullanılarak API kullanımı hakkında detaylı bilgi edini lmiştir.

Proje öneri raporunda belirtilen başarı kıstasların büyük bir kısmı anlamıyla yerine

getirilerek, araç kaza yaptığı anda bulunduğu koordinatları tespit ederek acil yardım

servisine (112) bildirme sistemi ortaya konmuştur (Şekil 9). Fakat, projede

kullanılması planlanan 3-Boyutlu ivme sensörü , projede tercih edilen ivme

sensörünün projede kullanılan oyuncak araba ile yeteri kadar hıza erişerek

ivmelenme elde edememesinden ve kullanılan mikroişlemcinin oluşacak olan

ivmelenmenin senkron hızı ile eşit hızda olmamasından dolayı ivme sensörü yerine

darbe sensörü tercih edilmiştir.

Şekil 9. Proje Çıktısı, Kaza Olduğunda Kendiliğinden Haber Veren Araba

Page 14: TÜBİTAK 2209

Bunlara ek olarak gelecek çalışmalarda eklenebilecek uygulamalar ile elde

edilebilecekleri şöyle sıralanabilir.

1. Mikroişlemci seçiminde CAN( Car Area Network) çevre birimi olan bir mikro

işlemci seçilerek yapılan sistem yeni model otomobillere entegrasyonu

sağlanabilir.

2. Seçilen mikroişlemcinin çalışma frekansı ve band genişliği arttırılarak ivme

sensörünün kullanılması sağlanabilir.

3. Mikroişlemci ve kullanılan sensörlerin iyileştirilmesi ile beraber oluşacak

ivmelenmeye yaralanma riskinin daha netleştirilmesi sağlanabilir.

4. Veri transferi çift yönlü olarak gerçekleştirilerek gönderilen koordinatların yanı sıra

olay yeri ses kaydını da göndererek acil yardım servisi tarafından daha net bilgi

elde edilmesi sağlanabilir.

5. Modülün GPS özelliğini kullanarak araç içerisine her an için aracın anlık

konumunu harita üzerinde gösteren bir panel eklenmesi sağlanabilir.

PROJE YÜRÜTÜCÜSÜNÜN

ADI – SOYADI - İMZA

DANIŞMANIN

ADI – SOYADI - İMZA

Tarih

Ali Kemal SARUHAN Prof. Dr. Akif KUTLU