ELM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
ELM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Ocak 2013 Çarşamba

ELM327 ile OBDII haberleşmesi -II



Elimizde ELM çipli bir okuyucu olduğunu düşünelim. bununla, OBD portundan bilgi okumak istiyoruz. Elinizdeki bluetooth destekli bir modelse, öncelikle yapmanız gereken, bluetooth bağlantısını kurmak ve bağlantı için atanan sanal COM portun hangisi olduğunu belirlemek.
Hyperterminal programını açın, modülü bağladığınız portu seçin. Baud hızını ayarlayın. (modüle göre değişmekle beraber genelde default olarak 38400 baud kullanıyorlar) 
Bağlantı kurulduğunda veya 'ATZ' komutu gönderdiğinizde aşağıdaki gibi bir yanıt gelmeli.

ATZ
ELM 327 v1.X
>

Bu yanıtı aldıysanız bağlantı kurulmuş demektir.  ELM birden fazla protokolü destekliyor ancak ben burada, CAN protokolünü kullandığımızı varsayıyorum.

Protokol ve hızı otomatik ayarlaması için aşağıdaki komutu gönderiyoruz.

>ATSP 0
>OK

Artık istediğiniz bilgileri sorgulayabilirsiniz.

Sorgulama kodu  'Mode' ve 'PID' olmak üzere 2 bayttan oluşur.
Mode 01, anlık dataları okumak için kullanılır.

PID ise, okunacak sensör bilgisinin kodudur. 
örneğin; PID 0x05, 'Soğutma suyu sıcaklığı' değeridir.

bu konuda detaylı bilgiyi
http://en.wikipedia.org/wiki/OBD-II_PIDs adresinde bulabilirsiniz.
Mode
(hex)
PID
(hex)
Data bytes returnedDescriptionMin valueMax valueUnitsFormula
01004PIDs supported [01 - 20]
01014Monitor status since DTCs cleared. (Includes malfunction indicator lamp (MIL) status and number of DTCs.)
01022Freeze DTC
01032Fuel system status
01041Calculated engine load value0100 %A*100/255
01051Engine coolant temperature-40215°CA-40

'Soğutma suyu sıcaklığı' değerini okumak için aşağıdaki şekilde mode ve PID değerini gönderin.

> 01 05
> 41 05 7B

burada 7B sorgumuzun sonucudur, değeri desimale çevirip formülü uygularsak (bu komut için A-40) 123-40 = 83°C değerini buluruz.

Araçların çoğu standard PID'leri desteklese de, her araçda tüm komutlar okunamayabiliyor. Aracınızın hangi PID'leri desteklediğini görmenin de kolay bir yolu var.
PID 00, 20, 40 ,60 ve 80 aracın desteklediği PID numarasını geri döndürür.


>01 00 sorgusunun yanıtı 4 bayttır ve bu 4 bayt, 0x01 ile 0x20 arasındaki 32 adet PID'in hangilerinin desteklendiğini gösterir.

Örneğin:

>01 00
>41 00 BE 1F A8 13


             B    E    1    F    A    8    1        3              
            ---- ---- ---- ---- ---- ---- ----  ----------
supported?  1011 1110 0001 1111 1010 1000 0001  0  0  1  1
PID num     1234 5678 9ABC DEF. .... .... .... 1D 1E 1F 20

Bu şekilde, aracınızın desteklediği komutları alabilir ve  sorgulama yapabilirsiniz.
Burada sadece anlık sensör bilgilerinin alınması konusunda bilgi vermeye çalıştım. Diğer modlarda arıza bilgilerini almak, arıza ışığını söndürmek, araca ait diğer bilgileri almak mümkün.

OBD2 ile ilgili örnek uygulama için <Araç Bilgi Ekranı> linkine bakabilirsiniz.


Link:
ELM327 ile ODBII haberleşmesi -I


Kaynak:
wikipedia.org


12 Aralık 2012 Çarşamba

ELM327 ile OBDII haberleşmesi


Araçların, arıza kodu, anlık veri vs. gibi bilgilerini aşağıdaki devre ile izleyebilir,
hataları silebilirsiniz.
Aşağıda, ELM327 devre şeması mevcut, yeni model araçlar, CAN protokolünü desteklediğinden, devrenin 
tamamını yapmanıza gerek yok. (ISO ve J1962 bağlantıları)
Ancak piyasada çok uygun fiyatlara (ELM entegresini orjinalinden daha ucuza) hazır devreler bulmak mümkün. Devreyle uğraşmak istemiyorsanız, hazır modüllerden birini alabilirsiniz. Bunlar RS232 kablolu veya bluetooth'lu olabilir.



Resimde görülen modül ve benzerlerini 15-20$ civarında bulabilirsiniz.
Devreyi yapmak isteyenler için de şema aşağıda. 




Bazı markalarda farklılık gösterse de genelde OBD2 soketi ve bağlantıları aşağıdaki gibidir.


ELM327 için PC ve Android tabanlı yazılımlar mevcut. Tablet PC veya cep telefonlarında
Torque pro yazılımı kullanabilirsiniz. PC için de Scan Master yazılımı oldukça başarılı.

Harici bir yazılımla kullanılabileceği gibi, kendi yazılımınızı geliştirmeniz (veya bir mikrokontrolcü ile ELM'den bilgi almanız) mümkün. Bir PIC ile araca ait bazı bilgileri okuyup bir ekrana yazdırabilirsiniz.

Her araçtan tüm veriler okunamayabiliyor ancak genel olarak temel anlık verileri almak mümkün.



torque pro uygulaması


scan master yazılımı

 
ELM327 üzerinden kendi kodunuzu yazarak, ihtiyacınız olan verileri alabilirsiniz.
Yazının sonraki bölümlerinde, OBD portuna bilgi gönderme ve okuma konusunda detaylı bilgi bulabilirsiniz.