Hallo Forum,
ich hoffe Ihr könnt mir helfen.
ich sitze seit einiger Zeit an einem Projekt welches sich mit der Erfassung und Aufzeichnung von Fahrdaten im Mercedes Actros MP2 befasst. Allerdings stehe ich ein wenig auf dem Schlauch und hoffe ihr könnt mir weiter Helfen. Hier meine Ausgangssituation:
Fahrzeuge:
- Mercedes Actros MP2 (EZ 2004)
- Mercedes Actros MP2 (EZ 2005)
Interfaces:
- ELM 327 USB
zu erfassende Werte:
- Drehzahl, Geschwindigkeit, Kilometerstand, evtl. Gang u. Kraftstoffverbrauch (berechnen?)
Nachdem ich mich mehrere Wochen lang intensiv mit dem Thema Fahrzeugdiagnose, CAN-Bus etc. beschäftigt habe komme ich trotzdem nicht weiter.
Ich habe das Interface am OBD Stecker des 2005er Actros angeschlossen, beim automatischen Suchlauf wurde CAN/29Bit/250kbaud erkannt. Eine Abfrage der Diagnosecodes (z.B. RPM 0C) lieferte mir brauchbare werte zurück die ich nur noch umrechnen musste. Für mich bedeutet das, dass der 2005er ein Standard-CAN Format nutzt und die Diagnose ohne zusätzliche Protokolle unterstützt!
Ein weiterer Versuch im Modell von 2004 (ja ich dachte die währen baugleich
) verlief leider total anders. Diagnoseinterface angeschlossen, keine Rückgabewerte bzw. findet das ELM Interface nicht einmal das richtige Protokoll heraus. Meine Versuche das Protokoll mit der Hand einzustellen (Bitrate, ID länge etc.) brachte keine sichtbaren Erfolg. Lediglich mit einigen Einstellungen sah ich broadcast Messages die allerdings als RX-Error gekennzeichnet wurden.
Mein 2ter Versuch ging über die K-Leitung, Die Bus Initialisierung ist Okay, Abfrage der Diagnosecodes klappte auch, Die Rückgabewerte waren allerdings immer die gleichen und daher auch unbenutzbar.
Mein 3ter Versuch war dann voller Verzweiflung, den Innenraum-Can-Bus welcher am Radio anliegt anzuzapfen. Nach manueller Einstellung auf CAN/11bit/125kbaud bekamm ich fehlerfreie broadcast Messages geliefert. Allerdings weder im ISO noch im J1939 Format. Nach Recherche im Internet habe ich herausgefunden, dass Mercedes im Innenraum-Bus auf "KWP2000 over CAN" setzt. der ELM kann das nicht, ich konnte nur die Roh-Daten per Monitoring anzeigen lassen.
Hier ein 4 Zeiliges DUMP, die ersten 4 Bytes ist der Header, die restlichen 8 die Message:
10 20 D8 40 00 00 FF FF FF FF FF 0F
0C 20 E4 30 00
00 66 04 F4 06 60 46
0C 20 10 30 01 00 FF 00 F0 FF FF FF
0C 20 EC 30 00 00 FF 0F 03 00 F3 FF
10 20 E4 40 00 04 22 FF FF FF 42 39
Und damit war die Verwirrung komplett und mir stellen sich folgende Fragen:
- wie kann es sein, das 2 scheinbar gleiche Fahrzeuge so unterschiedliche Diagnosesysteme haben?
- wie bekomme ich die Daten aus dem 2004er Modell? und warum funktioniert das im 2005er Modell alles Reibungslos?
- Ich habe über ein COTEL-Interface von Mercedes gelesen welches die Daten im J1939 Format ausgibt. kann es sein das dieses vieleicht im 2005er integriert ist? Warum sollte dieses Interface dann daten über die OBD Schnittstelle ausgeben?
- Ich kappier nicht warum die K-Line keine vernünftigen Daten zurückgibt. eine Idee?
- Warum bekomme ich am OBD-Interface lauter CAN Errors, ich habe getestet mit 50k/83,3k/100k/125k/250k/500k, ich glaube außer bei 250k (RX Errors) kam garnix brauchbares an.
Nun könnte man sicher einen Controller programmieren oder eine Software am PC nutzen um das KWP2000-over-CAN zu "entschlüsseln", allerdings erscheint mir das sehr aufwändig und ich weiß auch nicht ob im Innenraum CAN die notwendigen Daten anliegen, und die ganzen IDs müsste man auch noch heraus bekommen soweit ich das verstehe.
Im übrigen funktioniert die Diagnose mit so einem BOSCH-Bluetooth DiagnoseGerät(-Monster). Allerdings erfährt man nicht, welches Protokoll bzw. welche physikalische Schnittstelle genutzt wird.
Bitte gebt mir einen Ansatzpunkt ich bin völlig Ratlos!
VIELEN DANK!
Christian