Kawasaki Motorcycle Forums banner

06/06 ZX636 ZX6R Tacho-Upgrade und TRE

2 reading
234K views 533 replies 187 participants last post by  gavinvandertoorn  
#1 · (Edited)
05/06 ZX636 ZX6R Tacho-Upgrade

Hallo zusammen.

Vor einiger Zeit gab es eine große Diskussion darüber, wie man einen ZX6-Tacho im P7-Stil an ein älteres Motorradmodell (typischerweise das Modell 05/06 C1H) anpassen kann.

Der Hauptgrund dafür war, die schönen, gut lesbaren weißen Zifferblätter anstelle des recht trickreichen, aber weniger übersichtlichen LCD-Typs zu haben.

Nun, kurz gesagt, man konnte den Tacho austauschen (tatsächlich sind die Befestigungsbolzen für beide Modelle genau gleich), solange man einen Adapter anfertigte (da der Tacho einen anderen Stecker am neuen Modell verwendete). Allerdings musste man mit einer lästigen blinkenden Warnleuchte leben, die durch fehlende ECU-Kommunikation mit den Uhren verursacht wurde. Die einzige Lösung war damals, das Licht abzukleben, aber dann hätte man nicht den Vorteil irgendwelcher echter Warnungen.

Endlich habe ich mich daran gemacht, das Kommunikationssignal zwischen einem P7-ECU und einem P7-Tacho zu re-engineeren. Die Idee ist, dass wir einen kleinen Mikrochip-Schaltkreis einbauen, um den neuen Tacho zu täuschen und ihn perfekt an einer 05 ZX636 zum Laufen zu bringen. Tatsächlich verhält sich nicht nur die Warnleuchte, sondern wir können auch die Ganganzeige richtig funktionieren lassen (d. h. ein TRE-artiges Gerät herstellen).

Ich erwarte nicht, dass dies für die meisten Leute von großem Nutzen ist, aber ich wollte die Informationen öffentlich zugänglich machen, da sie anscheinend nicht bekannt sind. Man müsste Elektronikingenieur sein, um dies nutzen zu können.

OK, hier geht's mit Teil 1. Die Signale:

Die Tacho-ECU-Kommunikationsleitung hat einen eingebauten Pull-up-Widerstand auf 10 V, um ein Signal einzuspeisen, benötigen wir einen Open-Collector-Treiber.
Die Kommunikationsleitung ist normalerweise HI (ca. 9,8 V).
Daten werden in drei Paketen mit einer Periode von 10 ms zwischen dem Beginn jedes Datenbytes gesendet.
Das Datensignal wird mit einer Periode von 80 ms wiederholt (oder etwa 60 ms vom Ende eines Pakets bis zum Beginn des nächsten).
Wenn die Daten unterbrochen werden, meldet der Tacho nach ein paar Sekunden einen FI-Fehler und macht das blinkende rote Licht (LED)-Ding, also müssen wir die Datenpakete kontinuierlich weiterlaufen lassen.
Die Daten starten erst, wenn die Zündung eingeschaltet wird.
Die drei Datenpakete sind alle seriell 8 Bit plus ein Startbit (lo). Die Periode jedes Bits beträgt 64 us.
(Die folgenden Daten werden so geschrieben, als wären sie ein Timing-Diagramm)

1. Gang ...10100000001..(10ms)..10000000001..(10ms)..10100000001..(60ms)..
2. Gang ...10010000001..(10ms)..10000000001..(10ms)..10010000001..(60ms)..
3. Gang ...10110000001..(10ms)..10000000001..(10ms)..10110000001..(60ms)..
4. Gang ...10001000001..(10ms)..10000000001..(10ms)..10001000001..(60ms)..
5. Gang ...10101000001..(10ms)..10000000001..(10ms)..10101000001..(60ms)..
6. Gang ...10011000001..(10ms)..10000000001..(10ms)..10011000001..(60ms)..

Wenn wir also im 1. Gang die Tacho-zu-ECU-Signalleitung (natürlich an einem P7-Tacho zu P7-ECU) überwachen, sehen wir, dass das Signal 64 us auf 0 V geht, dann 64 us auf 9,8 V, dann 448 us zurück auf 0 V und dann zurück auf 9,8 V.
Es gibt dann eine Lücke von 10 ms (minus 576 us) zum mittleren Paket, das ein Null-Frame ist: 0 V für 576 us
Nach einer weiteren Lücke von 10 ms (minus 576 us) wird das erste Datenbyte wiederholt.
Die Datenleitung ist dann inaktiv (immer noch auf 9,8 V) für etwa 60 ms, bis das Ganze wiederholt wird.
(In der gezeigten Datensequenz stellen Punkte dar, wo sich die Datenleitung auf einem konstanten 9,8-V-Pegel befindet)

Der Tacho verwendet diese Datenpakete, um die Kommunikation mit der ECU kontinuierlich zu überprüfen, aber natürlich stellen diese auch dar, in welchem Gang wir uns befinden.
Solange eines dieser 3-Byte-Datenpakete gesendet wird, wird die FI/rote LED aufgrund eines Kommunikationsausfalls nicht aktiviert.
Wenn das Motorrad im Leerlauf ist, wird im LCD-Teil des Tachos kein Gang angezeigt.
Wenn das Motorrad im Gang ist, zeigt das LCD-Segment den Gang 1-6 an, je nachdem, welche Datenpakete auf der ECU-Kommunikationsleitung gesendet werden.

Wir sind jetzt in der Lage, unsere eigene automatische Ganganzeige mit Motordrehzahl und Raddrehzahl-Signal zu erstellen. Dies geschieht durch Division der Motordrehzahl durch die Raddrehzahl. Beide Signale gehen bereits zum Tacho, um Geschwindigkeit und Drehzahl anzuzeigen.

OK, also werde ich dies mit einem Teil 2 fortsetzen: günstige Hardware, um alle Signalsteuerungen durchzuführen.
Schließlich Teil 3: Dies wird die Software sein, die in einen PIC-Micro programmiert wird.

Prost

Extr400
 
#2 ·
Wenn es hilft, Gipro stellt ein Produkt her, das Getriebeinformationen von der 03-06 ECU über die Diagnoseschnittstelle extrahiert. Sie geben an, dass es sich um eine von der ECU berechnete Information handelt (die ECU kennt den Gang), aber andererseits könnte die Diagnoseschnittstelle nur Tacho- und Geschwindigkeitssignale durchleiten.

Wenn Sie sich für eine Schaltung entscheiden, die Sie planen, bin ich zumindest froh. Kit-ECUs haben keine Ganginformationen, daher wäre all Ihre harte Arbeit zumindest für mich unbrauchbar...

Machen Sie weiter so!
 
#4 ·
süß, aber da ich auch das Kit-ECU betreibe...UPS

Ich habe nichts gegen den kleinen F1, da meiner abgeklebt ist, solange der Drehzahlmesser funktioniert und mit dem Speedohealer Geschwindigkeit und Wassertemperatur, das ist alles, was ich wirklich brauche.
 
#5 ·
Extr400, du musst wirklich ÖFTER posten.
gute Info, Mann.
Ich hatte von einigen Leuten gelesen, die den Geschwindigkeitssensor abgezogen und einen Fehler bekommen hatten. Habe ein wenig recherchiert und gesehen, dass es das PROTOKOLLIERT, das Bit markiert, im Fehlerbit-Register speichert und einen FI-Lichtcode ausgibt.

Ich wusste nicht, dass es ein 10-V-Pullup ist. Dachte, es wären 5 V oder 12 V... lol

Ich hatte von jemand anderem (einem Embedded-Elektronik-Ingenieur) gelesen, dass es eine Möglichkeit gibt, die ECU am 12-R zu täuschen, um den Geschwindigkeitsbegrenzer zu „umgehen“. Es nutzte die Impulsanzahl vom Drehzahlmesser, um den Eingang der ECU anzusteuern und die Biterkennung zu befriedigen. Ich glaube, er hat es durch einige NPNs oder einen Operationsverstärker für einige Spannungsänderungen geleitet. Kann mich nicht erinnern, ob vielleicht ein Signal TTL war und das andere nicht?

