スマートフォンから水やりできるシステムを Raspberry Pi を使って作る方法を紹介します.
はじめに
Interface 2018年10月号の「IT農耕実験」特集を見て,庭の苔の水やりに使えないかと調べはじめ,こつこつ2ヶ月ほど週末作業を続けて無事完成したので紹介します.
「本格」と謳うにあたり,次のようような方針を立てました.
- 10年程度の安定稼働
- せっかく作るので,家のインフラとして安心して10年間程度安定稼働させることを目指します.
- フェールセーフ
- 長期稼働にはトラブルが予想されるので,そういった場合にも問題が大きくならないように部品選定を行います.
- 簡単操作
- 家族でも簡単に使えるよう,スマホから操作できるようにします.特定の時間に自動的に水やりする機能も付けます.
システム構成を以下に示します.
- Raspberry Pi に Web サーバを立て,スマートフォンから制御を受け付けます.
- Raspberry Pi はそれを受けて電磁弁の制御を行います.
- 水量はセンサでモニタし,リアルタイムにスマートフォンに対して表示します.
完成写真
先に完成後の写真を紹介します.ハードウェアとしては,電磁弁を収めたボックスと,Rapberry Pi を収めた制御ボックスの 2 つで構成しています.
電磁弁ボックス
基本的には電磁弁とセンサーしか入ってないです.もう片方のボックスとは 2 本のケーブルで接続し,それぞれ次の信号を通します.
- 24V と GND
- 電磁弁制御と流量センシング電圧
屋外に設置する上で最も怖いのは凍結です.凍結してしまうと故障してしまう可能性が高いので,次の対策を行っています.
- 保温チューブ
- 水道管はすべて保温チューブで覆いました.かなり冷え込む地方だと,ボックスそのものに対して対策するなどの追加措置が必要かも.
- ヒータ
- 寒くなった場合にヒータを ON して温度をあげられるようにしました.写真の上の方に見える横長の白色のものがそれで,モノとしてはセメント抵抗を使っています.
制御ボックス
Raspberry Pi Zero W とそれを動かすのに必要な電源が入っています.電源は AC100V から取ります.
回路
作成するは次のような感じになります。
ポイントは次の通りです.
- 電源構成
- AC100V から DC24V を生成したあと,24V から 5V を作り出す電源構成とします.(回路図では24V 電源は省略)
- 過電流保護
- 24V にはヒューズを挿入し,トラブル時に電源が遮断されるようにします.
- 外部 A/D 変換器
- 流量センサの出力はアナログとなるため,A/D 変換器が内蔵されていない Raspberry Pi のために外部 A/D 変換器(ADS1015) を搭載します.また,A/D 変換器は 5V で動作させるので,PCA9306 を使って I2C 通信の電圧レベル変換を行います.
- 保護ダイオード
- 流量センサの出力を受け取る部分には,保護用のツェナーダイオードを配置し,何らかの要因で過電圧がかかった場合でも回路が壊れないようにしておきます.
- 電磁弁制御
- 電磁弁はトランジスタだけで制御せず,リレーを駆動します.電磁弁はコイルで構成されており,インダクタンス成分を持っているためです.
- サージ対策
- 電磁弁の直近にサージ対策用のダイオードを配置します.前項と同じく,電磁弁がインダクタンス成分を持っているためです.
- 凍結防止
- 前のほうで少し触れましたが,凍結防止のヒータとして 330Ω を配置しています.温度センサが壊れることを想定しなければ,もう少し発熱が多きいものでもよいのですが,万一壊れた場合にトラブルの元になるので,大きめの抵抗値を選択しています.
必要なもの
制作に必要な部品を選定のポイントとともに準に紹介していきます.
電磁弁・センサ
システムの心臓部となる電磁弁とセンサーは次のものを使用しました.いずれも DC24V で動作します.
- RSV-15A-210W-3A011-DC24V
- Interface の記事でも使われていた CKD 社の電磁弁です.記事とは異なり,連続通電形のものを使用しました.連続通電形の場合消費電力は増えますが,電源を喪失した場合に水圧によって自動的に弁が閉じるので安心です.
※左の写真は,類似品のもの
- カルマン渦式水用流量センサ WFK3012S-15-A0B
流量センサも同じ CKD 社のものを使用しました.このセンサーは可動部を持っていないため耐久性に期待して選びました.電磁弁の近くに設置するため,開閉時にウォーターハンマーによるストレスがかかることが想定されるためです.流量に応じて 0~5V を出力します.記載した型式の場合,計測できる最大流量は 12L/min となります.
24V 電源関連
屋外に長期設置するため,安心できるメーカ製の防塵防滴のものを選んでいます.端子台や少し大きめのコネクタ(VHコネクタ)を使って基板と接続します.
電源の容量は,電磁弁と Rapsberry Pi Zero W の合計で最大で 6W あれば十分だと思いますが,倍の 12W 対応品を選択.
AC100V は扱いを間違えると発火につながるので手堅くいっています.
No. | 写真 | 品名 | 単価 | 個数 | 小計 |
① | 防塵防滴型LED機器用定電圧電源 ELV12-24-R50 | 3,990 | 1 | 3,990 | |
② | 防水ゴムキャップ 接地2P WF75159 | 549 | 1 | 549 | |
③ | 組端子台 T10-03PM | 169 | 1 | 169 | |
④ | 組端子台 T10-04PM | 219 | 1 | 219 | |
⑤ | 銅線用 裸圧着端子 (R形)丸形 R2-4M | 489 | 1 | 489 | |
⑥ | VHシリーズ コンタクト | 559 | 1 | 559 | |
⑦ | VHシリーズ ハウジング | 94 | 1 | 94 | |
⑧ | VHシリーズ ベース付ポスト | 149 | 1 | 149 | |
合計 | 6,218 |
制御回路関連
5V 電源は機密性が確保されたモジュールを選択しました.1A 品ですが,Raspberry Pi Zero W は CPU の処理性能が乏しい代わりに消費電力が小さいので,これで問題なく駆動できます.
リレーは 5V で駆動するものなら何でもよいと思います.ケースが透明だとトラブル時の原因が見てわかりそうだったのでこれを選びました.駆動電流は 106mA と大きくないので,前段につける抵抗入りトランジスタは何でも良いと思います.
LED は駆動状態を簡単に確認できるようにつけておきました.屋外設置なので,天候によってはテスターでの確認がつらいと思われるためです.
温度スイッチはできればちゃんとしたメーカのが良かったのですが,手頃なのが無かったので AliExpress のものを使用しました.テストしたところ,しっかり 5℃以下で ON してくれています.ただ,耐久性が心配なので,セメント抵抗は 24V で使用しても発熱が 2W 以下になる抵抗値にしました.
[19/2/9追記]
温度上昇が小さかったので,寒波に備え,100Ω のものに変更しました.発熱量は 5.8W.ケースとの距離を 3cm 程度話しておけば問題なさそうです.
チェック端子は回路図には載せてませんが,回路がうまく動かないときに観測したいポイントに配置しておくのと良いと思います.設置後にしゃがんで素子のリードにテスターを当てるのはなかなかしんどいですが,これがあると簡単・確実に行えます.
No. | 写真 | 品名 | 単価 | 個数 | 小計 |
① | 超高効率DC-DCコンバーター 5V1A M78AR05-1 | 500 | 1 | 500 | |
② | パワーリレー G2R-1 DC5 | 329 | 1 | 329 | |
③ | 抵抗入トランジスタ DTC123EL | 10 | 1 | 10 | |
④ | ADS1015使用12ビット4チャンネルADコンバータ | 1,280 | 1 | 1,280 | |
⑥ | I2Cバス用双方向電圧レベル変換モジュール(PCA9306) | 150 | 1 | 150 | |
⑦ | モールドフレーム形防水・防滴(IP65)LED表示灯 Φ10 | 449 | 1 | 449 | |
⑧ | 5.1V ツェナーダイオード1N5231B | 100 | 1 | 100 | |
⑨ | サージアブソーバ― 双方向型VRD Z2027 | 939 | 1 | 939 | |
⑩ | Normally Open 1.5A Thermal Switch Temperature Sensor | 138 | 1 | 38 | |
⑪ | セメント抵抗 20W 330Ω | 97 | 1 | 97 | |
⑫ | チェック端子(テストポイント) TEST-8 | 20 | 10 | 200 | |
合計 | 4,083 |
ケース関連
屋外に設置するので防水性を確保できる部品で固めます.ケーブルは耐候性に優れたクロロプレンゴムを使ったものを選択し,ボックスとの接続部分にも防水性を確実に確保できるケーブルグランドを使用します.また,空気を通して水を通さないプロテクティブベントをつけて,気圧差が生まれないようにします.
ここで手を抜くと,隙間に水分が残っている時に中と外の気圧差が発生すると徐々に浸水してしまいます.手堅く行くのがお勧めです.
No. | 写真 | 品名 | 単価 | 個数 | 小計 |
① | BCAR型防水・防塵ルーフ付プラボックス BCAR203013G | 3,390 | 1 | 3,390 | |
② | BMP-P型プラスチック取付ベース BMP2030P | 499 | 1 | 499 | |
③ | BCAR型防水・防塵ルーフ付プラボックス BCAR162110G | 2,190 | 1 | 2,190 | |
④ | BMP-P型プラスチック取付ベース BMP1520P | 329 | 1 | 329 | |
⑤ | プロテクティブベント PMF-12HAS | 779 | 2 | 1,558 | |
⑥ | THA45型 ケーブルグランド THA450-16LL | 219 | 5 | 1,095 | |
⑦ | 2種EPゴム絶縁クロロプレンゴムキャブタイヤケーブル 2PNCT 0.75×3 | 1,490 | 1 | 1,490 | |
⑧ | 2種EPゴム絶縁クロロプレンゴムキャブタイヤケーブル 2PNCT 0.75×2 | 999 | 1 | 999 | |
⑨ | プラグ式 防水中継コネクター THB387-3P | 1,790 | 2 | 3,580 | |
合計 | 15,130 |
水道管関連
水道管をボックスに引き込む際は,片ナットユニオンとテーパソケットの間に O リングをかませてねじ締めを行い,防水性を確保します.外側には「信越 一般工業用RTVゴム」を使ったシーリングも行っておきます.
引き込んだ水道管は,次の2点の目的でボックス内で折り返して同じ方向から出すようにしています.
- 設置の容易性確保
- 水道管の経路とボックスの設置場所の関係次第ですが,同じ方向から水道管を出し入れした方が,微調整も含めた設置がしやすくなります.
- ボックスの小型化
- 流量計を正しく動作させるためには,センサーの前後にストレートをもうける必要があります.ボックス内で折り返すことで,サイズを小さく保ったまま,センサーと電磁弁の間の距離を稼ぐことができます.
両ネジ長ニップルは,mm 単位で長さをオーダーできるので,組み立てながら必要な長さを測定して注文するのがお勧めです.
No. | 写真 | 品名 | 単価 | 個数 | 小計 |
① | 片ナットユニオン 6170-13×13 | 579 | 2 | 1,158 | |
② | ステンレス製ねじ込み テーパーソケット | 419 | 2 | 838 | |
③ | OリングPシリーズ赤シリコン 4C-P21 R | 47 | 2 | 94 | |
④ | ステンレス製ねじ込み ストリートエルボ | 689 | 2 | 1,378 | |
⑤ | SUS304両ネジ長ニップル | 479 | 3 | 1,437 | |
合計 | 4,905 |
組み立て
部品が集まったら組み立てていきます.水道管をあつかう関係上,構造部品はちょっと大かがりですが,構成は比較的シンプルなので特に難しくないと思います.強いていえば,電磁弁ボックスへの水道管の引き込みが工作難易度高いかもしれません.
それ以外でハマったポイントを2点紹介します.
水道管の接合にはシール材
最初組み立てたとき,昼間の動作確認では問題なかったものの,冷え込む夜間に水漏れするようになってしまいました.
どうやら,水道管/電磁弁/水流センサーはそれぞれ収縮率が異なる金属で作られており,シールテープではカバーしきれなくなってしまったようです.
そこで,左のようなシール材でやり直すことになりました.施工後,寒暖の差がある日が何日か続きましたが,今のところ全く問題は起きてないです.
少し高価ですが,完全に締め付けなくても固定でき,電磁弁・流量センサの位置決めと確実なシール性の両立がしやすくお勧めです.硬化促進剤の SF 7649 とセットで使用します.
電磁弁ボックスと制御ボックスの接続確認
ボックス間の接続は中継コネクタを介して行いますが,この結線が間違いやすように思います.通電前に接続チェックを確実にしておくのがお勧めです.
システム全体としてはかなり大がかりになるので,それぞれのボックス内のチェックのみ実施して,結合してのチェックは省きたくなりますが,サボるのはトラブルの元です.
私の場合,最初組み立てたとき結線が間違っており,さらに保護用のツェナーも配置していなかったので,Raspberry Pi に 24V が引火されて破壊してしまいました.
設置
設置するとこんな感じ.
水道管には保温チューブを巻いておきます.
ちなみに,立水栓からの接続はこんな感じ.むき出しになっている金属の部分をどうするかは悩み中です.普通に考えると冷えた水は下の方に移動してくれるので,この部分は凍らないと期待したいところですが...
動作確認
Raspberry Pi にログインして下記のコマンドを打てば動くはずです.
1 2 3 4 |
# 電磁弁を開く raspi-gpio set 18 op dh # 電磁弁を閉じる raspi-gpio set 18 op dl |
ソフト編に続く.
コメント
[…] 前回に続いて,スマートフォンから水やりできるシステムを Raspberry Pi Zero を使って作る方法を紹介します. […]
こんばんは
観賞魚の養殖をしているのですが、一定の温度条件での自動水やりをしたいと思っています。
Iot関連で検索してこの記事に拝見させていただきました。
是非とも相談にのって欲しいので、一度メールしていただけると幸いです。
もちろん無料ではなく有料での相談です。
どうぞよろしくお願いいたします。
回路図はどのように作成されているのでしょうか?
いつも美しく描かれているので、参考にさせて頂きたいです。
なんとなくExcelかなと思うのですが、
Excelだと表示倍率によって結合点がずれたり、
PowerPointのようにガイド表示がないので美しく描きにくいと思っています。
回路図は,BSch3V を使って書いています.ある程度できたところで,EMFコピーという機能を使ってパワーポイントにコピーして体裁整えている感じです.
お返事ありがとうございます。
BSch3Vでしたか。
過去に試したことがあったのですが、職業柄、office系へのペーストを多用するため、
一度Exportが必要な点がイマイチだと思っておりました。
たった今もう一度試してみたところ、それは勘違いで、編集>EMFコピーという機能があったのですね。
これであれば、excelよりも動作が軽く非常に有用なソフトです。
kimata様のおかげで気づくことが出来ました。
ありがとうございます。