Subaru Impreza GC8 & RS Forum & Community banner

DIY: Den Kilometerzähler auf Ihrem ausgetauschten Armaturenbrett neu programmieren

224K views 192 replies 61 participants last post by  jegfaller  
#1 · (Edited by Moderator)
Warnung! Die Modifizierung eines Fahrzeug-Kilometerzählers zu betrügerischen Zwecken ist gesetzeswidrig! Überprüfen Sie die örtlichen Gesetze, bevor Sie fortfahren. Stellen Sie sicher, dass Sie sich an Ihre örtlichen Strafverfolgungsbehörden und die Regierung gewandt haben, um zusätzliche Schritte, Lizenzen, Formulare usw. zu erhalten, die zur rechtmäßigen Durchführung dieses Verfahrens erforderlich sind.

Dieser Leitfaden richtet sich an Personen, die verschiedene digitale Anzeigetafeln eingebaut haben und ihren Kilometerzähler an die tatsächliche Laufleistung ihres Fahrzeugs anpassen möchten. Ich werde mich auf das V5/6-Cluster mit der festen Leiterplatte konzentrieren. Ich habe kein Softback-V4-Cluster gehandhabt, daher kann ich keine Angaben zu den Unterschieden machen. Neuere Cluster von einem GD sollten mit einem V5/6 identisch sein, aber ich kann dies noch nicht bestätigen.

Diese Modifikation ist etwas schwierig. Sie sollten im Löten versiert sein und ein allgemeines Verständnis von Elektronik, Programmierung und Hexadezimalmathematik haben.

Ich habe die Mathematik für die Codierung des Kilometerzähler-Chips nicht perfektioniert. Obwohl ich die Kilometerleistung annähernd ermitteln kann, kann ich den Chip nicht genau auf einige Zahlen programmieren.

Erforderliche Werkzeuge:
  • Schraubendreher mit Schlitz
  • Lötkolben und Lot
  • Entlötwerkzeuge: Kupferlitze oder ein Saug-Lötkolben
  • Zange
  • Ein Stift
  • Personal Computer mit serieller Schnittstelle
  • Microwire-Serienprogrammierer (Schaltplan enthalten)
  • Serielle Programmiersoftware (wie PonyProg2000: PonyProg - Serial device programmer )

Schritt 1: Extraktion.

Der erste Schritt ist das Entfernen des Kilometerzähler-Speicherchips aus dem Kombiinstrument. Dies ist der schwierigste Teil des gesamten Projekts. Beginnen Sie mit einem aus Ihrem Auto ausgebauten Kombiinstrument.

Entfernen Sie die hintere Kunststoffabdeckung, indem Sie die zehn Laschen an der Seite anheben und auf die drei „mittleren“ Laschen auf der Rückseite drücken. Ein Schlitzschraubendreher hilft dabei.
Image


Sobald Sie die hintere Abdeckung entfernt haben, müssen Sie nun die Schrittmotoren von der Leiterplatte befreien. Suchen Sie die vier Motoren. Ich habe sie in dem Bild eingekreist. Hebeln Sie mit dem Schraubendreher und der Zange die beiden Laschen an jedem Motor zurück. Achten Sie darauf, keine Leiterbahnen in der Nähe zu zerkratzen.
Image


Drücken Sie mit einem Kugelschreiber vorsichtig auf jeden Motor und schieben Sie ihn von der Platine weg. Dadurch werden die Motoren ein wenig gelöst, sodass sie sich leicht ablösen, wenn Sie die Leiterplatte entfernen.

Entfernen Sie die Leiterplatte. Möglicherweise müssen Sie die drei Kunststofflaschen zurückdrücken. Wenn die Schrittmotoren noch auf der Platine festsitzen, können Sie versuchen, die Platine ein wenig zu wackeln oder die Motoren mit einem Stift wegzudrücken.

Sobald die Platine vom Rest des Kombiinstruments getrennt ist, können Sie mit dem Entfernen des Kilometerzähler-Speicherchips beginnen. Suchen Sie zuerst den Chip. Ich habe ihn hier in dem Bild eingekreist.
Image

Image


In den meisten Fällen sollte es sich um einen 93C56EN handeln. Sie müssen den Chip jetzt entlöten. Es gibt acht Verbindungen zur Leiterplatte. Ich habe die Punkte in dem Bild markiert. Ich habe einen Saug-Lötkolben verwendet, aber verwenden Sie, womit Sie am besten zurechtkommen.

Sobald Sie den extrahierten Chip haben, können Sie mit dem Programmierer beginnen.
 
#2 · (Edited)
Schritt 2: Programmierer.

Hier ist einer der einfachsten Microwire-Serienprogrammierer, die man bauen kann.
Image


Die folgenden Komponenten werden verwendet:

  • 3x 5V Zener-Dioden
  • 3x 4,7 kOhm Widerstände
  • 2x 47uF Elektrolytkondensatoren
  • 2x 100 mF Keramikkondensatoren
  • 3x Hochgeschwindigkeitsdioden (1N4148)
  • 1x 5-Volt-Regler, vorgeschlagen LM2936Z
  • 1x 8-polige DIP-Fassung
  • 1x DB9-Steckerbuchse

Mein fertiger Programmierer sieht ungefähr so aus:
Image


Schritt 3: Dekodierung.

Installieren und starten Sie PonyProg2000.
Wählen Sie im Menü SetUp die Option Interface Setup.

Sie sollten den E/A-Port wie folgt einstellen:
  1. Seriell
  2. SI Prog E/A
  3. Welchen Port auch immer Sie Ihren Programmierer angeschlossen haben.
  4. Lassen Sie alle Kontrollkästchen deaktiviert.
Klicken Sie auf OK!

Wählen Sie im Chipset-Dropdown-Menü MicroWire 16 eeprom und den Chip 9356 .

Setzen Sie Ihren Kilometerzähler-Chip in den Programmierer ein und verbinden Sie den Programmierer mit Ihrem Computer.

Klicken Sie im Befehlsmenü auf die Option Lesen.
Sie sollten jetzt einen Speicherauszug Ihres Kilometerzähler-Chips erhalten.
Image
 
#3 · (Edited)
Schritt 4: Chip codieren

Wenn man sich den Speicherauszug von Ihrem Kilometerzähler-Chip ansieht, sind die Zeilen, an denen wir interessiert sind, 000060 und 000070.

Der Kilometerstand ist in zwei hexadezimalen Oktetten codiert. Die beiden Oktette haben eine invertierte Prüfsumme.
Diese vier Oktette werden viermal pro Zeile dupliziert, also insgesamt acht Kopien.

In meinem Fall habe ich 20 1B DF E4 achtmal dupliziert.
Mein tatsächlicher Kilometerstand ist in 20 1B enthalten. DF E4 ist die invertierte Prüfsumme.

Jede Ziffer ist ein Multiplikator.
  • Die erste Ziffer ist ein 65.536-Multiplikator.
  • Die zweite Ziffer ist ein 4.096-Multiplikator.
  • Die dritte Ziffer ist ein 256-Multiplikator.
  • Ich habe die vierte Ziffer noch nicht ganz herausgefunden, sie scheint auf einem zusätzlichen Multiplikator zu basieren.

Bisher kann ich nicht herausfinden, wie man gerade Zahlen auf dem Kilometerzähler erhält. Wenn andere ihre Kilometerstände posten möchten, wollen wir mal sehen, ob wir herausfinden können, wie die Werte genau codiert werden.

Ich habe die Details noch nicht herausgefunden, aber die folgende Tabelle scheint gut genug zu funktionieren:
Code:
0 = 15
1 = 95
2 = 223
3 = 143
4 = 159
5 = 207
6 = 79
7 = 31
8 = 191
9 = 239
A = 111
B = 63
C = 47
D = 127
E = 255
F = 175
In meinem Fall kann 20 1B als (2 x 65536) + (0 x 4096) + (1 x 256) + 63 gelesen werden, was 131391 entspricht!

Nehmen wir an, ich möchte meinen Kilometerstand auf 203.151 ändern. Ich würde 31 93 verwenden.
(3 x 65536) + (1 x 4096) + 91 x 256) + 143 = 203151.

Die Prüfsumme wird durch Invertieren jeder Ziffer ermittelt.
In meinem Fall erhalte ich 31 93 CE 6C


