Inhaltsverzeichnis:

Drehzahlmesser / Scan-Messgerät mit Arduino, OBD2 und CAN-Bus - Gunook
Drehzahlmesser / Scan-Messgerät mit Arduino, OBD2 und CAN-Bus - Gunook

Video: Drehzahlmesser / Scan-Messgerät mit Arduino, OBD2 und CAN-Bus - Gunook

Video: Drehzahlmesser / Scan-Messgerät mit Arduino, OBD2 und CAN-Bus - Gunook
Video: CAN Bus Verification 2024, Juli
Anonim
Drehzahlmesser/Scan-Messgerät mit Arduino, OBD2 und CAN-Bus
Drehzahlmesser/Scan-Messgerät mit Arduino, OBD2 und CAN-Bus
Drehzahlmesser/Scan-Messgerät mit Arduino, OBD2 und CAN-Bus
Drehzahlmesser/Scan-Messgerät mit Arduino, OBD2 und CAN-Bus
Drehzahlmesser/Scan-Messgerät mit Arduino, OBD2 und CAN-Bus
Drehzahlmesser/Scan-Messgerät mit Arduino, OBD2 und CAN-Bus

Jeder Besitzer eines Toyota Prius (oder eines anderen Hybrid- / Spezialfahrzeugs) wird wissen, dass in seinen Armaturenbrettern möglicherweise ein paar Zifferblätter fehlen! Mein Prius hat keine Motordrehzahl oder Temperaturanzeige. Wenn Sie ein Leistungssportler sind, möchten Sie vielleicht Dinge wie Zeitvorlauf und Kraftstoffdaten in Echtzeit wissen. Wenn Sie ein Hypermiler sind, möchten Sie vielleicht mehr Informationen über Ihren Kraftstoffverbrauch wissen.

Alle diese Werte werden vom Motorcomputer Ihres Autos berechnet. Zum Auslesen der Daten ist lediglich ein Scan-Tool erforderlich. Viele neugierige Autobesitzer wenden sich kommerziellen Lösungen wie einem Scan Gauge zu. Sie können auch ein Scantool verwenden, das ELM327 über USB oder Bluetooth verwendet. Beliebte Konkurrenten sind Carista, BlueDriver oder ein normales altes Innova/Bosch-Diagnose-Scan-Tool.

Ich wollte eine feste Installation in meinem Fahrzeug mit dedizierter Hardware haben, also habe ich mich entschieden, meinen eigenen Weg zu gehen! Ich freue mich, mein benutzerdefiniertes Scan-Tool-Design zu teilen.

Lieferungen:

Wichtig -

  • Arduino-Board (kann Nano, Teensy, Pro Micro, Uno… verwenden) [Amazon]
  • Sicherungshahn + zusätzliche Sicherung (Achten Sie auf die richtige Größe) [Autoteileladen]
  • OBD II-Anschluss (ich habe einen von einem alten Scan-Tool gerettet) [Amazon]
  • CAN-Bus MCP2515-Modul [Amazon]
  • OLED-Display (oder anderes Display nach Wahl) [Amazon]
  • Abwärtswandler (oder anderer schaltender / linearer Spannungsregler) [Amazon]
  • 4-adriges Kabel für Ihr Display (verwenden Sie altes USB-Kabel, Flachbandkabel usw.)
  • Viele Überbrückungsdrähte zum Anschließen von allem

Werkzeuge -

  • Voltmeter
  • Lötgeräte
  • Abisolierzangen

Hilfreich -

  • 3D-Drucker (oder Zugang zu einem) zum Erstellen der folgenden Teile:

    • Gehäuse für arduino
    • Bildschirmrahmen/Armaturenbretthalterung
  • Befestigungselemente für Gehäuse
  • Klebstoff

Schritt 1: Über den CAN-Bus (und Haftungsausschluss)

Über den CAN-Bus (und Haftungsausschluss)
Über den CAN-Bus (und Haftungsausschluss)
Über den CAN-Bus (und Haftungsausschluss)
Über den CAN-Bus (und Haftungsausschluss)
Über den CAN-Bus (und Haftungsausschluss)
Über den CAN-Bus (und Haftungsausschluss)
Über den CAN-Bus (und Haftungsausschluss)
Über den CAN-Bus (und Haftungsausschluss)

SIE ÖFFNEN HIER EINE ERNSTE Würmerdose… Herumspielen mit Ihrem Fahrzeug/Dosenbus kann zu Schäden und/oder unbeabsichtigtem Betrieb Ihres Fahrzeugs führen! Ich stelle Ihnen diesen Code und diese Anleitung ohne Gewährleistung oder Garantie zur Verfügung. Sie übernehmen alle Risiken. Versuchen Sie dies, während das Fahrzeug ZUERST GEPARKT ist! Dieses Projekt ist eigentlich ziemlich sicher, wenn Sie einfach ein wenig recherchieren, was Sie tun. Wenn Sie nicht wissen, was irgendein Teil der Anweisungen oder des Codes bedeutet, ist dies wahrscheinlich ein Zeichen dafür, dass Sie nicht an der Elektrik Ihres Autos herumspielen sollten! Nehmen Sie dieses Projekt nicht auf. Kaufen Sie einen vorgefertigten Bluetooth-OBD-Dongle und verwenden Sie diesen stattdessen. Ich wünsche Dir viel Glück.

Jetzt, wo der Haftungsausschluss aus dem Weg ist… kommt Ihnen KANN bekannt vor? Vielleicht ähnlich wie LAN (Ethernet) oder WLAN (WiFi), die Sie vielleicht zu Hause haben … das liegt daran, dass es sich alle um Netzwerke handelt. CAN steht für Controller Area Network. Es ist eine digitale Kommunikationsplattform, über die Ihr Auto mit sich selbst kommuniziert. Anstatt Kabel vom Motorcomputer zu jedem Sensor, Licht und Gerät in Ihrem Auto zu verlegen, werden sie alle digital über das Netzwerk gesteuert.

Der CAN-Bus ist ein differentielles Kommunikationsprotokoll. Das bedeutet, dass es nur zwei Drähte benötigt! Es gibt kein Tx/Rx wie bei der herkömmlichen seriellen Kommunikation und keine direkte Übertragung zwischen zwei Geräten. Es ist normalerweise als verdrilltes Paar in Ihrem Fahrzeug zu finden. Sie werden über den OBD-Port darauf zugreifen. Sie müssen nicht unbedingt verstehen, wie dieses Protokoll auf der grundlegenden Ebene funktioniert, aber Sie müssen es genug verstehen, um den Arduino-Code schreiben oder ändern zu können.

Wenn Sie dieses Projekt verfolgen möchten, stellen Sie sicher, dass Ihr Fahrzeug über einen CAN-Bus verfügt! Nahezu jedes Fahrzeug auf der Straße verfügt heute über einen OBD II Port. Sie haben alle den gleichen elektrischen Anschluss unter dem Armaturenbrett. Allerdings gibt es je nach Autohersteller sehr unterschiedliche Protokolle für die Kommunikation. Jedes Fahrzeug, das nach 2008 in den USA verkauft wurde, verwendet den CAN-Bus nach ISO 15765. Das wollen wir für dieses Projekt nutzen. Überprüfen Sie, ob Ihr Fahrzeug über einen CAN-Bus verfügt. Denken Sie daran, dass jedes Auto einzigartig ist. Sie haben eine bestimmte CAN-Bus-Geschwindigkeit, bestimmte OBD-Codes, die Sie anfordern müssen, und verschiedene Macken, die Sie auf dem Weg abschwächen müssen.

Schritt 2: Schaltplan

Schaltplan
Schaltplan

Jetzt ist es an der Zeit, mit der Planung Ihres Gehäuses und der Installation zu beginnen. Mein Auto hat einen Sicherungskasten in der Motorhaube und einen direkt unter dem Armaturenbrett. Wo ist deins? Zeit zum Nachdenken.

Ich habe einen Sicherungshahn am Scheibenwischerstromkreis verwendet, da mein Prius viele Stromkreise direkt neben dem OBD-Anschluss abgesichert hat. Sie können den Vbatt am OBD-Port verwenden, aber Vorsicht! Das ist mit der Batterie verbunden, so dass sich das Gerät nie ausschaltet. Schlechte Idee. Abhängig von der Stromaufnahme des Arduino kann es Ihre Batterie innerhalb von Tagen oder Wochen zerstören, wenn Sie Ihr Auto stehen lassen! Wenn Sie ein OLED-Display verwenden, kann es zu übermäßigem Einbrennen kommen, wenn Ihr Gerät die ganze Zeit eingeschaltet ist. Es ist sehr wichtig, dass das Gerät auf Ihre Zündung geschaltet ist.

Vielleicht haben Sie eine einfache Lösung! Möglicherweise haben Sie ein Fahrzeug mit einem ACC / Zündungsstrom-Pin am OBD-Anschluss. Viele Pins sind herstellerspezifisch. Das bedeutet, dass Ihr OBD-Port möglicherweise einen Power-Pin hat, der auf Zündung geschaltet ist. Versuchen Sie jedoch nicht nur das Multimeter und schließen Sie Ihr Arduino an alles mit 12 Volt an! Ihr Fahrzeug verfügt möglicherweise über einen J1699- oder einen anderen seriellen Bus, der einen 12-V-Logikpegel verwendet. Wer weiß, was eine aktuelle Ziehung bewirken würde! Überprüfen Sie mit dem Oszilloskop, ob Ihre "12-Volt-Quelle" eine stetige Gleichstromversorgung und kein Signal ist, bevor Sie die Arduino-Stromversorgung an einen anderen Pin als Batt am OBD-Port anschließen.

Schritt 3: Verdrahten des OBD-Ports mit der CAN-Platine

Verkabelung des OBD-Ports zur CAN-Platine
Verkabelung des OBD-Ports zur CAN-Platine
Verkabelung des OBD-Ports zur CAN-Platine
Verkabelung des OBD-Ports zur CAN-Platine

Schauen Sie auf die Pinbelegung Ihres OBD-Ports für CAN Low und CAN High. Verbinden Sie diese Drähte mit dem High und Low auf Ihrem Board.

Verwenden Sie nun die Masse von Ihrem OBD-Port als Masse für dieses Projekt! Verbinden Sie alle Erdungskabel miteinander und stellen Sie sicher, dass sie an diesem OBD-Anschluss geerdet sind.

Wir werden uns in wenigen Schritten auf den Rest der SPI-Schnittstelle des CAN-Boards konzentrieren.

Schritt 4: Sicherungsabgriff und DC-DC-Wandler

Sicherungsabgriff und DC-DC-Wandler
Sicherungsabgriff und DC-DC-Wandler
Sicherungsabgriff und DC-DC-Wandler
Sicherungsabgriff und DC-DC-Wandler
Sicherungsabgriff und DC-DC-Wandler
Sicherungsabgriff und DC-DC-Wandler
Sicherungsabgriff und DC-DC-Wandler
Sicherungsabgriff und DC-DC-Wandler

Überspringen Sie nicht den DC-Abwärtswandler! Ich habe dieses Projekt schon einmal versehentlich zerstört, weil ich beschlossen habe, den Arduino von 12 Volt aus dem Sicherungskasten zu betreiben. Ich glaube, es gab irgendwo eine Spannungsspitze von einer Induktivität (Arduino war an dieselbe Sicherung wie der Scheibenwischermotor angeschlossen), und es hat meinen Nano gebraten.

Empfohlen: