Jump to content

Empfohlene Beiträge

Heute mal Spaßeshalber einen CAN-Logger an den CAN-Bus des Smarties gehängt (451 CDI).

Logfile geht von vor dem drehen des Zünschlüssels, danach eine kleine Fahrt über die AB mit Stau + danach etwas fahrt in der Stadt mit viel Stau bis zum abschalten des Smarties (keine CAN Aktivität mehr).

 

Wenn es interessiert hier ist das rohe Logfile: CAN Dump

 

lässt sich z.B. mit

 

Quote:

sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
canplayer vcan0=can0 -I candump-2019-04-17_171943.log

 

unter linux wiedergeben (canutils Paket wird benötitgt).

 

Bisher gefunden habe ich:

 

0C2 Byte 0 und Byte 1 = Lenkwinkel

0C2 Byte 2 und Byte 3 = Erste Ableitung Lenkwinkel?!

23A = Geschwindigkeit in cm/sec?

423 Byte 1 = Blinker Bit 0 und Bit 1 für rechts und links

 

irgendwo ist auch ein Wert gewesen welcher vermtl. dem Druck im Bremssystem entspricht, jedenfalls geht dieser hoch wenn man stärker auf die Bremse drückt, wenn man loslässt bleibt er kurz konstant auf einem niedriegeren Wert solange das automatische Bremsen aktiv ist und fällt dann auf 0 wenn die Bremse wieder komplett offen ist..

 

bei 23A bin ich mir nicht sicher in was der Wert genau angegeben ist, ich schätze cm/s, das würde etwa hinkommen. Der Wert wird beim Rückwärtsfahren nicht negativ. Bin ziemlich erstaunt bei wie extrem kleinen Bewegungen der Räder der Wert schon hochgeht, der Sensor muss ziemlich fein auflösend sein an den Rädern.

 

Edit:

Statistken wie oft welche ID Message vorkommt:

101 5

111 5

510 6

560 6

6FA 180

305 2504

408 25033

412 25034

443 25064

608 25430

236 125165

1E1 125295

119 125335

328 125335

300 125335

270 125335

208 125335

200 125335

149 125338

156 125338

423 126713

210 126884

308 126909

418 127039

23A 127039

0C2 250322

312 253682

212 253767

218 254078

 

Edit 2:

Hm 101, 111, 510 und 560 hat wohl irgendwas mit der Wegfahrsperre zu tun, wenn ich die Messages filtere kommt das Schlüsselsymbol im Kombiinstrument und Smartie geht nicht an..

 

[ Diese Nachricht wurde editiert von Spacefish am 17.04.2019 um 23:44 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ein weiterer verrückter wie ich!

 

Schön zu sehen das sich noch andere mit diesem Thema auseinandersetzen, ich bin eher im bereich der Mikrocontroller tätig (hobby).

 

Habe aber ebenso den Smart gecheckt und habe schon ein gutes Stück Herausgefunden.

 

Ich bin dabei die Can Schnittstelle des Smarts Visuell darzustellen und so Echtzeit-werte anzeigen zu lassen.

 

Hier mal ein paar einblicke:

 

 

 

8b7bd8b0-bf3c-4627-808c-9c6b135b5b97-Small.jpg

 

17c46c0a-01d5-4777-8715-c6456147b3f6-Small.jpg

 

 

-----------------

gawcv5qd.jpg

Smart ForTwo 2011 // 71 PS mhd. //

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

EDIT:

 

Ich habe noch folgendes gefunden:

IDs:

0C2 : ESP

212 : Motorsteuergerät

23A : Geschwindigkeit

418 : Getriebe

200 : Traktionskontrolle

423 : KI (Licht, Türen, Zündung)

236 : Schalt wippen

608 : Allgemein?(Temperatur / Pedalstellung)

 

Kann ich auch Online Stellen.

 

Ich bin gerade daran den SJA1000 Can Controller So zum laufen zu bringen das ich nach ID´s filtern kann und so die passenden werte abfrage, leider gibt es dafür nicht die passenden Bibliotheken (kann auch sein ich bin zu doof :-D ).

 

Das Display soll naher noch Via Bluetooth das iPhone Koppeln und Dir whatsapp & co. Nachrichten Anzeigen (das läuft schon ganz gut).

 

 

-----------------

gawcv5qd.jpg

Smart ForTwo 2011 // 71 PS mhd. //

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ziemlich cool :)!

 

Mit dem Display macht natürlich schon was her!

 

Danke für die weiteren Codes!

 

Hm kurzer Blick ins Datenblatt vom SJA1000, sagt mir auch nur das es scheinbar etwas komplizierter ist das Acceptance Bit Register u.s.w. zu setzen.

 

Erklärt mir aber jetzt auch warum die arbitration IDs der Frames so komisch mit 1 2 4 oder 6 vorne beginnen, das sind vermtl. genau die Bits auf die auch die CAN Controller in den Steuergeräten Filtern.

Macht ja auch Sinn, dass sowas wie ESP oder Traktionskontrolle niedriege Arbitration IDs hat und so nen mist wie Wegfahrsperre hohe 5** (niedrige Prio).

 

Ich hab mir es relativ einfach gemacht und verwende erstmal ein USBCAN interface welches einfach die vollen 2 MBit schafft da muss ich nicht filtern :-D. Im Linux kann man das als Netzwerkinterface aufsetzen über Socket CAN (wurde mal von VW entwickelt).

 

Welchen IC benutzt du um mit dem SJA1000 zu reden? Hast du da ne bestehende Library die den CAN Chip konfigurieren kann oder setzt du die Register von Hand?

 

Edit: ist das dein Smart mit LB Kennzeichen? Ich bin aus Ditzingen b.t.w. ;-)

[ Diese Nachricht wurde editiert von Spacefish am 18.04.2019 um 00:13 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Jetzt machst du mich aber fertig...

 

Schreib mir doch mal ne PN ich komme ebenfalls aus Ditzingen (die Welt ist nun mal ein Dorf). :-D

 

Der SJA ist im ESP32 Mikrocontroller bereits integriert, somit habe ich es mir einfach gemacht und diesen benützt.

 

Die bib habe ich von github:

 

CANBUS LIB

 

Leider ist die Dokumentation nie so dolle, weil alles Opensource, und ich kein C++ Genie. Dann fällt einem das nicht immer so leicht.

 

 

-----------------

gawcv5qd.jpg

Smart ForTwo 2011 // 71 PS mhd. //

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich habe zwar keinen 451 aber beim 450er waren die Nachrichten 0x510 und 0x560 für den Tachoabgleich mit dem SAM.

Sobald das Kombiinstrument hochgefahren ist, sendet es die 0x510 mit 0x01 im ersten Byte, dann antwortet das SAM mit 0x560.

Die Antwort besteht aus drei Teilen mit der Nachrichtennummer im ersten Byte.

Die FIN wird über alle Nachrichten verteilt*, in der dritten sind die letzten vier Bytes der Kilometerstand im SAM und eine Checksumme.

Wenn der Abgleich fertig ist, sendet das KI in der 0x510 einen anderen Wert, beim 450 war es 0x7F, hier 0x44.

Wenn sich der Algorithmus nicht geändert hat, müsstes du über 250.000km auf der Uhr haben.

 

* Beim 450er wurde nur die Seriennummer (hier ab dem "K") übertragen und die ersten drei Datenbytes der dritten Nachricht waren in allen Samples die ich gesehen hatte immer 0.

[ Diese Nachricht wurde editiert von 450-3 am 18.04.2019 um 01:11 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ui, danke für die detailierte Erklärung.

 

Ja habe bald 252.000 geschafft :) nutze das Auto täglich zum pendeln!

 

Könnte ich theoretisch die letzte 560er Nachricht einfach selbst senden mit einem höheren km Stand? z.B: 500.000?! :-D Dann dürfte sich doch das Kombiinstrument updaten und beim nächsten Start Kombiinstrument -> SAM lol

[ Diese Nachricht wurde editiert von Spacefish am 18.04.2019 um 01:10 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Oh ich hab den Algorithmus rausgefunden die Checksumme zu berechnen :)

 

einfach alle bytes der drei Messages addieren ohne das erste Byte (0x01, 0x02, 0x03 weglassen). Als bytes, den überlauf ignorieren. Das was im Byte stehenbleibt ist die Checksumme.

 

Code:
 <br />int checksum = 0;<br /><br />checksum += 0x57+0x4D+0x45+0x34+0x35+0x31+0x33;<br />checksum += 0x30+0x30+0x31+0x4B+0x31+0x37+0x32;<br />checksum += 0x35+0x36+0x36+0x03+0xD8+0x00;<br />

 

hex ist das Ergebnis 0x4A8 :lol:

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Quote:

Am 18.04.2019 um 01:08 Uhr hat Spacefish geschrieben:
Könnte ich theoretisch die letzte 560er Nachricht einfach selbst senden mit einem höheren km Stand? z.B: 500.000?! :-D Dann dürfte sich doch das Kombiinstrument updaten und beim nächsten Start Kombiinstrument -> SAM lol

So wird es vermutlich sein. Wie ein Update genau abläuft, weiß ich bisher noch nicht. Das mal auzuprobieren, steht aber auf meiner Wunschliste relativ weit oben ;-)

 

Gut, Checksumme hast du schon rausgefunden, kannst ja mal 07 A1 00 als Kilometerstand schicken und berichten :lol:

Am echten Fahrzeug würde ich sowas aber natürlich nicht testen.

 

Zum experimentieren habe ich für je 'nen 10er bei ebay eine alte ZEE und einen Tacho gekauft und eine kleine Software geschrieben, die den Datenstrom der verschiedenen Steuergeräte simuliert, mit der ich zum probieren die einzelnen Bytes der Nachrichten steuern kann.

Die Software läuft auf einem RasPi Zero W mit Waveshare CAN-HAT, der auch gleich noch als Datenlogger dient. Mit dem RasPi als WLAN AcessPoint konfiguriert, melde ich mich vom Notebook per SSH drauf an und mit einer kleinen Powerbank druntergeschnallt, läuft das Teil ewig.

Ein komfortableres CAN-Interface für unter 50 Euro kann man gar nicht kaufen :-D

[ Diese Nachricht wurde editiert von 450-3 am 18.04.2019 um 02:30 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hier noch der Auszug der Excel Tabelle:

 

:-D :-D :-D :-D

 

Unbenannt.jpg

-----------------

gawcv5qd.jpg

Smart ForTwo 2011 // 71 PS mhd. //

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Unbenannth.jpg

-----------------

gawcv5qd.jpg

Smart ForTwo 2011 // 71 PS mhd. //

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Der laufende Kilometerstand steht, wie es aussieht, jetzt in Nachricht 0x412 Bytes 3-5.

 

 

Der Unterschied zu 0x560 kommt daher, dass das SAM für den Tachoabgleich aus dem 24-Bit Wert die niederwertigsten 6 Bits auf Null setzt und ignoriert, was anscheinend eine Art Pufferbereich ist, in dem der Abgleich auch funktioniert, wenn das KI etwas voreilt, zumindest hat es sich bei mir nicht beschwert, wenn sich mein Fake-SAM mit einer Differenz innerhalb des 63-Kilometer-Fensters gemeldet hat.

 

Ansonsten hat sich leider so viel geändert, dass aus meiner ID-Sammlung vom 450er auf den ersten Blick nichts mehr passt :(

 

[ Diese Nachricht wurde editiert von 450-3 am 18.04.2019 um 21:23 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

bin noch auf der suche nach der Öl temp, falls wer was findet bitte melden :-D

-----------------

gawcv5qd.jpg

Smart ForTwo 2011 // 71 PS mhd. //

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Quote:

Am 23.04.2019 um 01:31 Uhr hat Petros_T geschrieben:
bin noch auf der suche nach der Öl temp, falls wer was findet bitte melden :-D

Wird die Temperatur überhaupt erfasst? Ich sehe da nur einen Öldruckschalter im Plan.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Wenn Du die Öltemperatur haben willst, musst Du erst mal einen Sensor verbauen. ;-)

Wie schon mein Vorposter schrieb, wird diese nämlich mangels Geber serienmäßig nicht gemessen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich kann mit der Delphi Diagnose meine Öltemperatur auslesen, wieso sollte es nicht möglich sein die aus dem Bus zu lesen?

 

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Dann wurde entweder bereits ein Sensor für die Öltemperatur nachgerüstet oder die wird irgendwie durch das System durch eine Interpolationsroutine über die Temperatur des Motors bzw. Kühlwassers errechnet, was aber natürlich mehr als fehlerträchtig ist!

So nach dem Motto, wenn meine Kinder Fieber haben, dann schaue ich den Urin an und dann weiss ich die Körpertemperatur! ;-)

Es entbehrt doch nicht einer gewissen Logik, daß ohne Temperatursensor keine genaue Messung stattfinden kann, oder sehe ich das falsch? :-?

Auch um die auf dem Bus anzeigen zu lassen, müsste erst mal eine Messeinrichtung vorhanden sein!

Oder es handelt sich tatsächlich um eine errechnete Temperatur mit entsprechenden Fehlertoleranzen und Ungenauigkeiten!

 

Ich hoffe mal, unser max kann hier mal was zu sagen! :)

[ Diese Nachricht wurde editiert von Ahnungslos am 23.04.2019 um 17:15 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich glaube, Petros meint den Smart 451, Ahnungslos meint den Smart 450. Ob der 451 einen Sensor ab Werk hat, weiß ich jetzt aber nicht.

 

Grüße, Hajo


705 Kilometer mit 19,43 Litern sind 2,75 Liter/100 Km.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Also ich meinte schon auch den 451er und ich bin der Meinung, daß auch dieser nur einen Öldruckschalter verbaut hat und keinen Öltemperatursensor.

Aber wie geschrieben, ich hoffe mal, daß maxpower mich aufschlauen kann, was es mit der Öltemperatur auf sich hat.

Der weiss es ganz genau.

[ Diese Nachricht wurde editiert von Ahnungslos am 23.04.2019 um 14:58 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Öl Temperatursensor hat einzig und allein der 54 PS Diesel im 451.

Alle anderen haben werksseitig keinen. Egal ob 450 oder 451.

 

[ Diese Nachricht wurde editiert von maxpower879 am 23.04.2019 um 16:10 Uhr ]


Smart 450 Cabrio 2002 599 71 PS 

Smart 451 2007 Turbo Cabrio 115 PS 

Seres 3 

 

 

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Quote:

Am 23.04.2019 um 13:14 Uhr hat Petros_T geschrieben:
Ich kann mit der Delphi Diagnose meine Öltemperatur auslesen, wieso sollte es nicht möglich sein die aus dem Bus zu lesen?

Danke für die Info, max, die meine Kenntnis der Sachlage bestätigt.

Aber woher kommt dann die angebliche Anzeige der Öltemperatur über OBD bei Petros_T über das Delphi? :-?

Gemäß seiner Signatur hat er ja einen 71 PS mhd!

[ Diese Nachricht wurde editiert von Ahnungslos am 23.04.2019 um 17:12 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Quote:

Am 23.04.2019 um 13:14 Uhr hat Petros_T geschrieben:
Ich kann mit der Delphi Diagnose meine Öltemperatur auslesen, wieso sollte es nicht möglich sein die aus dem Bus zu lesen?

Nicht alles, was in den Liveparametern zu sehen ist, liegt auch zwangsläufig auf dem Bus - gerade bei Sensorwerten die nur vom Steuergerät intern verwendet werden und sonst niemand braucht.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Jetzt war ich nochmal im Auto und habe den Laptop dran gehabt, siehe da - ich habe folgendes mal abfotografiert.

 

43365120-3181-4797-8051-e49406853859-Small.jpg

 

8f855a03-4191-414c-bcd1-1b62d63e424c-Small.jpg

 

710fc2de-4a35-454f-9aa0-41b760aa876e-Small.jpg

 

Somit hat der Smart sogar mehr Sensorik wie gedacht. Ich denke diese Parameter sind auch wichtig um den Start Stop betrieb zu regeln.

 

Alles was über den OBD Port abgreifbar ist, sollte auch ohne Diagnose auslesbar sein.

-----------------

gawcv5qd.jpg

Smart ForTwo 2011 // 71 PS mhd. //

 


forum.jpg

2010 // Smart ForTwo Brabus Xclusive 102 //

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

 

Tolle Sensorik, die aus nicht vorhandenen Sensoren irgendeinen Temperaturwert zaubert. Wo kommt denn die Getriebetemperatur her? Den entsprechenden Sensor gibt es schon seit dem B03 im 450er nicht mehr und der Wert wird nur noch vom Computer berechnet.

Bestimmt gibt es auch noch irgendwo einen Fake-Wert für den Drehwinkelsensor, der beim 451 doch auch abgeschafft wurde, wenn ich mich richtig erinnere.

 

Quote:

Am 23.04.2019 um 21:15 Uhr hat Petros_T geschrieben:
Alles was über den OBD Port abgreifbar ist, sollte auch ohne Diagnose auslesbar sein.

Sicherlich, wenn man das Diagnoseprotokoll selbst implementiert und darüber mit den Steuergeräten kommuniziert.

Ansonsten: Nein.

 

Hast du dir mal eine Diagnose-Session im CAN-Logger angeschaut? Das läuft komplett parallel zu dem, was z.B. hier in dem verlinkten Dump drin steht, verpackt in ganz andere Nachrichten.

Oder meinst du, dass AutoCom die angezeigten Werte tatsächlich aus den regulären CAN-Frames ausliest?

[ Diese Nachricht wurde editiert von 450-3 am 23.04.2019 um 21:55 Uhr ]

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Also mich frage mich ja immer noch, wie er ohne Sensor die Öltemperatur bestimmt!

Das kann eigentlich nur ein hochgerechneter Wert sein!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Ihrem Gerät platziert, um die Bedinung dieser Website zu verbessern. Sie können Ihre Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Sie damit einverstanden sind.