Página 1 de 1

Volkswagen Polo 1.4 tipo motor AEX (año 1999) Señal TPS invertida

Publicado: 15 Abr 2018 09:07
por chispaperdida
Hola
Estoy haciendo pruebas con la placa Speeduino enchufada en algunos sensores del coche peró veo algo raro. La señal del potenciómetro de la mariposa me sale invetida. O sea cuando piso el pedal del acelerador la señal se pone a 0 y cuando el pedal está en descanso la señal se pone al máximo.

Que puedo hacer?

Re: Volkswagen Polo 1.4 tipo motor AEX (año 1999)

Publicado: 15 Abr 2018 18:38
por ecofloss
Hola chispaperdida

Por lo que comentas parece que tienes invertido el positivo y negativo que llega al potenciómetro. Gira esos 2 cables y dime si se soluciona

Re: Volkswagen Polo 1.4 tipo motor AEX (año 1999)

Publicado: 17 Abr 2018 21:46
por chispaperdida
Hola ecofloss

No he podido constestar hasta ahora. No puedo hacer lo que comentas porque el cuerpo de la mariposa comparte la masa con otras cosas aparte del TPS. Y no puedo poner positivo a la masa ;)

Hay otra solución?

Re: Volkswagen Polo 1.4 tipo motor AEX (año 1999)

Publicado: 19 Abr 2018 20:14
por ecofloss
Hola

Hay otra solución. Como llevas la programación?

Tienes que modificar el fichero sensors.ino del firmware Speeduino y volver a subirlo a la placa.

Añade esto en la función readTPS()

Código: Seleccionar todo

tempTPS = 255 - tempTPS;
Para que quede así y en el mismo orden:

Código: Seleccionar todo

void readTPS()
{
  currentStatus.TPSlast = currentStatus.TPS;
  currentStatus.TPSlast_time = currentStatus.TPS_time;
  #if defined(ANALOG_ISR)
    byte tempTPS = fastMap1023toX(AnChannel[pinTPS-A0], 255); //Get the current raw TPS ADC value and map it into a byte
  #else
    analogRead(pinTPS);
    byte tempTPS = fastMap1023toX(analogRead(pinTPS), 255); //Get the current raw TPS ADC value and map it into a byte
  #endif
  tempTPS = 255 - tempTPS; //TPS reversed.
  currentStatus.tpsADC = ADC_FILTER(tempTPS, ADCFILTER_TPS, currentStatus.tpsADC);
  //Check that the ADC values fall within the min and max ranges (Should always be the case, but noise can cause these to fluctuate outside the defined range).
  byte tempADC = currentStatus.tpsADC; //The tempADC value is used in order to allow TunerStudio to recover and redo the TPS calibration if this somehow gets corrupted
  if (currentStatus.tpsADC < configPage1.tpsMin) { tempADC = configPage1.tpsMin; }
  else if(currentStatus.tpsADC > configPage1.tpsMax) { tempADC = configPage1.tpsMax; }
  currentStatus.TPS = map(tempADC, configPage1.tpsMin, configPage1.tpsMax, 0, 100); //Take the raw TPS ADC value and convert it into a TPS% based on the calibrated values
  currentStatus.TPS_time = currentLoopTime;
}
Dime si con esta modificación se soluciona

Re: Volkswagen Polo 1.4 tipo motor AEX (año 1999) Señal TPS invertida

Publicado: 22 Abr 2018 18:11
por chispaperdida
Muchas gracias ecofloss

Con la modificación del código funciona a la perfección. Tuve un poco de problemas con la programación :oops: peró ya funciona.