สารบัญ:

มาตรวัดรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus: 8 ขั้นตอน
มาตรวัดรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus: 8 ขั้นตอน

วีดีโอ: มาตรวัดรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus: 8 ขั้นตอน

วีดีโอ: มาตรวัดรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus: 8 ขั้นตอน
วีดีโอ: การพัฒนาระบบแสดงผลบนยานยนต์ผ่านบอร์ดอาร์ดุยโน่ด้วยแคนบัสโปรโตคอล - Arduino CAN-Bus OBDII & Nextion 2024, พฤศจิกายน
Anonim
มาตรรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus
มาตรรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus
มาตรรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus
มาตรรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus
มาตรรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus
มาตรรอบ/สแกนด้วย Arduino, OBD2 และ CAN Bus

เจ้าของ Toyota Prius (หรือรถยนต์ไฮบริด/รุ่นพิเศษอื่นๆ) จะรู้ว่าแผงหน้าปัดของพวกเขาอาจหายไปสองสามหน้าปัด! prius ของฉันไม่มีรอบเครื่องยนต์หรือมาตรวัดอุณหภูมิ หากคุณเป็นคนที่ชอบแสดงความสามารถ คุณอาจต้องการทราบข้อมูลต่างๆ เช่น การกำหนดเวลาล่วงหน้าและข้อมูลเชื้อเพลิงแบบเรียลไทม์ หากคุณเป็นไฮเปอร์มิลเลอร์ คุณอาจต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการประหยัดน้ำมันเชื้อเพลิงของคุณ

ค่าทั้งหมดเหล่านี้คำนวณโดยคอมพิวเตอร์เครื่องยนต์ของรถคุณ เพียงแค่ใช้เครื่องมือสแกนเพื่ออ่านข้อมูล เจ้าของรถที่อยากรู้อยากเห็นหลายคนหันไปใช้โซลูชันเชิงพาณิชย์ เช่น Scan Gauge พวกเขาอาจใช้ scantool ที่ใช้ ELM327 ผ่าน USB หรือ Bluetooth คู่แข่งที่ได้รับความนิยม ได้แก่ Carista, BlueDriver หรือเครื่องมือสแกนวินิจฉัย ol Innova/Bosch แบบธรรมดา

ฉันต้องการติดตั้งถาวรในรถของฉันด้วยฮาร์ดแวร์เฉพาะ ดังนั้นฉันจึงตัดสินใจเลือกเส้นทางของตัวเอง! ฉันตื่นเต้นที่จะแบ่งปันการออกแบบเครื่องมือสแกนแบบกำหนดเองของฉัน

เสบียง:

สำคัญ -

  • บอร์ด Arduino (สามารถใช้ Nano, Teensy, Pro Micro, Uno….) [Amazon]
  • Fuse tap+extra fuse (ต้องแน่ใจว่าคุณมีขนาดที่เหมาะสม) [ร้านอะไหล่รถยนต์]
  • ตัวเชื่อมต่อ OBD II (ฉันกู้คืนจากเครื่องมือสแกนแบบเก่า) [Amazon]
  • CAN บัส MCP2515 โมดูล [Amazon]
  • จอแสดงผล OLED (หรือจอแสดงผลอื่นๆ ที่เลือกได้) [Amazon]
  • บั๊กคอนเวอร์เตอร์ (หรือสวิตชิ่งอื่นๆ / ตัวควบคุมแรงดันไฟฟ้าเชิงเส้น) [Amazon]
  • สายเคเบิลแบบ 4 ตัวนำสำหรับจอแสดงผลของคุณ (ใช้สาย USB แบบเก่า สายแพ ฯลฯ)
  • สายจัมเปอร์สำหรับเชื่อมต่อทุกอย่าง

เครื่องมือ -

  • โวลต์มิเตอร์
  • อุปกรณ์บัดกรี
  • เครื่องปอกสายไฟ

มีประโยชน์ -

  • เครื่องพิมพ์ 3 มิติ (หรือการเข้าถึงหนึ่งรายการ) เพื่อสร้างส่วนต่อไปนี้:

    • สิ่งที่แนบมาสำหรับ arduino
    • ที่ยึดขอบจอ/แผงหน้าปัด
  • รัดสำหรับตู้
  • กาว

ขั้นตอนที่ 1: เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)

เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)
เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)
เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)
เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)
เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)
เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)
เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)
เกี่ยวกับ CAN Bus (และข้อจำกัดความรับผิดชอบ)