Muss es nachschlagen.
Gutes Zeug. Reps.
 
#6 ·
05/06 Clocks upgrade to P7 - nearly there!!!

OK,
Also war das ganze Wochenende mit einem Mikro-Entwicklungskit beschäftigt und habe jetzt den ersten Teil der Software fertiggestellt, um das FI-Licht zu löschen und die Ganganzeige in den P7-Uhren zum Laufen zu bringen.
Im Moment läuft ein kleines Testprogramm, um meine Kid-on-ECU-Kommunikation mit dem Tacho zu beweisen. Es durchläuft alle Gangcodes, so dass die Anzeige überprüft werden kann.

Gute Nachrichten: Alles funktioniert gut. Kein FI-Fehler oder rote LED. Die Ganganzeige ist stabil und fehlerfrei. Habe hier ein Bild gepostet. Dies ist so ein super Trick-Upgrade :)

Muss als Nächstes noch mehr Code schreiben, um die Drehzahl und Geschwindigkeit zur Berechnung des Gangs zu verwenden. Außerdem muss der Geschwindigkeitspuls neu skaliert werden, da die Getriebeübersetzungen für die neuen Uhren unterschiedlich sind.

Habe die Elektronik auf einem günstigen Microchip-Entwicklungskit / Programmierer aufgebaut, aber ich denke, es wird möglich sein, einen selbstgebauten Programmierer (wie Pony Prog) zu verwenden, dessen Bau nur 10 $ kostet.
 

Attachments

#8 ·
Ich bin krank, ich schaue mir das jetzt an, es sieht gut aus und tolle Arbeit
 
#11 ·
Du machst Plug and Play und ich bin verkauft! Ich liebe diese Tachometer.

Ich habe aber eine Frage... Irgendwann werde ich vielleicht mein Motorrad zum Spaß neu übersetzen, wie stark würde sich das auswirken oder würde die Verwendung eines Speedo-Healers immer noch funktionieren?

Außerdem... die rote Linie auf diesem Drehzahlmesser, gibt es eine Möglichkeit, sie so zu gestalten, dass sie die rote Linie der 636 anzeigt? Oder zumindest noch die Schaltlichtoption haben?
 
#12 ·
Hallo Lemmon1-
Mal sehen, wie das Ding ausgeht. Wenn ich genug Interesse bekomme, entwerfe ich vielleicht eine kundenspezifische Leiterplatte, die als Steckeradapter + Mikroplatine fungiert. Sie muss nur geringfügig größer sein als die Umrisslinie des Steckers.
Hatte an das Getriebeproblem gedacht: könnte eine Option für ein 1-Zahn kleineres vorderes Kettenrad anbieten. Alles, was komplexer ist, in Bezug auf das Übersetzungsverhältnis, kann leicht durch Optionen in der Software berücksichtigt werden.

Denken Sie daran, dass dies auch effektiv ein Tacho-Heiler ist, also brauchen Sie nichts anderes.

Hatte nicht an die rote Tacholinie gedacht, aber die Schaltanzeige funktioniert ok. Werde darüber nachdenken.

Prost
Extr400
 
#17 ·
Das ist cool... Ich bin mir ziemlich sicher, dass der rote Strich wahrscheinlich ab Werk aufgemalt ist, also keine allzu großen Sorgen... Was die Übersetzung angeht, werde ich wahrscheinlich nicht mehr als +2 am Heck machen, nur um ein bisschen zu helfen, vielleicht... Um ehrlich zu sein, bin ich einfach mehr an dem Plug-and-Play-Deal interessiert als am Rest.
 
#18 ·
Gute Arbeit!

Wenn es keine schwere Arbeit ist, möchte ich, dass Sie den Code speichern, der den Tacho nicht heilt. Da 03/04 und 07/08 Kawis denselben Tacho-Eingang verwenden, ist keine Heilung erforderlich.

Und ich werfe nur Folgendes ein: Wenn Sie eine andere Übersetzung als die Standardübersetzung verwenden, aber die Drehzahl- und Geschwindigkeitseingabe erfassen (der Tacho ist dann falsch), wird dann nicht der Gang richtig berechnet? Und wenn Sie etwas wie einen Speedohealer NACH der Berechnung des Gangs verwenden würden, hätten Sie auch die richtige Geschwindigkeit auf dem Tacho? Das würde also das Problem mit den Gangwechseln angehen...
 
