ラズパイで冷蔵庫の温度を測ってみた。

RaspberryPi2と3(以下ラズパイ2,3)を使って温度、湿度の計測をいろいろ試してみたのでご紹介します。

まず計測機器としては、ラズパイ2に前回ご紹介したBME280を、ラズパイ3にはSenseHatを載せて使用しました。

まずは外気の気温と湿度を計測してみます。直接日光が当たらないように日除けの段ボールを置いてその中に設置します。なお、今回は気圧は比較対象にしませんでした。(センサーの精度も良く、環境を変えても変化が少ないため。)

IMG_0920

左側がラズパイ2とBME280(GPSも繋がったままです)、右側がラズパイ3にSenseHatです。

IMG_0921

両方からの温度と湿度のデータをzabbix-senderでラズパイ3内のZabbixサーバーに送信しロギングします。下のグラフがZabbixサーバーで描画したグラフになります。(クリックすると拡大できます。)

まず上段の湿度のグラフから。薄い灰色の線が以下で紹介するキャリブレーションの式を当てたSenseHatデータで、紫色の線がをれをカルマンフィルターに通したものです。
(過去記事:ラズパイの計測値(気温など)にカルマンフィルターをかけて記録してみた。
さらに濃い灰色の線がBME280から取得した生のデータで、それのカルマンフィルターが緑色の線になります。
次に下段の気温のグラフですが、薄い灰色の線が同様にキャリブレーションしたSenseHatの線、赤色がそのカルマンフィルター版。濃い灰色の線が湿度と同じくBME280の生データで、そのカルマンフィルター版が緑色の線になります。
湿度はSenseHatが平均55.1%とちょっと高めに出過ぎていますね。温度は逆に条件からして低すぎるように思いますし、何より線がBME280に比べて不安定に大きく上下しています。カルマンフィルターはそれを抑える役目を果たしていると言えるでしょう。

SS 2016-03-31 16.25.45

ここまで書いておいて説明し忘れていましたが、今回の実験の目的の一つに、SenseHatのセンサーキャリブレーションの検証があります。以下のページのPosts60にキャリブレーションの式の例が載っていて、これを実際に測ってみようというのが一つの趣旨です。

https://www.raspberrypi.org/forums/viewtopic.php?f=104&t=111457

コードも短いので転載しましょう。

次にこれらのセンサーを冷凍庫におもむろにブチ込みます。w 電源はポータブルバッテリーです。特にバッテリーには辛い環境です…。
IMG_0918

最初は下のような感じでグラフが推移していきます。温度が下がると相対湿度は急に上がります。急激な温度変化にカルマンフィルターもなかなか追いつけません。

SS 2016-03-31 16.46.46

30分ほどかかって、ようやくグラフが落ち着いたのが下の図です。

SS 2016-03-31 17.21.32

湿度の薄い灰色のSenseHatの線が途中で不連続になっているのは、途中でスクリプトが落ちて起こしたためです。やはりSenseHatの湿度が高すぎるように思います。温度はSenseHatの値が4〜5℃低く、かつ完全に近い横ばいです。SenseHatはCPUという熱源に近いため、もっと高く出ると予想していたのでこれは意外でした。(このときCPUの温度は約10℃を指していました。)一方BME280の方は右肩上がりに温度が少しずつ上昇しています。この原因ははっきりしません。

次にセンサー達を野菜室に入れて徐々に解凍してやります。w

IMG_0919

そのグラフが下の図です。野菜室とはいえセンサーの周りの空気が急激に冷やされることで相対湿度が急激に上昇し、結露の一歩手前まできています。w ラズパイ達が壊れないことを祈るばかりです。w  SenseHatの値は上限をスクリプトで規定していないので100%を大きく超えてしまいました。しかし徐々にセンサーの温度が上がるに従って相対湿度は下がって落ち着いてきます。

SS 2016-03-31 17.37.39

やはり30分ほどして落ち着いてきたのが下のグラフです。庫内の温度はほぼ一定に保たれています。野菜室の温度は10℃前後で制御されているでしょうから、やはりここでもSenseHatの温度が1〜2℃程度低いですね。湿度にも5%くらいの開きがあります。温度が低く出ると、それにつられて相対湿度も上がってしまうためと思われます。

SS 2016-03-31 18.31.06

最後に高温の環境で試してみます。黒いポリ袋にセンサーを入れて、コタツの中で温めます。もちろん設定温度は最大にします。w

IMG_0925

そのグラフが以下になります。密閉して高温にしたため、相対湿度がとても低くなっています。温度はSenseHatでは90℃近くを指していますが、もちろんそこまで熱いことはないはずです。コタツですから。

SS 2016-03-31 23.14.24

という訳で今回はかなり偏執的なレポートになってしまいましたが、結論としては、安価なセンサーの値は目安にはなるけど真値からはかけ離れることが多い(と思われる)のであまり当てにはならないということでしょうか。それからBME280の値は滑らかに推移していくので、カルマンフィルターのようなものは掛けなくても良さそうです。

今日のところはこの辺で。☕️

スポンサーリンク
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です