Isi kandungan:

Tachometer / Scan Gauge Menggunakan Arduino, OBD2, dan CAN Bus: 8 Langkah
Tachometer / Scan Gauge Menggunakan Arduino, OBD2, dan CAN Bus: 8 Langkah

Video: Tachometer / Scan Gauge Menggunakan Arduino, OBD2, dan CAN Bus: 8 Langkah

Video: Tachometer / Scan Gauge Menggunakan Arduino, OBD2, dan CAN Bus: 8 Langkah
Video: Arduino OBD2 interface reading data from car 2024, Julai
Anonim
Tachometer / Scan Gauge Menggunakan Bas Arduino, OBD2, dan CAN
Tachometer / Scan Gauge Menggunakan Bas Arduino, OBD2, dan CAN
Tachometer / Scan Gauge Menggunakan Bas Arduino, OBD2, dan CAN
Tachometer / Scan Gauge Menggunakan Bas Arduino, OBD2, dan CAN
Tachometer / Scan Gauge Menggunakan Bas Arduino, OBD2, dan CAN
Tachometer / Scan Gauge Menggunakan Bas Arduino, OBD2, dan CAN

Mana-mana pemilik Toyota Prius (atau kenderaan hibrid / khas lain) akan mengetahui bahawa papan pemuka mereka mungkin tidak mempunyai beberapa panggilan! Prius saya tidak mempunyai RPM mesin atau pengukur suhu. Sekiranya anda seorang yang berprestasi, anda mungkin ingin mengetahui perkara seperti kenaikan masa dan data bahan bakar dalam masa nyata. Sekiranya anda seorang hypermiler, anda mungkin ingin mengetahui lebih banyak maklumat mengenai ekonomi bahan bakar anda.

Semua nilai ini dikira oleh komputer enjin kereta anda. Ia hanya memerlukan alat imbasan untuk membaca data. Banyak pemilik kereta yang ingin tahu beralih kepada penyelesaian komersial seperti Scan Gauge. Mereka juga mungkin menggunakan scantool yang menggunakan ELM327 melalui USB atau Bluetooth. Pesaing popular ialah Carista, BlueDriver, atau alat imbasan diagnostik ol Innova / Bosch biasa.

Saya mahu pemasangan tetap di kenderaan saya dengan perkakasan khusus, jadi saya memutuskan untuk pergi ke laluan saya sendiri! Saya teruja untuk berkongsi reka bentuk alat imbasan tersuai saya.

Bekalan:

Penting -

  • Papan Arduino (boleh menggunakan Nano, Teensy, Pro Micro, Uno….) [Amazon]
  • Fuse tap + fuse tambahan (Pastikan anda mempunyai ukuran yang tepat) [stor alat ganti kenderaan]
  • Penyambung OBD II (saya menyelamatkannya dari alat imbasan lama) [Amazon]
  • Modul CAN Bus MCP2515 [Amazon]
  • Paparan OLED (atau paparan pilihan lain) [Amazon]
  • Penukar Buck (atau pengatur voltan beralih / linear lain) [Amazon]
  • Kabel 4-konduktor untuk paparan anda (gunakan kabel USB lama, kabel pita, dll.)
  • Banyak wayar pelompat untuk menghubungkan semuanya

Alat -

  • Voltmeter
  • Peralatan pematerian
  • Pelucut wayar

Berguna -

  • Pencetak 3D (atau akses ke satu) untuk membuat bahagian berikut:

    • Kandang untuk arduino
    • Pemasangan bezel skrin / papan pemuka
  • Pengikat untuk penutup
  • Pelekat

Langkah 1: Mengenai Bas CAN (dan Penafian)

Mengenai Bas CAN (dan Penafian)
Mengenai Bas CAN (dan Penafian)
Mengenai Bas CAN (dan Penafian)
Mengenai Bas CAN (dan Penafian)
Mengenai Bas CAN (dan Penafian)
Mengenai Bas CAN (dan Penafian)
Mengenai Bas CAN (dan Penafian)
Mengenai Bas CAN (dan Penafian)

ANDA MEMBUKA KERJA YANG DAPAT SERIUS DI SINI … Berpusing-pusing dengan kenderaan / bas boleh menyebabkan kerosakan dan / atau operasi kenderaan anda yang tidak disengajakan! Saya memberikan kod dan arahan ini kepada anda tanpa jaminan atau jaminan. Anda menanggung semua risiko. Cubalah ini semasa kenderaan PARKED PERTAMA! Projek ini sebenarnya cukup selamat jika anda hanya membuat sedikit kajian mengenai apa yang anda lakukan. Sekiranya anda tidak tahu maksud mana-mana bahagian arahan atau kod, itu mungkin petanda bahawa anda tidak seharusnya bermain-main dengan sistem elektrik kereta anda! Jangan menjalankan projek ini. Beli dongle OBD bluetooth premade dan gunakan sebagai gantinya. Semoga anda berjaya.

Sekarang penafian itu tidak wajar.. Adakah BOLEH terdengar biasa? Mungkin serupa dengan LAN (Ethernet), atau WLAN (WiFi) yang mungkin anda miliki di rumah … itu kerana semuanya rangkaian. CAN bermaksud Rangkaian Kawasan Pengawal. Ini adalah platform komunikasi digital yang digunakan oleh kereta anda untuk bercakap dengan dirinya sendiri. Daripada menjalankan wayar dari komputer mesin ke setiap sensor, cahaya, dan peranti di dalam kereta anda, semuanya dikendalikan secara digital melalui rangkaian.

Bas CAN adalah protokol komunikasi berbeza. Itu bermaksud bahawa ia hanya memerlukan dua wayar! Tidak ada Tx / Rx seperti yang anda dapati dalam komunikasi Serial tradisional, dan tidak ada penghantaran langsung antara dua peranti. Ia biasanya dijumpai sebagai pasangan berpintal di seluruh kenderaan anda. Anda akan mengaksesnya melalui port OBD. Anda tidak semestinya perlu memahami bagaimana protokol ini berfungsi pada tahap asas, tetapi anda mesti cukup memahaminya untuk dapat menulis atau mengubah kod Arduino.

Sekiranya anda ingin mengikuti projek ini, pastikan kenderaan anda mempunyai bas CAN! Hampir setiap kenderaan di jalan raya hari ini mempunyai port OBD II. Kesemuanya mempunyai penyambung elektrik yang sama di bawah papan pemuka. Walau bagaimanapun, terdapat protokol komunikasi yang sangat berbeza berdasarkan pengeluar kenderaan anda. Mana-mana kenderaan yang dijual di Amerika Syarikat selepas tahun 2008 menggunakan bas ISO 15765 CAN. Itulah yang ingin kami gunakan untuk projek ini. Periksa untuk memastikan kenderaan anda mempunyai bas CAN. Perlu diingat bahawa setiap kereta adalah unik. Anda akan mempunyai kelajuan bas CAN tertentu, kod OBD tertentu yang mesti anda minta, dan pelbagai kebiasaan yang mesti anda kurangkan.

Langkah 2: Diagram Pendawaian

Gambarajah pendawaian
Gambarajah pendawaian

Sekarang adalah masa untuk mula merancang kandang dan pemasangan anda. Kereta saya mempunyai kotak fius di tudung dan satu tepat di bawah dash. Mana awak punya? Masa untuk mula berfikir.

Saya menggunakan paip fius pada litar pengelap cermin depan kerana Prius saya mempunyai banyak litar yang terpasang tepat di sebelah port OBD. Anda boleh menggunakan Vbatt pada port OBD, tetapi berhati-hatilah! Itu disambungkan ke bateri, jadi peranti tidak akan pernah mati. Idea buruk. Bergantung pada tarikan Arduino semasa, bateri anda mungkin akan habis dalam masa beberapa hari atau minggu sekiranya anda membiarkan kereta anda duduk! Sekiranya anda menggunakan paparan OLED, anda mungkin mengalami pembakaran berlebihan jika peranti anda sentiasa aktif. Sangat penting bahawa peranti ini dialihkan ke pencucuhan anda.

Anda mungkin mempunyai jalan penyelesaian yang mudah! Anda mungkin mempunyai kenderaan dengan pin kuasa ACC / pencucuhan pada port OBD. Banyak pin khusus pengeluar. Ini bermaksud bahawa port OBD anda mungkin mempunyai pin kuasa yang ditukar kepada pencucuhan. Walau bagaimanapun, jangan hanya mencuba multimeter dan pasangkan arduino anda dengan 12 volt! Kenderaan anda mungkin mempunyai J1699 atau bas bersiri lain yang menggunakan tahap logik 12v. Siapa tahu apa yang akan dilakukan oleh undian semasa! Periksa dengan osiloskop untuk memastikan "sumber 12 volt" anda adalah bekalan kuasa DC yang stabil, bukan isyarat, sebelum anda menyambungkan kuasa arduino ke pin lain selain batt pada port OBD.

Langkah 3: Wiring Port OBD untuk CAN Board

Port OBD Pendawaian untuk CAN Board
Port OBD Pendawaian untuk CAN Board
Pendawaian OBD Port untuk CAN Board
Pendawaian OBD Port untuk CAN Board

Cari pin untuk port OBD anda untuk CAN Rendah dan CAN Tinggi. Sambungkan wayar tersebut ke Tinggi dan Rendah di papan anda.

Sekarang gunakan tanah dari port OBD anda sebagai landasan untuk projek ini! Sambungkan semua wayar tanah bersama-sama, dan pastikan ia dibumikan ke port OBD ini.

Kami akan memfokuskan pada antarmuka SPI papan CAN yang lain dalam beberapa langkah.

Langkah 4: Ketik Fius dan Penukar DC ke DC

Fuse Tap dan DC ke DC Converter
Fuse Tap dan DC ke DC Converter
Fuse Tap dan DC ke DC Converter
Fuse Tap dan DC ke DC Converter
Fuse Tap dan DC ke DC Converter
Fuse Tap dan DC ke DC Converter
Fuse Tap dan DC ke DC Converter
Fuse Tap dan DC ke DC Converter

Jangan ketinggalan penukar turun naik DC! Saya secara tidak sengaja telah memusnahkan projek ini kerana saya memutuskan untuk menjalankan Arduino dari 12 volt dari kotak fius. Saya fikir ada lonjakan voltan dari induktor di suatu tempat (Arduino terpasang pada sekering yang sama dengan motor pengelap cermin depan), dan ia menggoreng Nano saya.

Disyorkan: