EasyTherm (2006-09-12 09:37:41)

Easytherm is a tool that helps making curves from a few calibration points for an NTC temperature sensor.

To make the process easier:

How to update calibration - using hexpatch.exe

Earlier a text editor was used, but users sometimes messed up a line or converted line-endings (win32 weirdness) unintentionally.

hexpatch.exe was developed to help updating the vems.hex with the calibration tables

(hexpatch binary is also available on linux, or in sourcecode, but linux users rarely have problem with copypasting 32 lines)

RUN

command will change the airdenfactor _and_ matfactor for 3000,287 parameters. The output is named accordingly (instead of the generic vems.hex) for distinguisment in your storage. You can copy to vems.hex before uploading with upload_firmware.bat (or change the .bat to use the long-descriptively-named file).

changes coolant temp calibration in the file previosly patched (with the airX 3000_287 airdenfactor and matfactor tables). So coolant (thermfactor) can be changed independently (or left alone, if you like default coolant temp readings).

Example - verified on the bench, works as expected

From the unzipped ntc_airX_cltfactor.zip (see above), using

How to pick tables

Currently 56 example-tables are provided (28 airX + 28 clt), picking the best will closely match to almost any curve normally found in real life.\n

 egrep 'adc=26|adc=50|adc=100|adc=150|adc=200|adc=240|Using' ntc_propertherm.out

command or inspection of ntc_propertherm.out file will help you pick the best curve, eg. if you had measurements (eg. reading MAT=-16C when in fact airtemp sensor was at 0C) with the tables in the released firmware.

diff=14 means the new table will display +14F (+8C) higher (at certain hightemp/lowtemp point) than the traditional "factory-released" firmware.

You'll need to hexpatch (or cutnpaste) your favorite tables to vems.hex (every time you upgrade)

  • that can be applied to vems.hex with hexpatch command,
  • or any text-editor (256 bytes of calibration lives in a 16line snippet, easy to change vems.hex manually)

PTC - very special type sensor

The coolant and manifold air temperature sensors are (in 99.9% of cases) NTC type. The ExhaustGasTemp sensor can never be an NTC type. [ATP Inc] has some useful notes about [NTC] and [PTC] sensors.


Easytherm

ONLY for advanced users, because firmware recompile needed !!!

files are located in the files section of the Megasquirt group at http://groups.yahoo.com/ or directly from [msefi.com]

Steps:

Very important to review the tables before using

Easy-therm will easily output useless/dangerous tables without warning - the points MUST be suitable for use in the Steinhart-Hart equation. Propertherm can use any number of points to generate appropriate values.\n
-40,395
-20,425
0,457
20,490
30,503
40,520
60,555
80,585
100,620

The following 3 picked points:\nÿ3ÿ

generated non-monotonous tables. The fitted parabola was totally trash for what it was ment. Either use propertherm or make the tables manually.


PROPERTHERM Developer TODO - to make some of the above few simple steps automagic:

Propertherm has examples of feeding data in the sourcecode. It might not be trivial though, so publish your data that you want to feed in. Marcell will take notes while feeding in for future's sake.

You might just use the pre-generated curves, suited for 99% of installs.


Propertherm - in more detail

a utility to make calibration tables. Main functions:

We that fitting a 2nd order polynom (parabola) to 3 measured points over the whole temp-range (IIRC this is what easytherm does, I read it a long time ago, but I couldn't download to check) gives very poor fitting to the NTC curve.

The proper way is:

developers: /svn/firmware/utilities/propertherm/