Raspberry Pi GPS / GSMトラッカーの電力削減


10

私は最近、大学のプロジェクトのためにPi Zeroを備えた完全に機能するIoT GPS / GSMトラッカーを構築しましたが、これで完了しました。2つの2500mAhバッテリーでしか電力を供給できないため、システム全体の消費電流を最小限に抑えたいと思いますせいぜい1〜2日。ただし、私はまだこれらのデバイスを使い始めていないため、ハードウェアの変更とテクニックに関していくつかの助けが欲しいです。

私の目標:最小限の電力消費で最小限のフォームファクター(特に高さ)を持つPythonスクリプトを実行できるデバイス。

私の現在のセットアップは次を使用します:


電力を消費するArduinoとMSP430については知っていますが、これらのマイクロコントローラーで必要なことを実行できるかどうかはわかりません。

私の質問は:

  1. Raspberry Piからより多くの必要最低限​​のボードに移行するための学習曲線はどのくらい急ですか?
  2. これらの他のボードでGSM / GPS /加速度計を同時に実行できますか?
  3. 同じ機能を提供するが消費電力が少ない他のモジュールはありますか?(これらのモジュールの特定の電力番号が見つかりません)
  4. たとえば、現在のモジュールはMSP430で動作しますか?
  5. 推奨事項/コメントはありますか?

3
これらはかなりの数の質問です。もう少し集中すれば、より良い答えが得られるでしょう。
ヘルマー

1
この質問は少し簡単すぎて、簡単に答えることができません。既存の設計を参照してから、機能要件とインターフェースを定義することをお勧めします。あなたは、現時点で答えている誰にでも建築調査の多くを任せています-そしておそらくあなたはすでにこれらに対する答えを得ています。
Sean Houlihane 2017

回答:


8

デバイスの処理要件はほぼゼロであると想定します。GSMデバイスをウェイクアップする頻度を決定するために、加速度入力を使用しているようです。

理想的には、加速度計からトリガーしてスリープからウェイクアップし、ロケーションpingを送信するタイミングを決定できるMCUが必要です。micro-pythonベースのデバイスはすべて、出発点として適しています。

小さなボードの電力消費の例として、BBCマイクロビットは、ディスプレイがオフのときに数ミリアンペアを使用するようです(16 MHzで動作し、オンボードの加速度計/マゼントメーターに電力が供給されています)。

Micropythonは「スリープ」をサポートしますが、ターゲットプラットフォームによってどれだけ電力が節約されるかによって異なります。現実的には、この種のアプリケーションでは、C ++組み込みオペレーティングシステムのコーディングは難しくなく、柔軟性を高めて電力を少し節約できます。

消費電力を計算する最初の段階は、さまざまなモードを特定し、各タスクにエネルギーコストを割り当てることです。これにより、GPS / GSMメッセージのコストをベースラインの1日のアイドル電力(何もしない)と比較できます。次に、各コンポーネントで使用できる節約量を確認できます。GSMモジュールが1日に数分間しかアクティブになっていない場合、その電力消費はごくわずかです。


1
スリープはおそらく進むべき道であり、加速度計によってだけでなく、タイマーまたは(OP質問で欠落している)ユースケースに関連する何かによってウェイクアップをトリガーします
Rsf

5

私の経験では、GSMおよびGPSモジュールはプロセッサよりもはるかに多くの電力を消費します。これらの両方には多くのRF回路が含まれており、GSMモジュールは送信だけでなく受信も行う必要があるため、これは予想されることです。

最初のステップは、プロトタイプを再構成して、各部品が消費する電力を監視できるようにすることです。これを特性化したら、おそらく電源制御回路を実装して、必要なときにのみGPSおよびGSMモジュールをオンにする必要があります。それらをオフに保つ余裕がある時間が長いほど、バッテリーの寿命が長くなります。

GSMとGPSの両方のプロトコルの問題の1つは、ユニットがかなりの期間オフになっている場合、接続の再確立に時間がかかり、これによりGPSとデータ回路の可用性を最初に修正する時間が長くなることです。 GSM。


5

MicroPythonを使用すると、消費するPi Zeroから他のプラットフォームに切り替えることができます。公式PyBoardがあるSTM32F405RG良い十分ではなく、だけでなく、低消費電力のSTM32L4シリーズのサポートがある可能性があります。

現在、1 GHzでPi Zeroを実行して、UARTとI2Cペリフェラルを使用してSIM808とLSM303をインターフェースしています。Pi アイドル状態で約80 mA消費します。そうでない場合はそうではありません。

CPUクロック周波数を下げることができれば、消費電力も下げることができます。このタスクでは、数MHzで十分です。

したがって、すべての周辺機器をオンにした実行モードで、10 MHzで数mAしか消費しないPyBoardに変更できます。

ここに画像の説明を入力してください

停止モードでは0.4 mA以下、スタンバイモードでは2.4 uAです。

おそらく、スクリプトをMicroPythonに移植する必要がありますが、Cに移植するよりも簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.