芝生×IoT

静電容量式土壌水分センサーを試す

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

4月19日(

 

芝生×IoT

 

久しぶりのIoTネタ。

 

今回は稼働中の土壌湿度センサーを変更すべく、新センサーを取り寄せたので、
その動作確認の様子をお伝えしますね。

 

なぜ、センサーを変えるのか・・・?

 

現在使用しているセンサーはDFROBOT社のSEN0114
芝生 西洋芝 IoT Ambient 土壌湿度 センサ SEN0114

 

このSEN0114は経年劣化が早く、耐腐性に難ありというデメリットがある。
我が家のは運用からまだ1年も経っていないのに、既に金メッキが剥がれてきてしまった・・・。

 

 

そこで、
同じくDFROBOT社のSEN0193静電容量式土壌水分センサー」に変更することにした。
芝生 西洋芝 IoT Ambient 土壌湿度 センサ SEN0193

 

先のSEN0114は、2つのプローブを使用して土壌に電流を流し、その抵抗を読み取って相対湿度レベルを取得するのに対し、
SEN0193は、静電容量センシングによって土壌水分レベルが測定できる。
そして、腐食しにくい素材で出来ているのだ。

 

これなら長持ちしそうだねぇ。

 

 

しかし・・・、
これを動かすまでには、非常に苦労したのだ・・・(涙)

 

SEN0193が自宅に配達されて来たのは4月2日(木)。
その週末から動作確認をはじめて2週間、この週末でようやくおそらく正常動作が確認できた・・・(涙)
まぁ、原因がわかってしまえば何てことないのだが・・・。

 

 

初期不良じゃないかと、販売店に連絡し取り替えても結果が変わらず、
販売店の技術担当に症状等を問い合わせても明確な回答を得られず、メーカーHPを見て結線方法が間違ってないのかと疑われる始末。

 

最終的には、SEN0193の問題ではなく、このセンサーを接続したESP-WROOM-02の仕様をちゃんと理解していなかったという、私の無知から生まれた現象だったのだが・・・。
(クレーマーにはなってませんよ、ちゃんと紳士的な対応で問い合わせしましたから)

 

 

さて、どのような現象が発生し、どのように解決したのか?
今後同じような事で悩まれる方がいるのか?、さくっと解決できる様に記録しておきます。

 

 

 

 

 

発生した問題とは?

動作確認に使用したのは以下。

 

Aruduino Wi-Fiモジュール ESP-WROOM-02 開発ボード  秋月電商
芝生 西洋芝 IoT Ambient 土壌湿度 センサ ESP-WROOM-02

 

新たに取り寄せた、
DFROBOT社のSEN0193静電容量式土壌水分センサー
芝生 西洋芝 IoT Ambient 土壌湿度 センサ SEN0193

 

単純な構成で確認する方が問題発生時の原因を特定しやすいので、最初は必ず最小構成で実施しとります。

 

★センサーを結線してみる
SEN0193からは、プラス、マイナス、アナログ出力の3つのリード線が出ている。
これをESP-WROOM-02 開発ボードに接続する。

 

プラスを3V3に、マイナスをGNDに、アナログ出力をTOUTに。

 

あらっ、なんて簡単!!

 

そして、
DFROBOT社のHPにあるサンプルスケッチをArduino IDEにて開発ボードに書き込み動作確認。
※サンプルスケッチ、結線方法等は以下メーカーHPへ
https://wiki.dfrobot.com/Capacitive_Soil_Moisture_Sensor_SKU_SEN0193#target_0

 

まぁ、なんて簡単!!

 

 

出力結果は・・・。
「1024」という値がシリアルモニタ上に表示された。

 

でも、空気中でも水中でも、全く変化なく「1024」しか表示されない・・・(涙)

 

あれっ?不良品か??

 

何度もメーカーHP見ましたよ!
結線部分も何度も何度も何度も確認しましたよ!

 

間違えようないんだけど・・・(焦)

 

それで、初期不良じゃないかと販売店に連絡し、
新たな同製品を郵送頂いた・・・。

 

その結果は・・・、

 

変わらなかった・・・(涙)

 

 

同じ構成で動作実現されていないか?っと、やほー、ごーぐる先生で検索したが、見つからず・・・。
別構成なら実現されている方が散見されたけど、同じ構成の方は皆無・・・。

 

解決策が見えず、途方に暮れ、しばらく放置しておいた・・・。

 

 

だが、なんと・・・、
ここで時間を置いたことが解決へと導くカギとなったのだ!?

 

 

 

 

 

解決方法とは

時間を置いたことで、センサーが程よく熟成し・・・、

 

そんな訳ないよね・・・(苦笑)

 

時間を置いたことで問題解決に際し、視点を変える事ができた。

 

動かない原因を探るという負の視点から、正しく動作している理由を探る正の視点で(同じことだけどね)
別構成で動作されている方々は、どのようにして実現しているのかを確認してみた。
※広く知見を拡げるって感じかな?

 

 

もちろんメインとなるECUが違えば実現方法も変わってくるが、
センサー自体はプラス、マイナス、アナログ出力の3つしかないのは一緒だしね。

 

 

色々調べていくうちに、
問題点はアナログ入力に問題があるのではないかと的を絞った。

 

 

それを踏まえて・・・、
ESP-WROOM-02のアナログ入力に関する情報を片っ端から調べてみた。

 

すると・・・、こんな記述を発見。
「アナログ入力は唯一TOUTピンのみが可能で、AD変換(アナログ-デジタル変換)が可能」だと・・・。

 

AD変換?

 

おっ、これかっ・・・!?

 

 

TOUTピンからデータ取得する際は、analogRead(0)にて行っていたが、
AD変換する際は、system_adc_read()を使用するらしい。

 

 

早速試してみると・・・、変化なし・・・(涙)

 

 

やはりだめなのか・・・、んんっ。

 

 

更に調査を進めると・・・、こんな記述を発見!!
TOUTは0V~1Vの範囲で10bitの分解能を持って計測する事ができる

 

TOUTは0V~1Vの範囲で・・・??
10bit・・・??

 

10bitで表現できる範囲は10進数にすると、「0~1023」。
んんっ、「1024」が出力されるってことは・・・。

 

 

も、もしかして・・・、

 

謎は全て解けた!ジッチャンの名にかけて!

 

 

真っ暗闇に一筋の光が射した瞬間だった・・・。

 

 

 

 

 

TOUTピンへの入力電圧を調査せよ

問題を解くカギ、「TOUTは0V~1Vの範囲で10bitの分解能を持って計測する事ができる

 

SEN0193のメーカーHPでの仕様記載部分を確認すると以下の記述がされている。
「出力電圧:0〜3.0VDC」

 

つまり・・・、
アナログ入力は0V~1Vしか受け付けないところに、0V〜3Vの電圧が掛かっていることになる?

 

 

こっ、これだ!!

 

 

さっそくSEN0193のアナログピンから出力される電圧を確認すると、2.4Vと計測された。
これを1V以下にすれば・・・、動く・・・、のか!?

 

ここで過去に何度も使用したオームの法則」にて分圧する抵抗値を割り出します。

 

割り出した抵抗値にて、センサーからのアナログ出力ピンと開発ボードのTOUTピンの間に噛ますと・・・、
芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02
※ちょうど良い抵抗値のカーボン抵抗がなかったので、有り合わせのカーボン抵抗を組み合わせて作ってみた。

 

この通りTOUTピンに掛かかる電圧は0.73Vになった。
※理想は1V~0.9Vの間だろうね・・・。

 

この時のセンサー値を確認してみると・・・、
芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02

 

「775」

 

1024ではなくなった!

 

AD変換後の値も同じ値になってる・・・。

 

 

さらに、水に入れた時にこの値が変われば・・・。

 

 

水に入れてみると・・・、

芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02 芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02

 

電圧が0.48Vになり、センサー値は「519」になっている・・・。

 

 

成功でーーす!!

 

 

やっと動いたぞぉー!

 

 

これでまた一つ勉強になったね。

 

では、改めて今回の問題解決のポイントを。
・「TOUTは0V~1Vの範囲で10bitの分解能を持って計測する事ができる
 つまり、TOUTピンへの入力電圧は0V~1Vの範囲内に(調整)する事。
 ※ESP-WROOM-02の場合(他は未確認)

 

 

 

折角ですので、「静電容量式土壌水分センサー」の水分レベル測定をご覧ください。

 

センサーを水に入れていくと出力電圧値が変化して行く。

 

 

こちらは、出力値の変化状況。
シリアルモニタには出力値によって「Very Wet」「Wet」「Dry」の3段階に分けて表示させている。

 

 

「Very Wet」、「Wet」、「Dry」の境界値を以下に設定。
※スケッチ上にて上下限値を変えることで若干の調整は可能だ
芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02

 

 

 

 

 

実際の砂で実測してみた

芝庭にて使用している砂で確認しない事には、正しい動作に繋がらないよね。

 

そこで・・・、
カラカラに乾いた砂、水分を含んだ砂、ひたひた水分を含んだ砂で実測!

芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02 芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02 芝生 西洋芝 IoT Ambient 土壌湿度 SEN0193 SEN0114 ESP-WROOM-02

 

上記のほか、実際に芝庭に刺して実測してみたら、
昨日嵐のような風雨だったのに、
昼間の芝庭の砂は真ん中の「水分を含んだ砂」よりも乾き気味の値を出していた。

 

という事は・・・、
かなり乾き気味の数値(しきい値)で散水するようにしないと、毎日のようにスプリンクラーが作動する事になってしまう・・・。

 

試しながら、良い塩梅のしきい値を探り出すしかないね。

 

 

今回は開発ボード上での動作確認だが、
稼働しているスケッチに今回のセンサーで動作するよう変更し実機に組み込む予定だ。

 

ただし、
SEN0114SEN0193では出力される値が逆になるので、
センサーを変えただけでは正しく動かないので注意が必要だ。

 

SEN0114は、水分が多い時は数値が高くなり、水分が少ない時は数値が低くなる。
SEN0193は、水分が多い時は数値が低くなり、水分が少ない時は数値が高くなる。

 

植木鉢などにも使用する事が可能ですので、
枯らしたくない植物がある方は試してみてはいかがでしょうか?

 

SEN0193の運用開始時は、修正記録の方でお知らせします。

 

 

では。

 

 

闘え、ボンビーリーマン!
負けるな、ボンビーリーマン!
常緑のために!

 

 

#芝生#常緑#ボンビーリーマン
#IoT


「頑張れ、ボンビーリーマン!」っと思った方は
↓ポチっとお願います
にほんブログ村 花・園芸ブログ 芝生・芝生管理へ 常緑芝庭へのチャレンジ - にほんブログ村

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




↓初めてコメントを入力される際は、「コメント欄使用時のご留意事項」をご覧ください

関連ページ

芝生×IoT 修正記録
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT 暑さ対策
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト 番外編
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト23
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト22
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト21
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト20
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト19
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト18
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト17
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト16
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト15
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト14
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト13
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト12
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト11
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト10
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト9
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト8(センサ部 再改良)
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト7(センサ部改良)
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト6(センサー稼働開始)
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト5
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト4
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト3
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト2
ボンビーリーマンの芝生手入れ奮闘の記録
芝生×IoT プロジェクト1
ボンビーリーマンの芝生手入れ奮闘の記録