Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
README.md
grove_hightemperature_sensor.py
high_temperature_example.py
thermocouple_table.json

README.md

Calibrating the Grove High Temperature sensor

Attention:

This README.md is only for calibrating the probe and not the onboard sensor. So, this sensor comes with 2 thermometers:

  1. One which is for measuring room temperatures - that's found on the sensor's board.
  2. Another one which is for measuring temperatures between -50 °C and +650 °C - it's the long metal wire. This is the one we're calibrating.

Step 1

Make the GrovePi continously read an analog port and print the values in the console. The analog port should be that of the Grove High Temperature Sensor's.

Step 2

Put the sensor's long wire into a cup of boiling/hot water and take note of the value that's printed in the Raspberry Pi's console. At the same time, use a professional thermometer and measure the temperature and write it down.

Do the same thing with cold water.

Step 3

We will now have 4 values written down in a note:

  • 2 values that were printed in the Raspberry Pi's console - these values correspond with the following 2 values.
  • 2 values where the measurement unit is in Celsius Degrees - measured with the professional thermometer.

Now, take the values that were measured with the professional thermometer and get them translated with the table provided in thermocouple_table.json file. I.e: In thermocouple_table.json file, 90 °C corresponds to 3.682.

Now, lets assign the following values to each of these variables:

  • i1 = the translated value (from the table) we got when we measured the hot water w/ the professional thermometer.
  • i2 = the translated value (from the table) we got when we measured the cold water w/ the professional thermometer.
  • o1 = the value we got in our console when we measured the hot water w/ our GrovePi.
  • o2 = the value we got in our console when we measured the cold water w/ our GrovePi.

Step 4

Let's calculate an offset and a factor. We will insert the calculated values in our table (thermocouple_table.json file).

First, lets calculated the offset.

  • offset = (o1 * i2 - i1 * o2) / (i2 - i1)

And then, we get to calculate the factor. Use the offset value for calculating the factor.

  • factor = (o1 - offset) / i1

Step 5

Open up thermocouple_table.json file and update the following values:

  • For amp_offset set the value we got for offset - it's preferable to have up to 6-7 digits in precision.
  • For amp_factor set the value we got for factor - it's preferable to have up to 6-7 digits in precision.

Save the modifications.

Step 6

Run the high_temperature_example.py program. It's going to use the newly updated values.


Note 1: Calibrate the sensor when the values don't match with a professional thermometer by a long shot (i.e. 10 degrees). The sensor has already been calibrated, but who knows.
Note 2: The sensor's precision is around +-3 Celsius Degrees.