Mục lục:

Máy đo tốc độ / Máy đo quét bằng Arduino, OBD2 và CAN Bus: 8 bước
Máy đo tốc độ / Máy đo quét bằng Arduino, OBD2 và CAN Bus: 8 bước

Video: Máy đo tốc độ / Máy đo quét bằng Arduino, OBD2 và CAN Bus: 8 bước

Video: Máy đo tốc độ / Máy đo quét bằng Arduino, OBD2 và CAN Bus: 8 bước
Video: Các bước làm mạch OBD2 giao tiếp với ô tô 2024, Tháng mười một
Anonim
Máy đo tốc độ / Máy đo quét sử dụng Arduino, OBD2 và CAN Bus
Máy đo tốc độ / Máy đo quét sử dụng Arduino, OBD2 và CAN Bus
Máy đo tốc độ / Máy đo quét sử dụng Arduino, OBD2 và CAN Bus
Máy đo tốc độ / Máy đo quét sử dụng Arduino, OBD2 và CAN Bus
Máy đo tốc độ / Máy đo quét sử dụng Arduino, OBD2 và CAN Bus
Máy đo tốc độ / Máy đo quét sử dụng Arduino, OBD2 và CAN Bus

Bất kỳ chủ sở hữu Toyota Prius (hoặc xe hybrid / xe đặc biệt khác) sẽ biết rằng bảng điều khiển của họ có thể bị thiếu một vài mặt số! Prius của tôi không có RPM của động cơ hoặc đồng hồ đo nhiệt độ. Nếu bạn là một người thích hiệu suất, bạn có thể muốn biết những thứ như tính trước thời gian và dữ liệu nhiên liệu trong thời gian thực. Nếu bạn là một siêu xe hơi, bạn có thể muốn biết thêm thông tin về khả năng tiết kiệm nhiên liệu của mình.

Tất cả các giá trị này được tính toán bởi máy tính động cơ của ô tô của bạn. Nó chỉ cần một công cụ quét để đọc dữ liệu. Nhiều chủ sở hữu xe hơi tò mò chuyển sang các giải pháp thương mại như Máy đo quét. Họ cũng có thể sử dụng một ống tiêu chuẩn sử dụng ELM327 qua USB hoặc Bluetooth. Các ứng cử viên phổ biến là Carista, BlueDriver, hoặc một công cụ quét chẩn đoán thông thường của Innova / Bosch.

Tôi muốn lắp đặt vĩnh viễn trên xe của mình với phần cứng chuyên dụng, vì vậy tôi quyết định đi theo con đường của riêng mình! Tôi rất vui khi được chia sẻ thiết kế công cụ quét tùy chỉnh của mình.

Quân nhu:

Quan trọng -

  • Bo mạch Arduino (có thể sử dụng Nano, Teensy, Pro Micro, Uno….) [Amazon]
  • Cầu chì vòi + cầu chì phụ (Đảm bảo bạn có kích thước phù hợp) [cửa hàng phụ tùng ô tô]
  • Đầu nối OBD II (Tôi đã trục vớt một đầu nối từ một công cụ quét cũ) [Amazon]
  • Mô-đun CAN Bus MCP2515 [Amazon]
  • Màn hình OLED (hoặc màn hình tùy chọn khác) [Amazon]
  • Bộ chuyển đổi Buck (hoặc bộ điều chỉnh điện áp chuyển mạch / tuyến tính khác) [Amazon]
  • Cáp 4 ruột cho màn hình của bạn (sử dụng cáp USB cũ, cáp ribbon, v.v.)
  • Rất nhiều dây nhảy để kết nối mọi thứ

Công cụ -

  • Vôn kế
  • Thiết bị hàn
  • Dụng cụ tuốt dây

Hữu ích -

  • Máy in 3D (hoặc truy cập vào một) để tạo các bộ phận sau:

    • Bao vây cho arduino
    • Gờ màn hình / giá đỡ bảng điều khiển
  • Chốt cho bao vây
  • Dính

Bước 1: Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)

Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)
Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)
Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)
Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)
Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)
Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)
Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)
Giới thiệu về Xe buýt CAN (và Tuyên bố từ chối trách nhiệm)

BẠN ĐANG MỞ MỘT CÔNG VIỆC CÓ THỂ NGHIÊM TRỌNG Ở ĐÂY… Việc lộn xộn với phương tiện / xe buýt có thể gây ra hư hỏng và / hoặc vận hành không chủ ý của phương tiện của bạn! Tôi cung cấp mã và hướng dẫn này cho bạn mà không có bảo hành hoặc đảm bảo. Bạn chấp nhận mọi rủi ro. Hãy thử điều này trong khi xe ĐƯỢC ĐÓNG XE ĐẦU TIÊN! Dự án này thực sự khá an toàn nếu bạn chỉ cần thực hiện một nghiên cứu nhỏ về những gì bạn đang làm. Nếu bạn không biết bất kỳ phần nào của hướng dẫn hoặc mã có nghĩa là gì, đó có thể là một dấu hiệu cho thấy bạn không nên làm hỏng hệ thống điện của ô tô! Đừng tiếp tục dự án này. Mua một dongle bluetooth OBD được làm sẵn và sử dụng thay thế. Tôi chúc bạn may mắn.

Bây giờ tuyên bố từ chối trách nhiệm đã hết rồi..có thể nghe quen thuộc không? Có thể tương tự như LAN (Ethernet), hoặc WLAN (WiFi) mà bạn có thể có ở nhà… đó là bởi vì chúng đều là mạng. CAN là viết tắt của Controller Area Network. Đó là một nền tảng liên lạc kỹ thuật số mà ô tô của bạn sử dụng để tự nói chuyện với chính nó. Thay vì chạy dây từ máy tính động cơ đến từng cảm biến, ánh sáng và thiết bị trong ô tô của bạn, tất cả chúng đều được điều khiển kỹ thuật số qua mạng.

Bus CAN là một giao thức truyền thông khác biệt. Điều đó có nghĩa là nó chỉ cần hai dây! Không có Tx / Rx như bạn có thể tìm thấy trong giao tiếp nối tiếp truyền thống và không có đường truyền trực tiếp giữa hai thiết bị. Nó thường được tìm thấy như một cặp xoắn trên xe của bạn. Bạn sẽ truy cập nó thông qua cổng OBD. Bạn không nhất thiết phải hiểu cách thức hoạt động của giao thức này ở cấp độ cơ bản, nhưng bạn phải hiểu nó đủ để có thể viết hoặc sửa đổi mã Arduino.

Nếu bạn muốn đi theo dự án này, hãy đảm bảo rằng phương tiện của bạn có xe buýt CÓ THỂ! Hầu hết mọi phương tiện lưu thông trên đường ngày nay đều có cổng OBD II. Tất cả chúng đều có cùng một đầu nối điện dưới bảng điều khiển. Tuy nhiên, có rất nhiều giao thức khác nhau để giao tiếp dựa trên nhà sản xuất ô tô của bạn. Bất kỳ phương tiện nào được bán tại Hoa Kỳ sau năm 2008 đều sử dụng xe buýt ISO 15765 CAN. Đó là những gì chúng tôi muốn sử dụng cho dự án này. Kiểm tra để đảm bảo rằng xe của bạn có xe buýt CÓ THỂ. Hãy nhớ rằng mỗi chiếc xe là duy nhất. Bạn sẽ có một tốc độ xe buýt CAN cụ thể, một số mã OBD nhất định mà bạn phải yêu cầu và các lỗi khác mà bạn phải giảm thiểu trên đường đi.

Bước 2: Sơ đồ đấu dây

Sơ đồ hệ thống dây điện
Sơ đồ hệ thống dây điện

