See: VoltageDivider (voltage across resistor to GND when another resistor present to +5V)
Here are a list of temp calibration files for different cars
(for v3.x older than 2006 see BuildProcedures/SectionThree hint: "aref=256")
Most installs work best with (tempsensor_upload.bat 2252 2252 256)
that is
- 2252 Ohm NTC type sensor for MAT airtempsensor and
- 2252 Ohm NTC type sensor for CLT coolant temp sensor
Let's say
- your NTC (standard coolant, airtemp) sensor measures 4780 Ohm at +10C
- the 2252 Ohm sensor is 4481.5 Ohm at +10C (see diagram or table below)
- from this, calculate your sensor nominal resistance (at +25C) as 4780 / 4481.5 * 2252 = 2402 that is closest to pre-generated calibration curve of 2400 Ohm
Plotted with gnuplot using logarithmic Y-scale:
You can also interpolate using data below :\n
Celsius Ohm Volt(with 2k7 pullup) -50 150394 4.91 -40 75780 4.83 -30 39860 4.68 -20 21860 4.45 -10 12460 4.11 0 7352.8 3.66 10 4481.5 3.12 20 2812.8 2.55 25 2252 2.27 30 1814.4 2.01 40 1199.6 1.54 50 811.4 1.16 60 560.3 0.86 70 394.55 0.64 80 282.63 0.47 90 206.13 0.35 100 152.75 0.27 110 114.92 0.20 120 87.671 0.16 130 67.770 0.12 140 52.983 0.10 150 41.881 0.08
Actual voltage depends on pullup resistor
VEMS v3 uses R10=2k7 (2700 Ohm, not 2490 Ohm) pullup to +5V which gives voltage:
U= 5V / (2700 / NTC_Ohm_at_given_temperature + 1)
- While other common value is 2k49 pullup to +5V, replace 2700 with 2490 in the formula.
- the 2k7 used by VEMS gives more precise measurements in cold (where injector pulsewidth depends on temperature more than @warm). Otherwise not much significance, just use the actual value in the formula.
- Measuring input voltage with sensor disconnected,
- and with some constant known resistor (eg. 1k or 2k7) in place of sensor helps tune/verify these parameters.
- Minor finetuning is sometimes used to give correct reading at 0..25C but if it deviates w/ more than 5 Celsius, better take note of more measurements, and investigate (because it might be completely off at 100C or -40C)
- verify reading at least at room temp AND high temp
If you have doubts, provide measurement(s) so we can help you select the best temperature curve. Actually with the common ntc type sensor, just one temperature point is sufficient (easiest with cold engine when sensor temperature is same as environment)
- sensor temperature
- sensor Ohm (when disconnected from ECM)
- sensor voltage (when connected to ECM, ECM powered up)
- LCD reading at that temp
- TerminalProgram Manmlp00mll command
- mostly useful if the firmware's vems.hex is known (or at least first 50 lines of vems.hex)
Coolant Sensors
Car Make | Car model | Engine | sensor partno# | Pullup R | calibration file link |
Bosch (Volvo, BMW, VAG, etc...) | ... | ... | unknown | standard 2k7 | See Bosch below |
[www.vems.hu/files/sensors/NTC/air_clt_hiresistance_sensor.zip hi resistance sensors | if you really stick to 2k7 pullup; better change pullup instead |
Air Temp Sensors
Car Make | Car model | Engine | sensor partno# | Pullup R | calibration file link |
Bosch (Volvo, BMW, VAG, etc...) | ... | ... | unknown | standard 2k7 | See Bosch below |
Audi | many 5cyl | AAN/ABY/ADU/3B/etc... | PTC type, appr 500 Ohm at roomtemp | 429..430 Ohm | [PTC_airdenfactor_430_Ohm_pullup.txt]. For dead-on calibration, you can choose from the PTC series, Marcell found PTC_aref260_425 is best for his Audi PTC. Note that the second number is higher for higher PTC value (or lower pullup) |
BOSCH sensors
For the classic 2057 Ohm (@T=+25C) NTC type sensor (often closer to 2063 Ohm in practice though difference is negligable), 2063/263 (or 256 or 268) is best match.
- The majority of cars I help tune need the 2200 or 2063 Ohm files (Volvo + BMW). /Mattias
- you can finetune as on EasyTherm
- if you don't know your sensor's resistance at T=+25C (which is often 2057..2063 or 2252 Ohm, but sometimes near 2900 Ohm), you can finetune the 2252 (change to lower or higher) at high temp (near +100C).
- Instead of the risks and hassle of boiling water for the sensor, to simulate +100C (for verification of the setup), you can use a constant resistor with value R=152.75 / 2252 * R25 = 0.068 * R25 (where R25 is the sensor resistance at +25C).
Most classical BOSCH NTC curve used from early 80s up to nowdays. No matter it is Volvo, Audi, Mercedes, Volksvagen, BMW etc - all of them had or have similar sensors.
Source: http://www.bosch-motorsport.de/pdf/sensors/temperature/NTC_M12.pdf
Both ...2063_256.hex and ...2252_256.hex give some degries mismatch at environment or engine operating temperatures. At tuning it is not heavy importance, but if LCD is used this is very welcome to see believable values on it.
Same isue had Miska Peippo described here: http://www.vems.hu/wiki/index.php?page=MembersPage%2FMiskaPeippo%2FAudiSSix
Note: EasyTherm is obsolete
- not needed for years
- a PTC or NTC table can be chosen at firmware upload time (flash/table)
- optionally: can be tuned with table based configuration (overrides the flash table)