Saturday, November 17, 2012

Using K-type Thermocouple and Arduino via the INA-220

I have added a K-type thermocouple to measure the EGT of the Kubota.  My hope is this can be used to detect overload conditions, and perhaps also be used in some way to auto-optimize a peak watts produced at any given RPM.

The challenge of Thermocouples are two:

  1. Measuring their very small voltage
  2. Converting that voltage into an actual temperate


As mentioned here:   I chose to use a 2nd INA-220 for sampling the K-type thermocouple   This seemed a good match, as the K-type gives voltages around 10-20mV for the temperate range I am concerned with, and the INA-220 has lots of data smoothing and averaging capabilities.

The next challenge is how to convert the voltage into a temperate.  This turns out to be rather difficult, as thermocouples are highly non-linear




And the result formula is rather computation intensive:


http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/temperature-measurement/thermocouple/type-k-calibration-table

However, in looking at a simple Volts / temp data for the K-type, I have come up with this simplified formula:


          Temp in F =   (Volts + 0.78277775) * 43.73611852

(Volts as read by the INA-220's are in units of 10uV)

Over the temp range I am concerned about (300-800f) the error of this ranges from +7f to -4f.   More then sufficient for this project.



Update 4/11/2013:  I have revised the formula above to:

                 Temp in F = 800 + ((Volts - 1752.5)/2.4)

Where i is the mV's being read from the INA-220's.   Should give better accuracy (+/- 1f) centered around 800f















No comments:

Post a Comment