ガーデニング...という程大がかりなことではありませんが、グリーンカーテンの鉢植えは水の消費が激しいため、毎日灌水しなければならないのが意外に面倒です。そこで、これを自動化するシステムを製作してみました。

給水制御の方式には、バルブ制御によるものとポンプ制御によるものの二通りがあります。バルブ制御は水源に水道網が利用可能なとき、ポンプ制御は井戸や水槽など水源が非与圧系統のときに使います。本機では、ポンプを使って既設の貯水槽の水を利用することにしました。
単純な灌水コントローラでは、タイマ機能のみで常に一定量の水を供給します。しかし、これでは降雨などにより土壌水分が十分でもかまわず灌水してしまい、水の無駄や根腐れの原因になります。したがって、土壌の水分量を検出して必要なだけ灌水を行う必要があります。本機では土壌の導電率を測って水分量を検出することにしました。
オフグリッドシステムでは、どのように電源を確保するかが問題になります。ある程度の電力を消費し長期間メンテナンス フリーで動作するシステムでは、太陽電池や原子力電池など独自の電源が必要になるでしょう。でも、本機では消費電力はごく僅かでメンテナンスも容易な場所に設置されているので、電池動作(単三エネループ×8本)としました。
図1に製作したコントローラ基板とその回路図を示します。マイコンには8ピンのAVRマイコンを使っています。この程度の機能なら、どんなマイコンでも同様に使えるでしょう。マイコンの電源は電池電圧をシリーズ レギュレータでドロップして得ていますが、待機時の消費電流を極力抑えるため低消費電流のC-MOSレギュレータが必要になります。
このプロジェクトの要となる機能です。土壌の水分量を測るにはいくつかの手段があり、電気的に測るものでは土壌の導電率や誘電率を元に水分量を測っているようです。水は乾燥土に比べて導電率、誘電率ともに大きいため、これらを測ることにより土壌中の水分量が推定できることになります。このプロジェクトでは、導電率(電気抵抗)を測ることにしました。
水の導電性はそれに含まれる塩、塩基、酸などの電解質によるものです。つまり、電解液の導電率を測るのと同じことです。しかし、電解液の測定は固体物質の測定に比べ少々厄介な面があります。電解液に直流電流を流すと分極といって、導電率が急激に落ちてしまう現象があるためです。これは、電流により電極付近の電解質が消費されて電極が電解質の希薄な膜に覆われることによります。また、直流を流し続けることは電極の腐食を起こすという問題もあります。これらの問題を防ぐには、交流電流またはパルス電流で測る必要があります。このプロジェクトでは、パルス電流で測ることにしました。

まず、図2に示すようにGPIOポートPB4にHレベルを1ms出力してC3を充電したあと、ポートをHi-Zにします。するとC3は土壌に挿した電極を通して放電することになるので、入力がLレベルになるまでの時間を測れば土壌の抵抗値が分かります。A-Dコンバータは必要ありません。測定時間は数ms以下なので、インターバルを十分に取れば分極の影響や電極の腐食を避けられるでしょう。

電池動作であるため、システムの消費電流はできるだけ落とす必要があります。このため、プログラムはタイマ駆動(POWER_DOWN_MODEから定期的に起動)のステートマシンとして記述します。ステートはアイドル、ポンピング、シャットダウンの3つとし、通常はアイドル状態にあります。ステートはLED表示で確認することができます。
アイドル状態(LED表示=フラッシュ)では、消費電力を抑えるため、状態表示LEDはフラッシュ動作(毎秒30ms点灯)とします。定期的に土壌の状態をチェックし、灌水開始条件またはボタン押下でポンピング状態に移行します。
ポンピング状態(LED表示=連続点灯)では、ポンプを動作させて送水します。決められた時間の経過またはボタン押下でポンプを止めてアイドル状態に移行しますが、ポンプの動作中は電池電圧を継続的にチェックして、電池消耗と判断(0.5秒以上しきい値を下回る)したらシャットダウン状態に移行します。
シャットダウン状態(LED表示=消灯)では、全ての動作を停止します。この手の殆ど動作しないシステムは正常に動作していることが分かりにくい(本機の場合はLED表示が唯一)ため、うっかり電池切れのまま放置してしまう可能性があります。このプロジェクトでは単三エネループ×8本としていて、一日2回ポンプが動作した場合、1か月以上動作することになります。電池切れを避けるには、十分な容量の電池を使うか太陽電池で常時充電(0.03C程度のパネルを接続するだけでOK)すると良いと思います。

土壌の抵抗値は電極のサイズ、土質、電解質の濃度などによってレンジが変わるため、どの程度の値を示すのか実際の条件で測ってみました。図4に数日間に渡る土壌(鉢の土)の抵抗の変化のグラフを示します。殆どカラカラの状態になると10kΩ以上、灌水すると一気に下がり、1~2kΩ程度になります。水分が消費されるにつれて抵抗が上昇していきますが、夜間は日中より水分の消費が緩やかになるのがよく見て取れます。このデータから、このプロジェクトにおいては、8kΩを灌水開始のしきい値としました。なお、抵抗値の測定は1分毎としています。
灌水開始と判断したら、ポンプを動作させて灌水を行います。ポンプの動作時間は60秒間とし、次の灌水は4時間以上空けることにしました。この辺りのタイミングは実際の条件によって調整する必要があるでしょう。
