„Arduino“ akumuliatoriaus lygio indikatoriaus grandinė

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Šiame įraše mes sukursime „Arduino“ pagrįstą akumuliatoriaus lygio indikatorių, kuriame 6 šviesos diodų serija rodo akumuliatoriaus lygį. Jei jus domina 12V akumuliatoriaus stebėjimas ir priežiūra, ši grandinė gali būti naudinga.

Kodėl akumuliatoriaus lygio stebėjimas yra labai svarbus

Visos baterijos turi tam tikrą įtampos iškrovimo ribą, jei ji viršija nustatytą ribą, baterijos tarnavimo laikas smarkiai sumažės.



Būdami elektronikos entuziastai, visi galime turėti akumuliatorių, kad galėtume išbandyti prototipų grandines. Kadangi eksperimento metu sutelkiame dėmesį į prototipą, mažiau rūpinamės baterija.

Siūlomas Akumuliatoriaus įkroviklis grandinė parodys, kiek energijos liko akumuliatoriuje, ši grandinė gali būti prijungta prie akumuliatoriaus, o jūs prototipuojate savo grandines. Kai ši grandinė rodo, kad baterija išsenka, galite ją įkrauti. Kontūre yra 6 šviesos diodai, vienu metu šviečia vienas šviesos diodas, nurodantis akumuliatoriaus įtampos lygį.



Jei jūsų baterija yra pilna, kairysis šviesos diodas šviečia, o jūs akumuliatorius yra išsekęs arba netrukus mirs, dešinysis šviesos diodas šviečia.

Kaip tai veikia

LED baterijos lygio indikatorius naudojant „Arduino“ kodą

Kontūrą sudaro „Arduino“, kuris yra sistemos smegenys, potencialų daliklis, padedantis „Arduino“ atrinkti įėjimo įtampą. Iš anksto nustatytas rezistorius naudojamas kalibruoti aukščiau pateiktą sąranką. 6 šviesos diodų serija parodys akumuliatoriaus įkrovos lygį.

LED indikatorių kalibravimas

Ryšys tarp šviesos diodo ir akumuliatoriaus įkrovos lygio pateiktas žemiau:

LED1 - nuo 100% iki 80%

LED2 - nuo 80% iki 60%

LED3 - nuo 60% iki 40%

LED4 - nuo 40% iki 20%

LED5 - nuo 20% iki 5%

LED6 -<5% (charge your battery)

„Arduino“ matuoja siaurą įtampos diapazoną nuo 12,70 V iki 11,90 V. Pilnai įkrauto akumuliatoriaus įtampa turėtų viršyti 12,70 V, atjungus jį nuo įkroviklio. Maža akumuliatoriaus įtampa 12 V sandariai švino rūgštinei baterijai neturi būti žemesnė kaip 11,90 V.

Autoriaus prototipas:

„Arduino“ akumuliatoriaus lygio indikatoriaus prototipas

Programos kodas:

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

Kaip nustatyti grandinę:

Šios „Arduino 6“ LED akumuliatoriaus lygio indikatoriaus grandinės kalibravimas turi būti atliekamas atsargiai, jei netinkamai sukalibravote, grandinė parodys neteisingą akumuliatoriaus įtampos lygį.

Įjungus grandinę, jis pradedamas nuo šviesos diodų testo, kuriame šviesos diodai šviečia nuosekliai su tam tikru vėlavimu. Tai gali padėti jums derinti klaidas tvarkant šviesos diodus.

1) Kintamo maitinimo šaltinio įtampą nustatykite tiksliai iki 12,50 V.

2) Atidarykite nuoseklųjį monitorių.

3) Pasukite iš anksto nustatytą rezistorių pagal laikrodį arba prieš laikrodį ir parodykite rodmenis iki 12,50 V.

4) Dabar sumažinkite kintamo maitinimo šaltinį iki 12,00 V, nuoseklaus monitoriaus rodmenys turėtų būti tokie patys arba labai artimi 12,00 V

5) Dabar padidinkite įtampą iki 13,00 V, nuoseklaus monitoriaus rodmenys taip pat turėtų rodyti tą patį arba labai arti.

6) Tuo pačiu metu, kai padidinate ar sumažinate įtampą, kiekvienas šviesos diodas turėtų įsijungti / išjungti skirtingais įtampos lygiais.

Sėkmingai atlikus pirmiau nurodytus veiksmus, jūsų akumuliatoriaus lygio indikatoriaus grandinė bus paruošta naudoti pagal paskirtį.

Automatinio išjungimo pridėjimas

Pirmiau paaiškinta „Arduino“ akumuliatoriaus lygio indikatoriaus grandinė gali būti dar labiau patobulinta įtraukiant automatinį akumuliatoriaus pilno įkrovimo išjungimo įrenginį.

Šiame paveikslėlyje parodyta, kaip tai gali būti įgyvendinta esamame projekte:




Pora: 1,5 V maitinimo grandinė sieniniam laikrodžiui Kitas: Medžiagos laikymo lygio valdiklio grandinė