LTE-M Button Plus 「ひげボタン」の接点信号のONとOFFの両方をエッジで検出して、それぞれLongまたはDoubleで送信を3月からランニングテストしています。
ハートビートとして、1日1回のシングルクリック送信もタイマー機能で実行することで、約240回のシングルクリックと数10回のダブル/ロングクリックを送信しています。
7か月を過ぎ安定して通知を行っているので、ボードも基板を起こして見栄えも良くしました。ここまでの経緯です。
通常時にスイッチOn(閉)で時々スイッチOff(開)にするノーマルクローズの運用です。
LTE-Mボタンの送信回数は約350回を超え、BatteryLevelが0.75と少し減ってきました。
ATtinyで作成したボードはボードの単3電池2本は、開始時の 1.36V が 1.34V へ少し減りましたがまだしばらく持ちそうです。
ランニングテスト
マグネットでOn/Offするドアセンサースイッチ(リードスイッチ)を通常は閉じた状態(On)で、時々気が向いた時に開(Off)にしました。
ドアに取り付けた場合に通常は閉まっていて、時々開くような場面を想定しています。
動物を捕獲する檻であれば、扉が開いている位置にセンサースイッチを取り付けて、扉が閉まった時にスイッチが開となるような想定です。
これだとスイッチに動きがないといつまでたっても送信がありません。
設備に取り付けたり動物の罠であれば正常に動作していることを確認したいので定期的に自動で送信するハートビート機能を追加しています。
ATtinyのタイマーで約24時間間隔で、Singleクリックを送信します。
送信機能はこうなります。
(1) スイッチ開 = 接点Off : Doubleクリック送信
(2) スイッチ閉 = 接点On :Longクリック送信
(3) 約24時間間隔ハートビート : Singleクリック送信
送信結果
期間: 3/15 -11/10 : 240日間、8か月弱
・ 1日1回のハートビート送信(Singleクリック)。タイマーにより自動。: 計240回
・ スイッチの開閉 : 基本的にスイッチを閉じた状態で、時々スイッチ開にしました :数10回。直近は11/8に動作確認しました。
今のところ正常です。
SORACOM Funk – AWS Lambda – Slack で通知しています。
以前は LINE Notifyで通知でしたが、Slackに変更しました。
電池残量
LTE-Mボタン
11/8 からBatteryLevel 0.75 になりました。約350回送信。
エッジ検出ボード
中古の単3電池2個を使用しています。中古の電池なので最初から容量が少ないはずです。
1.36V(2.72V) が 1.34V(2.68V) になりました。まだまだ頑張って欲しい。
通信量・料金
LTE-Mなのでランニングコストは超絶安いです。
1か月あたり2020/10月は 106円でした。基本料金100円+通信料金6円。送信35回ぐらいとSORACOM FunkによるAWS Lambdaへのリクエスト送信です。
基本料金が大部分。ハートビート送信しなければほぼ基本料金ですね。
FusionPCBで基板を作る
ユニバーサル基板で配線していたのですが、調子よく運用しているので基板を起こして見栄え良くすることにしました。
KiCadで回路図とガーバーデータを作成してFusionPCBに発注しました。(KiCadとFusionPCBについては関連記事も参照ください)
Seeed FusionPCB https://www.fusionpcb.jp/
DHLで10日ほどで配達されました。
ひげの先に付ける基板なので “Hige Plus” と名付けてみました。
11/8に交換しました。ATtinyと電池は同じものを使用しているのでランニングテストへの影響はないはずです。
Hige Plus
そんな訳で、「Hige Plus」と名付けたエッジ検出ボードですが
回路の詳細については過去の記事を参照してください。概要を書いておきます。
エッジ検出回路
LTE-M Button Plusは基本的な使い方として Normaly Open の接点が閉じたとき(ONになった時)を検知しします。
「接点信号のONは検出できるが、Offを検出できません。」仕様にも「信号検知: Open -> Close の片エッジ」とあります。
そのためOn/Offの際の立上りエッジと立下りエッジを検出して、LTE-Mボタンへパルス信号を送りDouble、Longクリック信号を送信する回路をATtinyを使用して作りました。
(シルクの 200M は 200Kの間違い)
消費電力の削減
5月からはリードスイッチの入力端子のプルアップをATiny内蔵プルアップから外部抵抗に変更しました。
プルアップ抵抗を大きくして、リードスイッチが閉じている場合の消費電流を小さくするためです。
リードスイッチが閉じている場合はプルアップ抵抗からGNDへ電流が流れるので、当然抵抗値が大きい方が
20kΩ – 510kΩを試してみて消費電流を測定してみました。
ATtinyの内部プルアップ抵抗は確認していませんが、一般的な数10kΩと勝手に予測しています。
こちら
横軸:プルアップ抵抗 kΩ
縦軸:消費電流 μA : ATtinyがスリープ中にテスターで実測した乾電池からの電源電流
200kΩまで大きくすると20μAとなり、大きく消費電流が低下していることが解ります。それ以上は効果が鈍くなります。
そんな訳でプルアップ抵抗は 200kΩ としました。
ATtiny起動中に接点Onを検出すると 2mA程度消費することも確認しましたが、数10msec程度の間なので、
電池の消耗には運用のほとんどを占めるスリープ中の影響が大きいです。
これでスリープ時 0.02mA なので、理論上は次の電池容量2000mAhであれば 10万時間(=11年)動作するはず。いくらなんでもそれは無いと思いますが。
ウェイクアップ時を加味しても1年は持ってくれそうと期待します。
参考:電池の容量
アルカリ乾電池の容量は条件による差が大きいらしく一般的には表記されていないようです。
Wikipediaによると
単3形、2,000 – 2,700mAh (Wikipedia-乾電池より)
2000mAhとして、消費電流が0.2mAであれば 10,000時間なので、1年以上は持つ計算です。
まとめ
LTE-M Button Plus を連続運用してそろそろ8か月近くになります。毎日SlackにSingleクリックのメッセージが届いています。
時々ドアセンサースイッチを開閉してLongクリックとDoubleクリックが送信されることを確認しています。
LTE-M Button Plus 単体ではNormaly OpenからのクローズによるONのみの検出なので、On/Off両方検出すると便利かと思います。送信間隔は検討が必要ですがハートビートを定期送信するのも設備関連の監視には安心かと。
電池も持ちそうなので、余分に作った基板を有効利用するためにもにもいずれ需要があると嬉しいなと思いつつ、次の目標である1年を目指してランニングテストを続けます。
関連記事
SORACOM LTE-M Button Plusから接点のOnとOffで異なるクリックを送信する
SORACOM LTE-M Button Plusで接点のOnとOffを送信する(2) – 電池駆動デバイス化