Obwód wskaźnika poziomu baterii Arduino

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym poście zamierzamy zbudować wskaźnik poziomu baterii oparty na Arduino, w którym szereg 6 diod LED pokazuje poziom baterii. Jeśli jesteś zainteresowany monitorowaniem i konserwacją swojego akumulatora 12 V, ten obwód może się przydać.

Dlaczego monitorowanie poziomu baterii jest kluczowe

Wszystkie akumulatory mają określony limit napięcia do rozładowania, jeśli przekroczy on określony limit, żywotność akumulatora drastycznie się zmniejszy.



Jako entuzjaści elektroniki wszyscy możemy mieć baterię do testowania naszych prototypowych obwodów. Ponieważ podczas eksperymentu koncentrujemy się na prototypie, mniej zależy nam na baterii.

Zaproponowany ładowarka Obwód pokaże, ile energii pozostało w akumulatorze, ten obwód może być podłączony do akumulatora, podczas prototypowania obwodów. Gdy ten obwód wskazuje niski poziom naładowania baterii, można ją naładować. Obwód ma 6 diod LED, z których jedna świeci się na raz, wskazując poziom napięcia akumulatora.



Jeśli bateria jest pełna, świeci skrajna lewa dioda LED, a bateria jest wyczerpana lub prawie umrze, zaświeci się najbardziej prawy skrajny wskaźnik LED.

Jak to działa

Wskaźnik poziomu baterii LED wykorzystujący kod Arduino

Obwód składa się z Arduino, które jest mózgiem systemu, dzielnikiem potencjału, który pomaga Arduino próbkować napięcie wejściowe. Do kalibracji powyższej konfiguracji używany jest wstępnie ustawiony rezystor. Szereg 6 diod LED wskaże poziom naładowania baterii.

Kalibracja wskaźników LED

Zależność między diodą LED a poziomem naładowania baterii jest podana poniżej:

LED1 - od 100% do 80%

LED2 - 80% do 60%

LED3 - od 60% do 40%

LED4 - 40% do 20%

LED5 - 20% do 5%

LED6 -<5% (charge your battery)

Arduino mierzy wąski zakres napięcia od 12,70 V do 11,90 V. W pełni naładowany akumulator po odłączeniu od ładowarki powinien mieć napięcie powyżej 12,70 V. Niskie napięcie akumulatora nie może spaść poniżej 11,90 V dla szczelnego akumulatora kwasowo-ołowiowego 12 V.

Prototyp autora:

Prototyp wskaźnika poziomu baterii Arduino

Kod programu:

//--------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 skonfigurować obwód:

Kalibrację tego obwodu wskaźnika poziomu baterii Arduino 6 LED należy wykonać ostrożnie, jeśli nie skalibrowałeś poprawnie, obwód pokaże nieprawidłowy poziom napięcia baterii.

Po włączeniu obwód zaczyna się od testu diod LED, w którym diody LED świecą sekwencyjnie z pewnym opóźnieniem. Może to pomóc w usuwaniu błędów podczas rozmieszczania diod LED.

1) Ustaw napięcie zmiennego źródła zasilania dokładnie na 12,50 V.

2) Otwórz monitor szeregowy.

3) Obróć ustawiony rezystor zgodnie z ruchem wskazówek zegara lub przeciwnie do zegara i ustaw odczyty na 12,50V.

4) Teraz zmniejsz zmienne zasilanie do 12,00 V, odczyty na monitorze szeregowym powinny pokazywać to samo lub bardzo blisko 12,00 V

5) Teraz zwiększ napięcie do 13,00V, odczyty na monitorze szeregowym powinny również pokazywać takie same lub bardzo zbliżone.

6) W tym samym czasie, gdy zwiększasz lub zmniejszasz napięcie, każda dioda LED powinna włączać się / wyłączać z różnymi poziomami napięcia.

Po pomyślnym wykonaniu powyższych kroków obwód wskaźnika poziomu baterii będzie gotowy do pełnienia zamierzonego celu.

Dodawanie automatycznego odcinania

Wyjaśniony powyżej obwód wskaźnika poziomu baterii Arduino można dodatkowo ulepszyć poprzez włączenie funkcji automatycznego odcięcia pełnego naładowania baterii.

Poniższy rysunek pokazuje, jak można to zaimplementować w istniejącym projekcie:




Poprzedni: Obwód zasilania 1,5 V do zegara ściennego Dalej: Obwód kontrolera poziomu magazynowania materiału