Mundarija:

Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi: 8 qadam
Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi: 8 qadam

Video: Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi: 8 qadam

Video: Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi: 8 qadam
Video: ME17.9.7 Чтение запись блока ЭБУ 2024, Iyul
Anonim
Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi
Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi
Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi
Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi
Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi
Arduino, OBD2 va CAN Bus yordamida takometr/skaner o'lchagichi

Toyota Prius (yoki boshqa gibrid/maxsus transport vositasi) ning har qanday egasi o'z boshqaruv panelida bir nechta raqamlar etishmayotganini biladi! Mening priusda dvigatelning aylanish tezligi yoki harorat o'lchagichi yo'q. Agar siz ijrochi bo'lsangiz, vaqtni oldindan bilish va real vaqtda yoqilg'i ma'lumoti kabi narsalarni bilishni xohlashingiz mumkin. Agar siz gipermiler bo'lsangiz, yoqilg'i tejashingiz haqida ko'proq ma'lumotga ega bo'lishingiz mumkin.

Bu qiymatlarning barchasi avtomobilingizning dvigatel kompyuteri tomonidan hisoblanadi. Ma'lumotni o'qish uchun skanerlash vositasi kifoya qiladi. Ko'p qiziquvchan avtomobil egalari skaner o'lchagich kabi tijorat echimlariga murojaat qilishadi. Ular, shuningdek, USB yoki Bluetooth orqali ELM327 ishlatadigan skantooldan foydalanishlari mumkin. Mashhur da'vogarlar - Carista, BlueDriver yoki oddiy Innova/Bosch diagnostika skaneri.

Men mashinamda maxsus jihozlar bilan doimiy o'rnatishni xohlardim, shuning uchun men o'z yo'limga borishga qaror qildim! Men maxsus skanerlash vositasi dizayni bilan bo'lishishdan xursandman.

Ta'minot:

Muhim -

  • Arduino taxtasi (Nano, Teensy, Pro Micro, Uno -dan foydalanish mumkin.) [Amazon]
  • Sug'urta tapasi+qo'shimcha sug'urta (to'g'ri o'lchamga ega ekanligingizga ishonch hosil qiling) [avtomobil ehtiyot qismlari do'koni]
  • OBD II ulagichi (men eski skaner asbobidan qutqarib qoldim) [Amazon]
  • CAN Bus MCP2515 moduli [Amazon]
  • OLED -displey (yoki boshqa tanlangan displey) [Amazon]
  • Buk konvertori (yoki boshqa o'tish / chiziqli kuchlanish regulyatori) [Amazon]
  • Displey uchun 4 o'tkazgichli kabel (eski USB kabeli, lenta kabeli va boshqalardan foydalaning)
  • Hamma narsani ulash uchun ko'plab o'tish simlari

Asboblar -

  • Voltmetr
  • Lehimlash uskunalari
  • Tel -chiziqlar

Foydali -

  • Quyidagi qismlarni yaratish uchun 3D printer (yoki biriga kirish):

    • Arduino uchun korpus
    • Ekran panjarasi/asboblar paneli
  • Qoplama uchun mahkamlagichlar
  • Yopishtiruvchi

1 -qadam: CAN avtobus haqida (va rad javobi)

CAN avtobus haqida (va rad javobi)
CAN avtobus haqida (va rad javobi)
CAN avtobus haqida (va rad javobi)
CAN avtobus haqida (va rad javobi)
CAN avtobus haqida (va rad javobi)
CAN avtobus haqida (va rad javobi)
CAN avtobus haqida (va rad javobi)
CAN avtobus haqida (va rad javobi)

Siz bu erda jiddiy gijjalar qutisini ochyapsiz… Avtotransport vositasi bilan yugurish transport vositasining shikastlanishiga va/yoki bexosdan ishlashiga olib kelishi mumkin! Men sizga ushbu kod va ko'rsatmalarni hech qanday kafolat yoki kafolatsiz beraman. Siz barcha xavflarni o'z zimmangizga olasiz. Avtomobil BIRINChI BO'LIB turgan paytda buni sinab ko'ring! Agar siz nima qilayotganingiz haqida ozgina tadqiqot qilsangiz, bu loyiha haqiqatan ham xavfsizdir. Agar siz yo'riqnomaning yoki kodning biron bir qismi nimani anglatishini bilmasangiz, bu sizning mashinangizning elektr tizimiga aralashmasligingizning belgisidir! Ushbu loyihani qabul qilmang. Tayyor bluetooth OBD dongle sotib oling va uning o'rniga foydalaning. Sizga omad tilayman.

Endi rad javobi berilmayapti.. tanish bo'lishi mumkinmi? Ehtimol, siz uyda bo'lishi mumkin bo'lgan LAN (Ethernet) yoki WLAN (WiFi) ga o'xshashdir, chunki ularning hammasi tarmoqdir. CAN "Controller Area Network" degan ma'noni anglatadi. Bu sizning mashinangiz o'zi bilan gaplashish uchun foydalanadigan raqamli aloqa platformasi. Dvigatel kompyuteridan mashinangizdagi har bir sensor, yorug'lik va moslamaga simlarni uzatish o'rniga, ular tarmoq orqali raqamli boshqariladi.

CAN avtobus - bu differentsial aloqa protokoli. Bu shuni anglatadiki, unga faqat ikkita sim kerak! An'anaviy ketma -ket aloqada topishingiz mumkin bo'lgan Tx/Rx yo'q va ikkita qurilma o'rtasida to'g'ridan -to'g'ri uzatish yo'q. Odatda u sizning mashinangizda o'ralgan juftlik sifatida topiladi. Siz unga OBD porti orqali kirasiz. Siz ushbu protokolning asosiy darajada qanday ishlashini tushunishingiz shart emas, lekin Arduino kodini yozish yoki o'zgartirish uchun uni etarli darajada tushunishingiz kerak.

Agar siz ushbu loyihani kuzatmoqchi bo'lsangiz, mashinangizda CAN avtobusiga ega ekanligingizga ishonch hosil qiling! Yo'lda deyarli har bir avtomobil OBD II portiga ega. Ularning hammasi asboblar paneli ostida bir xil elektr ulagichga ega. Biroq, sizning avtoulov ishlab chiqaruvchingizga asoslangan aloqa uchun juda farq qiladigan protokollar mavjud. AQShda 2008 yildan keyin sotiladigan har qanday avtomobil ISO 15765 CAN avtobusidan foydalanadi. Bu biz ushbu loyiha uchun foydalanmoqchi bo'lgan narsadir. Avtomobilingiz CAN avtobusiga ega ekanligini tekshiring. Shuni yodda tutingki, har bir avtomobil o'ziga xosdir. Sizda ma'lum bir CAN avtobus tezligi, siz so'rashingiz kerak bo'lgan ba'zi OBD kodlari va yo'l davomida yumshatish kerak bo'lgan turli xil qiziqishlar bo'ladi.

2 -qadam: ulanish sxemasi

Ulanish diagrammasi
Ulanish diagrammasi

Endi korpus va o'rnatishni rejalashtirishni boshlash vaqti keldi. Mening mashinamda kaputda sug'urta qutisi va bitta chiziq ostida joylashgan. Sizniki qayerda? Fikrlashni boshlash vaqti keldi.

Men old oynalarni o'chirish pallasida sug'urta kranini ishlatardim, chunki mening Prius -da OBD portining yonida birlashtirilgan ko'plab sxemalar mavjud. Siz Vbatt -dan OBD portida foydalanishingiz mumkin, lekin ehtiyot bo'ling! Bu batareyaga ulangan, shuning uchun qurilma hech qachon o'chmaydi. Yomon fikr. Arduino -ning hozirgi o'yiniga qarab, agar siz mashinangizni o'tirishga ruxsat bersangiz, u bir necha kun yoki haftada batareyangizni o'ldirishi mumkin! Agar siz OLED-displeydan foydalansangiz, agar qurilmangiz doimo yonib tursa, siz haddan tashqari yonib ketishingiz mumkin. Qurilmani yondirish rejimiga o'tish juda muhimdir.

Sizda oson echim bo'lishi mumkin! Sizda OBD portida ACC/ateşleme pimi bo'lgan avtomobil bo'lishi mumkin. Ko'p pinlar ishlab chiqaruvchiga xosdir. Bu shuni anglatadiki, sizning OBD portingizda kontaktga ulangan quvvat pimi bo'lishi mumkin. Biroq, multimetrni sinab ko'rmang va arduino -ni 12 voltli biror narsaga ulang! Sizning mashinangizda J1699 yoki 12v mantiq darajasidan foydalanadigan boshqa ketma -ket avtobus bo'lishi mumkin. Kim biladi, hozirgi durang nima bo'lardi! Arduino quvvatini OBD portidan boshqa pinlarga ulashdan oldin, "12 voltli manba" signal emas, balki doimiy shahar quvvat manbai ekanligiga ishonch hosil qilish uchun osiloskop bilan tekshiring.

3 -qadam: OBD portini CAN kartasiga ulash

OBD portini CAN kartasiga ulash
OBD portini CAN kartasiga ulash
OBD portini CAN kartasiga ulash
OBD portini CAN kartasiga ulash

OBD portingiz uchun CAN Low va CAN High -ga qarang. Bu simlarni bortingizdagi baland va pastga ulang.

Endi ushbu loyihani amalga oshirish uchun sizning OBD portingizdagi erdan foydalaning! Barcha topraklama simlarini bir -biriga ulang va ularning ushbu OBD portiga ulanganligiga ishonch hosil qiling.

Biz bir necha bosqichda CAN kartasining qolgan SPI interfeysiga e'tibor qaratamiz.

4 -qadam: Fuse Tap va DC to DC Converter

Fuse Tap va DC to DC Converter
Fuse Tap va DC to DC Converter
Fuse Tap va DC to DC Converter
Fuse Tap va DC to DC Converter
Fuse Tap va DC to DC Converter
Fuse Tap va DC to DC Converter
Fuse Tap va DC to DC Converter
Fuse Tap va DC to DC Converter

DC pastga tushadigan konvertorni o'tkazib yubormang! Men tasodifan bu loyihani bir marta yo'q qildim, chunki men Arduino -ni sug'urta qutisidan 12 voltdan o'chirishga qaror qildim. O'ylaymanki, induktordan biror joyda kuchlanish ko'tarildi (Arduino old oynani tozalash vositasi bilan bir xil sug'urta bilan bog'langan edi) va u mening Nanoni qovurdi.

Tavsiya: