Go Down

Topic: ODB2 + Arduino (Read 292 times) previous topic - next topic

oxyhydrogen

Hallo zusammen,

Bitte verurteilt mich nicht ich weiß das Thema gab´s schon hab es auch gelesen.....
aber dennoch muss ich dieses Thema eröffnen da ich mal so überhaupt keinen Plan habe und echt eure Hilfe brauche.

Also wie das Subject schon sagt möchte ich eine ODB2 + Arduino Lösung realisieren.

Im Grunde bin ich nur an 3 Werten Interessiert die da wären: Öltemperatur, Ansaugtemperatur und  Abgastemperatur. Wenn Möglich bei meinem Auto, Kia Ceed GT BJ 2017 typ JD HSN/TSN 1260/ADJ

Vorgestellt habe ich mir folgendes, mein Auto besitzt eine für mich Uninteressant Anzeige (ROT) oben auf dem Armaturenbrett diese würde ich gerne gegen dieses Projekt Tauschen

Hier ein Bild: http://www.bilder-upload.eu/show.php?file=9af8eb-1502489450.jpg

Jetzt möchte ich Arduino beibringen mir 4 Verschiedene Bilder einzeln Anzuzeigen,
1. Kleine Übersicht Alle 3 Werte
Ab hier Große Zahlen =) vll mit kleinem Öl,AG,AS in der ecke
2. Öltemperatur
3. Abgastemperatur
4. Ansaugtemperatur

Realisiert werden soll das ganze wenn möglich über dem im Bild (BLAU) Knopf, also das Durchswitchen 1-2-3-4-1-2-3................
lustigerweise heißt der Knopf sogar Temp. :P

Der Knopf dient eigentlich nur im jetzigen Display von Celsius auf Fahrenheit zu wechseln (Außentemperatur) wie gesagt für mich unnötig.

Leider habe ich so Garkeine Ahnung, darum wäre es EXTREM hilfreich wenn ich mir Folgende Sachen eventuell Beantworten könnt.

Ist mein vorhaben möglich (Knopf) was muss ich kaufen ? welcher Arduino eignet sich am besten, am besten wäre ein OBD2 mit Kabelverbindung zum Arduino. Findet sich wer der mir dort gegen Bezahlung vll helfen mag.


Bei fragen versuche ich zu antworten
Grüße 

ArduFE

Hallo und willkommen.

Das Auslesen der Daten ist wahrscheinlich nicht das Problem. Ein fertiger OBD-Adapter seriell verbunden mit einem Arduino wird das wohl können. Dazu sollte es hier Beiträge geben, ggf. auch Leute die sowas machen.

Mit dem Knopf ist das wahrscheinlich nicht so einfach. Dass Display und Knopf räumlich getrennt sind, deutet schon mal auf eine Busverbindung hin.

Entweder im Armaturenbrett gibt es einen LIN-Bus über den die verbunden sind, wahrscheinlich sind dann Knopf und Display LIN-Slaves indirekt verbunden über ein CAN-LIN-Gateway in einem Steuergerät.

Oder das Auto hat einen Innenraum-CAN Bus, über den die verbunden sind.

Wahrscheinlich gibt es auch noch weitere Möglichkeiten.

Scherheinz

Ich kenne nicht alle Standarts aber ein OBD II Shield gibt es günstig bei Watterott:

http://www.watterott.com/de/Arduino-CANdiy-Shield

https://github.com/watterott/CANdiy-Shield
Hier könnte ihre Werbung stehen

combie

#3
Aug 12, 2017, 10:24 am Last Edit: Aug 12, 2017, 10:25 am by combie
Warum nimmst du dir nicht einen Bluetooth China Billig Clone

Und klemmst dir dein Händi als Display aufs Armaturenbrett?
"Freiheit, Gleichheit, Brüderlichkeit!"
Aber wie gelangen wir zu den Tätigkeitswörtern?
Quelle: Stanislaw Jerzy Lec

oxyhydrogen

Warum nimmst du dir nicht einen Bluetooth China Billig Clone

Und klemmst dir dein Händi als Display aufs Armaturenbrett?

weil ich genau diese Lösung nicht möchte, klar das wäre das einfachste, aber wie gesagt suche eher eine dezente Lösung und da kommt nur der Austausch von diesem Display in frage.

ArduFE

#5
Aug 12, 2017, 10:34 am Last Edit: Aug 12, 2017, 10:47 am by ArduFE
Ich kenne nicht alle Standarts aber ein OBD II Shield gibt es günstig bei Watterott:
Jein, das ist erstmal nur ein CAN-Shield.

CAN ist die Hardwaregrundlage und überträgt erst einmal nur Botschaften mit einer ID und bis zu 8 Datenbytes.

Da das nicht viel ist, kommt darüber eine Softwareschicht, die es erlaubt Datenblöcke bis zu 4 Kilobyte zu versenden. (Hint: Das ist wiederum für manche Arduinos ein Problem.)
https://de.wikipedia.org/wiki/ISO_15765-2
Das ist beim dem Shield schon mal nicht dabei, dafür müsste man erst mal eine Library finden.

Dann ist man immer noch nicht bei OBD, das sendet dann standardisierte Anfragen über dieses Transportprotokoll.
https://de.wikipedia.org/wiki/On-Board-Diagnose
[Edit, hier im Detail:]
https://de.wikipedia.org/wiki/Unified_Diagnostic_Services


Deswegen halt die Idee mit einem fertigen Adapter. Weil es fertige Diagnose-ICs mit UART gibt, die nehmen dem Arduino die ganze Protokollarbeit ab ...

Ansonsten gäbe es auch noch OBD-Stecker mit einem Arduino Due drin
https://www.macchina.cc/m2-introduction

Einige 32 Bitter (Due, Teensy 3.2 bis 3.6) haben eingebaute CAN-Interface(s), die brauchen nur Transceiver Schaltungen, kein Shield.

Aber wie gesagt, das halte ich für den einfachen Teil ...

oxyhydrogen

#6
Aug 12, 2017, 10:54 am Last Edit: Aug 12, 2017, 11:00 am by oxyhydrogen
Also ich versuche die Sache so einfach wie möglich zu halten, da es sich bei mir um ein Einmaliges! Projekt handelt, da mir die Welt der Microcontroller einfach zu krass ist.

Schritt 1.
Einen OBD2 Adapter kaufen wie z.b den hier
https://freematics.com/pages/products/freematics-obd-ii-uart-adapter-mk2/  <- Wenn es den taugt

Schritt 2.
Ein Passendes Arduino uno kaufen welches mit dem Adapter Funktioniert. <- Bitte um Vorschlag

Schritt 3.
Ein i2c display kaufen weil es einfach zu verbinden ist.

Schritt 4.
????

Je einfacher die Lösung desto besser für mich, da es wie gesagt ein Einmaliges Projekt ist, aber ich ziehe mein Hut vor euch.

@ArduFE Aber wie gesagt, das halte ich für den einfachen Teil ... Oo was ist den dann der schwere teil

ArduFE

#7
Aug 12, 2017, 11:06 am Last Edit: Aug 12, 2017, 11:06 am by ArduFE
@ArduFE Aber wie gesagt, das halte ich für den einfachen Teil ... Oo was ist den dann der schwere teil
Ok, ich hatte gedacht, du willst das Originaldisplay verwenden. Wenn du es ersetzt, wird das schon mal einfacher.

Wäre eventuell noch der Schalter, eventuell muss man den auch ersetzen, wenn man nicht an die Schaltkontakte kommt. Es könnte ein Schalter mit LIN-Anschluss sein.

In diesem Falle könnten allerdings Probleme auftauchen, wenn man Display und Schalter entfernt, und ein Steuergerät (LIN-Master) sich wundert, dass zwei seiner Slaves nicht mehr antworten ...

Schritt 2.
Ein Passendes Arduino uno kaufen welches mit dem Adapter Funktioniert. <- Bitte um Vorschlag
Ich würde eins mit freiem UART nehmen, also eventuell Micro, Leonardo, Teensy, ein Mega ist eher zu groß, wenn nicht viel anderes angeschlossen wird.

oxyhydrogen

#8
Aug 12, 2017, 11:18 am Last Edit: Aug 12, 2017, 11:25 am by oxyhydrogen
Okay super =) Naja das Originaldisplay bleibt einfach angeschlossen, klebe es Irgtentwo fest wo es nicht stört :P das mit dem Schalter ist kein muss =) dachte nur wäre ein nettes gimmick
Werde mal den Schalter ausbauen dann kann ich dir mehr infos geben, zur not ein neuer tut es auch =)

Also dieses hier
https://www.reichelt.de/?ARTICLE=125561&PROVID=2788&wt_mc=amc141526782519998&gclid=CjwKCAjwzrrMBRByEiwArXcw2_rfLVO-8uIaOvWe0QOj3dOwW1KjG5dCuGVJwbifhxrtXRBI_QFxXhoCe6EQAvD_BwE


ArduFE

Also dieses hier
Ja, der Unterschied zum Uno liegt darin, dass hier der USB direkt mit dem Controller verbunden ist. Beim Uno sind die Pins 0 und 1 normalerweise nicht verwendbar, da mit dem USB-Interface verbunden.

Beim Leonardo ist "Serial" die USB-Schnittstelle und "Serial1" der UART an den Pins 0,1.

oxyhydrogen

Super ich danke dir !! ist Bestellt. jetzt werde ich mal das Originaldisplay ausbauen/ den Knopf und mal schauen was ich da habe

oxyhydrogen

Wäre denn jemand bereit mit mir das Projekt zusammen zu verwirklichen ? Würde auch alles doppelt bestellen einmal für dich und einmal für mich und eine aufwands Entschädigung würdest du natürlich auch bekommen :-) wenn denn jemand Interesse hat.

obd2arduino

Wäre denn jemand bereit mit mir das Projekt zusammen zu verwirklichen ? Würde auch alles doppelt bestellen einmal für dich und einmal für mich und eine aufwands Entschädigung würdest du natürlich auch bekommen :-) wenn denn jemand Interesse hat.

Hallo,
ich bin gerade an derselben Sache dran wie du!

Bis jetzt ist mir der Adapter noch zu teuer und ich versuche, irgendwie anders an die Infos heranzukommen. Ich werde das hier aber auf jeden Fall weiterhin verfolgen. Viel Erfolg mit deinem Vorhaben. :)

Go Up