超低消費電力(数uA)で動作する降雨センサーを作ってみた。

静電容量式の降雨センサーは雨の降り始めはわかるが降り終わりがわからないので雨の強さや降り終わりもわかるボタン電池で動作する超低消費電力なセンサーが作れないものだろうかと考えてみた。

降雨センサーは何種類かあるがそれぞれ一長一短がある。
1.抵抗値(降り終わりがわからない、ヒーター付きは消費電力大)
2.静電容量(降り終わりがわからない、ヒーター付きは消費電力大)
3.電波系(ドップラー方式、消費電力大)
4.光学系(消費電力大)
6.音響系(雨音の検出が難しい?雪は検出できない)

電波系や光学系は電力消費が比較的大きいため雨粒の衝突音を検出する音響系の方法が一番消費電力が低くできる可能性がありそうだ。但し、マイクでは特性が良すぎて不必要な環境音まで拾ってしまい雨粒の衝突音だけを検出するのが少々やっかいそうなので他に使えそうな方法は?と探して見つけたのがピエゾセンサー。楽器用にも使われている振動を検出するためのセンサーであるがマイクより感度は低く周波数特性も良くないが雨粒の衝突音の検出用には使えそうだし値段も安く入手もしやすいので早速試してみた。

アマゾンで購入した安いピエゾセンサーを一般的なオペアンプを使って試したところかなり感度がいい。大きな音や息を吹きかけたりしても反応する。少し感度が良すぎるかも?とは思ったが使えそうなことがわかったのであとは低消費電力化をどうするかだ。実験の結果、超低消費電力(uA未満)で動作するオペアンプはスルーレートが低すぎて使いものにならなかったので超低消費電力(uA未満)で動作するコンパレータのみで実験してみた。

センサーを屋外に置き実際に試してみるとアンプなしではやはり感度不足っぽい気もするがしっかり濡れるぐらいの降雨であれば検出は可能だった。あまり感度が高いと風とか飛行機とか工事の音とか様々な環境音にも反応してしまうのでこれぐらいの感度のほうがいいのかも。使い物になるかどうかは暫く使い込んでみる必要があるけれどね...

【18:06-00:37までの実測データをグラフ化】
最初の山は19時頃、次の山は00時頃で実際に雨が降っていた。風速7-8m程度の比較的強い風だったため風だけでもセンサーが反応してしまっていたが1分毎のデータなので60以下なら風の影響と考えれそう。グラフ設定がうまくできなかったけど雰囲気だけは出てるっぽいな。(笑)

【追記】
2024-05-28
風通しの良い場所にセンサーを移動してみたら風の影響をかなり受けることがわかった。雨が直接当たり風通しの悪い場所に設置するのが良さそうだ。

2024-05-16
整流格子を設置してから風のない日が続いたがようやく体感的にも風の強い日がやってきた。実測はしてないが天気予報の最大値は風速10mでも反応なし。整流格子を設置する前は風速8mで頻繁に反応してたから効果はあると言える。センサーの近くで大きな音をたてたり大音量でスピーカーを鳴らす車が近くを通ると反応してしまうのが気にはなるが人為的なことなので避けようがないから気にしないことにしよう。(-_-;)
今回は実験ということで入力保護回路を省略したが実用とするなら保護回路は必須かな。でもコンパレータだけでこんなにうまく動作するなんてやってみないとわからないもんだね...

2024-04-19
整流格子の効果はまだわからないがアマゾンのアレクサに【雨降ってきた】とか【雨やんだ】とか喋らせることがようやくできた。なかなかうまくいかなくて諦めかけていたがうまくいってしまうとあれもこれも喋らせてみたいとなってしまう中毒性があるようだ。前に作った郵便受け通知もアレクサ対応にしたりして我が家のアレクサはいろんなことを教えてくれるようになったのはいいけれど妻が煩いと思い始めているようなのが気にかかる今日この頃...(-_-;)
今日は快晴だったのになぜか【雨降ってきた】とアレクサが言うので確認してみると雨センサーのすぐ横にお隣の猫ちゃんが...なんかしちゃったのかな?(笑)

2024-04-15
ブロックだけでは風の影響を避けられなかったので3Dプリンターで整流格子というのを作ってみた。適当に9x9x30mmで作ってみたがこれで風の影響が無くなるといいな。でも、ちょっと細かすぎたか?

2024-04-09
筐体がちょうど入るブロックをアマゾンで見つけたので早速設置。これで風の直接の影響は避けられるはずだが...暫くは様子見だな。
設置の時、手が滑って筐体をコンクリの上に落としてしまった。ピエゾセンサーって凄い電圧(最大10V以上も)が出るのがわかってたのに保護回路を入れてなかったので(-_-;)った。その後も動作してるがなんらかの後遺症が残ってるかもと考えたりして余計な心配事が増えちゃった。やっぱり安心のための回路はケチらないほうがいいかも。
それとTWELITEはRED(JN5169)を規定値(0dbm)の送信出力で使っていたが電波がギリ届いてるようで不安定なため高出力(+10dbm)に変更してみたところ逆に悪化してしまった。
調べてみたら高出力にすると送信時の消費電流が倍くらいに増加するためボタン電池ではちょっと厳しいみたい。さらに高出力時の電源電圧は最低2.8V以上とあるのでTWELITEでボタン電池駆動するならRED(JN5169)を選ぶ意味はないということになる。但し、BLUE(JN5164)に収まらないような巨大なファームウェアを実行するならRED(JN5169)一択ではあるが...

2024-04-07
コンパレータを交換してみたらデータシート通りの消費電流であることが確認できた。たまたま最初に使ったチップだけ消費電流が多かったみたい。これで待機時の全消費電流は1uA未満になった。はず。

2024-04-04
最高感度よりも少し下げた設定でもポツポツ降り始めた雨に反応してくれる。でも、びゅ~って突然吹く風にも反応してしまうのが気になる。風のためだけに感度を落としたくないから何か対策してみるか...

2024-04-01
誤動作を防ぐため閾値に余裕を持たせたらかなり感度が悪くなってしまった。現状の回路だと数mVの微妙な電圧調整が必要で温度の影響を受けやすいためコンパレータの閾値には余裕を持たせられるよう前段に増幅回路を入れてゲイン調整するのが適切かも...

と思ったが誤動作の原因が温度変化なら緩やかな変化のはずだから現象としては何かおかしいと思いコンパレータの入力電圧を測ってみるとゆらゆらと数mV程度ぶれている。調べてみるとピエゾセンサーの抵抗値(約2.7M)がゆらゆらと変化することがわかったので直結をやめてコンデンサー経由にしてみたところ電圧は安定。ということで不安定さの原因はピエゾセンサーだった。v(-_-;)

これで前段にオペアンプを入れたのと同程度の感度まで安定に設定できるようになった。あとはコンパレータの消費電流が想定よりも大きいのが解決できたら完璧だ!

2024-03-30
なぜかお昼ごろになると誤動作してしまう。どうやら日中に筐体内部の温度が上がると抵抗値が変化してコンパレータの閾値がかなり変化してしまうらしい。高抵抗の分圧回路で微妙な電圧調整はするなってことだね...温度変化に強い単純な回路にするにはどうするのがいいんだろう?

【回路図】
コンパレータはTS881(210nA)を使ったのだが実測すると4-5uAも流れてた。なぜだろう?

【蓋の裏側にピエゾセンサーを両面テープで貼り付け】

【内部の様子(基板は実験途中の物)】

【蓋を閉めて完成】

省電力化のためコンパレータ出力はスリープ中でも動作するTWELITEのパルスカウンターでカウントしパワーオンやカウントがゼロになったときにディープスリープさせ最初のパルスでウェイクアップさせる。その後はウェイクタイマーにより1分毎にウェイクアップしながらカウントの差分をNVデータ領域にバッファリングしていきカウントがゼロになるまで繰り返す。データはバッファフルになるかカウントがゼロになった時点で送信する。

【ファームウェア(TWELITE)】