sakura.ioモジュール(LTE)の省電力機能
sakura.ioモジュールのファームウェア開発を担当しています奥原です。
5/7にリリースしましたファームウェアversion 1.4.0にて、実装予定機能となっていました『省電力管理機能』を追加いたしました。
既存の電力モードに『省電力管理機能』が加わり省電力機能の関係が少々複雑になりましたので、改めてsakura.ioモジュールの省電力機能についてご紹介いたします。
また、省電力機能を使用した際の実測値もご紹介いたします。
sakura.ioモジュールの電力モード
sakura.ioモジュールの電力モードは以下の図のようになります・
sakura.ioモジュールには、ActiveモードとDeepSleepモードがあります。
ActiveモードとDeepSleepモードは外部のマイコンからWAKE_IN端子を制御することで切り替えます。
モード名 | WAKE_IN端子 | 説明 |
---|---|---|
Active | Hi |
動作状態です。 LTE経由でsakura.ioプラットフォームと接続します。 不意の切断があった場合を接続状態を維持するために自動的に再接続を行います。 データの送受信などモジュールの機能が使用できる状態です。 |
DeepSleep | Lo |
停止状態です。 消費電力は最小にするため、WAKE_IN端子の監視以外の機能を停止します。 sakura.ioプラットフォームとの接続が切断されていますので送受信は一切行えません。 |
さらにファームウェアのVersion 1.4.0ではSCM-LTE-01を対象にActiveモード時の待機消費電力を制御する省電力管理機能を追加しました。
省電力管理機能には
- 省電力制御を行わない『省電力制御無効モード』
- 無通信時にLTEモデムのスリープ機能を有効にする『自動スリープモード』
の2つのモードがあります。
モジュールの電源投入後は『省電力制御無効モード』になります。
追加された『省電力モード設定コマンド』でモードを選択します。
省電力モード名 | 設定値 | 説明 |
---|---|---|
省電力機能無効 | 0x00 |
省電力制御を行いません。 従来のファームウェアと同等の振る舞いとなります。 |
オートスリープ | 0x01 | 無通信時にLTEモデムをスリープさせます。 |
省電力機能の使い方
Arduino、python、mbedの各ライブラリに『省電力モード設定コマンド』と『省電力モード取得コマンド』を追加しました。
- Sakura Communication Module for sakura.io Library for Arduino
- Python library for SakuraIO
- SAKURA Internet IoT Communication Module Library for mbed
最新版のライブラリをご使用ください。
また、実例としてsakura.io評価基板で動作するmbedのサンプルプログラムを作成しました。
省電力機能をご使用の際のご参考になさってください。
消費電流の計測
開発バージョンのsakura.io評価ボードを電流計測用に改造し、SCM-LTE-01に流れる電流を以下の機材で計測しました。
- デジタルマルチメータ
- KEYSIGHT 34465A
- 安定化電源
- KIKUSUI PAK20-18A
計測の都合上、安定化電源のフィードバックを有効にしていません。
そのため、電源電圧の変化があり厳密な電流値とはなっていません。
参考値として見ていただければと思います。
DeepSleepモード
待機状態
Activeモード復帰から送信
実際の利用を想定して、DeepSleepモード→Activeモード→接続→データ送信→DeepSleepモードと遷移させたときの消費電流のグラフを以下に示します。
Activeモードに復帰してから128Byteのデータ送信を終えDeepSleepに入るまで約57秒かかっています。
この間の平均電流は約117.1mAです。
57秒のうち接続待ちが約55秒、データ送信に約2秒かかっています。
Activeモードとは違い接続を維持していませんので、電源投入時と同様にLTE接続とsakura.ioプラットフォームへの接続の時間がかかります。
Activeモード(省電力制御無効)
電源投入から待機状態
モジュールの電源投入から待機状態で30分経過するまでの電流値のグラフです。
平均電流は71.5mA、最大電流は408.6mAです。
グラフの10分および20分周辺の消費電流の増加は、10分間隔でsakura.ioプラットフォームに送信している死活監視パケットの送信によるものです。
死活監視パケット送信間の定常状態の平均電流は68.2mA、最大電流は119.0mAです。
送信
データ送信開始から定常状態に戻るまでのグラフです。
約10.3秒かかっており、平均電流は131.8mA、最大電流は285.0mAです。
受信
受信開始から定常状態に戻るまでのグラフです。
約10.4秒かかっており、平均電流は129.6mA、最大電流は366.2mAです。
Activeモード(オートスリープ)
電源投入から待機状態
モジュールの電源投入から待受状態で30分経過するまでの電流値のグラフです。
平均電流は14.1mA、最大電流は399.2mAでした。
死活監視パケット送信間の定常状態の平均電流は9.6mA、最大電流は95.0mA消費しています。
送信
送信開始から定常状態へ戻るまでのグラフです。
約11.2秒かかっており、平均電流は100.0mA、最大電流は375.3mAです。
受信
受信開始から定常状態へ戻るまでのグラフです。
約11.4秒かかっており、平均電流は106.1mA、最大電流は407.0mAです。
さいごに
sakura.ioのリリース時より、将来実装機能としていた『省電力管理機能』をお届けすることができました。
今後もより便利で使いやすいプラットフォームになるように機能追加、機能改善を続けて参りますのでよろしくお願いいたします。