After a few days monitoring the metpi, some tweaks are necessary.
The main problem is the proximity of the Sense Hat to the pi board and USB ports. Both of these generate heat (especially the USB ports) and it affects the sensors on the Sense Hat. It is a known problem and it was a problem on the space station, but they were using a different version of the pi (a B+ instead of a 2B) and a different configuration, which made it easy to resolve using a simple formula. I tried many formulas over a few days, and it was clear that the effect wasn't linear (maybe heat accumulation, maybe some other external event I'm not aware of outside).
So I gave up and decided to start again and tackle the heat problem differently. First, I raised the Sense Hat to keep it further from the pi board and to let more air in.
It made a huge difference. The Sense Hat was much less affected by the heat of the pi and the temperature was more consistent with that of other sensors.
I also tried to put a fan next to the pi to force air into it to cool down the whole thing and avoid any heat accumulation. That didn't work since it lowered the temperature read by the Hat's sensors. I can only presume that the fan, by compressing the air, lowered its temperature a bit and it was enough to read a couple of degrees lower temperatures.
I also adjusted the formulas. I eventually abandonned trying to use an average of all 3 temperature sensors on the Hat since 2 were always giving exactly the same temperature (which makes me think that the temperature is read from the humidity sensor, not from a separate sensor) and the pressure sensure always reports about 2 degrees above the expected temperature (it might be the one closest to another component on the board and is affected by it). I'm now using only the humidity sensor's readings. They seem mostly consistent with the expected temperature.
Finally, I smooth out the temperature recorded to avoid local peaks due to wind and other external factors (at the moment the pi is exposed at the corner of a building; a proper housing is being built). For that, I just use a rotating buffer and average the last 3 readings (I experimented with 5 and 10 also). The curves are more sensible now and look less like discrete instant temperatures.
I'll keep monitoring and I'll move the pi to its new housing in the next few days.
Next step: outdoor housing.
Post a Comment