OBD-II Araç Bilgi Ekranı

Yayınlandı: Ocak 3, 2013 / CANBUS, ELM327, OBD, OBD2, VAG, VAG-COM
Etiketler:, , ,
Aracın bilgi ekranında gösterilmeyen bazı verileri izlemek, bazılarını da bir araya toplamak için küçük bir projeye başlamıştım. Henüz tam olarak bitmese de sona yaklaştım.
OBD2 soketi bazı markalarda farklılık gösterse de genelde resimdeki gibi 16 pinli bir soket.
Direksiyonun alt taraflarında veya orta konsolda oluyor, C4’lerde kül tablasının altındaydı örneğin. Astra’da vitesin arkasında, kapağın altına gizlenmişti. Seat’da sol altta, yine kapağın altında.
Donanım 2 bölümden oluşuyor.
1.bölüm, OBD portundan verileri alıp işleyen ve seri olarak displaye gönderen modül
2.bölüm, seri dataları işleyip ekrana basan 3.2″ lik grafik ekran ve 320×240 çözünürlükte. Üzerinde kendi kontrolcüsü ve donanımsal seri portu var. 
 
Alınan datalar:
Hız
Motor devri
Motor suyu sıcaklığı
Dış ortam sıcaklığı
Turbo hava girişi sıcaklığı
CAT sıcaklığı

AKÜ voltajı

Yakıt tüketimi ile ilgili bilgiler maalesef hazır olarak gelmiyor. Saatteki yakıt tüketim (lt/h) bilgisi alınabiliyor. ancak anlık tüketim, ortamalama tüketim vs. bilgilerin,
bazı datalardan hesaplanarak çıkartılması gerekiyor. (Araç hızı, MAF sensör bilgisi gibi) Bunların dışında, OBD2’den gelen birçok data var, istenirse bunlar da işlenip kullanılabilir.


Verileri diagnostik portundan okumanın bir kaç yolu var.
ELM çipli bir devre (veya hazır modül) kullanabilirsiniz veya PIC/Ardunio gibi bir kontrolcü kullanabilirsiniz.
ELM kullanacaksanız, daha önceki konularda anlattığım gibi, AT komutlarını kullanabilirsiniz. Bağlantı kurulduktan sonra, mod ve pid değerlerini sorgulamanız yeterli.

Mode: 0x01 için sorgulanacak pid değerleri:

#define ENGINE_COOLANT_TEMP 0x05  //A-40
#define ENGINE_RPM          0x0C  //((A*256)+B)/4
#define VEHICLE_SPEED       0x0D  //A
#define INTAKE_AIR_TEMP     0x0F  //A-40
#define CONT_MODULE_VOLT    0x42  //((A*256)+B)/1000
#define AMBIENT_AIR_TEMP    0x46  //A-40
#define ENGINE_OIL_TEMP     0x5C  //A-40
#define CATALYST_TEMP_B1S1  0x3C  //(((A*256)+B)/10)-40
ELM entegresini veya hazır devreleri kullanmak istemezseniz, diagnostik portla bağlantı kuracak bir arabirime ihtiyacınız olacak. Bunun için microchip firmasının 2515 ve 2551 canbus entegrelerini kullanabilirsiniz. 

Canbus haberleşmesi, bir-iki satırla geçiştirilmeyecek kadar kapsamlı. O nedenle, bunu daha sonraya bırakıyorum. Ben, test için daha önce yaptığım CANBUS arabirimini kullandım.

 


Modül, OBD2/CANBUS hattına sürekli olarak yukarıdaki sorgu komutlarını gönderiyor ve aşağıdaki şekilde yanıt alıyor. Bu datalar belirli bir formata çevrilip, seri port üzerinden grafik LCD’ye gönderiliyor.

Display devresi, seri porttan gelen bilgileri işleyerek ekrana yazıyor.
Arabirim ve GLCD 5V ile çalışıyor. Deneme için diagnostik portundaki 12V çıkışını kullandım. Kontak kapalı olduğunda bile bu uçta gerilim var. Test için kullanılabilir ancak kalıcı bir uygulama için başka bir yerden +12V almak daha mantıklı.

Yukarıda bahsettiğim grafik display, ELM327 modülünü AT komutları ile sorgulayacak ve gelen dataları işleyecek kapasitede. ELM modülü ile ek bir devre olmadan da okuma yapılabilir.

