RB26DETTvs2JZ
Posting Freak
Messages : 7 571
Sujets : 146
Inscription : Dec 2002
Réputation :
4
|
11-07-2007, 20:52:20 - [Info ED] VSS Comment fonctionne-t-il ?
Voila, je voulais savoir de quel type de capteur s'agissait le " Vehicul Speed Sensor" Sur nos bonne vielles ED...
Donc pour résumer, on a derriere le tachymètre le cable (normal) qui fait tourner un tambour (qu'on ne voit malheureusement pas sur la photo) qui lui même actionne l'aiguille.
Le tambour est entouré du plastique ici présent en photo, qui prend l'info, et la réstitue à l'ECU...
Shot with Canon PowerShot A700 at 2007-07-11
Je pense donc que c'est un capteur inductif, cependant, a-t-il besoin, de ce même tambour, ou peut il etre accouplé à un autre qui n'en est pas équipé ?
Je pose la question parceque je ne peux pas tester à l'heure actuelle, si vous avez des infos avant, merci de m'en faire part, ça m'intéresse
Crédit photo: Autoworks magazine.
|
|
Retourner en haut |
|
RB26DETTvs2JZ
Posting Freak
Messages : 7 571
Sujets : 146
Inscription : Dec 2002
Réputation :
4
|
12-07-2007, 15:18:58 -
Tiens dis voir, tu ne saurais pas quelle tete a la sinusoidale du signal de 0 à 230km/h ?
J'ai vu qu'il y avait des kit (universel) qui se montaient autour du cable de tachymètre ( Pour le montage, voir plus bas, seulement, il faudrait que les deux signaux, aient sensiblement la même fréquence, période etc etc
Tu penses pouvoir relever ça ?
Fil (au tdb ou ecu): Jaune/rouge (je ne te l'apprend pas )
et masse...
J'avais vu qu'il faisaient ça chez GT2i et Oreca, mais pour le montage de Tachymètres "Aftermarket" c'est un signal "universel" ???
PS: ça engage le fait que tu dois prendre 230
L'avantage de ce systeme, c'est qu'il concerve le cable d'origine, et donc, l'info au TdB... Ce pendant, comme dit plus haut, faut voir la compatibilité éléctrique avec l'ECU
EDIT: plus d'info sur les capteur ==> ici (premiere page google pour "Tachymètre Inductif" :top:
Crédit photo: Autoworks magazine.
|
|
Retourner en haut |
|
RB26DETTvs2JZ
Posting Freak
Messages : 7 571
Sujets : 146
Inscription : Dec 2002
Réputation :
4
|
12-07-2007, 18:39:15 -
bah je sais que le voltage doit varier entre O et 5v, c'est marqué dans le Workshop ^^
Mais apres tu dis que la fréquence varie de fonction linéaire
C'est ce que je voulais savoir, maintenant, reste à savoir comment se comportent les autre capteur dit "universel" vu qu'il il y en des "à effet Hall" donc alimenté .
Donc, faut juste voir si les autre proposent une tension alternative de type "sinusoid" et de 5 volt.
Ca peut le faire (merci de ton éclairage )
Crédit photo: Autoworks magazine.
|
|
Retourner en haut |
|
icedfluid
Posting Freak
59 Nord France Messages : 6 310
Sujets : 77
Inscription : May 2003
Réputation :
15
|
13-07-2007, 18:27:10 -
Page 571 du Workshop :
SPEEDOMETER
indicates 60 mph at 1026rpm of the speedometer cable
Et çà c'est la formule que j'avais trouvé pour faire la conversion "données brute" loggée par mon PLX vers la vitesse en kilomètre par heure :
Code : speed_in_kmh = data_plx * 0.023523391747;
// speed = (hz / 4 {speed pulser}) x (60 {mph} / 1026 {cable rpm}) x 1.609 {to km/h}
En gros la donnée brute, tu la multiplie par '0.023523391747' en t'as les km/h.
Je sais, je suis trop gentil. :]
|
|
Retourner en haut |
|
icedfluid
Posting Freak
59 Nord France Messages : 6 310
Sujets : 77
Inscription : May 2003
Réputation :
15
|
13-07-2007, 18:36:27 -
Comme je suis hyper gentil ce soir, je vous file toutes les conversions "données brutes" vers données réelles, importantes, du D16A9.
Ce code (language C) sert à ceux qui veulent exploiter directement les données brutes loggées (PLX par exemple) pour en faire des statistiques ou des moyennes. Désolé, j'ai pas ecrit la fonction de moyenne encore. C'est hyper utile à ceux qui voudrait monter un MegaSquirt aussi ...
La fonction importante est elle fait les conversions.
La fonction lit le fichier log du PLX et monte en mémoire (dans les vecteurs) l'ensemble des données.
Copyright Icedfluid !!!
Code : #include <windows.h>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
vector<double> vS1,vS2;
vector<double> vA1,vA2,vA3,vA4;
vector<double> vRPM,vKMH;
vector<double> vTPS,vMAP,vAFR,vX;
int populate( char * qfileName )
{
FILE* f;
long lines;
char buffer[256];
int c, x, r;
vS1.clear();
vS2.clear();
vA1.clear();
vA2.clear();
vA3.clear();
vA4.clear();
r = 0;
if( (f=fopen(qfileName, "rb")) != NULL )
{
memset(buffer, 0, sizeof(buffer));
if( fgets(buffer, 255, f) != NULL )
{
lines = atol(buffer);
for(int l=0; l<lines; l++)
{
for(int i=0; i<6; i++)
{
x = 0;
for(;;)
{
if( (c = fgetc(f)) != 0x09 )
{
buffer[x] = (char) c;
}
else
{
buffer[x] = 0;
break;
}
x++;
}
switch(i)
{
case 0 : vS1.push_back(atof(buffer)); break;
case 1 : vS2.push_back(atof(buffer)); break;
case 2 : vA1.push_back(atof(buffer)); break;
case 3 : vA2.push_back(atof(buffer)); break;
case 4 : vA3.push_back(atof(buffer)); break;
case 5 : vA4.push_back(atof(buffer)); break;
}
}
}
r = 1;
}
fclose(f);
}
return r;
}
void interpolate()
{
double v0,v1,t;
vRPM.clear();
vKMH.clear();
vTPS.clear();
vMAP.clear();
vAFR.clear();
if( vS1.size() >= 2 )
{
v0 = vS2[0] * (double)0.023523391747; // speed = (hz / 4 {speed pulser}) x (60 {mph} / 1026 {cable rpm}) x 1.609 {to km/h}
for(int i=0; i<vS1.size(); i++)
{
v1 = vS2[i] * (double)0.023523391747;
if( abs(v0 - v1) < 10 )
{
// KMH
vKMH.push_back(v1);
// RPM
t = vS1[i] * (double)30; // 30 = (/2) * 60
vRPM.push_back(t);
// TPS (%)
t = (vA1[i] - (double)0.3) * (double)25;
vTPS.push_back(t);
// MAP
t = (vA2[i] * (double)5.496) - (double)15.66;
vMAP.push_back(t);
// AFR
t = (vA3[i] * (double)2) + (double)10;
vAFR.push_back(t);
}
v0 = v1;
}
}
}
int main()
{
if( populate("01.plg") )
{
interpolate();
/*
for(int i=0; i<12; i++)
{
printf("\n RPM:%ld / KMH:%ld / TPS:%ld / MAP:%.2f / AFR:%.2f",(int)vRPM[i], (int)vKMH[i], (int)vTPS[i], vMAP[i], vAFR[i]);
}
*/
}
return 0;
}
|
|
Retourner en haut |
|
|