- Mod CC și CV pentru încărcător de baterie:
- Diagrama circuitului
- LM317 Regulator de curent
- Regulator de tensiune LM317
- Aranjament releu pentru a comuta între modul CC și modul CV
- Măsurarea tensiunii bateriei cu litiu
- Măsurarea curentului de încărcare
- Arduino și LCD
- Proiectare și fabricare PCB folosind EasyEDA
- Calcularea și comandarea eșantioanelor online
- Programarea Arduino pentru încărcare în două trepte a bateriei cu litiu
- Funcționarea încărcătorului de baterie litiu de 7.4V în doi pași
Progresul în vehicule electrice, drone și alte dispozitive electronice mobile, cum ar fi dispozitivele IoT, pare să fie promițător pentru viitor. Un lucru obișnuit printre toate acestea este că toate sunt alimentate cu baterii. În conformitate cu legea lui Moore, dispozitivele electronice tind să devină mai mici și mai potabile, aceste dispozitive portabile ar trebui să aibă propria sursă de energie pentru a funcționa. Cea mai obișnuită alegere a bateriei pentru electronice portabile astăzi este bateriile litiu-ion sau litiu-polimer. În timp ce aceste baterii au o densitate de încărcare foarte bună, acestea sunt instabile din punct de vedere chimic în condiții dure, prin urmare, trebuie să aveți grijă la încărcarea și utilizarea lor.
În acest proiect vom construi un încărcător de baterii în două etape (CC și CV) care ar putea fi folosit pentru a încărca baterii de litiu-ion sau litiu-polimer. Circuitul de încărcare a bateriei este proiectat pentru 7,4V acumulator litiu (două 18650 în serie) pe care le folosesc în mod obișnuit în majoritatea robotica de proiect, dar circuitul poate fi modificat cu ușurință pentru a se potrivi în pachete mai mici sau ușor mai ridicat al bateriei pentru a construi cum ar fi 3,7 baterie de litiu încărcător sau Încărcător de baterie litiu-ion de 12v. După cum s-ar putea să știți, există încărcătoare gata disponibile pentru aceste baterii, dar cele ieftine sunt foarte lente, iar cele rapide sunt foarte scumpe. Deci, în acest circuit am decis să construiesc un încărcător simplu cu circuite integrate LM317 cu mod CC și CV. De asemenea, ce este mai distractiv decât să-ți construiești propriul obiect gadget și să înveți în acest proces.
Nu uitați că bateriile cu litiu trebuie manipulate cu atenție. Supraîncărcarea sau scurtcircuitul poate duce la explozie și pericol de incendiu, așa că stați în siguranță în jurul acestuia. Dacă sunteți complet nou în ceea ce privește bateriile cu litiu, vă recomand cu tărie să citiți articolul despre bateriile cu litiu, înainte de a continua. Acestea fiind spuse, să intrăm în proiect.
Mod CC și CV pentru încărcător de baterie:
Încărcătorul pe care intenționăm să îl construim aici este un încărcător în doi pași, ceea ce înseamnă că va avea două moduri de încărcare și anume încărcare constantă (CC) și tensiune constantă (CV). Combinând aceste două moduri vom putea încărca bateria mai repede decât de obicei.
Încărcare constantă (CC):
Primul mod care va intra în funcțiune va fi modul CC. Aici cantitatea de curent de încărcare care ar trebui să intre în baterie este fixă. Pentru a menține acest curent, tensiunea va varia în consecință.
Tensiune constantă (CV):
Odată ce modul CC este finalizat, modul CV va începe. Aici tensiunea va fi menținută fixă și curentul va fi permis să varieze în funcție de cerința de încărcare a bateriei.
În cazul nostru, avem un acumulator litiu de 7,4 V, care nu este altceva decât două 18650 de celule de 3,7 V fiecare conectate în serie (3,7 V + 3,7 V = 7,4 V). Acest acumulator trebuie încărcat atunci când tensiunea ajunge la 6,4 V (3,2 V pe celulă) și poate fi încărcată până la 8,4 V (4,2 V pe celulă). Prin urmare, aceste valori sunt deja fixate pentru acumulatorul nostru.
Apoi am decis curentul de încărcare în modul CC, acesta poate fi găsit în mod normal în foaia tehnică a bateriei și valoarea depinde de ratingul Ah al bateriei. În cazul nostru, am decis o valoare de 800mA ca curent de încărcare constantă. Deci, inițial, atunci când bateria este conectată pentru încărcare, încărcătorul ar trebui să intre în modul CC și să împingă 800mA în baterie, variind tensiunea de încărcare în funcție. Aceasta va încărca bateria și tensiunea bateriei va începe să crească încet.
Deoarece împingem un curent greu în baterie cu valori de tensiune mai mari, nu îl putem lăsa în CC până când bateria nu se încarcă complet. Trebuie să trecem încărcătorul din modul CC în modul CV atunci când tensiunea bateriei a atins o valoare considerabilă. Acumulatorul nostru de aici ar trebui să fie de 8,4 V când este complet încărcat, astfel încât să îl putem trece de la modul CC la modul CV la 8,2 V.
Odată ce încărcătorul a trecut la modul CV, ar trebui să menținem o tensiune constantă, valoarea tensiunii constante este de 8,6V în cazul nostru. Bateria va consuma un curent considerabil mai mic în modul CV decât modul CC, deoarece bateria este aproape încărcată în modul CC în sine. Prin urmare, la un fix de 8,6 V, bateria va consuma mai puțin curent, iar acest curent se va reduce pe măsură ce bateria se încarcă. Deci, trebuie să monitorizăm curentul atunci când atinge o valoare foarte mică, să spunem mai puțin de 50mA, presupunem că bateria este complet încărcată și deconectăm bateria de la încărcător folosind un releu.
Pentru a rezuma, putem enumera procedura de încărcare a bateriei după cum urmează
- Intrați în modul CC și încărcați bateria cu un curent fix reglementat de 800mA.
- Monitorizați tensiunea bateriei și când ajunge la 8,2 V treceți la modul CV.
- În modul CV, încărcați bateria cu o tensiune reglată fixă de 8,6 V.
- Monitorizați curentul de încărcare pe măsură ce se reduce.
- Când curentul ajunge la 50mA deconectați automat bateria de la încărcător.
Valorile, 800mA, 8,2V și 8,6V sunt fixe, deoarece avem un pachet de baterii litiu de 7,4V. Puteți modifica cu ușurință aceste valori conform cerințelor acumulatorului. De asemenea, rețineți că există multe încărcătoare de scenă. Un încărcător în două trepte ca acesta este cel mai frecvent utilizat. Într-un încărcător în trei etape, etapele vor fi CC, CV și float. Într-un încărcător cu patru sau șase trepte, va fi luată în considerare rezistența internă, temperatura etc. Acum, că avem o scurtă înțelegere a modului în care ar trebui să funcționeze de fapt încărcătorul în doi pași, să intrăm în Diagrama circuitului.
Diagrama circuitului
Schema completă a circuitului pentru acest încărcător de baterii cu litiu poate fi găsită mai jos. Circuitul a fost realizat folosind EasyEDA și PCB-ul va fi fabricat, de asemenea, folosind același lucru.
După cum puteți vedea, circuitul este destul de simplu. Am folosit două circuite integrate cu regulator de tensiune variabilă LM317, unul pentru reglarea curentului și celălalt pentru reglarea tensiunii. Primul releu este utilizat pentru a comuta între modul CC și modul CV, iar al doilea releu este utilizat pentru a conecta sau deconecta bateria la încărcător. Să împărțim circuitul în segmente și să înțelegem designul acestuia.
LM317 Regulator de curent
IC LM317 poate acționa ca un regulator de curent cu ajutorul unui singur rezistor. Circuitul pentru același lucru este prezentat mai jos
Pentru încărcătorul nostru trebuie să reglăm un curent de 800 mA așa cum s-a discutat mai sus. Formula pentru calcularea valorii rezistorului pentru curentul necesar este dată în fișa tehnică ca
Rezistor (ohmi) = 1,25 / Curent (amperi)
În cazul nostru, valoarea curentului este de 0,8A și pentru aceasta obținem o valoare de 1,56 Ohmi ca valoare a rezistenței. Dar cea mai apropiată valoare pe care am putea-o folosi este 1,5 Ohmi, care este menționată în schema de circuit de mai sus.
Regulator de tensiune LM317
Pentru modul CV al încărcătorului de baterie litiu trebuie să reglăm tensiunea la 8,6 V așa cum am discutat mai devreme. Din nou, LM317 poate face acest lucru cu ajutorul a doar două rezistențe. Circuitul pentru același lucru este prezentat mai jos.
Formula pentru a calcula tensiunea de ieșire pentru un regulator LM317 este dată ca
În cazul nostru, tensiunea de ieșire (Vout) ar trebui să fie de 8,6 V, iar valoarea lui R1 (aici R2) ar trebui să fie mai mică de 1000 ohmi, așa că am selectat o valoare de 560 ohmi. Cu aceasta, dacă calculăm valoarea lui R2, obținem 3,3 k Ohmi. Alternativ, puteți utiliza orice valoare a combinației de rezistențe, cu condiția ca tensiunea de ieșire să fie de 8,6V. Puteți utiliza acest calculator online LM317 pentru a vă ușura munca.
Aranjament releu pentru a comuta între modul CC și modul CV
Avem două relee de 12V, fiecare dintre acestea fiind acționat de Arduino prin tranzistorul BC547 NPN. Ambele aranjamente ale releului sunt prezentate mai jos
Primul releu este folosit pentru a comuta între CC și CV - ul modul de încărcător, acest releu este declanșat de PIN - ul Arduino etichetat ca „Mode“. În mod implicit, releul este în modul CC atunci când este declanșat, acesta trece din modul CC în modul CV.
În mod similar, al doilea releu este utilizat pentru a conecta sau deconecta încărcătorul de la baterie; acest releu este declanșat de pinul Arduino etichetat ca „Încărcare”. În mod implicit, releul deconectează bateria de la încărcător, atunci când este declanșat, conectează încărcătorul la baterie. În afară de aceasta, cele două diode D1 și D2 sunt utilizate pentru protejarea circuitului de curent invers și rezistențele 1K R4 și R5 sunt utilizate pentru a limita curentul care curge prin baza tranzistorului.
Măsurarea tensiunii bateriei cu litiu
Pentru a monitoriza procesul de încărcare, trebuie să măsurăm tensiunea bateriei, doar atunci putem trece încărcătorul din modul CC în modul CV când tensiunea bateriei ajunge la 8,2V, după cum sa discutat. Cea mai obișnuită tehnică utilizată pentru măsurarea tensiunii cu microcontrolere precum Arduino este utilizarea unui circuit divizor de tensiune. Cel folosit aici este prezentat mai jos.
După cum știm, tensiunea maximă pe care o poate măsura pinul Arduino Analog este de 5V, dar bateria noastră ar putea ajunge până la 8,6V în modul CV, deci trebuie să reducem aceasta la o tensiune mai mică. Acest lucru este realizat exact de circuitul divizor de tensiune. Puteți calcula valoarea rezistorului și puteți afla mai multe despre divizorul de tensiune folosind acest calculator divizor de tensiune online. Aici am dedus tensiunea de ieșire cu jumătate din tensiunea inițială de intrare, această tensiune de ieșire este apoi trimisă pinului Arduino Analog de pe eticheta „ B_Voltage ”. Putem prelua ulterior valoarea inițială în timp ce programăm Arduino.
Măsurarea curentului de încărcare
Un alt parametru vital care trebuie măsurat este curentul de încărcare. În timpul modului CV, bateria va fi deconectată la încărcător atunci când curentul de încărcare scade sub 50mA indicând finalizarea încărcării. Există multe metode de măsurare a curentului, cea mai frecvent utilizată metodă este utilizarea unui rezistor de șunt. Circuitul pentru același lucru este prezentat mai jos
Conceptul din spatele său este legea simplă a ohmilor. Întregul curent care curge către baterie este făcut să curgă prin rezistența de șunt 2.2R. Apoi, prin legea lui Ohms (V = IR) știm că căderea de tensiune pe acest rezistor va fi proporțională cu curentul care curge prin el. Deoarece știm că valoarea rezistorului și tensiunea din acesta pot fi măsurate cu ajutorul pinului Arduino, valoarea curentului poate fi ușor calculată. Valoarea căderii de tensiune pe rezistor este trimisă către Arduino prin eticheta „B_Current ”. Știm că curentul maxim de încărcare va fi de 800mA, prin utilizarea formulelor V = IR și P = I 2 R putem calcula valoarea rezistenței și valoarea puterii rezistorului.
Arduino și LCD
În cele din urmă, pe partea Arduino trebuie să interfațăm un LCD cu Arduino pentru a afișa utilizatorului procesul de încărcare și pentru a controla încărcarea măsurând tensiunea, curentul și apoi declanșând releele în consecință.
Arduino Nano are un regulator de tensiune la bord, prin urmare, tensiunea de alimentare este furnizată Vinului, iar 5V reglementat este utilizat pentru a rula afișajul Arduino și 16x2 LCD. Tensiunea și curentul pot fi măsurate de pinii analogici A0 și respectiv A1 folosind etichetele „B_Voltage” și „B_Current”. Releul poate fi declanșat prin comutarea pinilor GPIO D8 și D9 care sunt conectați prin etichetele „Mode” și „Charge”. Odată ce schemele sunt gata putem continua cu fabricarea PCB.
Proiectare și fabricare PCB folosind EasyEDA
Pentru a proiecta acest circuit de încărcător de baterii Lithum, am ales instrumentul EDA online numit EasyEDA. Am folosit anterior EasyEDA de multe ori și mi s-a părut foarte convenabil de utilizat, deoarece are o colecție bună de amprente și este open-source. După proiectarea PCB-ului, putem comanda probele de PCB după serviciile lor de fabricare a PCB-urilor cu costuri reduse. De asemenea, oferă servicii de aprovizionare a componentelor, unde au un stoc mare de componente electronice, iar utilizatorii pot comanda componentele necesare împreună cu comanda PCB.
În timp ce vă proiectați circuitele și PCB-urile, puteți, de asemenea, să vă faceți publice circuitele și PCB-urile, astfel încât ceilalți utilizatori să le poată copia sau edita și să poată profita de munca dvs. linkul de mai jos:
easyeda.com/CircuitDigest/7.4V-Lithium-Charger-with-MCU
Puteți vizualiza orice strat (de sus, de jos, de top, de fund etc.) al PCB-ului selectând stratul din fereastra „Straturi”. Puteți vizualiza, de asemenea, PCB-ul încărcătorului de baterii litiu, cum va arăta după fabricație utilizând butonul Photo View din EasyEDA:
Calcularea și comandarea eșantioanelor online
După finalizarea proiectării acestui PCB încărcător de baterii litiu, puteți comanda PCB prin JLCPCB.com. Pentru a comanda PCB-ul de la JLCPCB, aveți nevoie de Gerber File. Pentru a descărca fișierele Gerber ale PCB-ului dvs., faceți clic pe butonul Generați fișierul de fabricație de pe pagina editorului EasyEDA, apoi descărcați fișierul Gerber de acolo sau puteți face clic pe Comandă la JLCPCB așa cum se arată în imaginea de mai jos. Acest lucru vă va redirecționa către JLCPCB.com, unde puteți selecta numărul de PCB-uri pe care doriți să le comandați, de câte straturi de cupru aveți nevoie, grosimea PCB-ului, greutatea cuprului și chiar culoarea PCB-ului, cum ar fi instantaneul prezentat mai jos:
După ce faceți clic pe comanda de pe butonul JLCPCB, acesta vă va duce la site-ul web JLCPCB, unde puteți comanda PCB într-o rată foarte mică, care este de 2 USD. Timpul lor de construcție este, de asemenea, foarte redus, adică 48 de ore cu livrare DHL de 3-5 zile, practic veți primi PCB-urile dvs. într-o săptămână de la comandă.
După ce ați comandat PCB-ul, puteți verifica progresul producției PCB-ului dvs. cu data și ora. O verificați accesând pagina Contului și faceți clic pe linkul „Progresul producției” de sub PCB, ca în imaginea de mai jos.
După câteva zile de a comanda PCB-uri, am obținut probele de PCB într-un ambalaj frumos, așa cum se arată în imaginile de mai jos.
După ce ne-am asigurat că urmele și amprentele erau corecte. Am continuat cu asamblarea PCB-ului, am folosit anteturi de sex feminin pentru a plasa Arduino Nano și LCD, astfel încât să le pot elimina mai târziu, dacă am nevoie de ele pentru alte proiecte. Placa complet lipită arată așa mai jos
Programarea Arduino pentru încărcare în două trepte a bateriei cu litiu
Odată ce hardware-ul este gata, putem continua cu scrierea codului pentru Arduino Nano. Programul complet pentru acest proiect este oferit în partea de jos a paginii, îl puteți încărca direct pe Arduino. Acum, să împărțim programul în fragmente mici și să înțelegem ce face de fapt codul.
Ca întotdeauna vom începe programul de initializarea pinii I / O. După cum știm din hardware-ul nostru, pinii A0 și A2 sunt folosiți pentru a măsura tensiunea și respectiv curentul, iar pinii D8 și D9 sunt utilizați pentru a controla releul de mod și releul de încărcare. Codul pentru a defini același lucru este prezentat mai jos
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; // Menționați numărul pinului pentru conexiunea LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); int Charge = 9; // Pin pentru a conecta sau deconecta bateria la circuitul int Mode = 8; // Fixați pentru a comuta între modul CC și modul CV int Voltage_divider = A0; // Pentru a măsura tensiunea bateriei int Shunt_resistor = A1; // Pentru a măsura curentul de încărcare plutitor Charge_Voltage; float Charge_current;
În interiorul funcției de configurare , inițializăm funcția LCD și afișăm un mesaj introductiv pe ecran. De asemenea, definim pinii releului ca pinii de ieșire. Apoi declanșați releul de încărcare conectați bateria la încărcător și implicit încărcătorul rămâne în modul CC.
void setup () { lcd.begin (16, 2); // Inițializați 16 * 2 LCD lprint.print („încărcător Li 7.4V +”); // Intro Mesaj linia 1 lcd.setCursor (0, 1); lcd.print ("- CircuitDigest"); // Intro Mesaj linia 2 lcd.clear (); pinMode (Charge, OUTPUT); pinMode (Mode, OUTPUT); digitalWrite (Charge, HIGH); // Începeți încărcarea inițial conectând bateria digitalWrite (Mode, LOW); // HIGH pentru modul CV și LOW de modul CC, inițial întârziere mod CC (1000); }
Apoi, în interiorul funcției de buclă infinită, începem programul măsurând tensiunea bateriei și curentul de încărcare. Valoarea 0,0095 și 1,78 se înmulțește cu valoarea analogică pentru a converti 0 la 1024 la tensiunea reală și valoarea curentului puteți utiliza un multimetru și un clemmetru pentru a măsura valoarea reală și apoi calcula valoarea multiplicatorului. De asemenea, teoretic se calculează valorile multiplicatoare pe baza rezistențelor pe care le-am folosit, dar nu a fost la fel de precisă pe cât mă așteptam să fie.
// Măsurați inițial tensiunea și curentul Charge_Voltage = analogRead (Voltage_divider) * 0,0092; // Măsurați tensiunea bateriei Charge_current = analogRead (Shunt_resistor) * 1,78; // Măsurați curentul de încărcare
Dacă tensiunea de încărcare este mai mică de 8,2V intrăm în modul CC și dacă este mai mare de 8,2V atunci intrăm în modul CV. Fiecare mod are propria sa buclă while . În interiorul buclei de mod CC păstrăm pinul Mode ca LOW pentru a rămâne în modul CC și apoi continuăm să monitorizăm tensiunea și curentul. Dacă tensiunea depășește tensiunea de prag de 8,2 V, rupem bucla CC folosind o instrucțiune break. Starea tensiunii de încărcare este afișată și pe ecranul LCD din bucla CC.
// Dacă tensiunea bateriei este mai mică de 8,2 V, intrați în modul CC în timp ce (Charge_Voltage <8,2) // CC MODE Loop { digitalWrite (Mode, LOW); // Rămâneți în modul CC // Măsurați tensiunea și curentul de încărcare_Voltaj = analogRead (Voltage_divider) * 0,0095; // Măsurați tensiunea bateriei Charge_current = analogRead (Shunt_resistor) * 1,78; // Se măsoară curentul de încărcare // imprimare detials pe LCD lcd.print ("V ="); lcd.print (Charge_Voltage); lcd.setCursor (0, 1); lcd.print („În modul CC”); întârziere (1000); lcd.clear (); // Verificați dacă trebuie să ieșim din modul CC dacă (Charge_Voltage> = 8.2) // Dacă da { digitalWrite (Mode, HIGH); // Treceți la pauză în modul CV ; } }
Aceeași tehnică poate fi urmată și pentru modul CV. Dacă tensiunea depășește 8,2 V, încărcătorul intră în modul CV, ridicând pinul Mode. Aceasta se aplică la o baterie constantă de 8,6 V, iar curentul de încărcare poate varia în funcție de necesitatea bateriei. Acest curent de încărcare este apoi monitorizat și atunci când ajunge sub 50mA putem încheia procesul de încărcare deconectând bateria de la încărcător. Pentru a face acest lucru, trebuie pur și simplu să oprim releul de încărcare așa cum se arată în codul de mai jos
// Dacă tensiunea bateriei este mai mare de 8,2V, intrați în modul CV în timp ce (Charge_Voltage> = 8,2) // CV MODE Loop { digitalWrite (Mode, HIGH); // Rămâneți în modul CV // Măsurați tensiunea și curentul de încărcare_tensiune = analogRead (Voltage_divider) * 0,0092; // Măsurați tensiunea bateriei Charge_current = analogRead (Shunt_resistor) * 1,78; // Măsurați curentul de încărcare // Afișați detaliile utilizatorului în LCD lcd.print ("V ="); lcd.print (Charge_Voltage); lcd.print ("I ="); lcd.print (Charge_current); lcd.setCursor (0, 1); lcd.print („În modul CV”); întârziere (1000); lcd.clear (); // Verificați dacă bateria este încărcată monitorizând curentul de încărcare dacă (Charge_current <50) // Dacă da { digitalWrite (Charge, LOW); // Opriți încărcarea în timp ce (1) // Păstrați încărcătorul oprit până când reporniți { lcd.setCursor (0, 1); lcd.print („Încărcare finalizată”); întârziere (1000); lcd.clear (); } } } }
Funcționarea încărcătorului de baterie litiu de 7.4V în doi pași
Odată ce hardware-ul este gata, încărcați codul pe placa Arduino. Apoi conectați bateria la terminalul de încărcare al plăcii. Asigurați-vă că le conectați în polaritate corectă, inversarea polarității va provoca daune grave bateriei și plăcii. După conectarea bateriei, încărcătorul utilizează un adaptor de 12V. Veți fi întâmpinat cu un text introductiv, iar încărcătorul va trece la modul CC sau la modul CV pe baza stării bateriei. Dacă bateria este complet descărcată în momentul încărcării, aceasta va intra în modul CC și LCD-ul dvs. va afișa ceva de genul mai jos.
Pe măsură ce bateria se încarcă, tensiunea va crește așa cum se arată în videoclipul de mai jos . Când această tensiune atinge 8.2V, încărcătorul va intra în modul CV din modul CC și acum va afișa atât tensiunea, cât și curentul, așa cum se arată mai jos.
De aici încet, consumul curent al bateriei va scădea pe măsură ce se încarcă. Când curentul ajunge la 50mA sau mai puțin, încărcătorul presupune încărcarea completă a bateriei și apoi deconectează bateria de la încărcător folosind releul și afișează următorul ecran. După care puteți deconecta bateria de la încărcător și o puteți folosi în aplicațiile dvs.
Sper că ați înțeles proiectul și v-a plăcut să îl construiți. Lucrarea completă poate fi găsită în videoclipul de mai jos. Dacă aveți întrebări, postați-le în secțiunea de comentarii de mai jos a forumurilor pentru alte întrebări tehnice. Din nou, circuitul este doar în scop educativ, așa că folosiți-l cu responsabilitate, deoarece bateriile cu litiu nu sunt stabile în condiții dure.