#21 ·
Gute Arbeit!

Wenn es keine große Mühe macht, würde ich mir wünschen, dass Sie den Code speichern, der den Tacho nicht repariert. Da 03/04 und 07/08 Kawis den gleichen Tacho-Eingang verwenden, ist keine Reparatur erforderlich.

Und ich werfe einfach mal Folgendes in den Raum: Wenn Sie eine andere Übersetzung als die Originalübersetzung fahren, aber die Drehzahl- und Geschwindigkeitseingabe erfassen (der Tacho ist dann falsch), wird dann nicht der Gang richtig berechnet? Und wenn Sie etwas wie einen Speedohealer NACH der Berechnung des Gangs verwenden, hätten Sie dann auch die richtige Geschwindigkeit auf dem Tacho? Das würde also das Problem mit den Übersetzungsänderungen angehen...
Hallo markketo.
Ich habe mir das Servicehandbuch für das 03/04-Modell angesehen und es sieht so aus, als ob das Tachosignal völlig anders ist als beim P7 (obwohl die Daten auf dem P7 in meiner Kopie auch falsch sind):
03/04 Tacho: 60 mph bei 146 Hz Motorsignal
04/05 Tacho: 60 mph bei 1168 Hz Motorsignal
06/07 Tacho: 60 mph bei 276 Hz Motorsignal (Servicehandbuch sagt 840 Hz)

Ich arbeite in Meilen und nicht in Kilometern, aber der Unterschied bleibt bestehen.

Darüber hinaus besagt das Buch, dass der 3. Gang ein anderes Verhältnis zwischen 03/04 und 05/06 hat. Ich bin mir ziemlich sicher, dass das neue Modell eine ganz andere Übersetzung hat als die alten Motorräder.

Habe bereits erwähnt, dass die Endübersetzung kein Problem darstellt.

Die 05/06-Motorräder verwenden eine dedizierte FI-Leitung vom Steuergerät zum Tacho. Da diese auch an den P7-Uhren vorhanden ist, gehe ich davon aus, dass die normalen FI-Fehlercodes weiterhin korrekt gemeldet werden. Muss ich natürlich noch überprüfen!

Extr400
 
#19 ·
Und ich muss hinzufügen, können Sie einen unterbrechenden Eingang an der Schaltung programmieren?
Diese Box wird die FI-Funktion ganz eliminieren, was nicht gut ist... Aber wenn Sie einen Eingang erstellen könnten, der die Box daran hindert, bei positivem Eingang zu senden (das alte FI-Lichtsignal natürlich), dann würde sie anfangen, das FI-Licht zu blinken, wenn es ein echtes Problem gibt...
 
#20 ·
Ok, Zeit für ein weiteres Update.

Jetzt funktioniert die Geschwindigkeitssignalumwandlung. Ich teste mit dem alten und dem neuen Tacho, aber die neue Uhr hat meinen Schaltkreis, der die Umwandlung durchführt.

Der Skalierungsfaktor ist, die Frequenz durch 4,2211 zu dividieren (hm, wenn es Sie interessiert - das Servicehandbuch für die P7-Uhren scheint falsche Drehzahlmesser-Testinformationen zu liefern). Tatsächlich erlaubt meine Software fast jeden Skalierungsfaktor mit einem sehr hohen Genauigkeitsgrad.

Momentan ist die Skalierungsfaktorzahl fest codiert (was bedeutet, dass Sie sie nicht ändern können), aber ich denke darüber nach, einen externen Druckknopf zu haben, um eine Anpassungsfunktion zu ermöglichen. Dies würde es einfach machen, mit jeder Getriebeänderung fertig zu werden, ohne weggehen und den Mikrocontroller neu programmieren zu müssen.

