XDK Temperature sensor
Antwort
16.11.15 12:48
Hi folks,
in a project I collect all sensor data of the XDK.
The temperature sensor is not as exact as I had expected, I experience 4-5°C of deviation from real values.
I tried to make sure its not my software, so I flashed DSM_Sensor_Monitor and looked at temperature in different setups.
Two odd things:
1. when I change oversampling, the temperature differs +/- 10°C, depending on the oversampling factor.
2. when I only use temperature sensor, it some times seems to work more accurat, than when I also have humidity and pressure read aswell.
Is there some one else having the same problems?
 
0 (0 Stimmen)
XDK Temperature sensor
Antwort
18.11.15 11:12 als Antwort auf Kornelius Nägele.
Hi Kornelius,
I have heard about such problems in another forum some time ago (can't find a link at the moment). They concluded that this behaviour is due to the fact, that the sensor itself heats up a little bit while being in use. When you use oversampling and additionaly measure humidity and pressure values, the sensor has more work to do. Because of that it draws more current and heats up more. The other components of the XDK also heat up the air inside the case and contribute to a measured higher temperature than the real temperature outside the case.
Regards,
Kai Liebich
0 (0 Stimmen)
XDK Temperature sensor
Antwort
20.11.15 07:09 als Antwort auf Kai Clemens Liebich.
Hey Kornelius, 

you are right. Read below for more details:

As any electronic component, the sensor is subject to self-heating, which can be from the sensor itself, as well as from other components used at the time of measurement. Unfortunately, this self-heating strongly depends on the usage, and as the XDK can be freely programmed, the self-heating depends on so many factors that we cannot provide a universal compensation algorithm. The sensor can be influenced to some extent by the sampling rate and by how fast a reading is taken after switching it on (see sensor datasheet for details).
For a user-defined program, we suggest monitoring the outside temperature with a reference thermometer and once a stable offset value is observed, use this to compensate the measurements. As an indication, a self-heating of 3-4 K under a normal load profile using sensors and Bluetooth can be expected.
The accuracy of the humidity measurement is strongly related the temperature, as relative humidity is calculated using the temperature reading. Hence, a higher temperature leads to a lower relative humidity. Once the temperature compensation is done, the relative humidity can be calculated using the temperature difference.
0 (0 Stimmen)
XDK Temperature sensor
Antwort
25.11.15 15:54 als Antwort auf Marc Staller.
Thanks for your explanation, but that is definitly not the effect that I am seeing.
The Temperature is wrong on a stable level, immediatelly after switching it on.
Heating would start to grow, so the sensor would be more wrong over time.

The temperature changes to a more real level, when setting Oversampling to 0, giving instantly 5°C less.
Can support have a look at it, and prove me wrong/right?
 
0 (0 Stimmen)
XDK Temperature sensor
Antwort
27.11.15 12:12 als Antwort auf Kornelius Nägele.
Hi Kornelius,

I'm currently trying to proof your case.
In addition to that I ordered a few external temperature sensor to have some reference.

Please allow a few days for these test till I can give you a better answer.

- Florian
0 (0 Stimmen)
XDK Temperature sensor
Antwort
01.12.15 18:00 als Antwort auf Florian Harr.
Awesome Florian! Thank you
0 (0 Stimmen)
XDK Temperature sensor
Antwort
07.12.15 11:56 als Antwort auf Kornelius Nägele.
Hi Kornelius,

I also compared my temperature values to external thermometers and saw a constant 3-4 °C deviation as well, but changing the oversampling rate didn't have any impacts on my output.
Did you get an answer from Florian by now? Or did you find an answer yourself?
Otherwise I will check with the development apartment again.

Kind regards,
Manuel
0 (0 Stimmen)
XDK Temperature sensor
Antwort
15.01.16 17:19 als Antwort auf Manuel Cerny.
Ok thats interesting! Did you try DSM Demo Sensor Monitor and switch off oversampling?
Please post a dedicated bugreport to dev team, thanks!
0 (0 Stimmen)
XDK Temperature sensor
Antwort
04.05.16 05:44 als Antwort auf Kornelius Nägele.
Hi Kornelius,

on my last try I only changed the oversampling rate to different values. Now I turned it off and got constant 22 degrees. So I searched through the SDK code and found this:
/**
 * @brief sets the OverSampling rate of temperature data for the environmental sensor referenced by the passed handle.
 * @note If this function is called with option ENVIRONMENTAL_OVERSAMPLING_OFF then temperature measurement will be disabled and
 * default value 0x80000 returned for all the subsequent read operation.
 *
 * @param [in] Environmental sensor handle
 *
 * @param [in] samplingRate the desired OverSampling rate
 *
 * @retval SENSOR_ERROR if OverSampling for Temperature data  is not set
 * @retval SENSOR_INVALID_PARAMETER if handle is NULL
 * @retval SENSOR_SUCCESS if OverSampling for Temperature data is set
 * @retval SENSOR_API_UNSUPPORTED_PARAMETER Input parameter handle or samplingRate is unsupported parameter
 */
sensor_errorType_t environmentalSetOverSamplingTemperature(
    EnvironmentalHandle_t handle, environmental_overSampling_t samplingRate);

It looks like what we experience is the default behaviour (0x80000 translates to 22,27 C°). I guess this explains the oversampling problem. The smaller deviations may then, as Marc Staller wrote, really be caused by self-heating.

Kind regards,
Manuel

0 (0 Stimmen)
XDK Temperature sensor
Antwort
16.02.16 13:34 als Antwort auf Manuel Cerny.
Ok that explains the oversampling change.
Still not believing the self-heating, because it shows after having it switched off for the night, the same temperature in the morning, and the temperature curve is not rising, after having it transmit for quite a while. Still value is about 5 degrees celcius too high. Please look at the test carried out by Jan-Piet Mens who compared 5 temp sensors:
http://jpmens.net/2016/02/02/internet-of-temperatures/
The XDK is over the top, while being the most expensive one. It should be as precise as possible.
We can work-around by just subtracting five degrees, but it does not help in trust for the other sensors, and also is influencing humidity readings. Reliable sensor readings is our core asset. Please escalate this, at least it should be tested in a controlled environment.
Thank you!
Thank you!
 
0 (0 Stimmen)
XDK Temperature sensor
Antwort
22.02.16 11:36 als Antwort auf Kornelius Nägele.
Hi Kornelius,

I really see your point and I can understand that it is annoying to need this workaround.
I forwarded this issue to the developers and they will take care of it.

So for the moment, all I can do is ask you for patience till we have a solution.

- Manuel
0 (0 Stimmen)
XDK Temperature sensor
Antwort
24.02.16 12:55 als Antwort auf Manuel Cerny.
Thanks Manuel!
0 (0 Stimmen)
XDK Temperature sensor
Antwort
04.05.16 07:12 als Antwort auf Kornelius Nägele.
Hello Kornelius,

we received new informations from the developers. You can find the them here 

I hope this helps for future measurements.

Kind regards.
Manuel
0 (0 Stimmen)
RE: XDK Temperature sensor
Antwort
08.05.16 16:29 als Antwort auf Kornelius Nägele.
hi i want to ask when you run the monitor sensor demo ,you need write a application of printf according to the user guide ,but i don't know where you application in you computer.Is it in xdkapplicationtemple? do i need to write some header files?
0 (0 Stimmen)
RE: XDK Temperature sensor
Antwort
09.05.16 11:34 als Antwort auf Shen Mingning.

Hi Shen,
 

you can find the solution here.

Please keep in mind, we recommend to open a new thread for new topics as you already did.

 

Kind regards

Manuel

0 (0 Stimmen)