MR2 SpyderChat banner
141 - 160 of 181 Posts
Discussion starter · #141 ·
J'ai donc mesuré la tension d'entrée de la jauge de température sur le calculateur MR2 la nuit dernière à 5,10,20,30,50,70,90,100,110,120 degrés C. Ensuite, j'ai ajusté une courbe ax2+bx+c pour qu'elle corresponde au mieux possible.

Ensuite, j'ai fait un peu d'algèbre pour créer une formule résolue pour T à partir de V, ce qui convertira la tension mesurée en température. Mais les maths/l'algèbre, etc., ce n'est pas mon truc - je n'ai pas d'études supérieures, etc. Si quelqu'un signale de meilleures façons, etc., je serais reconnaissant pour la leçon d'école.
 
En général, la résistance du capteur par rapport à la température suit une formule standard pour une thermistance. La tension est dérivée de cela et dépend des caractéristiques du circuit de mesure. Si vous vouliez une précision maximale, vous prendriez la tension, dériveriez la résistance et de là dériveriez la température. Il existe une bonne description d'un circuit de mesure de température dans ce lien :


Vous pouvez également vous référer à la caractérisation du circuit de mesure de température du manuel de service d'usine (ci-joint).

Si je comprends bien ce que vous faites, vous voulez prendre la tension du circuit du capteur ECT, l'introduire dans l'Arduino, afin qu'il puisse calculer une température et envoyer des données via BEAN au cluster pour faire fonctionner la jauge de température dans le cluster. Est-ce correct ?

Nous ne savons pas ce que l'ECU envoie au cluster à une température donnée. Et nous ne connaissons pas les caractéristiques de réponse de la jauge dans le cluster, c'est-à-dire ce qu'elle affiche pour une entrée donnée.

Je dirais que la courbe que vous avez, température par rapport à la tension, est suffisamment précise pour faire fonctionner la jauge de température dans le cluster, qui n'est pas un appareil de précision. Cependant, si vous voulez que la jauge fonctionne comme prévu, vous devez déterminer ce que le cluster prend comme proxy d'entrée pour la température et comment cette jauge y réagit.
 

Attachments

Discussion starter · #143 ·
Oui, vous avez tapé dans le mille. C'est juste pour la jauge. Tiré directement de la broche d'entrée du capteur de température sur l'ECU. J'ai lu tous les PDF d'usine, etc. Il existe de beaux graphiques pour deux autres thermistances (air d'admission et climatisation), mais pas pour le liquide de refroidissement.

La bonne façon de le faire est avec la formule de Steinhart-Hart qui décrit la courbe de la thermistance, mais c'est beaucoup de maths et d'étalonnage pour juste une jauge bancale.

J'ai étudié la jauge :) Elle ment, et elle ment beaucoup!

Elle part du bas et pointe vers le repère inférieur à 50'c
Ensuite, elle remonte jusqu'au point médian de manière linéaire jusqu'à 85'c
Ensuite, elle reste à mi-chemin jusqu'à 109'c
Ensuite, à 110'c, elle monte jusqu'au point maximum.

Ce n'est pas une "jauge de température", c'est un indicateur froid / normal / en ébullition avec une aiguille.

Le BEAN est fondamentalement une valeur hexadécimale 8 bits pour la température. Il va de 57 à 255 (39 - FF) donc il couvre 198 pas, 1 degré par pas. -39' à 159'

L'arduino a une entrée analogique de 5 V qu'il convertit en 0-1023, donc 0,00488 pas

Donc, si nous oublions les volts et oublions les degrés Celsius... ce dont j'ai vraiment besoin, ce sont les pas ADC arduino vers la valeur hexadécimale BEAN, une formule super simple et brute, ou peut-être un tableau.

Après tout, mon objectif à court terme est maintenant un ECU Corolla, exécutant le MR2, avec une "jauge de température" fonctionnelle, un voyant de charge et un voyant de pression d'huile.
 
Discussion starter · #144 ·
Alors, après quelques calculs sur tableur, j'ai trouvé une conversion très simple des volts en valeur de température BEAN.
Ce n'est pas parfait, loin de là. Elle sous-estime jusqu'à environ 80°C, puis elle surestime un peu.
Mais l'indicateur Toyota faussé ne montrera aucune différence.
On dirait que la voiture met un peu plus de temps à chauffer.
Mais elle montera en flèche si vous surchauffez. comme d'habitude.

BEAN = 72000 / (ADC + 350)
 
Ce n'est pas une "jauge de température", c'est un indicateur froid / normal / en ébullition avec une aiguille.
Oui, exactement. C'est vrai pour chaque jauge de température de groupe sur chaque voiture. C'est ce que je voulais dire par la réponse de la jauge à l'entrée de l'ECU.
 
Il part du bas et pointe le repère inférieur à 50°C
Ensuite, il monte jusqu'à la moitié de manière linéaire jusqu'à 85°C
Ensuite, il reste à mi-chemin jusqu'à 109°C
Ensuite, à 110°C, il monte jusqu'au point maximum.

Ce n'est pas une "jauge de température", c'est un indicateur froid / normal / ébullition avec une aiguille.
Oui ! La jauge a une zone morte couvrant les températures de fonctionnement normales. Toutes les jauges de température de Toyota font cela. Avec un contrôleur numérique, c'est simple à faire. Lorsque les jauges étaient analogiques, j'imagine qu'il y avait une ingénierie mécanique sophistiquée impliquée. Je suppose que cela est fait de cette façon parce qu'une jauge de température fluctuante avait tendance à générer de l'anxiété chez le consommateur.
 
Voici un problème potentiel : si vous divisez le signal du capteur ECT en l'acheminant vers l'Arduino, vous modifierez la tension détectée au niveau de l'ECU et la mesure de la température sera fausse. Habituellement, dans les situations où les gens ajoutent un calculateur autonome, cela est géré en ajoutant un deuxième capteur de température. Je regarderais comment le calculateur de la Corolla communique sa lecture de température au tableau de bord de la Corolla. S'il s'agit d'un circuit analogique, il est peut-être possible d'obtenir un signal de température de là pour l'envoyer à l'Arduino, en laissant le circuit du capteur de température du liquide de refroidissement du moteur intact.
 
Discussion starter · #148 ·
Si vous essayez de faire cela avec un calculateur de rechange connecté au même capteur de température que le calculateur d'usine, les résistances pull-up / pull-down à l'intérieur du calculateur se battront entre elles.
 
...J'ai démonté l'ECU de la Corolla et examiné son circuit d'entrée, ils utilisent une résistance de rappel de 2,7k ohms à 5v....Si vous essayez de faire cela avec un ECU de rechange connecté au même capteur de température que l'ECU d'usine, les résistances de rappel/rappel à l'intérieur de l'ECU se battront entre elles.
La résistance de 2,7k définit l'échelle du capteur. Elle crée un diviseur de tension avec la thermistance. Donc, en effet, vous ne voulez qu'une seule de ces résistances dans le circuit.
 
Je m'attendais à ce qu'il dépasse le milieu avant d'atteindre 220. Il y a peut-être un décalage dans le fonctionnement de l'aiguille. Quoi qu'il en soit, c'est plus ou moins normal si vous avez déjà comparé un affichage de groupe avec une véritable jauge de température ou avec les relevés de température OBD2. Beau travail avec la vidéo BEAN et jauge côte à côte, c'est assez cool de voir ça.
 
Discussion starter · #152 ·
J'ai acheté un cluster de rechange avec des connecteurs/pigtails, puis j'ai fabriqué un petit banc d'essai avec cette carte BEAN Arduino que j'ai fabriquée la semaine dernière, collée au dos. Le tout avec une prise CC pratique pour une prise 12 V dans l'alimentation murale. Ainsi, je peux rester ici dans la maison à expérimenter le fonctionnement du cluster. Par exemple, si vous ne mettez pas à jour la jauge de température, après environ 7 secondes, l'aiguille tombe à froid. Et vous devez mettre à jour l'état du voyant d'avertissement toutes les 20 secondes environ. Mon C++ devient semi-fonctionnel avec la pratique. Je ne parviens pas à obtenir de paquets de climatisation de ce cluster, peut-être qu'il a besoin du calculateur moteur pour dire que le moteur tourne avant de diffuser les paquets "demande de climatisation activée".
 
Discussion starter · #155 ·
J'ai ajouté le capteur de cliquetis à 2 fils.
Le MR2 britannique n'a pas de capteur de pression de vapeur sur le réservoir de carburant, je viens de mettre quelques résistances pour le tromper afin qu'il mesure la pression atmosphérique.
Et on m'a prêté un calculateur de boîte de vitesses manuelle.
Donc maintenant, même après une conduite "sportive" et détendue de 20 minutes, j'obtiens ceci :-

Image


Pas de voyant moteur :love::)
Et quand je le scanne, j'obtiens.....
Image


Donc à 100 millions de pour cent, la MR2 peut fonctionner sur ce calculateur Corolla reprogrammable.

Et puisque je n'obtiens plus les codes d'erreur du capteur de cliquetis, j'obtiens maintenant toute la puissance de la MR2 car le calage de l'allumage est revenu à la vie (se rétracte complètement sur un code d'erreur de cliquetis).

Bien que la fête soit forte et appropriée, c'est une fête de fin anticipée, car le limiteur de régime est très proche de 6500 tr/min, donc la première chose que nous devons corriger, ce sont ces valeurs de limiteur de régime dans ce flash, le flash manuel, le point zéro du réglage MR2 1zz-fe sur le matériel d'origine....
 

Attachments

J'ai envoyé le calculateur (ECM) manuel 1zz de la Matrix 03-04 et un calculateur (ECM) manuel 2zz de la Matrix xrs 04 en bonus pour que vous les ajoutiez à votre immense collection.
 
Je ne suis pas familier avec cette génération particulière de code. Cependant, des générations ultérieures, le limiteur de régime prend la forme

N1 N1

Où N1 est un entier répété. Vu comme décimal en 16 bits, un limiteur de régime de 6500 (par exemple, 2gr-fe camry) ressemblerait à

08320 08320

Il existe donc un facteur d'échelle de 0,78125, c'est-à-dire 100/128, qui fait que cela donne

6500 6500

Je n'ai pas trouvé cette séquence dans le code Corolla MAIS lors d'une inspection rapide, j'ai trouvé

08224 08224 (décimal 16 bits)
6425 6425 (mis à l'échelle par 0,78125)

à plusieurs endroits différents dans le code. Ceci est cohérent avec les versions 2GR où le limiteur de régime apparaît à plusieurs reprises à plusieurs endroits, mais un seul d'entre eux est le limiteur de régime opérationnel réel.

Comment déterminer lequel est que vous changez chacun à tour de rôle et le flashez et le testez jusqu'à ce que la limite de régime change lors du test.

Donc, là où nous avons cette séquence, c'est
0x00498
0x01C24 (peut-être pas celui-ci, il semble qu'il pourrait être au milieu d'une autre carte)
0x042B0 (peut-être pas celui-ci, il semble qu'il pourrait être au milieu d'une autre carte)
0x042C0 (peut-être pas celui-ci, il semble qu'il pourrait être au milieu d'une autre carte)
0x04308
0x0545E
0x3FFF8

J'espère que cela vous aidera. Si tout le reste échoue, achetez la définition de bitedit - si elle est toujours disponible.
 
Discussion starter · #159 ·
Oui, comme toujours, quand vous commencez à chercher, il s'avère qu'il y a toujours les mêmes noms d'utilisateur qui ont des informations factuelles correctes !

En 25 ans d'existence de ces ECU Toyota, il semble étrange que personne n'ait jamais craqué cette plateforme il y a une décennie.

Surtout que Blitz/Mines y est parvenu avec les cartes filles, ce qui, je soupçonne, a bénéficié de l'aide en coulisses des développeurs TRD ou Denso.

0x0545E semble probable

Cela semble une évidence à ce stade de dépenser les 250 $ pour le dongle Bitedit + Module 1 essence Toyota Denso.
 
141 - 160 of 181 Posts