İçindekiler:

Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi: 8 Adım
Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi: 8 Adım

Video: Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi: 8 Adım

Video: Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi: 8 Adım
Video: Meraklısına! Servo Motor İle Devir Saati Yapıyoruz! OBD2 + Arduino + CAN Bus Shield 2024, Kasım
Anonim
Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi
Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi
Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi
Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi
Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi
Arduino, OBD2 ve CAN Bus Kullanarak Takometre/Tarama Göstergesi

Herhangi bir Toyota Prius (veya diğer hibrit/özel araç) sahipleri, gösterge panolarında birkaç kadranın eksik olabileceğini bileceklerdir! Prius'umun motor devri veya sıcaklık göstergesi yok. Bir performans adamıysanız, zamanlama ilerlemesi ve yakıt verileri gibi şeyleri gerçek zamanlı olarak bilmek isteyebilirsiniz. Bir hipermiler iseniz, yakıt ekonominiz hakkında daha fazla bilgi edinmek isteyebilirsiniz.

Tüm bu değerler aracınızın motor bilgisayarı tarafından hesaplanır. Verileri okumak için bir tarama aleti yeterlidir. Birçok meraklı araç sahibi, Scan Gauge gibi ticari çözümlere yöneliyor. USB veya Bluetooth üzerinden ELM327 kullanan bir tarama aleti de kullanabilirler. Popüler rakipler Carista, BlueDriver veya normal bir Innova/Bosch tanı tarama aracıdır.

Özel donanıma sahip aracımda kalıcı bir kurulum yapmak istedim, bu yüzden kendi yoluma gitmeye karar verdim! Özel tarama aleti tasarımımı paylaşmaktan heyecan duyuyorum.

Gereçler:

Önemli -

  • Arduino kartı (Nano, Teensy, Pro Micro, Uno…. kullanabilir) [Amazon]
  • Sigorta musluğu+ekstra sigorta (Doğru boyuta sahip olduğunuzdan emin olun) [otomobil parçaları mağazası]
  • OBD II konektörü (Eski bir tarama aletinden bir tane kurtardım) [Amazon]
  • CAN Bus MCP2515 modülü [Amazon]
  • OLED Ekran (veya tercih edilen diğer ekran) [Amazon]
  • Buck dönüştürücü (veya diğer anahtarlama / doğrusal voltaj regülatörü) [Amazon]
  • Ekranınız için 4 iletkenli kablo (eski USB kablosu, şerit kablo vb. kullanın)
  • Her şeyi bağlamak için çok sayıda jumper kablosu

Aletler -

  • Voltmetre
  • Lehimleme ekipmanları
  • Tel striptizci

Yardımsever -

  • Aşağıdaki parçaları oluşturmak için 3D yazıcı (veya birine erişim):

    • arduino için muhafaza
    • Ekran çerçevesi/pano montajı
  • Muhafaza için bağlantı elemanları
  • yapıştırıcı

1. Adım: CAN Bus (ve Sorumluluk Reddi) hakkında

CAN Bus (ve Sorumluluk Reddi) hakkında
CAN Bus (ve Sorumluluk Reddi) hakkında
CAN Bus (ve Sorumluluk Reddi) hakkında
CAN Bus (ve Sorumluluk Reddi) hakkında
CAN Bus (ve Sorumluluk Reddi) hakkında
CAN Bus (ve Sorumluluk Reddi) hakkında
CAN Bus (ve Sorumluluk Reddi) hakkında
CAN Bus (ve Sorumluluk Reddi) hakkında

BURADA CİDDİ BİR KUTU AÇIYORSUNUZ… Aracınızla/can otobüsünüzle uğraşmak, aracınızın hasar görmesine ve/veya istemeden çalışmasına neden olabilir! Bu kodu ve talimatı size hiçbir garanti veya garanti olmaksızın veriyorum. Tüm riski üstlenirsiniz. Araç ÖNCE PARK EDİLİRKEN bunu deneyin! Yaptığınız şey hakkında biraz araştırma yaparsanız, bu proje aslında oldukça güvenlidir. Talimatların veya kodun herhangi bir bölümünün ne anlama geldiğini bilmiyorsanız, muhtemelen arabanızın elektrik sistemiyle uğraşmamanız gerektiğinin bir işaretidir! Bu projeyi üstlenmeyin. Hazır bir bluetooth OBD dongle satın alın ve onun yerine bunu kullanın. İyi şanslar dilerim.

Artık sorumluluk reddi ortadan kalktığına göre… tanıdık geliyor mu? Belki evinizde sahip olabileceğiniz LAN (Ethernet) veya WLAN'a (WiFi) benzer… çünkü hepsi ağdır. CAN, Denetleyici Alan Ağı anlamına gelir. Arabanızın kendi kendine konuşmak için kullandığı bir dijital iletişim platformudur. Motor bilgisayarından arabanızdaki her sensöre, ışığa ve cihaza kablo çekmek yerine, hepsi ağ üzerinden dijital olarak kontrol edilir.

CAN veri yolu, bir diferansiyel iletişim protokolüdür. Bu, yalnızca iki kabloya ihtiyaç duyduğu anlamına gelir! Geleneksel Seri iletişimde bulabileceğiniz gibi Tx/Rx yoktur ve iki cihaz arasında doğrudan iletim yoktur. Genellikle aracınızın her yerinde bükümlü bir çift olarak bulunur. OBD portu üzerinden erişeceksiniz. Bu protokolün temel düzeyde nasıl çalıştığını anlamanız gerekmez, ancak Arduino kodunu yazabilmek veya değiştirebilmek için yeterince anlamalısınız.

Bu projeyi takip etmek istiyorsanız aracınızda mutlaka CAN bus olsun! Bugün yollardaki hemen hemen her araçta bir OBD II portu bulunuyor. Hepsinin gösterge panelinin altında aynı elektrik konektörü var. Ancak, otomobil üreticinize bağlı olarak iletişim için çılgınca farklı protokoller vardır. 2008'den sonra Amerika Birleşik Devletleri'nde satılan herhangi bir araç, ISO 15765 CAN veri yolunu kullanır. Bu proje için kullanmak istediğimiz şey bu. Aracınızın bir CAN veri yolu olduğundan emin olmak için kontrol edin. Her arabanın benzersiz olduğunu unutmayın. Belirli bir CAN veri yolu hızına, talep etmeniz gereken belirli OBD kodlarına ve yol boyunca azaltmanız gereken çeşitli tuhaflıklara sahip olacaksınız.

Adım 2: Bağlantı Şeması

Bağlantı şeması
Bağlantı şeması

Şimdi muhafazanızı ve kurulumunuzu planlamaya başlama zamanı. Arabamın kaputunda ve ön konsolun hemen altında bir sigorta kutusu var. Seninki nerede? Düşünmeye başlama zamanı.

Prius'umda OBD bağlantı noktasının hemen yanında sigortalı birçok devre olduğundan, ön cam sileceği devresinde bir sigorta musluğu kullandım. Vbatt'ı OBD bağlantı noktasında kullanabilirsiniz, ancak dikkatli olun! Bu pile bağlı olduğundan cihaz asla kapanmaz. Kötü bir fikir. Arduino'nun mevcut çekişine bağlı olarak, arabanızın oturmasına izin verirseniz, pilinizi birkaç gün veya hafta içinde öldürebilir! OLED ekran kullanıyorsanız, cihazınız sürekli açıksa aşırı yanma yaşayabilirsiniz. Cihazın sizin kontağınıza açık olması çok önemlidir.

Kolay bir çözümünüz olabilir! OBD portunda ACC/ateşleme güç pimi olan bir aracınız olabilir. Birçok pin üreticiye özeldir. Bu, OBD bağlantı noktanızın kontağa geçirilmiş bir güç pimine sahip olabileceği anlamına gelir. Ancak, sadece multimetreyi denemeyin ve arduino'nuzu 12 volt ile herhangi bir şeye bağlamayın! Aracınızda bir J1699 veya 12v mantık seviyesi kullanan başka bir seri veri yolu olabilir. Mevcut bir çekilişin ne yapacağını kim bilebilir! OBD bağlantı noktasındaki pilin yanı sıra arduino gücünü başka bir pime bağlamadan önce "12 volt kaynağınızın" bir sinyal değil, sabit bir DC güç kaynağı olduğundan emin olmak için osiloskopla kontrol edin.

Adım 3: OBD Bağlantı Noktasını CAN Kartına Kablolama

OBD Portunu CAN Kartına Kablolama
OBD Portunu CAN Kartına Kablolama
OBD Portunu CAN Kartına Kablolama
OBD Portunu CAN Kartına Kablolama

CAN Low ve CAN High için OBD bağlantı noktanızın pin çıkışına bakın. Bu kabloları kartınızdaki Yüksek ve Alçak'a bağlayın.

Şimdi bu proje için zemin olarak OBD bağlantı noktanızdaki toprağı kullanın! Tüm topraklama kablolarını birbirine bağlayın ve bu OBD bağlantı noktasına topraklandığından emin olun.

Birkaç adımda CAN kartının SPI arayüzünün geri kalanına odaklanacağız.

Adım 4: Tap ve DC'den DC'ye Dönüştürücüyü Sigortalayın

Sigorta Musluğu ve DC'den DC'ye Dönüştürücü
Sigorta Musluğu ve DC'den DC'ye Dönüştürücü
Sigorta Musluğu ve DC'den DC'ye Dönüştürücü
Sigorta Musluğu ve DC'den DC'ye Dönüştürücü
Sigorta Musluğu ve DC'den DC'ye Dönüştürücü
Sigorta Musluğu ve DC'den DC'ye Dönüştürücü
Sigorta Musluğu ve DC'den DC'ye Dönüştürücü
Sigorta Musluğu ve DC'den DC'ye Dönüştürücü

DC düşürücü dönüştürücüyü atlamayın! Bu projeyi yanlışlıkla bir kez yok ettim çünkü Arduino'yu sigorta kutusundan 12 voltla çalıştırmaya karar verdim. Sanırım bir yerde bir indüktörden voltaj yükselmesi oldu (Arduino, ön cam silecek motoruyla aynı sigortaya bağlıydı) ve Nano'mu kızarttı.

Önerilen: