電力節約のためのArduinoスリープ モード

発行者

Arduinoボードは、特に電力が豊富な場合、実験やプロトタイピングに最適なツールです。しかし、電力が問題になる場合はどうなるでしょうか?限られたバッテリーで稼働している場合でも、太陽光発電を使用してリモート監視シナリオで作業している場合でも、1ミリアンペアでも重要になる場合があります。デバイスの電力消費量(使用時および休止時)は、アプリケーションに大きな違いをもたらす可能性があります。

電力消費

世界で人気のあるオプションをいくつか見てみましょう マイクロコントローラボード。 空のプログラム(Arduino IDEで新しい空のファイルを開いたときの状態)で通常どおり実行した場合、次の電力消費値が観測されました。

  • Arduino Uno (ATmega328P):47mA
  • Sparkfun Pro Micro 5V (ATmega32U4): 36mA
  • Arduino Pro Mini 5V (ATmega328P): 16mA

これらの値は大した電力のようには思えませんが、変換損失やその他の非効率性を無視すると、Arduino Unoは理論的には750mAh 3.7V LiPoから12時間以内に電力を使い果たしてしまうことを考慮してください。比較的効率的なPro Miniでも、完璧な条件下では約35時間しか持続しません。実際のアプリケーションでは、両方の時間が大幅に短くなります。もっと良い解決策があるはずです。

Arduinoスリープモード

偶然ですが、スリープモードというものがあります。実際、Arduino IDEでは、いくつかの種類の低電力スリープ モードが利用できます。

  • スリープモード
  • スリープモード
  • スリープモード
  • スリープモードスタンバイ
  • スリープモード_電源ダウン

このリストは、電力節約が最も少なく、最もアクティブな機能から始まり、電力節約が最も大きい順に並べられています。SLEEP_MODE_PWR_DOWNでは、ほとんどのプロセッサ機能がオフになります。SLEEP_MODE_PWR_DOWNの簡単なテストでは、 コードはここにあります以下にリストします:

#include<avr/sleep.h>

voidセットアップ ()

{

スリープモードを設定します(SLEEP_MODE_PWR_DOWN)。

スリープを有効にする();

スリープ解除

} // セットアップ終了

voidループ () { }

そのコードをそれぞれのボードにロードすると、次のようになります。

  • Arduino Uno: 24mA
  • Sparkfun Pro Micro 5V: 5mA
  • Arduino Pro Mini 5V: 0.63mA

Unoをスリープ状態にすると、電力消費が約半分に節約されます。これは改善されましたが、Unoは依然としてUSBインターフェイス チップ、電圧レギュレータ、および電源LEDに電力を供給する必要があるため、素晴らしいとは言えません。Pro microでは、消費電力が約7 ~ 5mA削減されます。これは、スリープ モードに入るチップがUSBインターフェイスも処理するため、スリープ効率が大幅に向上したと考えられます。

ただし、Pro Miniはスリープ モードでは非常に効率的です。Pro Miniの電力消費量はわずか0.63mAで、スリープ状態のUnoの2.6% にすぎません。独自のFTDIデバイスを用意する必要があるため、このボードのプログラミングは少し難しくなります。しかし、電力を節約する必要があるプロジェクトの場合、Pro Miniが明らかに勝者です。

一方、必要な場合は 非常に 低消費電力のATTiny85のVバージョンでは、  1.8V、1MHzで動作し、消費電力は以下のみ:

  • アクティブ: 300μA、または0.3mA
  • パワーダウンモード: in.001μA. または .003mA

ATTiny85は、アクティブで完全に機能しているときに、スリープ状態の5V Pro Miniの半分の電流を消費します。ご興味があれば、この素晴らしいチップを使い始める方法を概説しました。

Arduinoウェイクアップ

スリープ モードは、断続的なタスクを実行するアプリケーションに役立ちます。たとえば、センサーまたはリアルタイム クロック (RTC) モジュールは、タスクを実行する必要があるときに割り込みをpingして起動することができます。また、リセット ピンを使用してシステムを再起動し、システムが機能を実行した後、スリープ状態に戻ることもできます。すべてのプロジェクトで必要になるわけではありませんが、マイクロコントローラをスリープ状態にできることは、マイクロコントローラ プログラミング ツールボックスに備えておくと便利なスキルです。

最新ニュース

申し訳ございませんが、フィルター選択では結果が返されませんでした。

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here