Today I made another test at the cooktop. This time I boiled water in a bigger pot to see if the grid eye sensor gets the temperature right when there is a bigger area below the sensor at a higher temperature.

 

Here is the video:

 

It turned out that it is a little bit better but still not sufficient. The measured temperature is now at about 70 degrees celsius when the water is boiling. But there are now also samples in between where the temperature goes up to nearly 100 degrees celsius.

 

My next thought was that maybe the grid-eye sensor is not measuring the temperature of the water surface in the pot but instead the temperature of the steam between pot and sensor. I tried to eliminate this by blowing the steam away with a fan but it didn't change anything on the measurements.

 

To get this measurement right I made a new setup. Instead of boiling water I heated cooking oil. Then there is no steam and this wont influence my measurements. I made a reference measurement with an infrared thermometer and compared it to the measurements of the grid-eye sensor.

 

Here is a photo of the setup with the thermometer:

checking temperature with infrared thermometer

The Raspberry Pi with camera and grid-eye sensor took the following image (you can see my hand with the infrared thermometer in the screenshot; this did not influence the measurement negatively):

screenshot of the output of the sensor array

So the temperature in the pot was about 75 degrees celsius (according to the infrared thermometer, which always delivered reasonable values in the past). But the grid-eye sensor only measured 60 degrees celsius. So there is also a difference of about 15 degrees when heating oil.

 

Conclusion 1: the measurement is not influenced by the steam

Conclusion 2: I have to use some kind of calibration to calculate accurate temperature values.