概要
土壌水分センサの温度依存性について調べた。
背景と目的
以前作成した自動水やり器の水やりの回数が、ここ最近やけに多くなっている。季節柄、空気も乾燥しているし、植物自体もそれなりに成長しているのでそんなものかなとも思ったのだが、よく見ると、鉢の土は十分湿っているし、鉢の受け皿に水がたまっていて、あきらかに水やりし過ぎある。そこで、この誤動作の原因を探り、対策をしたい。
詳細
1. 水やりが多すぎる原因を推測
土壌水分センサは、スイッチサイエンスで買った以下のもの。DFRobot社Gravityシリーズ。
https://www.switch-science.com/catalog/4024/
水やりをするかどうかは、鉢の土に挿している土壌水分センサから読み取った値だけで判断しているので、土壌水分センサの値がおかしいといえる。いろいろ観察した結果、どうも土壌水分センサのセンサ回路部(写真参照。ここは防水加工されていないので、使用中は水道工事用の自己融着テープを巻いている)に、陽が当たっていて、温度が高くなっていることが原因のように思えてきた。過剰な水やりが発生しやすいのは、よく晴れた日の昼間で、土は湿っているにもかかわらず明らかに計測値が高め=乾燥寄りになっているからだ。
2. 温度を上げる実験
土壌水分センサの温度依存性が疑われるので、実際に温度を上げてセンサ計測値が変化するか確認した。方法は、厳密ではないものの簡易的に
- 回路部分の近くに、温度センサを張り付けておく
- センサの回路部分にはんだごてを近づけ、センサ計測値と温度を同時に測定する
- 約25度→35度の範囲
とした。結果として、
- 約10℃の上昇に対して、40mV程度のセンサ計測値上昇(約25度のとき、センサ読み取り値は約2.74V、上昇後2.78V)
が見られた。計測値は上昇=乾燥側に変化していて、回路部分に直接陽が当たって乾燥気味の値が出ることと合致する。
3. 回路について考察
この土壌水分センサの回路はどうなっているのかというと、こちらの回路図にあるように、555タイマーICを使った矩形波発振回路の出力を、RCローパスフィルタで鈍らせ、さらに整流・平滑回路でDCに変換して出力しているらしい。センシングは、センサ感応部周辺の水分量によってキャパシタンスが変化して矩形波の鈍り具合が変化し、結果として平滑後のDCレベルが変化する、といった動きを利用しているようだ。
この回路で温度変化がDCレベルに影響を与えそうな要素を考えると、
- 整流・平滑回路部D1の順方向電圧、R1の抵抗値、C3の容量
- RCローパスフィルタ部R2の抵抗値
が考えられる。
- D1は、リンク先の回路図の品種が使われているとすると、約25度→35度あたりでは10℃上昇で約15mVの順方向電圧減少、すなわち平滑回路出力としては上昇する。しかし、40mVをすべて賄うほどではない。
- R1は、正の温度係数を持つはずで、一般的な100ppm/℃程度とすると10℃で0.1%上昇。C3は、品種不明だがF特性のチップ積層セラミックコンデンサと仮定すると、約25度→35度あたりでは容量が最大10%程度減少しそう。
- R2もR1と同様の温度依存があり、矩形波がより鈍りDCレベルは下がる方向。
LTSpiceで簡単にシミュレーションしてみる限り、C3の変化の影響が大きく、最大で5-10mV程度の上昇がありそう。先述のダイオードのVFの変化を含めても40mVの変化を引き起こすほどではないが、温度変化に対して正の依存があり、その大きさの見当もついた。
対策
回路部分の温度に応じて補償できれば一番いい。しかし、今のシステム構成では温度センサは自動水やり器本体回路を収納する筐体内にしかない。土壌水分センサ直近に温度センサを張り付けるとなると改造規模が大きくなってしまうので、現実的なところでは、
- (1)回路部分に陽が当たらないようにする
- (2)筐体内に温度を参考に、センサ計測値に温度補償分を加える
であり、(1)をひとまずやろうと思う。とはいえ、これから夏場を迎えてさらに温度が高くなる状況では、さらに大きな影響が出ると思われるので、(2)の対策も入れたい。
まとめと今後の課題
土壌水分センサの温度依存性について調べた。ひとまず、できる範囲の対策を施して様子を見て、本格的に暑くなる前に温度補償を入れたいと思う。