Subaru Impreza GC8 & RS Forum & Community banner

Bricolage : reprogrammer le compteur kilométrique sur votre tableau de bord échangé

224K views 192 replies 61 participants last post by  jegfaller  
#1 · (Edited by Moderator)
Avertissement ! La modification du compteur kilométrique d’un véhicule à des fins frauduleuses est illégale ! Vérifiez les lois locales avant de continuer. Assurez-vous d’avoir contacté les forces de l’ordre locales et le gouvernement pour connaître les étapes supplémentaires, les licences, les formulaires, etc. nécessaires pour mener à bien cette procédure en toute légalité.

Ce guide s’adresse aux personnes qui ont échangé différents groupes d’instruments numériques et qui souhaitent faire correspondre leur compteur kilométrique au kilométrage réel de leur véhicule. Je vais me concentrer sur le groupe V5/6 avec le circuit imprimé solide. Je n’ai pas manipulé de groupe V4 à dos souple, je ne peux donc pas commenter les différences. Les groupes plus récents d’un GD devraient être les mêmes qu’un V5/6, mais je ne peux pas encore le confirmer.

Cette modification est un peu difficile. Vous devez maîtriser le soudage et avoir une compréhension générale de l’électronique, de la programmation et des mathématiques hexadécimales.

Je n’ai pas perfectionné les calculs pour coder la puce du compteur kilométrique. Bien que je puisse obtenir le kilométrage à peu près, je ne peux pas programmer la puce exactement sur certains chiffres.

Outils requis :
  • Tournevis plat
  • Fer à souder et soudure
  • Outils de dessoudage : tresse de cuivre ou aspirateur à soudure
  • Pince
  • Un stylo
  • Ordinateur personnel avec un port série
  • Programmateur série Microwire (schéma inclus)
  • Logiciel de programmation série (tel que PonyProg2000 : PonyProg - Serial device programmer )

Étape 1 : Extraction.

La première étape consiste à retirer la puce mémoire du compteur kilométrique du groupe d’instruments. C’est la partie la plus difficile de tout le projet. Commencez par un groupe d’instruments retiré de votre voiture.

Retirez le couvercle arrière en plastique en soulevant les dix languettes sur le côté et en appuyant sur les trois languettes « centrales » à l’arrière. Un tournevis à fente aide à cela.
Image


Une fois que vous avez retiré le couvercle arrière, vous devez maintenant libérer les moteurs pas à pas du circuit imprimé. Localisez les quatre moteurs. Je les ai encerclés sur la photo. À l’aide du tournevis et de la pince, faites levier sur les deux languettes de chaque moteur. Veillez à ne pas rayer les pistes à proximité.
Image


À l’aide d’un stylo à bille, appuyez doucement sur chaque moteur en l’éloignant de la carte. Cela permet de libérer un peu les moteurs afin qu’ils se détachent facilement lorsque vous retirez le circuit imprimé.

Retirez le circuit imprimé. Vous devrez peut-être repousser les trois languettes en plastique. Si les moteurs pas à pas sont toujours collés à la carte, vous pouvez essayer de faire bouger un peu la carte ou de repousser les moteurs avec un stylo.

Une fois que la carte est séparée du reste du groupe d’instruments, vous pouvez commencer à retirer la puce mémoire du compteur kilométrique. Localisez d’abord la puce. Je l’ai encerclée ici sur la photo.
Image

Image


Dans la plupart des cas, il devrait s’agir d’un 93C56EN. Vous devez maintenant dessouder la puce. Il y a huit connexions au circuit imprimé. J’ai marqué les points sur la photo. J’ai utilisé un aspirateur à soudure, mais utilisez ce avec quoi vous êtes le plus à l’aise.

Une fois que vous avez la puce extraite, vous pouvez commencer avec le programmateur.
 
#2 · (Edited)
Étape 2 : Programmeur.

Voici l’un des programmeurs série Microwire les plus simples que l’on puisse construire.
Image


Les composants suivants sont utilisés :

  • 3x diodes Zener 5 V
  • 3x résistances de 4,7 k ohms
  • 2x condensateurs électrolytiques de 47 uF
  • 2x condensateurs céramiques de 100 mF
  • 3x diodes haute vitesse (1N4148)
  • 1x régulateur 5 volts, suggéré LM2936Z
  • 1x support DIP 8 broches
  • 1x prise série mâle DB9

Mon programmeur terminé ressemble à ceci :
Image


Étape 3 : Décodage.

Installez et lancez PonyProg2000.
Dans le menu SetUp, choisissez Interface Setup.

Vous devez configurer le port d’E/S comme suit :
  1. Série
  2. E/S SI Prog
  3. Quel que soit le port auquel vous avez connecté votre programmeur.
  4. Laissez toutes les cases à cocher décochées.
Cliquez sur OK !

Dans la liste déroulante des chipsets, choisissez MicroWire 16 eeprom et la puce 9356 .

Insérez votre puce de compteur kilométrique dans le programmeur et connectez le programmeur à votre ordinateur.

Dans le menu de commande, cliquez sur l’option Read.
Vous devriez maintenant voir un vidage mémoire de votre puce de compteur kilométrique.
Image
 
#3 · (Edited)
Étape 4 : Encoder la puce

En regardant le vidage mémoire de la puce de votre compteur kilométrique, les lignes qui nous intéressent sont 000060 et 000070.

Le kilométrage est codé en deux octets hexadécimaux. Les deux octets ont une somme de contrôle inversée.
Ces quatre octets sont dupliqués quatre fois par ligne, pour un total de huit copies.

Dans mon cas, j’ai 20 1B DF E4 dupliqué huit fois.
Mon kilométrage réel est contenu dans 20 1B. Le DF E4 est la somme de contrôle inversée.

Chaque chiffre est un multiplicateur.
  • Le premier chiffre est un multiplicateur de 65 536.
  • Le deuxième chiffre est un multiplicateur de 4 096.
  • Le troisième chiffre est un multiplicateur de 256.
  • Je n’ai pas encore bien compris le quatrième chiffre, il semble boucler en fonction d’un multiplicateur supplémentaire.

Jusqu’à présent, je n’arrive pas à comprendre comment obtenir des nombres pairs sur le compteur kilométrique. Si d’autres souhaitent publier leur kilométrage, voyons si nous pouvons comprendre exactement comment encoder les valeurs.

Je n’ai pas encore compris les détails, mais le tableau suivant semble fonctionner assez bien :
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
Dans mon cas, 20 1B peut être lu comme (2 x 65536) + (0 x 4096) + (1 x 256) + 63, ce qui est égal à 131391 !

Disons que je veux changer mon kilométrage en 203 151. J’utiliserais 31 93.
(3 x 65536) + (1 x 4096) + 91 x 256) + 143 = 203151.

La somme de contrôle est trouvée en inversant chaque chiffre.
Dans mon cas, j’obtiens 31 93 CE 6C


Pour faciliter les choses, les sommes de contrôle peuvent être trouvées à l’aide de ce tableau :
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)
Une fois que vous avez votre nouvelle valeur à encoder, activez le tampon d'édition dans PonyProg à partir du menu Édition. Cliquez sur chaque octet et effectuez vos modifications.
N'oubliez pas de répéter votre valeur et votre somme de contrôle quatre fois par ligne !

Une fois terminé, émettez une commande d'écriture ; sélectionnez Écrire tout dans le menu Commande.
Pour être sûr, vérifiez que l'écriture est correcte, sélectionnez Vérifier tout dans le menu Commande.

Si tout va bien jusqu'à présent, il est temps de terminer.

Vous pouvez maintenant réinsérer la puce dans le combiné d'instruments et souder les huit points.
Le remontage est l'inverse du démontage.
 
#14 ·
Je ne comprends pas si vous utilisez la connexion série et l'adaptateur ou juste la connexion série ? J'ai besoin de plus d'informations.
J'utilise techniquement la série, mais j'alimente également les lignes série. Vous avez besoin du 'programmeur' pour alimenter l'eeprom série et protéger le PC.
Je suis un ELET à LaTech et nous commençons tout juste... >_< c'est assez fascinant.. J'adore ça... Je dois dire que c'est du bon travail.
Merci ! Je n'ai aucune formation en électricité, j'ai juste compris les choses au fur et à mesure. Peut-être pourriez-vous m'aider à décoder quelques dumps pour voir si nous pouvons comprendre le reste de la logique. Je n'arrive toujours pas à obtenir des nombres pairs...
OK, alors quand pouvons-nous vous envoyer nos clusters et les faire réinitialiser???:)
Si vous souhaitez couvrir les frais d'expédition aller-retour, j'ai besoin de voir plus de dumps hex pour terminer ce bricolage. Cependant, je ne peux garantir aucun travail que je fais.
 
#15 ·
C'est du super boulot, mec !

Je remarque sur la photo de l'arrière du tableau de bord que vous avez des fils sur le connecteur en haut à gauche. Les utilisez-vous pour alimenter le tableau de bord ? Ou avez-vous un "speedo healer" ? Je travaillais sur la conversion d'un compteur de vitesse de km/h en mph et la meilleure chose que j'ai pu trouver était d'intercepter les impulsions du capteur dans la transmission, là où elles arrivent dans le tableau de bord (environ dans la zone avec les fils sur votre photo, j'ai oublié quelles broches, ça fait un moment) et d'utiliser un PIC pour multiplier ou diviser les impulsions.

S'il y avait un multiple stocké en mémoire quelque part qui, combiné aux impulsions d'entrée du compteur de vitesse, détermine la tension de sortie proportionnelle au "stepper" de l'aiguille du compteur de vitesse, la modification d'une autre constante en mémoire quelque part pourrait permettre une conversion très facile de km/h en mph.

Des idées ?
 
#17 · (Edited)
C'est du super boulot, mec !

Je remarque sur la photo de l'arrière du combiné d'instruments que vous avez des fils sur le connecteur en haut à gauche. Les utilisez-vous pour alimenter le combiné ? Ou avez-vous un "speedo healer" ? Je travaillais sur la conversion d'un compteur de vitesse de km/h en mph et la meilleure chose que j'ai pu trouver était d'intercepter les impulsions du capteur dans la transmission, là où elles entrent dans le combiné (environ la zone avec les fils sur votre photo, je ne me souviens plus de quelles broches il s'agit, ça fait un moment) et d'utiliser un PIC pour multiplier ou diviser les impulsions.

S'il y avait un multiple stocké en mémoire quelque part qui, combiné aux impulsions d'entrée du compteur de vitesse, détermine la tension de sortie proportionnelle au "stepper" de l'aiguille du compteur de vitesse, la modification d'une autre constante en mémoire quelque part pourrait permettre une conversion très facile de km/h en mph.

Des réflexions ?
J'ai acheté un combiné JDM pour pouvoir avoir une lecture DCCD pour ma boîte de vitesses Type R. J'ai pensé à acheter le speedohealer, mais à la fin, j'ai trouvé un faisceau plug and play chez IA performance. Ça marche parfaitement !!!

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

La prochaine étape est de corriger le kilométrage....:)jusque là, je continuerai à mettre à jour mes notes de course lol
 
#16 ·
Les fils servent à alimenter le cluster. J'ai également ajouté une prise pour la puce série.

J'ai deux clusters 99 RS, un d'un modèle USDM et un d'un modèle canadien... malheureusement, j'ai effacé le contenu de la puce canadienne avant de pouvoir le lire correctement (n'utilisez pas un programmateur Microchip PIC, ils disent qu'il prend en charge un 93C56, mais pas les modèles Fairchild au moins).

Il est fort possible qu'il y ait un commutateur stocké dans l'eeprom pour dire au MC de fonctionner en KM ou en Miles, il est également possible que le MC lui-même soit différent.

Je ne trouve aucune différence physique entre mes cartes US et CDN, pas même une diode inversée qui pourrait éventuellement être utilisée comme déclencheur.

Je devrais vraiment construire un générateur d'impulsions pour ce projet. J'ai un tas de PIC 16F690, mais je ne sais pas vraiment ce que j'en fais.

L'étape suivante consiste à modifier le kilométrage sur mon cluster JDM STi. C'était le but initial de ce projet. Une fois que j'aurai vidé l'eeprom de là, je devrais avoir plus de données pour travailler.
 
#18 ·
Ouais, le groupe de lecture DCCD est ce qui m'a lancé dans toute cette aventure aussi. J'avais vu ces convertisseurs de performances ia, mais à l'époque j'étais en mode super-geek à jouer avec des PIC et de la programmation et tout, donc j'essayais en gros de faire les miens.

Ce fil de discussion a ravivé cet intérêt quand j'ai vu que vous pouviez reprogrammer l'EEPROM.

Veuillez poster si vous trouvez quelque chose dans l'EEPROM concernant les mph/km/h.
 
#19 ·
Bonjour et je tiens tout d'abord à vous remercier pour votre travail sur la reprogrammation du kilométrage du cluster WRX et 2.5RS. J'essaie de recalibrer un cluster STi, mais le code ne semble pas avoir la même structure que le WRX ou RS.

Avez-vous déjà eu du succès avec le cluster STi ?

Voici une capture d'écran de PonyProg des données EEPROM STi :

Image


Comme vous pouvez le constater, les lignes 060 et 070 ne sont pas les mêmes que les autres données du cluster.

J'apprécie toute l'aide que vous pouvez apporter !

Cory
 
#21 ·
Intéressant Cory,

De quelle année est ce cluster ?

Quelle est la marque et la série de l'EEPROM ?


Personnellement, je n'ai rien regardé d'autre que les clusters GC que j'ai.
Cela provient d'une STi de 2005 et l'EEPROM est un 93C56. J'essaie de trouver une copie de la dernière version du calculateur de kilométrage Tachosoft et je leur ai envoyé un message pour leur demander s'ils prennent en charge les STi de 2004 à 2007.
 
#22 ·
Voici une question. Si les puces conservent la lecture du compteur kilométrique lorsque vous les dessoudez, pourquoi ne pas simplement retirer l'ancienne de votre compteur kilométrique d'origine et l'échanger dans votre nouveau ? À moins qu'ils ne soient différents en termes d'ajustement. Avec tout le travail qui y est consacré, ne pouvez-vous pas simplement souder votre puce d'origine dans les connecteurs, ou souder de courts fils aux broches de la puce, puis les fils à la carte à leurs emplacements appropriés au lieu de devoir reprogrammer la puce ?
 
#23 ·
Voici une question. Si les puces conservent la lecture du compteur kilométrique lorsque vous les dessoudez, pourquoi ne pas simplement retirer l'ancienne de votre compteur kilométrique d'origine et l'échanger dans votre nouveau ? À moins qu'ils ne soient différents en termes d'ajustement. Avec tout le travail qui y est consacré, ne pouvez-vous pas simplement souder votre puce d'origine dans les connecteurs, ou souder de courts fils aux broches de la puce, puis les fils à la carte à leurs emplacements appropriés au lieu de devoir reprogrammer la puce ?
Tout d'abord, les EEPROM STi (93C56) sont des SOIC-8 à montage en surface. Deuxièmement, je propose un étalonnage du kilométrage dans le cadre d'un programme d'échange de grappes où nous convertissons l'éclairage de la grappe, recalibrons au kilométrage actuel du client et expédions la grappe convertie/calibrée au client. Lorsque le client reçoit la grappe, il l'échange et nous renvoie son ancienne grappe.

Ce que vous suggérez fonctionne pour un usage personnel tant que l'EEPROM est de la même série et de la même technologie physique.
 
#24 ·
Désolé. Je pensais que c'était un bricolage. Vos types de services sont utiles pour ceux qui ne comprennent pas comment faire ce genre de choses, ou qui veulent quelque chose de plus agréable et fait de manière plus fiable sans prendre le risque d'endommager leurs propres pièces. Bravo à vous monsieur, et il y a beaucoup de choses qui peuvent être faites en matière de tableau de bord, donc heureux de voir un autre service pour nous aider.
 
#25 ·
J'ai contacté un atelier qui effectue des calibrages de kilométrage et ils ont été très serviables. Ils m'ont expliqué comment ils arrivent au kilométrage correct, mais se sont arrêtés juste avant une solution complète à cause d'un "code roulant" qu'ils ont compilé au fil des ans.

Voici ce qu'ils m'ont dit :

1. Diviser le kilométrage cible par 256 = réponse 1
2. Convertir la réponse 1 en hexadécimal
3. Appuyer sur le bouton NOT pour obtenir la valeur de contrôle inversée
4. Mettre la réponse 1 en hexadécimal et convertir en décimal X256 - kilométrage cible

L'étape 4 ci-dessus est un peu vague, mais je les contacterai à nouveau pour des éclaircissements.

J'ai également "obtenu" une copie de Tachosoft Mileage Calculator V12 et j'ai joué avec les paramètres jusqu'à ce qu'il donne la valeur de kilométrage correcte. C'est beaucoup plus facile que les méthodes manuelles !

Oh, et pour le cluster STi, le kilométrage se trouve dans les lignes E0 et F0.

C'est tout pour le moment, mais je continuerai à travailler au fur et à mesure que le temps le permettra.