Der Einfachheit halber können die Prüfsummen mit dieser Tabelle ermittelt werden:
Code:
0 - F
1 - E
2 - D
3 - C
4 - B
5 - A
6 - 9
7 - 8
8 - 7
9 - 6
A - 5
B - 4
C - 3
D - 2
E - 1
F - 0
 
#4 · (Edited)
Sobald Sie Ihren neuen Wert zum Codieren haben, aktivieren Sie den Edit Buffer in PonyProg über das Menü "Editieren". Klicken Sie auf jedes Oktett und nehmen Sie Ihre Änderungen vor.
Denken Sie daran, Ihren Wert und die Prüfsumme viermal pro Zeile zu wiederholen!

Wenn Sie fertig sind, geben Sie einen Schreibbefehl aus; wählen Sie "Alles schreiben" aus dem Menü "Befehl".
Um auf der sicheren Seite zu sein, überprüfen Sie, ob das Schreiben korrekt ist, und wählen Sie "Alles verifizieren" aus dem Menü "Befehl".

Wenn bisher alles gut ist, ist es Zeit, die Arbeit zu beenden.

Sie können den Chip jetzt wieder in die Instrumententafel einsetzen und alle acht Punkte verlöten.
Die Wiederherstellung ist das Gegenteil der Demontage.
 
#14 ·
Verwirrt, ob Sie die serielle Verbindung und den Adapter oder nur die serielle Verbindung verwenden? Benötige mehr Input.
Ich verwende technisch gesehen seriell, beziehe aber auch Strom aus den seriellen Leitungen. Sie benötigen den 'Programmierer', um den seriellen EEPROM mit Strom zu versorgen und den PC zu schützen.
Ich bin ein ELET an der LaTech und wir fangen gerade erst damit an... >_< das ist ziemlich faszinierend.. Ich liebe es... Ich muss sagen, das ist eine gute Arbeit.
Danke! Ich habe keine elektrische Ausbildung, ich habe die Dinge einfach so herausgefunden, wie ich sie gelernt habe. Vielleicht könnten Sie mir helfen, ein paar Dumps zu decodieren, um zu sehen, ob wir den Rest der Logik herausfinden können. Ich kann immer noch keine geraden Zahlen bekommen...
OK, also wann können wir Ihnen unsere Cluster schicken und sie zurücksetzen lassen???:)
Wenn Sie den Versand in beide Richtungen übernehmen möchten, muss ich mehr Hex-Dumps sehen, um dieses DIY abzuschließen. Ich kann jedoch keine Arbeiten garantieren, die ich ausführe.
 
#15 ·
Das ist eine fantastische Arbeit, Mann!

Ich sehe auf dem Bild der Rückseite des Kombiinstruments einige Kabel am oberen linken Stecker. Verwenden Sie diese, um das Kombiinstrument mit Strom zu versorgen? Oder haben Sie einen "Speedo Healer"? Ich habe daran gearbeitet, einen Tacho von km/h auf mph umzustellen, und das Beste, was mir eingefallen ist, war, die Impulse vom Sensor im Getriebe abzufangen, wo sie in das Kombiinstrument gelangen (ungefähr in dem Bereich mit den Kabeln auf Ihrem Bild, ich erinnere mich nicht mehr, welche Pins es sind, ist schon eine Weile her) und einen PIC zu verwenden, um die Impulse zu multiplizieren oder zu dividieren.

Wenn irgendwo im Speicher ein Vielfaches gespeichert wäre, das mit den Eingangsimpulsen vom Tacho kombiniert wird, das die proportionale Ausgangsspannung für den Tachozeiger "Stepper" bestimmt, könnte die Änderung einer anderen Konstanten im Speicher eine sehr einfache Umrechnung von km/h in mph ermöglichen.

Irgendwelche Gedanken?
 
#17 · (Edited)
Das ist eine fantastische Arbeit, Mann!

Ich sehe auf dem Bild der Rückseite des Kombiinstruments einige Kabel am oberen linken Stecker. Verwenden Sie diese, um das Kombiinstrument mit Strom zu versorgen? Oder haben Sie einen "Speedo Healer"? Ich habe daran gearbeitet, einen Tacho von km/h auf mph umzustellen, und das Beste, was mir eingefallen ist, war, die Impulse vom Sensor im Getriebe abzufangen, wo sie in das Kombiinstrument gelangen (ungefähr in dem Bereich mit den Kabeln auf Ihrem Bild, ich weiß nicht mehr, welche Pins es sind, ist schon eine Weile her) und einen PIC zu verwenden, um die Impulse zu multiplizieren oder zu dividieren.

Wenn irgendwo im Speicher ein Vielfaches gespeichert wäre, das mit den Eingangsimpulsen vom Tacho kombiniert wird, das die proportionale Ausgangsspannung für den "Stepper" der Tachonadel bestimmt, könnte die Änderung einer anderen Konstanten im Speicher eine sehr einfache Umrechnung von km/h in mph ermöglichen.

Irgendwelche Gedanken?
Ich habe ein JDM-Kombiinstrument gekauft, damit ich eine DCCD-Anzeige für mein Type R-Getriebe habe. Ich habe darüber nachgedacht, mir den Speedohealer zu besorgen, aber am Ende habe ich einen Plug-and-Play-Kabelbaum von IA Performance gefunden. Es funktioniert perfekt!!!

http://www.iaperformance.com/index.php?cPath=44_293_321_326

Der nächste Schritt ist die Korrektur der Kilometerleistung....:)bis dahin werde ich meine Pacenotes aktualisieren lol
 
#16 ·
Die Kabel dienen zur Stromversorgung des Clusters. Ich habe auch eine Buchse für den seriellen Chip hinzugefügt.

Ich habe zwei 99 RS-Cluster, einen von einem USDM- und einen von einem kanadischen Modell... leider habe ich den Inhalt des kanadischen Chips gelöscht, bevor ich ihn richtig lesen konnte (verwenden Sie keinen Microchip PIC-Programmierer, sie sagen, er unterstützt einen 93C56, aber zumindest nicht die Fairchild-Modelle).

Es ist gut möglich, dass sich ein Schalter im EEPROM befindet, der dem MC mitteilt, ob er in KM oder Meilen arbeiten soll, es ist auch möglich, dass sich der MC selbst unterscheidet.

Ich kann keine physischen Unterschiede zwischen meinen US- und CDN-Boards finden, nicht einmal eine umgekehrte Diode, die möglicherweise als Auslöser verwendet werden könnte.

Ich sollte wirklich einen Impulsgenerator für dieses Projekt bauen. Ich habe eine Reihe von PIC 16F690s, aber ich weiß nicht wirklich, was ich damit mache.

Der nächste Schritt ist, die Kilometerleistung auf meinem JDM STi-Cluster zu ändern. Das war der ursprüngliche Zweck dieses Projekts. Sobald ich das EEPROM von dort ausgelesen habe, sollte ich mehr Daten haben, mit denen ich arbeiten kann.
 
#18 ·
Ja, die DCCD-Auslesegruppe hat mich auch zu diesem ganzen Abenteuer veranlasst. Ich hatte diese ia-Performance-Konverter gesehen, aber damals war ich im Super-Geek-Modus und spielte mit PICs und Programmierung und so, also versuchte ich im Grunde, meine eigenen zu machen.

Dieser Thread hat dieses Interesse neu entfacht, als ich sah, dass man den EEPROM neu programmieren kann.

Bitte posten Sie, wenn Sie etwas im EEPROM über mph/km/h finden.
 
#19 ·
Hallo, und ich möchte Ihnen zunächst für Ihre Arbeit an der Neuprogrammierung des WRX- und 2.5RS-Cluster-Kilometerstands danken. Ich versuche, einen STi-Cluster neu zu kalibrieren, aber der Code scheint nicht die gleiche Struktur wie der WRX oder RS zu haben.

Hatten Sie schon Erfolg mit dem STi-Cluster?

Hier ist ein Screenshot von PonyProg der STi EEPROM-Daten:

Image


Wie Sie sehen können, sind die Zeilen 060 und 070 nicht identisch mit den anderen Clusterdaten.

Ich bin für jede Hilfe dankbar, die Sie leisten können!

Cory
 
#21 ·
Interessant Cory,

Aus welchem Jahr stammt dieses Cluster?

Welche Marke und Serie hat der EEPROM?


Ich persönlich habe mir noch nichts anderes angesehen als die GC-Cluster, die ich habe.
Das ist von einem 2005er STi und der EEPROM ist ein 93C56. Ich versuche, eine Kopie der neuesten Version des Tachosoft Mileage Calculator zu finden und habe ihnen eine Nachricht geschickt, in der ich sie frage, ob sie die STis von 2004-2007 unterstützen.
 
#22 ·
Hier ist eine Frage. Wenn die Chips den Kilometerstand beibehalten, wenn Sie sie entlöten, warum entfernen Sie dann nicht einfach den alten von Ihrem ursprünglichen Kilometerzähler und tauschen ihn in Ihren neuen aus? Es sei denn, sie unterscheiden sich in der Passform. Bei all der Arbeit, die hier hineingesteckt wird, können Sie nicht einfach Ihren Originalchip in die Anschlüsse löten oder kurze Drähte an die Chip-Pins und dann die Drähte an die Platine an ihren richtigen Stellen löten, anstatt den Chip neu programmieren zu müssen?
 
#23 ·
Hier ist eine Frage. Wenn die Chips den Kilometerzählerstand beibehalten, wenn Sie sie entlöten, warum entfernen Sie dann nicht einfach den alten von Ihrem ursprünglichen Kilometerzähler und tauschen ihn in Ihren neuen ein? Es sei denn, sie unterscheiden sich in der Passform. Bei all der Arbeit, die hier reingesteckt wird, können Sie nicht einfach Ihren ursprünglichen Chip in die Anschlüsse löten oder kurze Drähte an die Chip-Pins und dann die Drähte an die Platine an ihren richtigen Stellen löten, anstatt den Chip neu programmieren zu müssen?
Zunächst einmal sind die STi EEPROMs (93C56) oberflächenmontierte SOIC-8. Zweitens biete ich eine Kilometerstandskalibrierung als Teil eines Cluster-Swap-Programms an, bei dem wir die Cluster-Beleuchtung umwandeln, auf den aktuellen Kilometerstand des Kunden neu kalibrieren und den umgewandelten/kalibrierten Cluster an den Kunden versenden. Wenn der Kunde den Cluster erhält, tauscht er ihn aus und schickt uns seinen alten Cluster zurück.

Was Sie vorschlagen, funktioniert für den persönlichen Gebrauch, solange die EEPROM-Serie und die gleiche physikalische Technologie vorliegen.
 
#24 ·
Entschuldigung. Dachte, das wäre ein DIY. Ihre Art von Dienstleistungen ist nützlich für andere, die nicht verstehen, wie man diese Dinge macht, oder die etwas Schöneres wollen, das zuverlässiger erledigt wird, ohne das Risiko einzugehen, ihre eigenen Teile zu beschädigen. Ein Lob an Sie, Sir, und es gibt viele Dinge, die man im Armaturenbrett machen kann, also freue ich mich, einen weiteren Service zu sehen, der uns hilft.
 
#25 ·
Ich habe mich an eine Werkstatt gewandt, die Kilometerkalibrierungen durchführt, und sie waren sehr hilfreich. Sie erklärten mir, wie sie die korrekte Kilometerleistung ermitteln, machten aber aufgrund eines "Rolling Code", den sie im Laufe der Jahre zusammengestellt haben, einen Schritt vor einer vollständigen Lösung halt.

Hier ist, was sie mir sagten:

1. Teilen Sie die Zielkilometerleistung durch 256 = Antwort 1
2. Konvertieren Sie Antwort 1 in Hexadezimal
3. Drücken Sie die NICHT-Taste, um den invertierten Prüfsummenwert zu erhalten
4. Geben Sie Antwort 1 als Hexadezimalzahl ein und konvertieren Sie sie in Dezimalzahl X256 - Zielkilometerleistung

Schritt 4 oben ist etwas fragwürdig, aber ich werde sie zur Klärung noch einmal kontaktieren.

Ich habe auch eine Kopie des Tachosoft Mileage Calculator V12 "erhalten" und mit den Einstellungen gespielt, bis er den korrekten Kilometerstand lieferte. Das ist viel einfacher als manuelle Methoden!

Oh, und für das STi-Cluster befindet sich der Kilometerstand in den Zeilen E0 und F0.

Das ist alles für den Moment, aber ich werde weiterarbeiten, sobald es die Zeit erlaubt.