Bây giờ là lúc để bắt đầu lập kế hoạch bao vây và lắp đặt của bạn. Xe của tôi có một hộp cầu chì ở mui xe và một hộp ngay dưới bảng điều khiển. Của bạn đâu? Đã đến lúc bắt đầu suy nghĩ.

Tôi đã sử dụng một vòi cầu chì trên mạch gạt nước kính chắn gió vì chiếc Prius của tôi có nhiều mạch được hợp nhất ngay bên cạnh cổng OBD. Bạn có thể sử dụng Vbatt trên cổng OBD, nhưng hãy cẩn thận! Điều đó được kết nối với pin, vì vậy thiết bị sẽ không bao giờ tắt. Ý kiến tồi. Tùy thuộc vào bản vẽ hiện tại của Arduino, nó có thể làm hết pin của bạn trong vài ngày hoặc vài tuần nếu bạn để ô tô của mình ngồi! Nếu bạn đang sử dụng màn hình OLED, bạn có thể gặp phải hiện tượng cháy sáng quá mức nếu thiết bị của bạn luôn bật. Điều rất quan trọng là thiết bị phải được chuyển sang đánh lửa của bạn.

Bạn có thể có một giải pháp dễ dàng! Bạn có thể có một chiếc xe có chân cắm điện ACC / đánh lửa trên cổng OBD. Rất nhiều chân cắm là cụ thể của nhà sản xuất. Điều đó có nghĩa là cổng OBD của bạn có thể có chân cắm nguồn được chuyển sang đánh lửa. Tuy nhiên, đừng chỉ thử đồng hồ vạn năng và kết nối arduino của bạn với bất cứ thứ gì có 12 vôn! Xe của bạn có thể có J1699 hoặc xe buýt nối tiếp khác sử dụng mức logic 12v. Ai biết được một trận hòa hiện tại sẽ làm gì! Kiểm tra bằng máy hiện sóng để đảm bảo rằng "nguồn 12 volt" của bạn là nguồn điện DC ổn định, không phải là tín hiệu, trước khi bạn nối nguồn arduino vào bất kỳ chân nào khác ngoài batt trên cổng OBD.

Bước 3: Nối cổng OBD tới CAN Board

Nối cổng OBD tới bảng CAN
Nối cổng OBD tới bảng CAN
Nối cổng OBD tới bảng CAN
Nối cổng OBD tới bảng CAN

Nhìn vào sơ đồ chân cho cổng OBD của bạn để biết CAN Thấp và CÓ THỂ Cao. Kết nối các dây đó với Cao và Thấp trên bảng của bạn.

Bây giờ sử dụng mặt đất từ cổng OBD của bạn làm mặt đất cho dự án này! Kết nối tất cả các dây nối đất với nhau và đảm bảo rằng chúng được nối đất với cổng OBD này.

Chúng tôi sẽ tập trung vào phần còn lại của giao diện SPI của bảng CAN trong một vài bước.

Bước 4: Fuse Tap và DC to DC Converter

Cầu chì Tap và Bộ chuyển đổi DC sang DC
Cầu chì Tap và Bộ chuyển đổi DC sang DC
Cầu chì Tap và Bộ chuyển đổi DC sang DC
Cầu chì Tap và Bộ chuyển đổi DC sang DC
Cầu chì Tap và Bộ chuyển đổi DC sang DC
Cầu chì Tap và Bộ chuyển đổi DC sang DC
Cầu chì Tap và Bộ chuyển đổi DC sang DC
Cầu chì Tap và Bộ chuyển đổi DC sang DC

Đừng bỏ qua bộ chuyển đổi bước xuống DC! Tôi đã vô tình phá hủy dự án này một lần vì tôi quyết định sẽ chạy Arduino 12 volt từ hộp cầu chì. Tôi nghĩ rằng đã có một sự đột biến điện áp từ một cuộn cảm ở đâu đó (Arduino được nối với cùng một cầu chì như động cơ gạt nước kính chắn gió) và nó đã làm hỏng Nano của tôi.

Đề xuất: