Mesajlar Etiketlendi ‘can bus’

Güncel yazılım sürümü 1.5.0  (güncel bilgi için: CAN Blue (FT/HS CAN)
Low Speed CAN (50-125kbps)
High Speed CAN (95-1000kbps)
HS CAN için yazılım kontrollü hat sonlandırma direnci

HS Modül ile test edilmiş araçlar:

Wolksvagen grubu (WV, Seat, Skoda, Audi)
Fiat
Chrysler/Jeep
BMW
Mercedes
Opel
Chevrolet (Cruze)

LS CAN kullanan Chrysler ve Jeep modelleri de bu yazılım ile okunabilir.


scmnew


CAN-USB (önceki yazılar)

CAN-EMULATOR

SKY

Bu sayfada, USB-CAN arabirimiyle ilgili güncellemeleri paylaşacağım.
Araçlardaki CAN haberleşmesi için gerekli olmasa da, diğer can protokolü kullanan cihazlar için CAN 2.0B (29 bit) desteğini ekledim. Ayrıca “sniffer” modunda daha kolay çalışabilmek için bana göre gerekli ve kullanımı kolaylaştıracak özellikler ekledim.
Arayüz yazılımı, hem Atmega hem de PIC kullanılan modülleri destekliyor. 29 bit desteği sadece PIC ile yapılmış modülde var.

Untitled-1Modül ve PC haberleşmesi USB/sanal seri port üzerinden yapılıyor. Ana ekranda, port ve CANBUS’a ait tüm ayarlamalar yapılabiliyor. Yine alınan ve gönderilen datalar, ana ekrandaki tabloya yazılıyor. Alınan veya gönderilen datalar dosyaya kaydedilebildiği gibi, bu datalar başka bir tabloya aktarılarak üzerinde işlem yapılabiliyor.

CAN hattı için hız seçimi (83kbps-1mbps arası) filtre/maske ve frame ayarları.
Hem 11 bit hem de 29 bit maskeleme ve filtreleme yapılabiliyor. 
Untitled-6
Gelen dataların aktarıldığı (veya kullanıcı tarafından oluşturulabilen) komut ekranı.
Bu ekranda, aktarılmış veya girilmiş datalar üzerinde işlem yapmak, isim vermek, kaydetmek, tekrar göndermek veya…

View original post 257 kelime daha

28.10.2015
Low speed (LS/FT) CAN  (83kb/s ve 125kb/s) Chrysler ve Jeep multimedya sistemleri de emülatöre dahil edildi.

Mercedes, WV, Seat, Chrysler, Fiat vs. araçların multimedya donanımlarını araç dışında da çalıştırabilmek için, araç içindeki can hattını taklit etmek gerekiyor.

Aşağıdaki devre, LCD üzerinde, menüden seçilen marka/modele göre
gerekli “kontak açık” bilgilerini canbus hattına göndererek cihazın araç dışında da çalıştırılabilmesini sağlıyor. Kontak bilgisi dışında, diğer donanımları da taklit etmek mümkün. Örneğin direksiyon kumandası komutları da da bu hat üzerinden gönderilebilir.

can similator1 can similator2

Emülatör devresi, mikrokontrolcü tabanlı bağımsız bir canbus alıcı-vericiden oluşuyor.
12V harici adaptörle veya USB üzerinden çalıştırılabiliyor.
Sisteme gönderilmesi gereken datalar ve haberleşme hızları, araç marka ve modele göre farklılık gösterdiğinden, bu bilgilerin önceden tanımlanıp, modüle yüklenmiş olması gerekiyor. Önceden tanımlanmış kodlar haricinde, yeni kod eklenmek istenirse, bir PC yazılımı ile usb üzerinden gerekli yüklemeleri yapmak mümkün. Önceki konularda bahsettiğim, sniffer devresi ve yazılımı bu konuda büyük kolaylık sağlıyor.

CAN-USB (sniffer/sender):
https://skyblg.wordpress.com/2014/04/19/canbus-usb-arabirimi/

 

yeni sürüm için: LS/HS CANBUS

Bu sayfada, USB-CAN arabirimiyle ilgili güncellemeleri paylaşacağım.Araçlardaki CAN haberleşmesi için gerekli olmasa da, diğer can protokolü kullanan cihazlar için CAN 2.0B (29 bit) desteğini ekledim. Ayrıca “sniffer” modunda daha kolay çalışabilmek için bana göre gerekli ve kullanımı kolaylaştıracak özellikler ekledim.

Arayüz yazılımı, hem Atmega hem de PIC kullanılan modülleri destekliyor. 29 bit desteği sadece PIC ile yapılmış modülde var.

Untitled-1Modül ve PC haberleşmesi USB/sanal seri port üzerinden yapılıyor. Ana ekranda, port ve CANBUS’a ait tüm ayarlamalar yapılabiliyor. Yine alınan ve gönderilen datalar, ana ekrandaki tabloya yazılıyor. Alınan veya gönderilen datalar dosyaya kaydedilebildiği gibi, bu datalar başka bir tabloya aktarılarak üzerinde işlem yapılabiliyor.

CAN hattı için hız seçimi (83kbps-1mbps arası) filtre/maske ve frame ayarları.
Hem 11 bit hem de 29 bit maskeleme ve filtreleme yapılabiliyor. 
Untitled-6
Gelen dataların aktarıldığı (veya kullanıcı tarafından oluşturulabilen) komut ekranı.
Bu ekranda, aktarılmış veya girilmiş datalar üzerinde işlem yapmak, isim vermek, kaydetmek, tekrar göndermek veya belirli periyodlarla tüm listeyi (veya seçilenleri) can hattına göndermek ve yanıtını dinlemek mümkün.

Untitled-4Scrool ve overwrite modlarıyla, gelen dataların tümü tabloya yazılabilir veya aynı datalar, aynı satıra eklenebilir.Özellikle –dinleme– modunda, tekrarlanan komutlarla başa çıkmak için bu özellik gerekli.
Araç için dinleme yaparken, tekrarlanan datalar haricinde gelen bilgileri almak için (örneğin kilit aç/kapat, direksiyon tuşları vs.) komutlarını yakalamak için “capture” ekranı kullanılabilir.
Untitled-3
Komut ekranında, alınan ve tanımlanan datalara, isim verilebilir. Aşağıda, diagnostik portundan okunan ve tanımlanan araç bilgilerine ait komutları görebilirsiniz.
Untitled-7

Devre beslemesini USB üzerinden alıyor. Tek yapmanız gereken CAN uçlarını sisteminizdeki doğru yere bağlamak.

IMG_1825

İhtiyaçlar doğrultusunda güncellemeler ve eklemeler devam ediyor.
Birkaç devrede MCP2551’in arızalandığına şahit oldum ve bu nedenle
EMI/ESD koruması için önerilen yöntemlerden birini uygulamaya karar verdim.
Canbus uçlarına “Common mode choke” ve TVS ekledim.
Canbus hattlarının korunması konusunda bu linke bakabilirsiniz.

Sırada bir türlü fırsat bulup yapamadığım, yine aynı kontrol devresi baz alınarak yapılacak CAN-Bluetooth modülü var. Aslında daha önceki çalışmalarımda bir tane yapmıştım.
(eski konuya buradan ulaşabilirsiniz)

canbus_bt1IMG_1801Araç içinde 12V beslemeye sürekli bağlı kalacağından, az akım çekecek, gerekirse uyku moduna geçebilecek bir modül yapmam gerekiyor. Bağlantıyı “convenience bus” a yapmayı düşünüyorum. (aracımda diagnostik portundan istediğim datalara erişemediğim için) Bu da radyonun arkasına veya direksiyon altında bir alana koymamı gerektiriyor.
Modül, kendi başına önceden tanımlanmış işlemleri yapabileceği gibi, bluetooth üzerinden
harici bir ekranla (veya bir tablet, telefon) haberleşebilecek. Bu modülde, BT üzerinden firmware güncellemesi de yapmak mümkün. Yapılabilecekler hayal gücünüzle sınırlı.

Bu modül gibi, araçta olmayan donanımsal özellikler de araca eklenebilir ve aracın can hattına dahil edilebilir.

IMG_1806

CAN-USB Modül

-devam edecek-

Arduino ve CAN BUS

Yayınlandı: Mart 7, 2013 / arduino, bus, CAN, CANBUS, mcp2515, mcp2551, OBD, VAG
Etiketler:, , ,
Yeni eklenenler: BUS (CAN/LIN/K-LINE)

Elm ve OBD konusunda bahsetmiştim, araç bilgilerini okumanın başka bir yolu da, araç içinde dolaşan farklı canbus hatlarına girmektir. Bus sayısı, hızları, ve içerdiği bilgiler farklı olabiliyor ancak genelde tüm araçlarda CANBUS protokolü kullanılıyor.

Farklı hatlar, farklı bilgiler topluyor ve bu hatlar aynı zamanda, gateway ünitesi üzerinden birbirleri ile de haberleşiyor. 

gateway

OBD portundan alınan bilginin fazlasını, diğer hatlardan almak mümkün. VAG araçlarına ait canbus diagramı aşağıdaki gibi.

Burada şeması verilen devre, bir CAN kontrolcü ve mikrokontrolcüden oluşuyor.
CAN kontrolcü olarak Mikrochip firmasının MCP2515 entegresi, mikrokontrolcü olarak da, Arduino nano kartı kullandım. 

Arduino’nun (veya ATMEGA’nın) MCP2515 bağlantısı için SPI ve INT pinleri kullanılıyor. 
MCP2515’in RST ucu, arduino kartının reset ucuna bağlanacak. (hardware reset için)

Devre 3 modda çalışabiliyor.

  • mod-1 Sniffer
  • mod-2 OBD2 Reader
  • mod-3 Sender

Mod seçimi D6 ve D7 pinlerine bağlı switch ile yapılıyor. Şemada göstermedim ama D6 ve D7 pinleri 10k direnç ile şaseye çekilmeli.

anahtar “B” konumunda ise; devre, periyodik olarak, bazı OBD komutlarını gönderiyor ve bu komutların yanıtlarını alıyor. Bu, bağlantı testi için kullanılabilir. Aynı kodları veya daha fazlasını “C” konumunda da gönderebilirsiniz.

OBD için gönderilen komutlar:
ENGINE_COOLANT_TEMP  (0x05) 
ENGINE_RPM           (0x0C)  
VEHICLE_SPEED        (0x0D)  
INTAKE_AIR_TEMP      (0x0F)  
CONT_MODULE_VOLT     (0x42) 
AMBIENT_AIR_TEMP     (0x46)  
CATALYST_TEMP_B1S1   (0x3C)  

Switch “A” konumunda ise, canbus hattındaki data trafiği dinleniyor. Filtre veya mask tanımlanmamış ise, hat üzerindeki tüm datalar izlenebilir.

Switch “C” konumunda ise, yazılan komutu can hattına gönderiyor ve yanıtını bekliyor.

Hattan alınan tüm datalar, tanımlanmış bir formatta, arduino’nun seri çıkışına gönderiliyor.
PC arayüzü bu dataları alıp tabloya yazıyor. Bu arayüz üzerinden, hat hızı, maske ve filtre tanımlamak ve komut göndermek de mümkün.
cantools
Başta da dediğim gibi, araç içindeki tüm can hatları gateway’de birleşiyor ve gateway
bu hatlar üzerinde geçiş sağlıyor. OBD soketi üzerinden de bu hatlara geçiş olduğunu düşünüyorum ama bu konuda fazla deneme imkanım olmadı. Bazı markalarda, OBD soketinde, diagnostik hattının haricindeki hatlar da bulunabiliyor. Şayet yoksa, yapılması gereken, hattın geçtiği bir noktadan, paralel uç almak.
Örneğin, vw grubunda, radyo soketindeki can hattına bağlanıp data akışını dinlemek ve
buradan bazı işlemler yapmak mümkün. (direksiyondaki butonları okumak, radyo veya yol bilgisayarı ekranına yazı yazmak gibi) Diğer bilgiler için başka hatlara bağlanmak gerekiyor.