Arduinoバッテリーレベルインジケーター回路

問題を排除するために楽器を試してください





この投稿では、Arduinoベースのバッテリーレベルインジケーターを作成します。ここでは、一連の6つのLEDがバッテリーのレベルを示します。 12Vバッテリーの監視とメンテナンスに興味がある場合は、この回路が便利になる可能性があります。

バッテリーレベルの監視が重要である理由

すべてのバッテリーには放電するための特定の電圧制限があり、規定の制限を超えると、バッテリーの寿命が大幅に短くなります。



エレクトロニクス愛好家である私たちは、プロトタイプ回路をテストするためのバッテリーを持っているかもしれません。実験中は試作品に集中するので、バッテリーはあまり気にしません。

提案された 充電器 回路は、バッテリーに残っているエネルギー量を示します。回路のプロトタイプを作成している間、この回路はバッテリーに接続されている可能性があります。この回路が電池残量低下を示している場合は、電池を充電してください。回路には6つのLEDがあり、バッテリーの電圧レベルを示すために一度に1つのLEDが点灯します。



バッテリーがいっぱいになると、左端のLEDが点灯し、バッテリーが切れているか、もうすぐ切れます。右端のLEDが点灯します。

使い方

Arduinoコードを使用したLEDバッテリーレベルインジケーター

この回路は、システムの頭脳であるArduinoと、Arduinoが入力電圧をサンプリングするのに役立つ分圧器で構成されています。上記の設定を校正するために、プリセット抵抗が使用されます。一連の6つのLEDは、バッテリーレベルを示します。

LEDインジケータの校正

LEDとバッテリーレベルの関係を以下に示します。

LED1 – 100%〜80%

LED2 – 80%〜60%

LED3 – 60%〜40%

LED4-40%から20%

LED5 – 20%〜5%

LED6-<5% (charge your battery)

Arduinoは12.70Vから11.90Vまでの狭い範囲の電圧を測定します。完全に充電されたバッテリーは、充電器から切り離した後、12.70Vを超える電圧になるはずです。密閉型鉛蓄電池の場合、低電圧が11.90Vを下回ってはなりません。

著者のプロトタイプ:

Arduinoバッテリーレベルインジケーターのプロトタイプ

プログラムコード:

//--------Program developed by R.Girish---------//
int analogInput = 0
int f=2
int e=3
int d=4
int c=5
int b=6
int a=7
int s=13
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
Serial.begin(9600)
pinMode(analogInput,INPUT)
pinMode(s,OUTPUT)
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
digitalWrite(s,LOW)
digitalWrite(a,HIGH)
delay(500)
digitalWrite(b,HIGH)
delay(500)
digitalWrite(c,HIGH)
delay(500)
digitalWrite(d,HIGH)
delay(500)
digitalWrite(e,HIGH)
delay(500)
digitalWrite(f,HIGH)
delay(500)
digitalWrite(a,LOW)
digitalWrite(b,LOW)
digitalWrite(c,LOW)
digitalWrite(d,LOW)
digitalWrite(e,LOW)
digitalWrite(f,LOW)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
Serial.println('Input Voltage = ')
Serial.println(vin)
if(vin>12.46) {digitalWrite(a,HIGH)}
else { digitalWrite(a,LOW)}
if(vin12.28) {digitalWrite(b,HIGH)}
else { digitalWrite(b,LOW)}
if(vin12.12) {digitalWrite(c,HIGH)}
else { digitalWrite(c,LOW)}
if(vin11.98) {digitalWrite(d,HIGH)}
else { digitalWrite(d,LOW)}
if(vin11.90){digitalWrite(e,HIGH)}
else {digitalWrite(e,LOW)}
if(vin<=11.90) {digitalWrite(f,HIGH)}
else {digitalWrite(f,LOW)}
delay(2000)
}
//--------Program developed by R.Girish---------//

回路の設定方法:

このArduino6 LEDバッテリーレベルインジケーター回路のキャリブレーションは慎重に行う必要があります。正しくキャリブレーションしなかった場合、回路はバッテリーの誤った電圧レベルを示します。

回路をオンにすると、LEDテストから始まります。LEDテストでは、LEDが少し遅れて順番に点灯します。これは、LEDの配置中にエラーをデバッグするのに役立つ場合があります。

1)可変電源の電圧を正確に12.50Vに設定します。

2)シリアルモニターを開きます。

3)プリセット抵抗を時計回りまたは反時計回りに回転させ、読み取り値を12.50Vにします。

4)ここで、可変電源を12.00Vに下げます。シリアルモニターの読み取り値は、12.00Vと同じか非常に近いはずです。

5)ここで、電圧を13.00Vに上げます。シリアルモニターの読み取り値も、同じか非常に近いはずです。

6)電圧を増減すると同時に、各LEDは異なる電圧レベルでオン/オフする必要があります。

上記の手順が正常に完了すると、バッテリーレベルインジケーター回路は意図した目的を果たす準備が整います。

自動カットオフの追加

上で説明したArduinoバッテリーレベルインジケーター回路は、自動バッテリーフル充電カットオフ機能を含めることでさらに強化できます。

次の図は、これを既存の設計に実装する方法を示しています。




前:壁掛け時計用1.5V電源回路 次へ:資材保管レベルコントローラー回路