低バッテリーインジケータ


22

マイクロコントローラーと組み合わせて使用​​できるバッテリー寿命インジケーターを作成したいと考えています。残りの現在のバッテリー寿命を読み取って、バッテリー寿命を維持するためにマイクロコントローラーをますますスリープ状態にできることを望んでいます。


1
どのマイクロコントローラーですか?
ブライアンカールトン

回答:


13

バッテリの電圧を測定する方法に関する主な質問に対する最も簡単な方法は、arduinoのADCピンの1つを使用することです。

バッテリーから5vを供給している場合(ほとんどありません)、アナログ入力ピンの1つに対して+を直接実行し、analogRead()を使用します。値の増分(0〜1023)は4.9mVを表します。そのため、読み取り値に.0049を掛けて、ボルトを読み取ります。

5vより高い(可能性が高い)を実行している場合、分圧回路(http://en.wikipedia.org/wiki/Voltage_dividerを参照)を使用して、アナログ入力に送信している電圧をもたらすことができます<= 5v。12Vを実行している場合、電圧を約1/3に分割する必要があります。次に、ADC値を乗算した後、3を乗算して実際の電圧を取得します。

したがって、12Vと1/3の分圧器を使用する場合:

#define BAT_PIN 14

float read_batt_volts(void) {

  int val = analogRead(BAT_PIN);

  float volts = (float) val * (float) 0.0049 * (float) 3;

  return(volts)
}

!c


2
これに追加する主なものが2つあります。まず、ほとんどの12Vバッテリーは0Vで死ぬことはありませんが、代わりに、フル充電電圧の少なくとも5V以内の非常に近い場所で死にます。動作範囲でより高い分解能の測定値を取得する一般的な手法は、ツェナーダイオードを使用して電圧を下げることです。ツェナーと直列の抵抗器で、抵抗器全体で測定します。第二に、ほとんどの人は、バッテリーから電流を引き出して、残っている電力を把握する必要があることに気付いていません。
Kortuk

@Kortuk:私の学習のために2つの明確化をお願いします:(1)ピン許容電圧範囲内に入るために、ツェナーダイオードアプローチが分圧器方法よりも高い分解能を与えることを提案していますか?(2)なぜここで「電流を引く必要がある...」などと特に述べたのですか?
ボードバイト

22

tinker.itは、Atmega168 / atmega328に「秘密の」電圧レベルメーターを公開しました。Arduinoは少しのトリックを使用して、VCCを内部の精度1.1vリファレンスと比較できます。説明とコードはこちら:https : //provideyourown.com/2012/secret-arduino-voltmeter-measure-battery-voltage/


素晴らしい、バッテリーでatmegaを実行していますが、信頼できるvref値を持つことができませんでした。これを投稿してくれてありがとう、魔法のように私の問題を解決しました!
radhoo

10

シャッタードローンの提案は非常に優れていますが、アナログ電圧リファレンスが測定されている電圧と同じであることを示唆しているため、詳細が欠落しています(明示的に述べられていないArduinoが使用されていると仮定することは別として)。

uCに不可欠なものであれ外部コンポーネントであれ、ADCが必要です。ADCは、入力と比較するためにアナログ電圧リファレンス(ARef)を必要とします。ADCは常に入力電圧と基準電圧が等しいと見なすため、ARefを検出する電圧と同じにしたくないため、検出された電圧のアナログ値は常に最大になります。必要なのは、電源電圧が変化しても変化しない非常に正確なアナログ電圧リファレンスです。ADCはその基準電圧をバッテリー電圧と比較します。分圧器を使用して、検出されるバッテリー電圧をARefの範囲に減らすことができます。

Arduino(Atmega8 / 168/328 /など)にはADCと1.1Vアナログリファレンスが組み込まれているため、必要な外部コンポーネントは分圧器の抵抗だけです。また、抵抗器に非常に高い値を使用して、バッテリーの電流消費を減らしたいと思います。


2
素晴らしい点-そして、あなたは私が(間違って)ミックスでArduinoを仮定したことは正しいです。=)!c
シャッタードローン2009年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.