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
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