Obvod indikátoru stavu baterie Arduino

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto příspěvku budeme konstruovat indikátor stavu baterie založený na Arduinu, kde řada 6 LED zobrazuje úroveň baterie. Pokud máte zájem o monitorování a údržbu vaší 12V baterie, může být tento obvod užitečný.

Proč je monitorování stavu baterie zásadní

Všechny baterie mají určitý limit napětí, které je třeba vybít, pokud překročí předepsaný limit, životnost baterie se drasticky sníží.



Jako nadšenci elektroniky můžeme mít všichni baterii pro testování našich prototypových obvodů. Jelikož se během experimentu soustředíme na prototyp, záleží nám méně na baterii.

Navrhovaný nabíječka baterií obvod vám ukáže, kolik energie v baterii zbývá, může být tento obvod připojen k baterii, zatímco prototypujete své obvody. Pokud tento obvod signalizuje vybitou baterii, můžete baterii nabít. Obvod má 6 LED, po jedné LED svítí, aby indikovalo úroveň napětí baterie.



Pokud je vaše baterie plná, svítí nejvíce LED dioda vlevo a vaše baterie je vybitá nebo brzy zemře, svítí ta pravá LED dioda.

Jak to funguje

LED indikátor stavu baterie pomocí Arduino kódu

Obvod se skládá z Arduina, což je mozek systému, potenciálního děliče, který pomáhá Arduinu vzorkovat vstupní napětí. Ke kalibraci výše uvedeného nastavení se používá přednastavený rezistor. Série 6 LED bude indikovat úroveň nabití baterie.

Kalibrace LED indikátorů

Vztah mezi LED a úrovní baterie je uveden níže:

LED1 - 100% až 80%

LED2 - 80% až 60%

LED3 - 60% až 40%

LED4 - 40% až 20%

LED5 - 20% až 5%

LED6 -<5% (charge your battery)

Arduino měří úzký rozsah napětí od 12,70 V do 11,90 V. Plně nabitá baterie by po odpojení od nabíječky měla mít napětí vyšší než 12,70 V. Nízké napětí baterie nesmí u 12V uzavřené olověné baterie klesnout pod 11,90 V.

Autorův prototyp:

Prototyp indikátoru stavu baterie Arduino

Programový kód:

//--------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---------//

Jak nastavit obvod:

Kalibraci pro tento obvod indikátoru stavu baterie Arduino 6 LED je třeba provést opatrně, pokud jste neprovedli správnou kalibraci, obvod bude zobrazovat nesprávnou úroveň napětí baterie.

Když obvod zapnete, začne testem LED, kde se LED postupně rozsvítí s určitým zpožděním. To vám může pomoci při ladění chyb při ladění LED.

1) Nastavte napětí vašeho variabilního napájecího zdroje přesně na 12,50 V.

2) Otevřete sériový monitor.

3) Otočte přednastavený odpor po směru hodinových ručiček nebo proti směru hodinových ručiček a změřte hodnoty na 12,50 V.

4) Nyní snižte variabilní napájení na 12,00 V, hodnoty na sériovém monitoru by měly ukazovat stejné nebo velmi blízké 12,00 V

5) Nyní zvyšte napětí na 13,00 V, hodnoty na sériovém monitoru by se také měly zobrazovat stejně nebo velmi blízko.

6) Při zvyšování nebo snižování napětí by se každá LED měla zapínat / vypínat s různými úrovněmi napětí.

Jakmile budou výše uvedené kroky úspěšně provedeny, bude váš obvod indikátoru stavu baterie připraven sloužit zamýšlenému účelu.

Přidání automatického vypnutí

Výše vysvětlený obvod indikátoru úrovně baterie Arduino lze dále vylepšit zahrnutím funkce automatického vypnutí plného nabití baterie.

Následující obrázek ukazuje, jak to lze implementovat ve stávajícím návrhu:




Předchozí: Obvod napájení 1,5 V pro nástěnné hodiny Další: Obvod řadiče úrovně skladování materiálu