You are on page 1of 5

ARAÇ CANBUS HATTINDAN GERÇEK ZAMANLI VERİ ALMA

Elektronik kontrol ünitelerinde bilgi gömülü sistemler kullanılarak işlenmektedir. Gömülü sistemlerde işlenen
verilerin dış ortama aktarılması ve verilerin ilgili sistemlere iletilmesi için otomotiv sektöründe gelişmiş haberleşme
yöntemleri kullanılmaktadır [1]. Bir araç içerisinde birçok alt elektronik sistemin bulunduğu bilinmektedir. Araç
içerisinde tüm sistemlerin kontrolünün bir sistemden yapılacak olması oldukça maliyetli ve kablolama zorluğu
oluşturduğundan dolayı alt sistemlerin parçalanıp, kendi aralarında bir haberleşme protokolü kurularak
haberleşmesi oldukça avantajlı bir çözümdür.

Günümüzde otomotiv alt sistemlerinin birbirleriyle haberleşmesi gelişmiş haberleşme teknolojileriyle


sağlanmaktadır [2]. Günümüzde Fieldbus, Profibus, Modbus, CANBus, DeviceNet, AS-i, İnterBus, Hart
protokolleri gibi açık sistem protokoller çeşitli alanlarda kulanılmaktadır [3]. Araçlarda bulunan elektronik kontrol
üniteleri de birbirleriyle koordineli çalışmak için iletişim protokolü yoluyla haberleşmektedir. Araçlarda temel olarak
üç tip haberleşme sistemi kullanılmaktadır. Bunlar CANBus, LINBus ve MOSTBus protokolleridir [3].

3.1. CANBus Protokolü

CAN (Control Area Network) haberleşme protokolü, ilk olarak 1983 yılında Robert Bosch firması tarafından
geliştirilen elektronik kontrol ünitelerinde (EKÜ(ECU)), güçlü bir seri veri iletişimin oluşturulması amacıyla
kullanılmıştır [4]. CAN protokolü, 1993 yılında ISO tarafından uluslararası bir standart olarak kabul edilmiştir. 1995
yılında SAE (Society of Automative Engineers) dizel motor uygulamalarında CAN protokolünü standart olarak
kabul etmiştir [5]. CAN protokolü, otomotiv sistemlerinde bulunan elektronik üniteler arasında seri bir haberleşme
hattı üzerinden ilgili hedef elemanlara bilgi göndermek için kullanılmaktadır. Dünya üzerindeki birçok otomotiv devi
araçlarının içerisinde bulunan sistemlerin haberleşmesinde CAN protokolünü tercih etmektedirler. Örneğin, Motor
kontrol ünitesi (MKÜ) aracın içten yanmalı motorunda yakıt miktarı, hava miktarı ve ateşleme zamanı gibi kritik ve
hızlı işlemlerde yüksek hızlı bilgi aktarmasını sağlamaktadır. CAN protokolü, kullandığı hat yapısı sayesinde
karmaşık kablolama yapısını ortadan kaldırır. Çift sarmal bir kablo yardımıyla birçok elemanın birbirleri ile
haberleşmesine olanak sağlar. CAN protokolü kablolamasına ait blok diyagram Şekil 1’ de verilmektedir.

Şekil 1. CAN protokolü kablolama blok diyagramı

3.2. Bir Aracın CAN Mesajlarının Anlık Olarak Okunması

Projenin ilgili iş paketinde, CANBus destekli OBD (Onboard Diagnostic) sistemine sahip ticari bir elektrikli aracın
CAN ağında akan verilerin izlenmesi, kayıt altına alınması ve analiz edilmesi işlemleri gerçekleştirilecektir. Aracın
CANBus ağı üzerinde akan verileri Picoscope ve Pico CAN Test Box ölçüm cihazları kullanılarak
gözlemlenecektir. Araç üzerinde CANBus testi yapılması için Picoscope firmasının otomotiv sektörü için
çözümlerinden biri olan Pico3424 model osiloskop kullanılacaktır. Şekil 1’de osiloskopa ait görsel verilmektedir.
Cihaz 4 kanal sinyal ölçümünü destelemekte ve 500 nS/div ile 20 s/div zaman aralığında ölçüm yapabilmektedir.
Ayrıca cihaz 12 bitlik örnekleme çözünürlüğü ile ölçüm hassasiyetinin arttırılmasında ayrıcalık sağlamaktadır.
Cihaz kişisel bilgisayara sağladığı yazılım ile USB 2.0 yoluyla bağlanabilmekte ve kendi yazılımı sayesinde
bilgisayar ekranında ölçülen sinyali çizdirmektedir.

Şekil 1. Picoscope 3424


CANBus hattı ve CAN mesajlarının izlenmesi için sadece Picoscope 3424 modeli yeterli değildir. Bu işlem için
Pico 3424 ile birlikte çalışan Pico CAN Test Box ölçüm cihazına ihtiyaç duyulmaktadır. Bu cihaz sayesinde aracın
CANBus hattına bağlı dahili bir OBD soketi ile bağlanarak gelen CAN mesajları Picoscope 3424 cihazının ile
ölçülebilir bir sinyale dönüştürülmekte ve ölçülen sinyal Pico yazılımında seri iletişim kod çözücü kullanılarak
ayrılmaktadır. Bu sayede Picoscope kullanılarak CANBus analizi yapılmıştır. Pico CAN Test Box ölçüm cihazına
ait görsel Şekil 2’de verilmektedir.

Şekil 2. Pico CAN Test Box.

CAN Test Box araç üzerinde bulunan OBD soketine bağlanarak araç alt elektronik sistemleri ile CANBus
bağlantısı kurulacaktır. Bağlantı kurulduktan sonra Picoscope yazılımı kişisel bilgisayar üzerinde çalıştırılarak
CANBus hattında bulunan veriler analiz edilecektir. Analiz sürecinde her bir veriye ait “ID”, “DLC”, “Data”, “CRC”
ve mesaj uzunluğu bilgileri her bir mesaj için ayrı ayrı analiz edilecektir.
Günümüz araçlarında bulunan Yerleşik Arıza Teşhis sistemi (On-board Diagnostic (OBD)) araç içerisinde bulunan
sistemlerin sahip olduğu tüm parametreler ve arıza durumlarını bildiren bir otomotiv sistemidir. OBD sistemi
sayesinde aracın içerisinde bulunan verilere erişim sağlanabilmektedir. OBD-II standardı, standart bir teşhis
konnektörü üzerinden belirli pinlerle çeşitli elektriksel sinyal protokolleri ile mesajlaşma olanağı sağlamaktadır.
OBD-II sistemleri SAE J1962 standardına uygun olarak tasarlanarak geliştirilmektedir. Ayrıca, araç içindeki
arızaların hızla tespit edilmesinde ve mevcut sistem parametrelerinin okunmasına olanak tanıyan, her bir araç
parametresi için standart olarak tanımlı parametre kimlikleri (Parameter IDs (PIDs)) üzerinden erişimi
desteklemektedir. OBD-II ile ayrıca bir günlük seyahatten sonra veya tam bir yolculuktan sonra bir elektrikli aracın
batarya şarj durumunun gerçek zamanlı olarak okunmasını ve standart iletişim protokollerini kullanarak ikincil
işleme göndermeyi mümkün kılmaktadır.
OBD-II sistemleri haberleşmenin sağlanması için beş ayrı haberleşme protokolü kullanılmaktadır. Bunlar SAE
J1850 PWM (Pulse Width Modulation – 41.6 kB/s, Ford Motor Şirketi Standardı), SAE J1850 VPW (Variable
Pulse Width – 10.4 kB/s , 41. 6 kB/s, General Motors Şirketi Standardı), ISO 9141-2 (K-Line, Chrysler, Avrupa ve
Asya araçları), ISO 14230 – KWP2000 (Keyword Protocol “K-Line ile benzer fiziksel katmana sahip”), ISO 15765
CAN (Controller Area Network) protokolleridir. Tablo 1’de ülkemizde hali hazırda satılan projede kullanılabilecek
ölçekte teknolojik alt yapısı bulunan elektrikli araçlar verilmektedir.

Tablo 1. OBD2 Uyumlu CANBus Protokolü kullanılan elektrikli araçlar

Araç
OBD Haberleşme Piyasa
Araç Görseli marka/ Model Yılı Güç
Desteği Protokolü Değeri
Model

Renault OBD2 789.000


2022 108 hp CANBus
ZOE destekli TL

Renault OBD2 292.000


2021 50 hp CANBus
Twiszy destekli TL

OBD2 260.000
Citroen Ami 2022 50 hp CANBus
destekli TL

3.3. Araç CANBus Verilerinin Gerçek Zamanlı Elde Edilmesi


