Jump to content
IGNORED

Welche Elektronikkommunikation wird bei Kawasaki verbaut? CAN Bus?


tralf
 Share

Recommended Posts

Ja, damit hast Du vermutlich Recht Tommy. Habe mich ehrlich gesagt damit nicht weiter befasst. Klappt ja alles über die K-Line :)

 

Bzgl. dem HeadUp-Display: Dazu ist die K-Line nicht sonderlich geeignet. Ist zu langsam! Du bekommst ca. 4 Werte pro Sekunde. Im Video fällt es nicht ganz so auf, da die Software die Werte glättet. Da macht es vermutlich mehr Sinn auf den Bus zu setzen und am Tacho selbst abzugreifen. Gibt hier im Forum auch jemanden der diesen Ansatz verfolgt und dessen Ziel u.a. ein Headup Display war.

Vielleicht mag er sich ja outen ;)

 

Ein kleines Display hatte ich auch schon dran, verlangsamt das Ganze aber noch viel mehr, da der Arduino zu wenig Power bzw. Serielle Anschlüsse hat. Daher ist die Ganganzeige mit Zusatzinformationen im Tacho für mich aktuell kein Thema.

Werde erstmal weiterhin den Bluetooth-Ansatz verfolgen und mich im Winter mal an den Fehlerspeicher wagen.

Kannst Dir ja die Torque-App runterladen und das Handy auf´s Visier pappen :D

 

Oder ich baue einen zweiten Controller, der am Tacho die Bus-Signale abgreift, für eine eigene Ganganzeige...

Link to comment
Share on other sites

Ich schreibe das Bild noch mal nieder, falls es irgendwann nicht mehr verfügbar ist.

 

Am Diagnsosestecker gibt es ja:

 

hellblau: K-Leitung (KWP2000)

schwarz/gelb: Masse

braun/weiß: Schaltplus

hellgrün/schwarz: L-Leitung?

Link to comment
Share on other sites

  • 2 weeks later...

Mahlzeit!

 

Hat jemand sich schonmal an die anderen Modi gewagt? Aktuell spreche ich ja nur folgende ServiceID´s an:

  • 10 - Initialisierung
  • 81 - Start Communication
  • 1A - Read ECU ID
  • 21 - Read Data By Local Id

Da ich auch gerne die Fehlercodes auslesen möchte, muss ich mich durch die anderen Codes durcharbeiten.

Die Infos darüber sind natürlich extrem spärlich. Aber eine ISO 14230-Dokumentation scheint wie Ar :zensur:  auf Eimer zu passen.

Leider nur auf die ID´s, nicht darauf wie die Anfragen auszusehen haben. Oder ob man eine andere Initialisierung vornehmen muss.

 

10    Start Diagnostic Session
11    ECU Reset
12    Read Freeze Frame Data
13    Read Diagnostic Trouble Codes
14    Clear Diagnostic Information
17    Read Status Of Diagnostic Trouble Codes
18    Read Diagnostic Trouble Codes By Status
1A    Read Ecu Id
20    Stop Diagnostic Session
21    Read Data By Local Id
22    Read Data By Common Id
23    Read Memory By Address
25    Stop Repeated Data Transmission
26    Set Data Rates
27    Security Access
2C    Dynamically Define Local Id
2E    Write Data By Common Id
2F    Input Output Control By Common Id
30    Input Output Control By Local Id
31    Start Routine By Local ID
32    Stop Routine By Local ID
33    Request Routine Results By Local Id
34    Request Download
35    Request Upload
36    Transfer data
37    Request transfer exit
38    Start Routine By Address
39    Stop Routine By Address
3A    Request Routine Results By Address
3B    Write Data By Local Id
3D    Write Memory By Address
3E    Tester Present
81 -> xx xx    Start Communication
82    Stop Communication
83    Access Timing Parameters
85    Start Programming Mode

[Quelle]

 

Da ist einiges dabei, wo man gewiss auch viel kaputt machen kann :wacko:

Will aber eigentlich nur 12, 13 & 14 verwenden.

Fehlercodes auslesen -> Anhand des Codes die entsprechenden PID´s abfragen können -> Fehlerspeicher löschen.

 

Bleiben zwei Fragen:

Ich habe keine Fehler am Bike :huh: was kann man denn mal elegant abziehen, damit die ECU meckert? Irgendein gut zu erreichender Sensor?

Wer hat bereits damit rumgespielt oder kann mir Daten von Diagnosegeräten bereitstellen, damit ich das Rad nicht komplett neu erfinden muss?

 

[EDIT] Zur Vervollständigung:

Die o.g. Liste für ISO 14230 (KWP2000) ist einer der Vorgänger von UDS - Unified Diagnostic Service (Wiki).

Dabei handelt es sich um eine Art Parallel-/Vorgänger-Lösung zu OBD, welche zwar die SID´s (o.g. Liste) standardisiert, nicht aber die PID´s (Befehle/Abfrageregister). Diese sind vom Hersteller (leider) frei wählbar.

Dazu kann man sich hier ganz gut einlesen.

 

Zwar stand überall welches Protokoll bei KDS verwendet wird, jedoch habe ich bei der Recherche nur Dinge über die Initialisierung, das Format der Nachrichten, Normen, Reaktionszeiten, usw. gefunden. Aber nix über die Nachrichtenarten an sich. Da gibt es nun etwas Licht im Dunkeln :D

 

Ist zwar weiterhin Sisyphos-Arbeit aber ich bleibe dran :) Habe auch noch eine Auswertung von einem Healtech-Diagnose Gerät, aber das hilft nur sehr grob weiter, bestätigt aber zumindest ein paar SID-Befehle.

Edited by TriB
Link to comment
Share on other sites

spontan würde mir die Auspuffklappensteuerung und das ABS einfallen. Angaben ohne Gewähr  :pfeif:

Link to comment
Share on other sites

Auspuffklappenstellmotor abziehen, das ist wohl am einfachsten. Lambdasonde geht auch recht unkompliziert.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Tach zusammen,

 

mit dem Fehlerspeicher bin ich leider noch nicht weiter. Zeit, Lust und ein paar andere Unwägbarkeiten haben das Ganze etwas verzögert. Bleibe aber dran :thumbs_up:

 

Auf der Renne habe ich festgestellt, dass die Formeln aus dem ECU Hacking-Forum Schrott sind. Niemand von denen ist je schneller als 124 km/h gefahren :kopf:

Dann wäre aufgefallen, das man A*255+B und nicht A*100+B rechnen muss. Genauso bei der Drosselklappe...

Habe auch noch ein paar andere "Problemchen" gelöst, die ich demnächst bei GitHub aktualisieren werde.

 

Ein Problem sind aber immer noch regelmäßige Abstürze, denen ich noch nicht Herr geworden bin. Mal nach 20 Minuten, mal bereits nach 3 Minuten.

Am Emulator unter Laborbedingungen läuft alles mehrere Stunden durch. Bleibt also die Stromversorgung, die ECU oder ein Programmierfehler.

Letzteres kann ich eigentlich fast ausschließen, denn am Emulator klappt es und auch ein reduziertes Programm schmiert ab. Es gibt noch Andere, minimalistischere Ansätze, die ebenfalls max. 30 Minuten durchhalten. Auch an anderen Motorrädern.

Vielleicht Schwankungen in der Versorgung? Oder elektromagnetische Interferenzen?

 

Was ich mich immer frage: Wie macht die GiPro das? Da fällt es vermutlich nur nicht auf, wenn die Anzeige mal für 5 Sekunden keine Änderung mitbekommt...

Kann das jemand bestätigen?

  • Like 3
Link to comment
Share on other sites

JN-Elektronik

Wie sehen die Abstürze aus? Friert die Anzeige ein? Wird Unsinn angezeigt? Reset?

Benutzt Du einen Längsregler um die nötige Spannung für den µC herzustellen? TVS Dioden angeschlossen?

 

Die ganzen Strippen sind natürlich auch super Antennen, das meiste fällt ja später weg wenn Du nur noch 1 Layout hast.

Link to comment
Share on other sites

Das ist leider noch nicht so klar. Die Aufzeichnung stoppt einfach.

Habe jetzt mal einen WatchDog eingebaut um zu sehen was da passiert. Der Prüft auf Timeouts und speichert die letzte Codezeile.

 

Ob der µC neustartet oder einfach hängen bleibt kann ich (noch) nicht feststellen. Kann so schlecht während der Fahrt das Heck aufschließen und schauen welche LED blinken :D

 

Habe nun auch mal das Neustartverhalten optimiert, da sollte die Kommunikation nun selbstständig wieder aufnehmen. Dann kann ich hoffentlich unterscheiden ob die Programmierung hängt (weil Werte anders kommen als erwartet) oder der Strom weg ist und der Arduino neustartet.

 

Ein Ceramic-Capacitor 10 nF 50 V/DC glättet die Ladespitzen auf 12 V. Kabellage ist nicht viel, nur der Stecker für den Diagnose-Anschluss.

Auch eine Überhitzung sollte im Heck eigentlich kein Thema darstellen. Ist alles Handwarm.

 