Aus Interesse habe ich ein Signal in den Drehzahlmesser-Pin jedes Tachos eingespeist. Es ist ein bisschen Mist, dass beide auf der hohen Seite lesen. Der C1H ist 6% U/min zu schnell und P7 liest 2,5% U/min zu schnell (das Eingangssignal betrug 13.140 U/min) - hat das noch jemand bemerkt? Es verschärft das Problem, dass die Schaltanzeige bei 14.000 U/min am alten Tacho und bei 15.000 U/min am neuen ausgelöst wird. Habe so ziemlich alle Funktionen des winzigen Mikrocontrollers erschöpft, den ich für dieses Projekt ausgewählt habe, aber es könnte noch ein bisschen übrig sein, um auch einen Drehzahlmesser-Heiler zu machen!

Ich muss noch den Gang aus den Geschwindigkeits- und Drehzahlsignalen berechnen und kann dies dann in das Bit einspeisen, das den digitalen Code an den ECU-Pin der Uhren sendet. Dies ist übrigens unabhängig von der Endübersetzung, da es die Signale direkt vom Motor-Pick-up verwendet (und bevor sie neu skaliert werden). Wenn Sie also die Ritzel wechseln, zeigt die Ganganzeige immer noch korrekt an.

Wenn jemand dem Spiel voraus sein und eines davon bauen möchte, könnten Sie sich ein Pickit2 von Microchip bestellen (direkt oder über Digikey.com in den USA oder Farnell.co.uk hier bei uns erhältlich). Sie benötigen auch den spezifischen Mikrocontroller, der ein PIC12F683 ist. Werde bald eine Zip-Datei der Leiterplatte und der Softwaredateien posten, sobald alles getestet ist.

Eine letzte Anmerkung: Es stimmt, dass, wenn Sie ein heruntergeregeltes Geschwindigkeitssignal in die ECU selbst einspeisen, Sie proportional jede Geschwindigkeitsbegrenzungsfunktion innerhalb der ECU ERHÖHEN. Dies kann sich jedoch auch auf die Zündzuordnung auswirken, daher ist Vorsicht geboten. Ich persönlich verwende die hier beschriebene Schaltung nur, um die Signale an die Uhren zu ändern - nicht auch an die ECU.
 

Attachments

#23 ·
Ich verstehe das ein bisschen, du und du leistest verdammt gute Arbeit, mach weiter so, Mann, es ist eine Menge harter Arbeit, ich wünschte, ich hätte die Zeit am Tag, um diese Sachen und all das zu tun
 
#28 ·
Zumindest verwenden sowohl 03/04 als auch 05/06 die gleiche Methode zur Anzeige von Fehlercodes - d.h. Blinken der LED für bestimmte Mengen und Zeiten. Wenn also die FI für die 05 funktioniert, sollte sie auch für die 03 funktionieren. Ich vertraue Ihnen in dieser Sache, ich bin ziemlich beeindruckt von Ihren elektrischen Fähigkeiten.

Die Ganginformationen werden über dieses dedizierte FI-Signal (ECU-Kommunikationsimpuls bei 07, FI-Anzeigeleuchtenmasse für 03-06) geleitet, also denke ich, dass es eine Art Interrupt-Pin haben muss. Ich habe verstanden, dass Sie das ECU-Signal sowieso in die Box nehmen, also kann es nicht so schwer zu programmieren sein?

Eine andere Sache ist, was die Box macht, während sich die Kupplung im Eingriff befindet? Wenn sie nichts sendet, gibt sie dann das FI-Licht aus? Ich möchte, dass sie den vorherigen Gang anzeigt, bevor sie einen neuen erkennt, ich glaube, das kann programmiert werden? Oder gibt es eine Möglichkeit, einen leeren Gang außer der Neutralleuchte zu senden?

Der Werksdrehzahlmesser sollte einen Fehler von etwa 7-10 % aufweisen. Ich bin ziemlich erstaunt, wenn das 07-Element nur einen Fehler von 2,5 % aufweist. Oder es kann sogar dem Drehzahlmesser ein etwas optimistisches Signal zuführen, um diesen 7 % Fehler zu umgehen. 16500 echte U/min klingen für den Motor zu hoch. 03 hat eine rote Markierung von 15500 und eine echte Motor-Drehzahlgrenze von 14700 oder so etwas.