Circuitul indicator al nivelului bateriei Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest post, vom construi un indicator de nivel al bateriei bazat pe Arduino, unde o serie de 6 LED-uri arată nivelul bateriei. Dacă sunteți interesat de monitorizarea și întreținerea bateriei dvs. de 12V, acest circuit ar putea deveni util.

De ce monitorizarea nivelului bateriei este crucială

Toate bateriile au o anumită limită de tensiune pentru descărcare, dacă depășește limita prescrisă, durata de viață a bateriei se va reduce drastic.



Fiind pasionați de electronică, s-ar putea să avem cu toții o baterie pentru testarea circuitelor noastre prototip. Din moment ce ne concentrăm pe prototip în timpul experimentului, ne interesează mai puțin bateria.

Propusul încărcător de baterii circuit vă va arăta câtă energie rămasă în baterie, acest circuit poate fi conectat la baterie, în timp ce vă prototipați circuitele. Când acest circuit indică o baterie descărcată, puteți încărca bateria. Circuitul are 6 LED-uri, un LED luminează odată pentru a indica nivelul de tensiune al bateriei.



Dacă bateria este plină, cel mai stâng LED se aprinde și bateria dvs. este moartă sau pe cale să moară, cel mai potrivit LED luminează.

Cum functioneaza

Indicator LED al nivelului bateriei folosind codul Arduino

Circuitul este format din Arduino, care este creierul sistemului, un divizor de potențial care îl ajută pe Arduino să probeze tensiunea de intrare. Un rezistor presetat este folosit pentru a calibra setarea de mai sus. Seria de 6 LED-uri va indica nivelul bateriei.

Indicatori LED de calibrare

Relația dintre LED și nivelul bateriei este dată mai jos:

LED1 - 100% până la 80%

LED2 - 80% până la 60%

LED3 - 60% până la 40%

LED4 - 40% până la 20%

LED5 - 20% până la 5%

LED6 -<5% (charge your battery)

Arduino măsoară o gamă îngustă de tensiune de la 12,70V la 11,90V. O baterie complet încărcată trebuie să aibă tensiune peste 12,70 V după deconectarea de la încărcător. O tensiune scăzută a bateriei nu trebuie să scadă sub 11.90V pentru o baterie plumb-acid sigilată de 12V.

Prototipul autorului:

Prototipul indicatorului de nivel al bateriei Arduino

Codul programului:

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

Cum se configurează circuitul:

Calibrarea pentru acest circuit indicator al nivelului bateriei LED Arduino 6 trebuie făcută cu atenție, dacă nu ați calibrat corect, circuitul va afișa un nivel de tensiune incorect al bateriei.

Când porniți circuitul, acesta începe cu testarea LED-urilor, unde LED-urile luminează secvențial cu o anumită întârziere. Acest lucru vă poate ajuta să depanați erorile în timp ce aranjați LED-urile.

1) Setați tensiunea sursei de alimentare variabile la exact la 12,50V.

2) Deschideți monitorul serial.

3) Rotiți rezistorul presetat în sens orar sau invers în sens orar și aduceți citirile la 12,50V.

4) Acum, reduceți sursa de alimentare variabilă la 12.00V, citirile de pe monitorul serial ar trebui să arate la fel sau foarte aproape de 12.00V

5) Acum, creșteți tensiunea la 13.00V, citirile de pe monitorul serial ar trebui să arate la fel sau foarte aproape.

6) În același timp când creșteți sau micșorați tensiunea, fiecare LED ar trebui să se aprindă / să se stingă cu niveluri de tensiune diferite.

Odată ce pașii de mai sus sunt realizați cu succes, circuitul indicator al nivelului bateriei va fi gata să îndeplinească scopul dorit.

Adăugarea unei tăieri automate

Circuitul indicator al nivelului bateriei Arduino explicat mai sus poate fi îmbunătățit în continuare prin includerea unei facilități de întrerupere a încărcării automate a bateriei.

Următoarea figură arată cum poate fi implementat acest lucru în proiectul existent:




Precedent: Circuit de alimentare de 1,5 V pentru ceas de perete Următorul: Circuitul controlerului de nivel de stocare a materialelor