Zum Inhalt springen
IGNORED

Welche Elektronikkommunikation wird bei Kawasaki verbaut? CAN Bus?


tralf

Empfohlene Beiträge

Achso die Stecker hättest auch über Italien bestellen können bzw. ich kenne jemand der die besorgen kann. Leider zu spät gelesen.

 

Jetzt ist nur die große Frage welche CAD Software, weil dann kann man ja echt alles realisieren.

Kann man eigentlich auch durchsichtiges Plastik drucken bzw nur Teile?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja gut, der Versand aus den USA war nun auch OK, hat insgesamt 10 oder 12 Tage gedauert, und ging auch anstandslos durch den Zoll ohne das ich da hindackeln musste.

 

Welche CAD Software du nutzt ist am Ende relativ egal, idealerweise kommt nachher das Dateiformat STL raus, das können die meisten, und damit kommt Shapeways am besten zurecht wie es mir scheint.

Entscheide welche Software dir am besten liegt, friemelig zu bedienen sind die alle ein wenig wenn man nicht gerade Technischer Zeichner gelernt hat.

 

Bei Shapeways kannst du aus ca 20 Verschiedenen Materialien wählen, von Standard Plastik Weiß, bis Platin ;) Je besser je Teurer ;)

 

Die Modell kannst du nur in jeweils einem Material Drucken.

Wenn du z.b. eine aussparung in einer anderen Farbe willst, dann musst du das Stück was ich die Lücke soll einzeln zeichnen und drucken lassen, und später zusammenschrauben/kleben.

Transparent haben die soweit ich weiß auch, aber nur "frost" also Milchig, sprich ne Displayscheibe kannst du da nicht drucken.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das wäre ja nicht das Problem, da ich eine Vision im Kopf habe, aber noch nicht ganz weiß wie ich das auf das Blatt Papier kriegen soll. Leider fehlt mir auch etwas die Zeit, sonst hätte ich schon längst was entworfen und hier liegen.

 

Der Code an sich ist Kinderkake, da ist es auch egal mit welcher Programmiersprache man rann geht. Idealerweise mit den Arduino mit C/C++, dem Pi Python oder auch Java ist möglich.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Haha, Erfahrung. Elektrotechnik liegt mir zwar nicht zu 100% aber zusammenbauen und was daraus zaubern kein Problem. Selber von Grund-auf neu entwickeln das kann ich nicht. Da nehme ich einfach fertige Schaltpläne und modifiziere die etwas.

 

Für mein Auto muss ich auch noch eine Platine ätzen -.- muss aber erstmal alles kaufen. Überall Baustellen... Ich brauch ein Weizen :D

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

So, nachdem inzwischen alle Teile angekommen sind, und bisschen Zeit zum basteln war hier mal ein Update.

 

Erfolgsmeldung, die ECU spricht mit mir.

Der Init funktioniert, und es kommen die zu erwartenden Daten von der ECU zurück und die Diagnose Session wird geöffnet.

Nun gehts weiter, Code anpassen, und fürn Anfang mal z.b. die Wassertemperatur und den Gang auslesen und auf nem LCD Screen wiedergeben.

Da ja der Gang nur bei losgelassener Kupplung von der ECU errechnet wird, fange ich mal mit der Wassertemperatur an.

Ich muss mir mal nen Montageständer fürs Hinterrad besorgen, dann kann ich im stand die Gänge mal durchschalten.

 

Und dann vor allem die Schaltung mal ordentlich auf eine Platine Löten, es nervt mit sonem Friemelsteckbrett am Bike zu hantieren.

 

Die Kabelfarben für den 4 Poligen Diagnose Stecker an der Z1000 BJ 2014 sind wie folgt:

Schwarz/Gelb = Masse

Braun/Weiß = 12V geschaltet über Zündung

Grau/Blau = K-Line Diagnose Bus.

 

Was der 4. Hellgrünn/Schwarze ist, erschliest sich mir nicht, aber ist für den Fall hier auch nicht weiter wichtig.

 

 

 

Die ECU spricht ;)

Kabelchaos

  • Like 4
Link zu diesem Kommentar
Auf anderen Seiten teilen

So, nachdem der Init gestern funktionierte hab ich mir gedacht, dann heute gleich weiter im Text ;)

 

Also die Kommunikation mit der ECU funktioniert soweit einwandfrei, und die Intervalle der Abfragen und Antworten sind so kurz, das man durchaus 5 Abfragen pro Sekunde hinbekommt.

Hier mal der Versuch die Wassertemperatur auszulesen nachdem das Bike ein paar Minuten lief, und die Temperatur nach ausschalten des Motors auf knapp unter 70° (laut Display im Cockpit)  abgesunken war.

 

Ecu data read

 

Man sieht im Bild die Abfrage die an die ECU geht, links in Dezimal, rechts der Hexadezimale Wert

Darunter bei reply, was dann von der ECU zurück kommt.

 

Das vorletzte Byte enthält die Temperatur.

Dieser Wert soll laut dem ecuhacking Forum wie folgt umgerechnet werden:

 

(ECUwert - 48) / 1,6

 

Ergäbe:

(158 - 48) / 1,6 = 68,75 ° Celsius

Das sieht soweit gut aus, und könnte passen :)

 

Man sieht im gesamten Logfile vom Arduino auch wie der Wert, während der Motor läuft langsam ansteigt, und nachdem ausschalten langsam wieder sinkt.

Ich würd sagen Bingo ;)

 

 

Interessant ist noch, das der Code den ich gerade als Vorlage nutze von dem Kawaduino Typen bei Youtube ist.

