9Vバッテリーから電力を供給するArduino


16

昨日の午後、Arduinoを新しいアルカリ9Vバッテリー(+ Vinに接続--GNDに接続)で実行したままにしました。今日の朝(16時間後)にLCDディスプレイが見えなくなったため、電圧を測定したところ、バッテリーが使い果たされて驚いていました。アイドル電圧はわずか7 Vでした。

私のデバイスは、LCDバックライトと2つのDS18B20センサーを備えたLCD 2x16を備えたArduino Unoです。このようなデバイスが9Vバッテリーをこれほど速く消耗させるのは正常ですか?

バッテリー寿命を延ばすためのArduinoの省電力オプションとは何ですか(またはどのように使用しますか)への回答を読みました。質問と私は私が見るものはこれに関連しているかもしれないと思うが、私は確信していない。もしそうなら、Arduinoをバッテリーで効率的に接続するための一般的な回路図はありますか?


マルチメーターを取り付けて、ディスプレイ全体とセンサーを取り外した状態で、バッテリーからの電流を測定してみます。それが力のほとんどを引っ張る何か他のものである場合、arduinoを最適化しようとしないでください。
BowlOfRed 14

@bowlofred「バッテリーからの電流を測定する」-でも、最初に新しい9Vセルを購入する必要があります。:)
スマ14

1
9Vバッテリーは小さく、約500mAhです。LCDバックライトだけで数時間以内にそれを殺します。
ホッブズ14

省電力のためのより根本的なアプローチ:1. Arduinoの代わりにTI MSP430ボードを使用します。2.非線形レギュレーターの使用。3.バックライトなしでLCDを使用します(電卓など)。
Vi。

@bowlofred全電流は61 mAです。バックライトなしで57 mA、LCDおよびセンサーなしで56 mAです。
須磨14

回答:


21

消費電力

Arduinoボードは、同様の機能を備えた他の組み込みシステムと比較して、かなりの電力を使用します。

3つの主な要因があります。

  • Arduino UNO R3(回路図)のNCP1117(データシート)5Vリニアレギュレータの静止電流は約6mAです。

  • ATMega328P(データシート)は、約5mA @ 8MHzおよび5Vを消費し、おそらく16MHzの2倍以上を消費します。

  • user2973: USB通信に使用されるATMega16U2も約13mAを消費します。

LEDやその他の周辺機器にも電流が流れます。回路では、LCDバックライトもおそらく4mAを消費しています。

リニアレギュレータを介して9Vから5Vに低下すると、4Vの低下によりレギュレータのほぼ半分の電力が失われます。Duncanによれば、これは9Vからの静止電力消費量と5VのmAごとに必要な電力をほぼ2倍にします。これは、電力の4/9が電圧レギュレータによって熱として浪費されるためです。効率的なスイッチングレギュレータは、無駄なエネルギーをほとんど消費せずに5Vを出力し、バッテリーが消費する電流を4分の9に削減します。

デュラセルの9Vバッテリー(データシート)は、50mAの電流で約7.5時間で9Vから7Vに低下します。したがって、大まかな推測では、回路には約25mAが流れますが、これは回路の説明に基づいてほぼ正しいと思われます。

アルカリ電池の寿命は、電流に関して非線形です。非常に小さな電流(<1mA)の場合、アルカリの寿命はリチウム電池の寿命に近づきます。

電流を下げる

消費電流を抑えるためのヒントを次に示します。

  • レギュレーター:レギュレーターを低静止電流のスイッチングレギュレーター、またはより良いのはスイッチングレギュレーター(低静止電流のスイッチングレギュレーター)に置き換えます。スイッチングレギュレータは、電流の「パルス」といくつかの外部インダクタおよびコンデンサを使用して、妥当な安定した電圧出力を提供します。リニアレギュレータの電圧降下のようにエネルギーを浪費せず、90%の高効率が可能です。

    • バッテリを入力として使用し、VINとレギュレータをバイパスして、5VとGNDに直接接続する降圧(降圧)コンバータがあります。これはPololu製で、ステップアップとダウンの両方を行い、静止電流は0.1mAです。
    • または、1.5Vアルカリ電池とブースト(ステップアップ)コンバーターを使用して、最大5Vの電圧を得ることができます(たとえば、Sparkfunのこの製品)。ブーストコンバーターはより一般的に在庫されているようです。
    • 最後に、充電シールド付きの充電式リチウム電池を購入できます。この利点は、新しい電池を購入する必要がないことです。9V電池よりも少し大きい場合、リチウム電池の容量ははるかに大きくなります。本当にクールな製品は、充電回路、バッテリー、ソーラーパネル、その他のグッズを含むseeeduinoのストーカー防水キットです。
  • ATMega328P:使用するのではなく、delayタイミング、スピニングのためにloop延々と起こるために何かを待って、あなたのコードを再書き込み、それはセンサーの間にスリープ状態になるように読み込み、などいくつかあり、低消費電力ライブラリはその使用がためのウォッチドッグタイマはそこに便利な睡眠からの定期的な目覚め。ATMega328Pの消費電流は、スリープ中に0.1mA未満になります。

  • LCD:バックライトまたはLCD全体をオフにします。デザインにボタンを追加します。ユーザーがこのボタンを押すと、LCDがアクティブになり、一定量の非アクティブ後にLCDがオフになります。

  • 周辺機器:ほとんどの周辺機器チップには、消費電力を大幅に削減するスリープモードもあります。電源LEDおよび必要のないその他のインジケータを取り外します。

  • ATMegu16U2: user2973のコメントこのチップはかなり電力を消費しているようです(user2973)。電力を節約するために取り外して、代わりにUARTを使用することもできますが、それはやり過ぎのようです。UNOの代わりに使用できるUSBインターフェイスのないArduinoだけのArduino Proボードがあります。

  • バッテリー:他のアルカリ電池の容量ははるかに大きくなります。たとえば、1.5V AAは低電流用に2000mAhを超えています。AAセルとブーストコンバーターを使用すると、バッテリーを交換するまでの時間が長くなる可能性があります。Dセル(16000mAh)を使用すると、かなりの時間実行されます。:D

