ForumE90, E91, E92 & E93
  1. Startseite
  2. Forum
  3. Auto
  4. BMW
  5. 3er
  6. E90, E91, E92 & E93
  7. CAN-Protokoll E90

CAN-Protokoll E90

BMW 3er E90
Themenstarteram 4. Dezember 2022 um 20:29

Servus,

ich habe mir mittels Arduino, CAN Adapter und Display einen Sniffer gebaut, ich will die Öltemperatur, den Öldruck und die Wassertemperatur dauerhaft im Fahrzeug haben. Die Hard und Software funktioniert, aber ich habe nur ein CAN-Protokoll finden können in welchem die gewünschten Werte nicht auftauchen.

https://gist.github.com/nberlette/0ed4967da74d626da377e1b1cff70989

Weiß zufällig jemand auf welchem Identifier+Bits die gewünschten Werte liegen?

Gruß Feuerstein

Ähnliche Themen
19 Antworten

Leider nein, wenn du aber die Infos oder ein DBC haben solltest, ich wäre auch interessiert.

Zumindest die Wassertemperatur ist doch enthalten (Zeilen 247/248):

BO_ 464 MOTOR_1D0: 8 DME

SG_ EngineCoolantTemp : 0|8@1+ (1,-48) [0|207] "degC" Vector__XXX

Um welchen Motor handelt es sich eigentlich?

P.S.:

Die Quelle enthält einige Fehler, so denke ich. Es müsste z. B. so sein:

BO_ 464 MOTOR_1D0: 8 DME

SG_ EngineCoolantTemp : 0|8@1+ (1,-48) [-48|206] "degC" Vector__XXX

Die Öltemperatur könnte so aussehen:

BO_ 464 MOTOR_1D0: 8 DME

SG_ EngineOilTemp : 1|8@1+ (1,-48) [-48|195] "degC" Vector__XXX

oder so:

BO_ 711 DISP_2C7: 5 DME

SG_ EngineOilTemp : 0|8@1+ (1,-50) [-50|200] "degC" Vector__XXX

Für den Öldruck könntest Du das hier mal probieren:

BO_ 711 DISP_2C7: 5 DME

SG_ EngineOilPress : 24|8@1+ (0.05,0) [0|10.5] "bar" Vector__XXX

KORREKTUR ÖLTEMPERATUR:

BO_ 464 MOTOR_1D0: 8 DME

SG_ EngineOilTemp : 8|8@1+ (1,-48) [-48|195] "degC" Vector__XXX

Auf welchem CAN lauscht du denn? K-Can? PT-Can? Oder sogar nur der D-CAN?

Ich lausche auf gar keinem CAN.

Aber nachdem der TE überhaupt nicht auf meine Antwort reagiert hat, gehe ich mal davon aus, dass das Thema hier erledigt ist.

Ich meine doch TE und nicht dich! :)

Ich kritisiere ja oftmals, wenn bei einer Antwort der direkt darüber stehende Beitrag voll zitiert wird. In Deinem Falle wäre ein Zitat angebracht gewesen. Aber jetzt habe ich es verstanden!

Themenstarteram 16. Dezember 2022 um 12:53

Sorry das Projekt wird gerade ein bisschen erweitert + bei den aktuellen Temperaturen hab ich ehrlich gesagt wenig Lust im Cockpit rumzufummeln ... selbst in der Garage hats kaum ein Grad.

@ManinBlack2003 Ich würde es mit dem Powertrain CAN versuchen und der sollte u.a. am Tacho abzugreifen sein, wenn Du genaueres weißt wäre ich dankbar. (Kabelfarbe der verschiedenen CAN etc.)

Aktuell warte ich noch auf ein CAN-Shield um die Daten auch aufzeichnen zu können. Hintergrund ist der, dass ich die Vermutung habe, dass das Öldruckregelventil ab 10.000 km mit der Ölqualität nicht mehr klar kommt und hängen bleibt, dadurch sollte es zu einer Druckunterversorgung kommen, aber diese wird wohl erst am einer Dauer von fünf Sekunden im Fehlerspeicher abgespeichert ... daher würde ich mir das gerne mal loggen. Allerdings steht und fällt die ganze Sache mit den Adressen der Variablen. Daher meine Frage an DIch @Rael_Imperial: wie kommst Du auf die Adressen? In "meinem" File steht es ja definitiv nicht so drin.

Themenstarteram 1. Januar 2023 um 15:44

Hello again,

kann mir jemand verraten wo ich den PT CAN bzw- KarosserieCAN II im Cockpit finde und mir die Kabelfarben mitteilen?

Hab jetzt meinen mobilen Prototypen fertig, das Radio ausgebaut und dann der verdrillten Leitungen zumindest mal den KarosserieCAN identifiziert, der hat 100 kbit/s und ebenfalls die ID 1D0, die ID 2D7 hat er nicht. Hab das Programm kurz auf 100 kbit/s umgestellt und mir wurde was Realistisches angezeigt. Morgen auf der Fahrt zur Arbeit teste ich mal ob das wirklich das Temperatursignal ist.

Wenn ich mal davon ausgehe das die Werte vom DME kommen, dann spricht dieses im Innenraum über PT-Can (500 kbit/s) mit der JBE. Der kommt am 54-poligen Stecker rechts unter dem Sicherungskasten an. Pin 1 PT_CAN_H Blau/Rot und Pin 2 PT_CAN_L Rot.

Wenn dir das weiter hilft....

Themenstarteram 2. Januar 2023 um 6:16

Das hilft weiter vielen Dank.

Ansonsten kann ich sagen, dass auf dem KarosserieCAN auf der ID 0x1D0 (Byte0) der Temperaturwert des Kühlwassers liegt. Auf Byte1 könnte die Temperatur des Öls sein.... da ich aber keinen Öltemperatursensor kennen, geht ich davon aus, dass das ein "intelligenter" Wert ist, welcher aus anderen Werten berechnet wird.... muss jeder selbst wissen, was er davon hält.

Ich hab den KarosserieCAN am Radio abgegriffen, ist ein achtpoliger Stecker an welchem Bordspannung (rot), Masse (braun), CAN high (Orange, grün) und CAN low (grün).

Die beiden Botschaften habe ich Dir schon vor einem Monat geschrieben und der Öltemperatursensor sitzt im Ölniveausensor. Also gemessen, nicht berechnet.

Themenstarteram 3. Januar 2023 um 11:01

Zitat:

@Rael_Imperial schrieb am 2. Januar 2023 um 21:45:27 Uhr:

Die beiden Botschaften habe ich Dir schon vor einem Monat geschrieben und der Öltemperatursensor sitzt im Ölniveausensor. Also gemessen, nicht berechnet.

Das mit dem Ölniveausensor wusste ich nicht, vielen Dank.

Du hast mir die Botschaften nicht wirklich geschrieben Du hast Sie mir aus nem DBC File kopiert ;-) daher war meine Frage wie Du zu den Adressen kommst. Bzw. von welchem Bus die Adresse stammt. Auf dem K-CAN ist die ID 2C7 nicht vertreten, die 1D0 jedoch schon. Ich gehe mal das von aus, dass die IDs busübergreifend benutzt werden... ich hab jetzt mal das Netz durchsucht, aber alles was ich finden kann sind Fragmente des 100kbit/s K-CAN, aber halt nichts über den PT-CAN oder andere Busse.

Habe ich hier schon gelesen, um welchen Motor es geht?

Deine Antwort
Ähnliche Themen