grovepi/Software/Python/grove_hightemperature_sensor/README.md
2025-03-21 16:04:17 +01:00

2.9 KiB

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.