คุณกำลังเปิดกระป๋องที่ร้ายแรงที่นี่…การยุ่งกับรถของคุณ/รถบัสกระป๋องอาจทำให้เกิดความเสียหายและ/หรือการทำงานโดยไม่ได้ตั้งใจของรถของคุณ! ฉันให้รหัสนี้และคำแนะนำแก่คุณโดยไม่มีการรับประกันหรือการรับประกัน คุณรับความเสี่ยงทั้งหมด ลองสิ่งนี้ในขณะที่รถจอดอยู่ก่อน! โครงการนี้ค่อนข้างปลอดภัยจริง ๆ หากคุณเพียงแค่ค้นคว้าเพียงเล็กน้อยเกี่ยวกับสิ่งที่คุณกำลังทำ หากคุณไม่รู้ว่าคำสั่งหรือรหัสส่วนใดหมายถึงอะไร อาจเป็นสัญญาณว่าคุณไม่ควรไปยุ่งกับระบบไฟฟ้าของรถคุณ! อย่าดำเนินโครงการนี้ ซื้อดองเกิลบลูทู ธ OBD ที่สร้างไว้ล่วงหน้าแล้วใช้สิ่งนั้นแทน ฉันขอให้คุณโชคดี.

ตอนนี้ข้อจำกัดความรับผิดชอบอยู่นอกทาง.. ฟังดูคุ้น ๆ ไหม? อาจคล้ายกับ LAN (Ethernet) หรือ WLAN (WiFi) ที่คุณอาจมีที่บ้าน…นั่นเป็นเพราะพวกเขาเป็นเครือข่ายทั้งหมด CAN ย่อมาจาก Controller Area Network เป็นแพลตฟอร์มการสื่อสารดิจิทัลที่รถของคุณใช้เพื่อพูดคุยกับตัวเอง แทนที่จะเดินสายไฟจากคอมพิวเตอร์เครื่องยนต์ไปยังเซ็นเซอร์ ไฟ และอุปกรณ์แต่ละตัวในรถของคุณ สายไฟทั้งหมดจะถูกควบคุมผ่านเครือข่ายแบบดิจิทัล

CAN บัสเป็นโปรโตคอลการสื่อสารที่แตกต่างกัน นั่นหมายความว่าต้องใช้เพียงสองสายเท่านั้น! ไม่มี Tx/Rx อย่างที่คุณอาจพบในการสื่อสารแบบซีเรียลแบบดั้งเดิม และไม่มีการส่งโดยตรงระหว่างอุปกรณ์สองเครื่อง โดยทั่วไปจะพบเป็นคู่บิดเกลียวในรถของคุณ คุณจะเข้าถึงมันผ่านพอร์ต OBD คุณไม่จำเป็นต้องเข้าใจว่าโปรโตคอลนี้ทำงานอย่างไรในระดับพื้นฐาน แต่คุณต้องเข้าใจมากพอจึงจะสามารถเขียนหรือแก้ไขโค้ด Arduino ได้

หากคุณต้องการติดตามโครงการนี้ ตรวจสอบให้แน่ใจว่ารถของคุณมี CAN bus! รถเกือบทุกคันบนท้องถนนในปัจจุบันมีพอร์ต OBD II ทั้งหมดมีขั้วต่อไฟฟ้าเหมือนกันใต้แผงหน้าปัด อย่างไรก็ตาม มีโปรโตคอลที่แตกต่างกันอย่างมากสำหรับการสื่อสารตามผู้ผลิตรถยนต์ของคุณ รถทุกคันที่ขายในสหรัฐอเมริกาหลังปี 2008 ใช้บัส ISO 15765 CAN นั่นคือสิ่งที่เราต้องการใช้สำหรับโครงการนี้ ตรวจสอบเพื่อให้แน่ใจว่ารถของคุณมี CAN บัส โปรดทราบว่ารถทุกคันมีเอกลักษณ์เฉพาะตัว คุณจะมีความเร็วบัส CAN เฉพาะ รหัส OBD บางอย่างที่คุณต้องร้องขอ และนิสัยใจคอเบ็ดเตล็ดที่คุณต้องบรรเทาระหว่างทาง

ขั้นตอนที่ 2: แผนภาพการเดินสายไฟ

แผนภาพการเดินสายไฟ
แผนภาพการเดินสายไฟ

ตอนนี้เป็นเวลาที่จะเริ่มวางแผนตู้และการติดตั้งของคุณ รถของฉันมีกล่องฟิวส์อยู่ที่ฝากระโปรงหน้า และอีกกล่องหนึ่งอยู่ใต้แผงหน้าปัด ของคุณอยู่ที่ไหน ถึงเวลาเริ่มคิด