Günümüz araçlarında bulunan Yerleşik Arıza Teşhis sistemi (On-board Diagnostic (OBD)) araç içerisinde bulunan
sistemlerin sahip olduğu tüm parametreler ve arıza durumlarını bildiren bir otomotiv sistemidir [11]. OBD sistemi
sayesinde aracın içerisinde bulunan verilere erişim sağlanabilmektedir. Özellikle 1980’li yıllarda araçlara yerleşik
araç sistemlerinin entegre edilmesiyle araç içi bilgi miktarı sayısında artış görülmüştür. OBD sistemleri araç
üreticileri tarafından gelişen teknoloji ve süreç içerisinde gelişim göstermektedir. OBD sistemleri ALDL, OBD-I,
OBD-1.5, OBD-II, EOBD, EOBD2, JOBD, ADR 79/01 ve 79/02 standartlarında üretilerek çeşitli ülkeler ve araç
firmalarına özel olarak kullanımları mevcuttur [12]–[14].

Şu anda en yaygın OBD sistemleri, OBD-II'nin Avrupa standardı olan OBD-II ve EOBD (European On-board
Diagnostics) sistemleridir. Ayrıca, OBD-II ve EOBD, sırasıyla ABD'de ve Avrupa Birliği'nde satılan tüm araçlarda
üreticiler tarafından araçlara entegre edilmek zorundadır. Diğer ülkelerde de OBD sistemleri farklı standartlar
altında geliştirilerek araçlara uygulanmaktadır. Örneğin JOBD, Japonya'da satılan araçlar için OBD-II'nin bir
versiyonudur ve ADR 79/01 (araç standardı – Avustralya Tasarım Kuralı 79/01 – Hafif Araçlar için Emisyon
Kontrolü, 2005) OBD-II'nin Avustralya standardıdır. Çin'de OBD sistemlerinin kullanımı 2007'den beri tüm araçlar
için zorunludur [12]–[18].

Şekil 3. SAE J1962 standardına göre tanımlanmış OBD-II soketi şeması.

OBD-II standardı, standart bir teşhis konnektörü üzerinden belirli pinlerle çeşitli elektriksel sinyal protokolleri ile
mesajlaşma olanağı sağlamaktadır. OBD-II sistemleri SAE J1962 standardına uygun olarak tasarlanarak
geliştirilmektedir. Ayrıca, araç içindeki arızaların hızla tespit edilmesinde ve mevcut sistem parametrelerinin
okunmasına olanak tanıyan, her bir araç parametresi için standart olarak tanımlı parametre kimlikleri (Parameter
IDs (PIDs)) üzerinden erişimi desteklemektedir. OBD-II ile ayrıca bir günlük seyahatten sonra veya tam bir
yolculuktan sonra bir elektrikli aracın batarya şarj durumunun gerçek zamanlı olarak okunmasını ve standart
iletişim protokollerini kullanarak ikincil işleme göndermeyi mümkün kılmaktadır [19]. OBD-II soketine ait pin
diyagramı Şekil 3’te, SAE J1962 standardına göre bir OBD-II soketinin pin tanımları Tablo 2’de verilmektedir.

Tablo 1. SAE J1962 standardına göre bir OBD-II soketinin pin tanımları
Pin
Pin no. Açıklama Açıklama
no.
Üreticiye özgün, GM: 8192 baud ALDL
Üreticiye özgün, GM: J2411
1 9 takılı olduğu yerde. BMW ve Toyota: RPM
GMLAN/SWC/Single-Wire CAN. VW/Audi:
sinyali

2 Pozitif hat - SAE J1850 PWM ve VPW 10 Negatif hat - SAE J1850 PWM

Üreticiye özgün, Ford DCL(+) Arjantin, Üreticiye özgün, Ford DCL(-)Arjantin,


3 Brezilya (pre OBD-II) 1997–2000, ABD, 11 Brezilya (pre OBD-II) 1997–2000, ABD,
Avrupa, Chrysler CCD Bus(+) Avrupa, Chrysler CCD Bus(-)
4 Chassis ground 12 Üreticiye özgün, Ethernet RX
5 Signal ground 13 Üreticiye özgün,
6 CAN high (ISO 15765-4 ve SAE J2284) 14 CAN low (ISO 15765-4 ve SAE J2284)
7 K-line of ISO 9141-2 ve ISO 14230-4 15 L-line of ISO 9141-2 ve ISO 14230-4
Üreticiye özgün, Birçok BMW: OBD-II
8 olmayan (Gövde/Şasi/Bilgi-eğlence) 16 Batarya Gerilimi (+)
sistemleri için ikinci bir K-hattı.

OBD-II sistemleri haberleşmenin sağlanması için beş ayrı haberleşme protokolü kullanılmaktadır. Bunlar SAE
J1850 PWM (Pulse Width Modulation – 41.6 kB/s, Ford Motor Şirketi Standardı), SAE J1850 VPW (Variable
Pulse Width – 10.4 kB/s , 41. 6 kB/s, General Motors Şirketi Standardı), ISO 9141-2 (K-Line, Chrysler, Avrupa ve
Asya araçları), ISO 14230 – KWP2000 (Keyword Protocol “K-Line ile benzer fiziksel katmana sahip”), ISO 15765
CAN (Controller Area Network) protokolleridir [20].

OBD-II standardına uygun şekilde geliştirilen araç sistemlerinde OBD-II soketi üzerinden bağlantı kurularak araç
içerisinde bulunan veriler elde edilebilmektedir. OBD-II standardı ile araç gerçek verilerinin okunması için aracın
CANBus ağının OBD-II standardına uyumlu olması gerekmektedir. Araç OBD-II standardı üzerinden anlık verilerin
alınması için standardize edilmiş bir CAN mesaj paketi bulunmaktadır. Veri talebi OBD-II sistemi üzerinden
gömülü sistemler aracılığı ile gerçekleştirilir. Veri talebi edildikten sonra araç alt sistemleri talebe standardize
edilmiş bir CAN mesaj paketi ile cevap vermektedir. Otomotiv OBD-II standardının sağladığı hizmetler Çizelge
3’te verilmektedir.

Çizelge 3.OBD-II standardının sağladığı hizmetler


Servis/Mod
Tanım
(hex)
01 Anlık araç verilerini göster
02 Freeze Frame Verilerini göster
03 Hafızada kayıtlı DTC’leri (Diagnostic Trouble Code) göster
04 Hafızada kayıtlı DTC’leri (Diagnostic Trouble Code) sil
05 Test sonuçları, oksijen sensörü izleme (CAN desteklemez)
Test sonuçları, diğer bileşen/sistem izleme (Test sonuçları, yalnızca CAN için
06
oksijen sensörü izleme)
Bekleyen Diagnostik Hata Kodlarını (DTC) göster (mevcut veya son sürüş
07
döngüsü sırasında algılanan kodlar)
08 Çalışan sistemlerin kontrol edilmesi
09 Araç bilgi talebi
0A Kalıcı DTC kodlarının okunması (Silinmiş DTC kodları da dahildir.)

OBD-II standardı ile araç içi CANBus ağından Çizelge 3’te verilen hizmetlerin sağlanması için araç parametre
tanımlama bilgileri (Vehicle OBD-II Parameter IDs (PIDs)) ile standart bir veri paketi araç ağına mesaj olarak
iletilmelidir. OBD-II standardına göre istemci sistem, bağlı olduğu araca Çizelge 4’te verilen bir mesaj paketi
göndermelidir.

Çizelge 2. İstemci sistem tarafından araç OBD-II’ye gönderilen CAN mesaj yapısı
Byte Byte Byte Byte
CAN ID Byte 0 Byte 1 Byte 3
Byte 2 (hex) 4 5 6 7
(hex) (hex) (hex) (hex)
(hex) (hex) (hex) (hex)
7DF 02 01 0C AA AA AA AA AA
Araç Motor
İstemci OBD-II
Servis/ Devir
mesaj SAE
Mod Parametresi
ID Standart CAN mesajının DATA alanında verilen
(Anlık Veri (İstenilen araç
(OBD-II (Gönderil DLC ler OBD-II SAE standardında
Görüntüle parametresi
SAE en veri kullanılmaz.
me mesaj alanında
Standart byte
hizmeti) bu byte üzerine
) sayısı)
yazılır.)

İstemci sistem tarafından araç OBD-II sistemine Çizelge 3.4’teki yapıya sahip CAN mesajı gönderildiğinde araç
OBD-II sistemi Byte 2 alanında verilen araç parametresine göre dönüş mesajı sağlamaktadır. Dönüş mesajı
parametre ID numarası ise SAE standartlarına göre 7E8h, 7E9h, 7EAh olarak değişkenlik gösterebilmektedir. Bu
değişkenlik araçtan araca farklılık gösterebilmektedir. Çizelge 4’te verilen mesaj yapısı ve istenilen araç
parametre bilgisine göre (0Ch- Araç motor devri) araç OBD-II sisteminden gelen cevap mesajının yapısı Çizelge
5’te verilmektedir.

Çizelge 3. OBD-II tarafından gönderilen CAN mesaj yapısı


Byte Byte Byte Byte
CAN ID Byte 0 Byte 1 Byte 7
Byte 2 (hex) 3 4 5 6
(hex) (hex) (hex) (hex)
(hex) (hex) (hex) (hex)
7E8,
7E9, 03 41 0C 12 34 AA AA AA
7EA
Gönder Araç Motor
OBD-II
en Servis/ Devir
SAE Veriy Veriy Veriy Veriy
mesaj Mod Parametresi SAE
Standart e ait e ait e ait e ait
ID (Anlık Veri (Gönderilen araç OBD-II
(Gönderi bilgi bilgi bilgi bilgi
(OBD-II Görüntüle parametresi Kullanımı
len veri alanı alanı alanı alanı
SAE me mesaj alanında yoktur.
byte (A) (B) (C) (D)
Standa hizmeti) bu byte üzerine
sayısı)
rt) yazılır.)

Çizelge 5’te verilen CAN mesaj yapısında Byte 3 mesaj alanı gelen veriye ait başlangıç DLC alanıdır. Araç
parametresindeki verinin özelliğine göre bu değer Byte 3 alanından Byte 6 alanına kadar veri içerebilmektedir.
Örneğin araç motor devri parametresi 2 DLC alanından oluşan veriden meydana gelmektedir. Çizelge 6’da bazı
araç parametrelerine ait ID ve sınırlılıklar belirtilmektedir.
Çizelge 4.OBD-II standardı araç parametre listesi

PIDs PIDs Veri Min. Maks.


Açıklama Birim Formül
(hex) (dec) alanı Değer Değer

Hesaplanan
4 4 1 0 100 % (100/255)*A
Motor Yükü
Motor Devir
0C 12 2 0 16383,75 rpm (256*A+B)/4
Hızı
0D 13 1 Araç Hızı 0 255 km/sa A
Gaz Pedalı
11 17 1 0 100 % (100/255)*A
Konumu

“Araç Veri İzleme Sistemi” ile araç CANBus verilerinin OBD-II sisteminden gerçek zamanlı okunması için Python
dili kullanılarak yazılım geliştirilecektir. Günümüzde otomobil üreticileri tarafından üretilen elektrikli araçlarda da
OBD-II sistemi entegrasyonu standardı bulunmaktadır. Ancak OBD PID parametreleri içten yanmalı araçlara
kıyasla sınırlıdır. Çizelge 7 ve Çizelge 8’de Renault ZOE marka elektrikli araca ait, OBD-II sisteminden CAN
verilerinin okunması için gerekli PID ve parametre formülleri verilmektedir.

Çizelge 7. Renault ZOE OBD-II sistemi ile haberleşmek için gerekli yazılım konfigürasyon komutları

Başlangıç Komutları OBD-II Protokolü Parametre Komutları

“ATZ”, “ATE0”, “ATAL”, “ATSHDADAF1”,


“ATCP18”, “ATCRA18DAF1DA”,”ATFCSH18DADAF1”,”222003”,
“ATFCSD300000”, 7 “2220FE”, “2221CC”, “ATSHDADBF1”,
“ATFCSM1”, ATSP7”, “ATCRA18DAF1DB”, “ATFCSH18DADBF1”,
“1003” “2291C8”, “229003”, “229001”, “229002”

Çizelge 8. Renault ZOE elektrikli aracın PID’leri.


Renault Zoe OBD-II CANBus Parameter Ids (PIDs)
Data Data
Parametre Formül Min. Max. ECU
tipi Komut
Şarj Edilen Enerji (kwh) 0.001*(A*65536+B*256+C) 0 60 number 2291C8 DADBF1
Batarya Sağlık Durumu
0.01*(A*256+B) 0 105 number 229003 DADBF1
(Soh)
Batarya Şarj Durumu (Soc) 0.01*(A*256+B) -5 105 number 229002 DADAF1
Araç Hızı 0.01*(A*256+B) 0 180 number 222003 DADAF1
Batarya Gerilimi 0.01*(A*256+B) 380 480 number 2220FE DADAF1
Akım -1*(0.25*(A*256+B)-500) -400 400 number 2221CC DADAF1

You might also like