Reading a fuel level sensor with the AEM Infinity EMS and CD-7
Ever since I got my ECU flashed back to the stock map my OEM fuel level sensor started to malfunction. It shows 1/3 full when the tank is empty.There is a forum thread on m.net about it where several people with Ecutek flashed tunes are experiencing the same. Strangely enough the ODBII PID is showing correct while the meter is wrong. Extremely annoying.
My first attempt for a fix was to verify the fuel sensor in the tank. But that did nothing. Next plan was to buy a a fuel level converter from http://www.ironcanyonmotorsports.com/icm-fuel-sender/ which can be programmed to map a ohm reading from the sensor to 0-5v range to be displayed in my CD-7 dash.
But when I understood how that worked I figured out I could just pretend it was one of the temp inputs in the AEM infinity and then broadcast the value via CAN to the CD-7. So I did.
First I used ages measuring the ohm readings from the sensor via the wires going to the dash:
For some reason I got different ohm readings when measuring with the meter than reading the values from the AEM calibration setup. Maybe there is some kind of pullup/down/sideways-resistor action going on. There is also a chance that the tank was not fully emptied the first time. The last 5 liters on my second time was really slow.
Since the readings from the AEM is correct and verified after a almost 2000km road tripto Nürburgring and back with plenty of fillups I only post the AEM calibration numbers:
To get this working I used the “Charge Out Temp” input on my AEM Infinity to read the Ohm from the sensor and convert it to Litres.
This is visible in the CD7 as “TurboOutletTemp”
To prevent the gauge from jumping around I used the “Rolling Average” Input filter on the gauge/numbers to even out fuel slosh. It only supports average over 5 sec so not optimal. Should have been 30 sec+. But not a big problem.
Lots of work for something we take for granted.