ฉันใช้ฟิวส์ที่วงจรที่ปัดน้ำฝนเนื่องจาก Prius ของฉันมีหลายวงจรที่หลอมละลายอยู่ติดกับพอร์ต OBD คุณสามารถใช้ Vbatt บนพอร์ต OBD ได้ แต่ระวัง! ที่ติดอยู่กับแบตเตอรี่ ดังนั้นเครื่องจะไม่ปิด ความคิดที่ไม่ดี ขึ้นอยู่กับวาดปัจจุบันของ Arduino มันอาจฆ่าแบตเตอรี่ของคุณในเวลาไม่กี่วันหรือสัปดาห์ถ้าคุณปล่อยให้รถนั่ง! หากคุณกำลังใช้จอแสดงผล OLED คุณอาจประสบปัญหาการเบิร์นอินมากเกินไปหากอุปกรณ์ของคุณเปิดอยู่ตลอดเวลา การเปลี่ยนอุปกรณ์เป็นการจุดระเบิดเป็นสิ่งสำคัญมาก

คุณอาจมีทางออกที่ง่าย! คุณอาจมีรถยนต์ที่มีพินไฟ ACC/จุดระเบิดบนพอร์ต OBD หมุดจำนวนมากเป็นแบบเฉพาะของผู้ผลิต นั่นหมายความว่าพอร์ต OBD ของคุณอาจมีพินเพาเวอร์ที่เปลี่ยนเป็นสวิตช์กุญแจ อย่างไรก็ตาม อย่าเพิ่งลองใช้มัลติมิเตอร์และต่อ Arduino กับอะไรก็ได้ที่มีไฟ 12 โวลต์! รถของคุณอาจมี J1699 หรือบัสอนุกรมอื่นๆ ที่ใช้ระดับลอจิก 12v ใครจะรู้ว่างวดปัจจุบันจะทำอะไร! ตรวจสอบกับออสซิลลิสโคปเพื่อให้แน่ใจว่า "แหล่งจ่ายไฟ 12 โวลต์" ของคุณเป็นแหล่งจ่ายไฟ DC ที่เสถียร ไม่ใช่สัญญาณ ก่อนที่คุณจะต่อไฟ Arduino เข้ากับพินอื่นๆ นอกเหนือจากแบตต์บนพอร์ต OBD

ขั้นตอนที่ 3: การเดินสายไฟ OBD Port ไปยัง CAN Board

การเดินสายไฟพอร์ต OBD ไปยังบอร์ด CAN
การเดินสายไฟพอร์ต OBD ไปยังบอร์ด CAN
การเดินสายไฟพอร์ต OBD ไปยังบอร์ด CAN
การเดินสายไฟพอร์ต OBD ไปยังบอร์ด CAN

ดูที่พินสำหรับพอร์ต OBD ของคุณสำหรับ CAN Low และ CAN High เชื่อมต่อสายเหล่านั้นกับสูงและต่ำบนบอร์ดของคุณ

ตอนนี้ใช้กราวด์จากพอร์ต OBD ของคุณเป็นพื้นฐานสำหรับโครงการนี้! เชื่อมต่อสายกราวด์ทั้งหมดเข้าด้วยกัน และตรวจสอบให้แน่ใจว่าได้ต่อสายดินเข้ากับพอร์ต OBD นี้

เราจะมุ่งเน้นไปที่ส่วนต่อประสาน SPI ของบอร์ด CAN ที่เหลือในไม่กี่ขั้นตอน

ขั้นตอนที่ 4: ฟิวส์ Tap และ DC to DC Converter

ฟิวส์แทปและตัวแปลง DC เป็น DC
ฟิวส์แทปและตัวแปลง DC เป็น DC
ฟิวส์แทปและตัวแปลง DC เป็น DC
ฟิวส์แทปและตัวแปลง DC เป็น DC
ฟิวส์แทปและตัวแปลง DC เป็น DC
ฟิวส์แทปและตัวแปลง DC เป็น DC
ฟิวส์แทปและตัวแปลง DC เป็น DC
ฟิวส์แทปและตัวแปลง DC เป็น DC

อย่าข้ามตัวแปลง DC step-down! ฉันตั้งใจทำลายโครงการนี้ไปแล้วครั้งหนึ่งเพราะฉันตัดสินใจว่าจะเรียกใช้ Arduino จาก 12 โวลต์จากกล่องฟิวส์ ฉันคิดว่ามีไฟกระชากจากตัวเหนี่ยวนำที่ไหนสักแห่ง (Arduino ติดอยู่กับฟิวส์เดียวกันกับมอเตอร์ปัดน้ำฝนกระจกหน้ารถ) และมันทอดนาโนของฉัน

แนะนำ: