Circuit de protecție la descărcare a bateriei bazat pe Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest post, vom construi un circuit de protecție împotriva descărcării excesive pentru bateria de 12V folosind Arduino, care poate proteja bateria SLA de 12V împotriva supraîncărcării și, de asemenea, poate proteja sarcina conectată de supratensiune în cazul în care bateria supraîncărcată este conectată.

Înțelegerea tarifelor de încărcare / descărcare a bateriei

Toate bateriile au un declin natural, dar cele mai multe dintre ele se deteriorează din cauza ignoranței din partea utilizatorilor. Durata de viață a bateriei se va scurta dacă tensiunea unei baterii scade sub un anumit grad, în cazul unei baterii SLA de 12V, aceasta nu trebuie să coboare sub 11,80 V.



Acest proiect ar putea fi realizat cu ajutorul comparatoarelor, dar aici folosim microcontroler și codificare pentru a realiza același lucru.

Acest circuit este adecvat pentru sarcini rezistive și alte sarcini care nu generează zgomot în alimentare în timpul funcționării. Încercați să evitați sarcinile inductive, cum ar fi motoarele cu curent continuu periat.



Microcontrolerele sunt sensibile la zgomot și această configurare poate citi valorile tensiunii de eroare în acest caz și poate întrerupe bateria din sarcină la o tensiune greșită.

Cum functioneaza

Protecție la descărcare a bateriei bazată pe Arduino

Discutatul protecție peste descărcare circuitul pentru bateria de 12v constă dintr-un divizor de tensiune care este responsabil pentru reducerea tensiunii de intrare și reducerea la interval îngust, unde arduino poate citi tensiunea.

Rezistorul pre-setat de 10k este utilizat pentru calibrarea citirilor pe arduino, aceste citiri sunt utilizate de arduino pentru a declanșa releul, calibrarea acestei configurări va fi discutată mai târziu în partea de articol.

Un indicator LED este utilizat pentru a indica starea releului. Tranzistorul acționează / oprește releul și o diodă este conectată pe releu pentru oprirea vârfului de înaltă tensiune generat de releu, în timp ce îl pornește / oprește.

Când tensiunea bateriei scade sub 11.80V, releul este pornit și deconectează bateria de la încărcare și se aprinde și indicatorul LED, acest lucru se întâmplă la fel când circuitul citește supratensiunea din baterie, puteți seta întreruperea supratensiunii în program .

Când bateria coboară sub 11.80V, releul deconectează sarcina, releul va reconecta sarcina la baterie numai după ce tensiunea bateriei atinge tensiunea nominală care este setată în program.

Tensiunea nominală este tensiunea normală de funcționare a sarcinii. Mecanismul menționat mai sus se realizează deoarece tensiunea bateriei crește după deconectarea de la sarcină și acest lucru nu trebuie să declanșeze releul pornit la starea bateriei slabe.

Tensiunea nominală din program este setată la 12,70 V, care este tensiunea completă a bateriei bateriilor tipice SLA de 12V (Tensiunea completă a bateriei după deconectarea de la încărcător).

Codul programului:

//---------Program developed by R.Girish----------//
float cutoff = 11.80 //Cutoff voltage
float nominal = 12.70 //Nomial Voltage
float overvoltage = 14.00 //Overvoltage
int analogInput = 0
int out = 8
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
int off=13
void setup()
{
pinMode(analogInput,INPUT)
pinMode(out,OUTPUT)
pinMode(off,OUTPUT)
digitalWrite(off,LOW)
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10)
{
vin=0.0
}
if(vin<=cutoff)
{
digitalWrite(out,HIGH)
}
if(vin>=nominal && vincutoff)
{
digitalWrite(out,LOW)
}
if(vin>=overvoltage)
{
digitalWrite(out,HIGH )
delay(10000)
}
Serial.println('INPUT V= ')
Serial.println(vin)
delay(1000)
}
//---------Program developed by R.Girish----------//

Notă:

float cutoff = 11,80 // Tensiunea de întrerupere
plutitor nominal = 12,70 // Tensiune nominală
plutitor supratensiune = 14.00 // Supratensiune

Puteți modifica limita, valoarea nominală și supratensiunea modificând valorile de mai sus.
Se recomandă să nu modificați aceste valori decât dacă lucrați cu tensiune diferită a bateriei.

Cum se calibrează:

Calibrarea acestui circuit de protecție împotriva descărcării bateriei trebuie făcută cu atenție, aveți nevoie de o sursă de alimentare variabilă, un multimetru bun și un șurubelniță pentru reglarea rezistorului presetat.

1) Configurarea finalizată este conectată la o sursă de alimentare variabilă fără sarcină.
2) Setați cei 13 volți pe sursa de alimentare variabilă, verificați acest lucru folosind multimetrul.
3) Deschideți monitorul serial și rotiți rezistența presetată de 10k în sens orar sau invers și apropiați citirile de citirile multimetrului.
4) Acum, reduceți tensiunea sursei de alimentare variabile la 12V, multimetrul și monitorul serial trebuie să citească aceeași valoare sau foarte aproape.
5) Acum, reduceți tensiunea la 11,80 V, releul trebuie să se aprindă și LED-ul trebuie să se aprindă.
6) Acum, creșteți tensiunea la 14.00V, releul trebuie să se aprindă și LED-ul să se aprindă.
7) Dacă seturile de mai sus au succes, înlocuiți sursa de alimentare variabilă cu o baterie complet încărcată, citirile de pe monitorul serial și multimetru trebuie să fie aceleași sau foarte aproape de ele.
8) Acum conectați sarcina, citirile de pe ambele trebuie să rămână aceleași și sincronizate.
Dacă pașii de mai sus au succes circuitul dvs. este gata să servească bateria.

NOTĂ:

Vă rugăm să rețineți acest punct în timpul calibrării.

Când releul este declanșat din cauza întreruperii de joasă tensiune sau din cauza întreruperii de supratensiune, citirile de pe monitorul serial nu vor citi tensiunea corectă ca pe multimetru și vor fi mai mari sau mai mici decât pe multimetru.

Dar, când tensiunea cade înapoi la tensiunea normală de funcționare, releul se oprește și începe să afișeze tensiunea corectă.

Concluzia punctului de mai sus este că, atunci când releul este pornit, citirile de pe monitorul serial prezintă unele variații semnificative și nu trebuie să vă calibrați din nou în această etapă.




Precedent: Circuit de pompare submersibil controlat cu temporizator Următorul: Circuit de alimentare de 1,5 V pentru ceas de perete