Kühlmitteltemperatur OBD

Hallo,

ich versuche gerade die Kühlmitteltemperatur eines PKW´s über ein Oled-Display anzeigen zu lassen.

Hierzu nutze ich ein Arduino UNO und die Library von Stanley Huang (OBD.h). Die Daten lese ich über ein

ELM327 Bluetooth Modul aus.

Es funktioniert bei meinem Mazda6 GY eigentlich sehr gut. Problem ist jetzt nur, dass ich auch mein Fiat

Ducato damit auslesen möchte. Hier funktioniert es leider nicht.

Wahrsscheinlich nutzt der Ducato ein anderes Protokoll.

Über mein Handy und der App Torque funktioniert es bei beiden Autos, was mir sagt, das es irgendwie

möglich ist. Ich komme nur nicht drauf.

Kann mir da wohl jemand etwas helfen?

Gruß Christian

Ps Sketch ist im Anhang

OBD_Coolant.ino (5.66 KB)

Unter 1 Minute Google sagt mir, dass der Fiat vermutlich “KWP FAST” nutzt.

Das habe ich mir ja auch schon gedacht... Die Frage ist: Wie kriege ich den Ardino gesagt, das er jetzt das

Protokoll KWP Fast lesen soll. In der Library steht ja was von Auto...

Kleiner Ausschnitt:

typedef enum {
PROTO_AUTO = 0,
PROTO_ISO_9141_2 = 3,
PROTO_KWP2000_5KBPS = 4,
PROTO_KWP2000_FAST = 5,
PROTO_CAN_11B_500K = 6,
PROTO_CAN_29B_500K = 7,
PROTO_CAN_29B_250K = 8,
PROTO_CAN_11B_250K = 9,
} OBD_PROTOCOLS;

Auto scheint aber nicht zu klappen.....

while (!obd.init(PROTO_KWP2000_FAST));

? ohne Gewähr ?

Hallo zusammen,

das würde ich auch so versuchen. Torque geht erstmal mit dem Protocol 0 (Auto) los und wenn das nicht funktioniert, iteriert es jedes Protokoll durch.
Wichtig dabei ist allerdings, dass zwischen den Versuchen ca. 5 Sekunden liegen sollten, da die ECU nach einem Fehlversuch i.d.R. einen Timeout zwischen 2-5 Sekunden erwartet.

Vielen Dank an euch beiden!!

Es war zwar nicht PROTO_KWP2000_FAST, sondern PROTO_CAN_29B_500K, aber egal.

Waren halt zwei Versuche mehr...

Jetz muss ich nur noch zusehen, dass es an beiden Autos funktioniert, ohne den Sketch neu hochzuladen.