Mich wundert nur, andere haben das selbe Problem. Nur die GiPro scheint durch zu laufen :verwirrt:

Link to comment
Share on other sites

JN-Elektronik

 


 

Ein Ceramic-Capacitor 10 nF 50 V/DC glättet die Ladespitzen auf 12 V. Kabellage ist nicht viel, nur der Stecker für den Diagnose-Anschluss.

Auch eine Überhitzung sollte im Heck eigentlich kein Thema darstellen. Ist alles Handwarm.

 

Mich wundert nur, andere haben das selbe Problem. Nur die GiPro scheint durch zu laufen :verwirrt:

 

Ähm ... die 10nF alleine bewirken so gut wie nichts, schon gar kein abfangen von Ladespitzen auf 12V.

Wenn ein Längsregler (7805 oder ähnlich) im KFZ Bereich im Einsatz ist gehört da schon etwas mehr hin als 10nF  ;-)

 

Welche andere meinst Du denn? Selbstgebaut? Die GiPro hat wahrscheinlich auch ein CE Zeichen, d.h. da muss auch u.a. EMV geprüft sein.

Da kommt so ein µC ganz fix aus dem Tritt.

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Danke, der Längsregler ist vermutlich so oder so sinnvoll! Unabhängig ob die Abbrüche direkt damit zusammenhängen.

Wird kommende Woche mal in Angriff genommen. Bis dahin habe ich hoffentlich die Zeit gehabt meine Software zu checken. Das Wetter und die drohende 24.000er Inspektion machen mir gerade einen Strich durch die Rechnung :mellow:

 

Es gibt in ein paar Entwicklerforen noch ein paar Jungs, die sich ebenfalls so was gebaut haben. Jeder hat leichte Unterschiede im Hardwareaufbau und in der Software. Die maximale Laufzeit von ca. 30 Minuten haben aber allesamt.

Das jemand Spannungsspitzen (in welcher Richtung auch immer) mit einem 7805 / 7808 abfängt hatte ich noch nicht gelesen. Manche jagen die Ausgangsspannung sogar direkt in den Arduino. Der verträgt zwar bis zu 20V aber empfohlen ist das nicht! Die meisten regeln deshalb stumpf mit nem 10nF auf die optimalen 7-12V runter.

 

Werde wohl zusätzlich auch mal die Spannung während der Fahrt mitloggen. Bislang weiß ich ja nur, dass die zwischen 12 und 14,5V im Stand liegt. Während der Fahrt ist die vermutlich noch höher.

 

Vielleicht hat hier Jemand schonmal so ne GiPro geöffnet und kann was zum Aufbau sagen? :fun02:

Link to comment
Share on other sites

JN-Elektronik

Das KFZ Bordnetz hat bis zu 25V Spannungsspitzen und darüber. Das wird (uns MUSS) bei der GiPro abgefangen werden, wie bei jeder kommerziellen Hardware auch.

Hab mir mal eben den Aufbau des Arduino Nano angesehen. Da ist ein Längsregler drauf mit einem bisschen drumherum. Dieser verwendete Typ geht bis ca. 12V Eingangsspannung.

Mehr würde ich dem auch nicht geben das er nämlich bei Überhitzung (im günstigsten Fall, je nach Typ) abschaltet.

Im Hobbybereich gibt es nicht viele welche sich ernsthaft Gedanken um ein vernünftiges Layout und Bauteile machen, da ist es egal ob sich mal was aufhängt oder nicht.

Aber wenn es was ernsthaftes werden soll solltest Du das auf alle Fälle berücksichtigen, dazu gehört eben auch eine vernünftige Spannungsversorgung.
In vielen Schatungen für´s KFZ sind das noch immer sehr häufige Fehlerquellen.

 

Eine Kleinigkeit noch: Ein Kondensator kann Dir keine Spannung runterregeln :-)

Link to comment
Share on other sites

Hi,

Ich muß da "JN-Elektroniker" recht geben, ein Kondensator regelt keine Spannungs-Spitzen runter. Er kann dir nur für kurze Zeit (je nach Kondensator) ein Spannungseinbruch überbrücken. 

Ich könnte mir vorstellen das du ne Z-Diode in Kombi mit nem Kondenstor brauchst.

Oder einfach ein kleines "Netzteil" (Spulen inkl. Kleinteile drum herum) das dir eine fest vorgegebene Spannung herausgibt die nicht schwankt.

Ich denke das die Spannungsschwankungen deine Probleme verursachen.

 

Was für eine Spannung / Spannungsbereich benötigst du denn?

 

Gruß Tommy

Edited by Tommy-Z800
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.