Arduino batteriniveau indikator kredsløb

Prøv Vores Instrument Til At Fjerne Problemer





I dette indlæg skal vi konstruere en Arduino-baseret batteriniveauindikator, hvor en serie på 6 lysdioder viser batteriniveauet. Hvis du er interesseret i overvågning og vedligeholdelse af dit 12V batteri, kan dette kredsløb blive praktisk.

Hvorfor batteriniveauovervågning er afgørende

Alle batterier har en bestemt spændingsgrænse til afladning. Hvis det overskrider den foreskrevne grænse, reduceres batteriets levetid drastisk.



At være elektronikentusiaster har vi muligvis alle et batteri til at teste vores prototype-kredsløb. Da vi koncentrerer os om prototypen under eksperimentet, bekymrer vi os mindre om batteriet.

Det foreslåede batterioplader kredsløb viser dig, hvor meget energi der er tilbage i batteriet, dette kredsløb kan være tilsluttet batteriet, mens du prototyperer dine kredsløb. Når dette kredsløb indikerer lavt batteriniveau, kan du sætte batteriet i opladning. Kredsløbet har 6 lysdioder, en LED lyser ad gangen for at indikere batteriets spændingsniveau.



Hvis dit batteri er fyldt, lyser den venstre LED mest, og dit batteri er død eller ved at dø, den mest lysende LED lyser.

Hvordan det virker

LED-batteriniveauindikator ved hjælp af Arduino-kode

Kredsløbet består af Arduino, som er hjernen i systemet, en potentiel skillevæg, der hjælper Arduino med at prøve indgangsspændingen. En forudindstillet modstand bruges til at kalibrere ovenstående opsætning. Serien på 6 lysdioder indikerer batteriniveauet.

Kalibrering af LED-indikatorer

Forholdet mellem LED og batteriniveau er angivet nedenfor:

LED1 - 100% til 80%

LED2 - 80% til 60%

LED3 - 60% til 40%

LED4 - 40% til 20%

LED5 - 20% til 5%

LED6 -<5% (charge your battery)

Arduino måler et snævert spændingsområde fra 12,70V til 11,90V. Et fuldt opladet batteri skal have spænding over 12,70 V efter frakobling fra opladeren. En lav batterispænding må ikke være under 11,90 V for et 12 V forseglet blysyrebatteri.

Forfatterens prototype:

Arduino Batteritypeindikator prototype

Programkode:

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

Sådan opsættes kredsløbet:

Kalibreringen til dette Arduino 6 LED-batteriniveauindikatorkredsløb skal udføres omhyggeligt. Hvis du ikke kalibrerede korrekt, viser kredsløbet batteriets forkerte spændingsniveau.

Når du tænder for kredsløbet, starter det med LED-test, hvor LED'erne lyser op sekventielt med en vis forsinkelse. Dette kan hjælpe dig med at fejle fejl, mens du arrangerer lysdioderne.

1) Indstil spændingen på din variable strømforsyning til nøjagtigt til 12,50V.

2) Åbn den serielle skærm.

3) Drej den forudindstillede modstand med uret eller mod uret, og bring aflæsningerne til 12,50V.

4) Reducer nu den variable strømforsyning til 12,00V, aflæsningerne på den serielle skærm skal vise det samme eller meget tæt på 12,00V

5) Forøg nu spændingen til 13,00V, aflæsningerne på seriel skærm skal også vise det samme eller meget tæt.

6) På samme tid, når du øger eller formindsker spændingen, skal hver LED tænde / slukke med forskellige spændingsniveauer.

Når ovenstående trin er udført med succes, vil dit batteriniveau indikator kredsløb være klar til at tjene det tilsigtede formål.

Tilføjelse af en automatisk afskæring

Ovenstående forklarede Arduino batteriniveau indikator kredsløb kan forbedres yderligere ved at inkludere en automatisk batteri fuld opladning afskæringsfacilitet.

Følgende figur viser, hvordan dette kan implementeres i det eksisterende design:




Forrige: 1,5V strømforsyningskredsløb til vægur Næste: Material Storage Level Controller Circuit