Burada karşıma çıkacak en büyük sorun, kullandığım ekrana, araç içinde uygun ve güzel bir yer bulmak. tabi bu her model araç için farklı çözümler gerektiriyor.
Proje istediğim gibi gelişirse, ilerleyen zamanlarda, aracın kendi multimedya sistemini kullanmayı düşünüyorum.

VAG araçlarında (vw, seat, audi, skoda) kullanılan RCD/RNS510 medya cihazının, geri görüş kamerası için bir video girişi bulunuyor. Bu giriş bir kontak girişiyle tetikleniyor.

 
Okunan ve işlenen dataları PAL formatında göndermek, -zahmetli olsa da- mümkün. Yine bu bilgiler, MFD üzerinde de izlenebilir. 

devam edecek…


linkler:
ELM327 ile OBD-II Haberleşmesi -1
ELM327 ile OBD-II Haberleşmesi -2
ARDUINO-CANBUS
CAN-Blue
CAN-Black

yorum
  1. artstick dedi ki:

    merhaba, öncelikle verdiginiz bilgiler için tesekkur ederim. RNS 510’A video girisi yapmak istiyorum. illa video interfacelerden mi almam lazım. Fiyatları da yuksek!!

    • sky dedi ki:

      Merhaba, RNS veya RCD serisinin RGB girişi var, bu girişi kullanmak için
      interface almanız veya gireceğiniz kaynağa göre RGB çevirici yapmanız gerekiyor.
      Uyumlu geri görüş kameralarında ne kullanılmış ona bakılabilir.

  2. ugur dedi ki:

    Selamlar ,

    Benim uğraştığım sistem Obd-ıı haricinde bir uygulama…ISO 11898-2 j1939 protokolunu kullanıyor. Bende ixxat usb to can-ıı çevirici var. datalar geliyor fakat bunların içinden bilgileri nasıl alıp (rpm,coolant temp, lube oil pressure vb.) değerleri görebilirim… Bu konuda yardımcı olursanız sevinirim.

    • sky dedi ki:

      Merhaba,

      Hangi marka/model araç üzerinde çalışıyorsunuz?
      can bağlantısını nereden yapıyorsunuz?
      ID’lerin belli bir standartı yok, markaya göre faklı bilgiler gelebiliyor.
      diagnostik portu dışında, bir can hattına girip alıyorsanız gelen datalardaki değişiklikleri,
      tekrarlanma sürelerini gözlemleyip bulabilirsiniz. Tabi filtre kullanmanız şart.
      Örneğin VW’de ID: 0x35B rpm, yağ ve su sıcaklığını verir.

      • ugur dedi ki:

        Gemilerde kullanılan bir makina , Markası mtu, ecu’su adec diye geçiyor. 24 voltla dışarda çalıştırabiliyorum. Kendine ait bir diagnostic programı var. Onunla sisteme bağlanıp tüm verileri görüp değiştirebiliyorum. Benim yapmak istediğim seçtiğim verileri ekranda görmek…mesela bir ekran oluşturup, orada yağlama yağ basıncı,yakıt basıncı, yakıt sıcaklığı, gibi bazı verileri devamlı takip etmek istiyorum. ixxat’ın minimon diye bir programı var bu programda can datalarını görüyorum. Fakat nasıl yorumlarım nasıl filtre ederim hangi programı kullanırım bilemiyorum.

  3. israfil dedi ki:

    Çalışmalarınız devam ediyormu_? Yeni paylaşımlarınızı bekliyoruz. Birde bahsi geçen hazır modulleri nereden temin ediyorsunuz. Bende yapmak istesem böyle bir çalışma nasıl yardımı olursunuz. Ben daha önce yapmak istedim ama yarım bıraktım. O zmn obd II den yürütmememiştim çalışmalarımı ancak görüyorum ki çok daha mantıklı.

    • sky dedi ki:

      OBD2 portundan sorgu yaptıkça bilgi alabiliyorsunuz ve buradan yapılacak sorgular araç üreticisi tarafından açıklanmıyor. Ortak OBD komutları ile de
      yapılabilecekler sınırlı. O nedenle doğrudan CAN hattından bilgi almak/göndermek daha mantıklı.
      İkisinde de (CAN için) kullanılacak donanım aynı. Konudaki CAN modülü kendim yapmıştım (Arduino ile kullanıyorum ancak başka bir kontrolcü ile de kullanılabilir) Netten bu tip modülleri satın alabilir veya kendiniz yapabilirsiniz. Yapmak isterseniz konu içinde şeması var.
      Bunun yanında, hazır modül de kullanabilirsiniz.

      • israfil dedi ki:

        Modül bulma konusunda yardımcı olursanız sevinirim. Birde konunun neresinde devreyi göremedim ben_?

      • sky dedi ki:

        Merhaba,

        Devre şemasını ekledim tekrar. Modülü ya kendiniz yapacaksınız, ya da hazır alacaksınız. ELM327 entegresi, hazır modüllerden pahalıya geliyor. Yurtdışı satış sitelerinde 6-7$’a ELM327 modül bulabilirsiniz. Diğer konu başlıklarında CANBUS modüllerle ilgili bilgiler de mevcut. Bu da diğer alternatif.

      • israfil dedi ki:

        selam
        Şema nere ben göremedim link varsa atarmısınız neden göremiyorum

      • sky dedi ki:

        Merhaba,

        OBD2 konuları altında ELM327 ile yapılmış devre şeması var.
        Bunun dışında Arduino veya PIC ile yapılmış CANBUS arabirimlerini de kullanabilirsiniz.

        https://skyblg.wordpress.com/2012/12/12/elm327-ile-obdii-haberlesmesi/

  4. Mehmet dedi ki:

    Merhabalar. Aracımın orjinal cd / Radyo Ünitesini çıkarttım. Yerine MP3 destekli bir cihaz aldım. Ancak cihazın Wired Remote girişine komut girebilmem için eski ünitenin soketinde bulunan CAN – Can+ portlarını pic veya benzeri bir kontrolör ile dinlemek istiyorum. Ardından da yine aynı kontrollör ile digital bir potansiyometre kullanarak W/R girişini kumanda etmek.. Can hattını nasıl dinleyebilirim acaba? Pic 18xxx8 serilerinin can desteği var mış doğru mu? Siz nasıl bir yol izlememi istersiniz Hocam..

    • sky dedi ki:

      Merhaba,

      Dahili CAN controller içeren PIC veya ATMEL kontrolcü kullanabilirsiniz. Veya harici bir CAN controller entegresi (MCP2515 gibi) kullanabilirsiniz.
      kontrolcü çıkışına, aracınızın desteklediği protokole göre (LS/HS) bir transceiver bağlayacaksınız.
      Sonrasında, teybe gelen dataların içinden kumanda/buton kodlarını yakalayıp çözeceksiniz.
      PIC kullanacaksanız; 18F2480/2580 + MCP2551 veya 16F serisi bir PIC ile MCP2515 + MCP2551 kullanabilirsiniz. (Low Speed CAN için 2551 yerine başka bir transceiver seçilmeli)
      Arduino (mini/uno) ile MCP2515 + MCP2551 kullanabilirsiniz.

      Bu komponentleri kullanmak zorunluluk değil, microchip haricinde başka firmaların da CAN controller/transceiver entegreleri de mevcut.

  5. Bekir YIĞRIK dedi ki:

    Mrblar.
    mcp2515 modülünü netten hazır aldım. mcp2515 ve pic 18f252 ile OBD soketinden veri alıp LCD ekrana yazdırmak istiyorum.pic proton ile LCD saat ve termometre yapabiliyorum. CAN hattından veri almak için örnek kod verebilir misiniz?.

    • sky dedi ki:

      Merhaba,
      Proton’un CAN kutuphanesi var mi bilmiyorum. MCP2515’in dokumanlarindan faydalanabilirsiniz ancak bu oldukca zahmetli olur. Proton veya Basic icin kutuphane arastirmalisiniz. Sonrasinda PID kodlarini kullanarak veri alabilirsiniz.

  6. Bekir dedi ki:

    OBD soketinden Elm327 ve pic kullanarak veri/verileri LCD ekrana yazmayı başarabildim.
    bir-iki veri alınca sıkıntı yok 3-4 veri (motor sıcaklığı,hız,devir ve akü durumunu) almaya çalıştığımda değerler bazen sapıtıyor
    Bir komutu yolladıktan sonra ELM327’nin hazır olması için ne kadar beklemeliyiz.
    PC ve Android uygulamaları nasıl oluyor da onlarca veriyi çok çok kısa sürede alabiliyor?
    Ya da bekleme yapmadan birden fazla komutu tek seferde yollayabilirmiyiz?
    01xx,01yy,01zz gibi.
    Yardımnızı bekliyorum.
    Teşekkürler

  7. Bekir dedi ki:

    Sonunda Elm327 kullanarak proton plus ile pic’e verileri almayi başardım.Anlık yakıt tüketimi için hangi veriler ile nasıl bir hesaplama yapmak gerekiyor.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s