Und der nutzt als Read kommando 0x21 (read register) zum lesen, und das ergebnis wird mit 0x61 (read ok) quittiert.

Im ECU Hacking Forum sprechen sie von 0x10 als Start Diag Mode Byte, und als Erfolgsantwort 0x50.

Scheint als wenn es da doch mehere Wege gibt die nach Rom führen. Vil ist ja schon jemand ein wenig weiter in die Materie eingedrungen.

 


Kleines Update nochmal zur Temperatur umrechnung....

Nachdem ich mir die Zahlen die von der ECU zurückkommen noch mal angeguckt habe!

 

Es sieht so aus als wenn der Wert schlicht Fahrenheit ist.

Damit ist die Formel aus dem ECU Hacking nicht ganz korrekt.

 

Korrekt wäre:

Celsius = (Fahrenheit - 32) * 5 : 9

70° Celsius = (158 - 32) * 5 : 9

 

Das passt auch besser mit dem Wert im Cockpit.

Scheint als wenn die Japaner einfach in Fahrenheit Rechnen und für den Europäischen Markt dann im Cockpit umrechnen.

 

Ich hab nun auch mal das Gang Register mit ausgelesen, aber diese Werte kommen mir komisch vor.

Im Neutral kommt eine "0" zurück, was soweit ok ist!

Aber beim einlegen des Ersten Gang kommt Hex "6" zurück, beim einlegen vom 2. Ebenfalls 6.

Und das ganze auch im Stand.

 

Hier mal der Output:

Vil kann ja philro hier aus dem Forum oder TRalf was dazu sagen, denn ich bin ein wenig verwirrt.

 

request temp:
DEC: 128 ; 17 ; 241 ; 2 ; 33 ; 6 ; 171 ;
HEX: 0x80; 0x11; 0xF1; 0x02; 0x21; 0xAB

reply temp:
DEC: 128 ; 241 ; 17 ; 3 ; 97 ; 6 ; 183 ; 163 ;
HEX: 0x80; 0xF1; 0x11; 0x03; 0x61; 0x06; 0xB7; 0xA3

temp incoming serial data:
DEC: 97 ; 6 ; 183 ; 0 ; 0 ; 0 ; 0

request gear:
DEC: 128 ; 17 ; 241 ; 2 ; 33 ; 11 ; 176 ;
HEX: 0x80; 0x11; 0xF1; 0x02; 0x21; 0x0B; 0xB0

reply gear:
DEC: 128 ; 17 ; 241 ; 2 ; 33 ; 11 ; 176 ;
HEX: 0x80 ; 0xF1; 0x11; 0x03; 0x61; 0x0B; 0x06; 0xF7  # das kommt wenn der 1. Gang eingelegt ist, egal ob Motor aus oder an. gleiches beim 2. Gang

gear incoming serial data:
DEC: 97 ; 11 ; 6 ; 0 ; 0 ; 0 ; 0

Bearbeitet von acryd
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja ich muss heute Abend mal den Montageständer mit nach Hause nehmen.

Interessant ist allerdings, das halt nur 6 kommt, egal ob 1. oder 2. Gang und das es auch vollkommen latte ist, ob der Motor an oder aus ist.

Heißt nachher fürs Ausgeben des Gangs dann halt ne zusätzliche Abfrage auf die geschwindigkeit, und wenn die = 0 ist, halt nix ausgeben, und gänge nur darstellen wenn Speed >= 0 ist.

 

Ich berichte Später mal

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist auch bei der GiPro Ganganzeige, mehr scheint die Ecu scheinbar nicht herzugeben.

 

Kann das nochmal bei der nächsten Fahrt überprüfen, ganz sicher bin ich mir nämlich nicht mehr.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gut moeglich, die ECU hat ja auch keine Kontakte für die Gänge, sondern lediglich einen für Neutral.

Und laut Dokus die Verfügbar sind, errechnet die ECU den Gang selber auch aus Drehzahl und Geschwindkeit.

 

GiPro soll das ja ebenfalls so machen, ich vermute mal, die haben sich dafür entschieden um flexibel zu sein zwischen den verschiedenen Fahrzeugmodellen, sonst müsste der Controller in der Anzeige massig Speicher haben um alle Register von allen ECUs zu kennen bzw vil gibts ja andere Fahrzeugmodelle die überhaupt kein Gang Register bereitstellen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ganz so einfach machen die sich das nicht, hatte so ein Ding ja auch schon an der Honda, deren ECU keine Gänge ausgab.

Dort wurde das Drehzahlsignal und Temposignal angezapft. Nur mit dem Unterschied das sie sich dort komplett anders verhielt und auch viel schneller anzeigte.

 

Ich geh bei der Z davon aus, das die Gipro selbst gar nichts ausrechnet, sondern die berechneten Werte der ECU abgreift, ähnlich wie bei dir. Da sie ja an dem Diagnose Stecker angeschlossen wird

 

Bei der Honda war die Anzeige des Ganges um mindestens Hälfte der Zeit kürzer als jetzt auf der Z

Bei gezogener Kupplung bei Honda "--" weil es ja nichts zu berechnen gab (Drehzahl = Standgas), bei Kawa wird der eingelegte Gang angzeigt.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm, ok dann haben die nen "State" Register/Variable in der sie sich den letzten Gang merken und bloß was anderes anzeigen sobald sich der gang ändert.

Gut, ich guck heute Abend mal wenn ich nen Montage Ständer zu hause habe dann kann ich die gänge mal einlegen, weil fahren mit dem Steckbrett und den Brücken klappt eher nicht ;)

 

Danke für die Infos

Link zu diesem Kommentar
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 Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.