概要

適切な電源とコーディングを使用すると、バッテリーの寿命を十分に確保できます。上記の原則を使用して、いくつかのセンサーを測定し、読み取り値を0.5秒ごとにSDカードに保存するArduino派生ボードを作成しました。2本の単三電池で約4か月間持続するため、低電力でArduinoエコシステムを維持することは明確に可能です。

ボードで低電力に使用したチップはLTC3525-3.3Vです。0.8Vという低い入力電圧で最大3.3Vまでブーストし、5Vバージョンも利用可能です。既製のブレイクアウトがなかったため、このチップ用のPCBを設計しました。データシートにはリファレンスデザインがあります。このチップを選択するための主な基準は、非常に低い電流で高い効率が得られることでした。他のコンバータの中には、小さな最小電流が必要なものがあります。

ボード上の最大の電力消費者は、マイクロSDカードでした。メーカーに応じて、0.1mA〜1.5mAのアイドル電流が変化します。VerbatimとLexarのカードの消費電力が最も少ないことがわかりました。私は意志これEE.SEの質問私のマイクロSDカードの消費電力テストの結果を最新の状態に。


1
良い徹底的な答え。注:シリアルatmega16u2に対するusbの消費電力は、他の問題を解決した後に非常に大きくなります。
user2973 14

@ user2973あなたはそれが何であるかを知っていますか?データシートから典型的な特性を取得することはできますが、ファームウェアにスリープ状態があるかどうかわからないので、それを入れませんでした。正常に動作している場合は、5mAで12mAであり、これは大きな魅力です。
geometrikal

@ geometrikal、2本の単三電池でArduinoに電力を供給する方法は?これはわずか3ボルトで、最小値を下回っています。あなたが言及した電源はバック/ブースト電源ですか?(方法による優れた回答<投票>)
ダンカンC 14

1
@ geometrikal、SparkFunのようなバック電源の1つへのリンクを投稿してもいいですか?私はいくつかの検索を行っただけで見つけることができません。従来の電圧レギュレータからのアイドル電流は非常に大きいため、長寿命の場合、降圧スタイルの電源が重要と思われます。
ダンカンC 14

1
@geometrikal、あなたは「...リニアレギュレータを介して9Vを5Vに落とすとき、その4Vの低下のためにレギュレータのほとんどの電力が失われます」と言いました。 5VのすべてのmAに必要な電力は?(電力の4/9が電圧レギュレータによって熱として浪費されるため。)TSR 1-2450のような降圧コンバーターで実行する方が良いようです
ダンカンC 14

3

Arduino Unoはそのようなプロジェクトには適さないと思います。@geometrikalが正しく指摘しているように、ボード上の一部のコンポーネントは非常に多くのアンプを消費します。あなたが挑戦しているなら、私はあなたのプロジェクトを別のレベルに持って行き、骨を折ることを勧めます。

Sparkfunには、Arduino Unoにも搭載されているATmega328を使用して、バッテリー寿命を延ばす方法に関する優れた記事があります:https : //www.sparkfun.com/tutorials/309

本当に必要なコンポーネントだけで回路を作成し、マイクロコントローラーを可能な限りスリープ状態にする方法を探してください。


1

別のオプションは、このボードのように、そのために設計されたハードウェア(Arduinoクローン)を探すことです:https : //bitbucket.org/talk2/whisper-node-avr/overview

このようなハードウェアと省電力コードテクニックを組み合わせると、バッテリーで非常に長い時間プロジェクトを実行できるはずです。

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