- CC- en CV-modus voor acculader:
- Schakelschema
- LM317 Huidige regelaar
- LM317 Spanningsregelaar
- Relaisopstelling om te wisselen tussen CC- en CV-modus
- Het meten van de lithiumbatterijspanning
- Laadstroom meten
- Arduino en LCD
- PCB-ontwerp en fabricage met EasyEDA
- Monsters online berekenen en bestellen
- De Arduino programmeren voor het opladen van lithiumbatterijen in twee stappen
- Werking van 7,4 V tweestaps lithiumbatterijlader
De vooruitgang in elektrische voertuigen, drones en andere mobiele elektronica zoals IoT-apparaten lijkt veelbelovend voor de toekomst. Een van deze dingen is dat ze allemaal op batterijen werken. Volgens de wet van Moore worden de elektronische apparaten meestal kleiner en beter drinkbaar. Deze draagbare apparaten zouden hun eigen stroombron moeten hebben om te werken. De meest gebruikelijke batterijkeuze voor draagbare elektronica is tegenwoordig lithium-ion- of lithium-polymeerbatterijen. Hoewel deze batterijen een zeer goede ladingsdichtheid hebben, zijn ze chemisch onstabiel onder zware omstandigheden, daarom is voorzichtigheid geboden bij het opladen en het gebruik ervan.
In dit project zullen we een tweetraps acculader (CC en CV) bouwen die kan worden gebruikt om lithium-ion- of lithium-polymeerbatterijen op te laden. Het batterijopladercircuit is ontworpen voor een 7,4 V lithiumbatterijpak (twee 18650 in serie) dat ik gewoonlijk gebruik in de meeste robotica-projecten, maar het circuit kan eenvoudig worden aangepast om te passen in lagere of iets hogere batterijpakketten zoals 3,7 lithiumbatterijlader of 12v lithium-ion batterijlader. Zoals u wellicht weet, zijn er voor deze batterijen kant-en-klare laders beschikbaar, maar de goedkope zijn erg traag en de snelle zijn erg duur. Dus in dit circuit heb ik besloten om een eenvoudige ruwe oplader te bouwen met LM317 IC's met CC- en CV-modus. Wat is er ook leuker dan je eigen gadget bouwen en daarbij leren?
Onthoud dat lithiumbatterijen voorzichtig moeten worden behandeld. Overladen of kortsluiten kan leiden tot explosie- en brandgevaar, dus blijf er veilig in de buurt. Als u helemaal nieuw bent met lithiumbatterijen, raad ik u ten zeerste aan om het artikel over lithiumbatterijen door te lezen voordat u verder gaat. Dat gezegd hebbende, laten we naar het project gaan.
CC- en CV-modus voor acculader:
De oplader die we hier willen bouwen, is een tweestaps oplader, wat betekent dat deze twee oplaadmodi heeft, namelijk Constant Charge (CC) en Constant Voltage (CV). Door deze twee modi te combineren, kunnen we de batterij sneller opladen dan normaal.
Constante lading (CC):
De eerste modus die in werking treedt, is de CC-modus. Hier staat de hoeveelheid laadstroom die de accu moet binnenkomen vast. Om deze stroom te behouden, zal de spanning dienovereenkomstig worden gevarieerd.
Constante spanning (CV):
Zodra de CC-modus is voltooid, wordt de CV-modus geactiveerd. Hier wordt de spanning constant gehouden en kan de stroom variëren afhankelijk van de oplaadvereisten van de batterij.
In ons geval hebben we een 7.4V lithiumbatterijpak, dat niets anders is dan twee 18650-cellen van elk 3,7V die in serie zijn geschakeld (3,7V + 3,7V = 7,4V). Dit batterijpakket moet worden opgeladen wanneer de spanning tot 6,4 V (3,2 V per cel) is gedaald en kan worden opgeladen tot 8,4 V (4,2 V per cel). Daarom staan deze waarden al vast voor ons accupakket.
Vervolgens hebben we de laadstroom in CC-modus bepaald, deze staat normaal gesproken in de datasheet van de accu en de waarde hangt af van de Ah-waarde van de accu. In ons geval heb ik een waarde van 800mA als constante laadstroom bepaald. Dus als de batterij in eerste instantie is aangesloten om op te laden, moet de oplader in de CC-modus gaan en 800mA in de batterij duwen door de laadspanning te variëren. Hierdoor wordt de batterij opgeladen en zal de batterijspanning langzaam stijgen.
Omdat we een zware stroom in de batterij duwen met hogere spanningswaarden, kunnen we deze niet in CC laten staan totdat de batterij volledig is opgeladen. We moeten de lader van CC-modus naar CV-modus schakelen als de accuspanning een aanzienlijke waarde heeft bereikt. Ons batterijpakket hier zou 8,4 V moeten zijn wanneer deze volledig is opgeladen, zodat we het kunnen omschakelen van CC-modus naar CV-modus bij 8,2 V.
Zodra de oplader is overgeschakeld naar de CV-modus, moeten we een constante spanning handhaven, de waarde van constante spanning is in ons geval 8,6V. De batterij zal in de CV-modus aanzienlijk minder stroom verbruiken dan in de CC-modus, aangezien de batterij zelf bijna is opgeladen in de CC-modus. Daarom verbruikt de batterij bij een vaste 8,6V minder stroom en neemt deze stroom af naarmate de batterij wordt opgeladen. We moeten dus de stroom in de gaten houden wanneer deze een zeer lage waarde bereikt, zeg minder dan 50mA, we gaan ervan uit dat de batterij volledig is opgeladen en ontkoppel de batterij automatisch van de oplader met behulp van een relais.
Samenvattend kunnen we de procedure voor het opladen van de batterij als volgt opsommen
- Ga naar de CC-modus en laad de batterij op met een vaste 800mA gereguleerde stroom.
- Bewaak de accuspanning en schakel over naar de CV-modus wanneer deze 8,2 V bereikt.
- Laad in CV-modus de batterij op met een vaste geregelde spanning van 8,6 V.
- Houd de laadstroom in de gaten terwijl deze wordt verminderd.
- Wanneer de stroom 50mA bereikt, koppelt u de batterij automatisch los van de oplader.
De waarden, 800mA, 8,2V en 8,6V staan vast omdat we een 7,4V lithiumbatterijpak hebben. U kunt deze waarden gemakkelijk wijzigen volgens de vereisten van uw batterijpakket. Merk ook op dat er veel podiumladers bestaan. Een tweetraps oplader zoals deze is de meest gebruikte. In een drietrapslader zijn de trappen CC, CV en float. Bij een lader met vier of zes fasen wordt rekening gehouden met de interne weerstand, temperatuur enz. Nu we een kort begrip hebben van hoe de tweestapslader eigenlijk zou moeten werken, gaan we naar het schakelschema.
Schakelschema
Het volledige schakelschema voor deze lithiumbatterijlader vindt u hieronder. De schakeling is gemaakt met EasyEDA en de print zal ook met dezelfde worden gemaakt.
Zoals je kunt zien, is het circuit vrij eenvoudig. We hebben twee LM317 Variabele spanningsregelaar IC's gebruikt, een om de stroom te regelen en de andere om de spanning te regelen. Het eerste relais wordt gebruikt om te schakelen tussen CC- en CV-modus en het tweede relais wordt gebruikt om de batterij aan te sluiten of los te koppelen van de oplader. Laten we het circuit in segmenten opsplitsen en het ontwerp ervan begrijpen.
LM317 Huidige regelaar
De LM317 IC kan als stroomregelaar fungeren met behulp van een enkele weerstand. Het circuit voor hetzelfde wordt hieronder getoond
Voor onze oplader moeten we een stroom van 800mA regelen zoals hierboven besproken. De formule voor het berekenen van de waarde van de weerstand voor de vereiste stroom wordt gegeven in het gegevensblad als
Weerstand (ohm) = 1,25 / stroom (ampère)
In ons geval is de waarde van de stroom 0,8A en daarvoor krijgen we een waarde van 1,56 Ohm als weerstandswaarde. Maar de dichtstbijzijnde waarde die we zouden kunnen gebruiken is 1,5 Ohm, die wordt vermeld in het bovenstaande schakelschema.
LM317 Spanningsregelaar
Voor de CV-modus van een lithiumbatterijlader moeten we de spanning regelen naar 8,6V zoals eerder besproken. Nogmaals, LM317 kan dit doen met behulp van slechts twee weerstanden. Het circuit voor hetzelfde wordt hieronder getoond.
De formule om de uitgangsspanning voor een LM317-regelaar te berekenen, wordt gegeven als
In ons geval zou de uitgangsspanning (Vout) 8,6V moeten zijn, en de waarde van R1 (hier R2) zou minder dan 1000 ohm moeten zijn, dus ik heb een waarde van 560 ohm geselecteerd. Hiermee als we de waarde van R2 berekenen, krijgen we deze op 3,3k Ohm. Als alternatief kunt u elke weerstandscombinatie gebruiken, op voorwaarde dat de uitgangsspanning 8,6V is. U kunt deze online LM317 Calculator gebruiken om uw werk gemakkelijker te maken.
Relaisopstelling om te wisselen tussen CC- en CV-modus
We hebben twee 12V-relais, die elk worden aangedreven door Arduino via de BC547 NPN-transistor. Zowel de relaisopstelling wordt hieronder getoond
Het eerste relais wordt gebruikt om te schakelen tussen de CC- en CV-modus van de oplader, dit relais wordt geactiveerd door de Arduino-pin met het label "Mode". Standaard bevindt het relais zich in de CC-modus wanneer het wordt geactiveerd, het verandert van CC-modus naar CV-modus.
Evenzo wordt het tweede relais gebruikt om de oplader aan te sluiten op of los te koppelen van de batterij; dit relais wordt geactiveerd door de Arduino-pin met het label "Charge". Standaard koppelt het relais de batterij los van de oplader, wanneer het wordt geactiveerd, verbindt het de oplader met de batterij. Afgezien hiervan worden de twee diodes D1 en D2 gebruikt om het circuit te beschermen tegen tegenstroom en worden de 1K-weerstanden R4 en R5 gebruikt om de stroom die door de basis van de transistor vloeit te beperken.
Het meten van de lithiumbatterijspanning
Om het laadproces te volgen, moeten we de batterijspanning meten, alleen dan kunnen we de oplader van CC-modus naar CV-modus schakelen wanneer de batterijspanning 8,2V bereikt, zoals besproken. De meest gebruikte techniek om spanning te meten met microcontrollers zoals Arduino, is door een spanningsdeler te gebruiken. De hier gebruikte wordt hieronder weergegeven.
Zoals we weten, is de maximale spanning die de Arduino Analog-pin kan meten 5V, maar onze batterij kan oplopen tot 8,6V in CV-modus, dus we moeten dit verlagen naar een lagere spanning. Dit wordt precies gedaan door het spanningsdelercircuit. U kunt de waarde van de weerstand berekenen en meer weten over de spanningsdeler door deze online spanningsdelercalculator te gebruiken. Hier hebben we de uitgangsspanning met de helft van de oorspronkelijke ingangsspanning afgeleid, deze uitgangsspanning wordt vervolgens naar de Arduino Analog-pin gestuurd via het label " B_Voltage ". We kunnen later de originele waarde ophalen tijdens het programmeren van de Arduino.
Laadstroom meten
Een andere essentiële parameter die moet worden gemeten, is de laadstroom. Tijdens de CV-modus wordt de batterij losgekoppeld van de oplader wanneer de laadstroom onder de 50mA daalt, wat aangeeft dat het opladen is voltooid. Er zijn veel methoden om stroom te meten, de meest gebruikte methode is het gebruik van een shuntweerstand. Het circuit voor hetzelfde wordt hieronder getoond
Het concept erachter is een simpele ohm-wet. De volledige stroom die naar de batterij vloeit, wordt door de shuntweerstand 2.2R geleid. Dan weten we volgens de wet van Ohm (V = IR) dat de spanningsval over deze weerstand evenredig zal zijn met de stroom die er doorheen vloeit. Omdat we weten dat de waarde van de weerstand en de spanning erover kan worden gemeten met behulp van een Arduino Analog-pin, kan de waarde van de stroom eenvoudig worden berekend. De waarde van de spanningsval over de weerstand wordt naar Arduino gestuurd via het label "B_Current ". We weten dat de maximale laadstroom 800mA zal zijn, dus met behulp van de formules V = IR en P = I 2 R kunnen we de weerstandswaarde en de vermogenswaarde van de weerstand berekenen.
Arduino en LCD
Ten slotte moeten we aan de Arduino-kant een LCD met Arduino verbinden om het oplaadproces aan de gebruiker weer te geven en het opladen te regelen door de spanning en stroom te meten en vervolgens de relais dienovereenkomstig te activeren.
De Arduino Nano heeft een ingebouwde spanningsregelaar, vandaar dat de voedingsspanning aan Vin wordt geleverd en de gereguleerde 5V wordt gebruikt om de Arduino en het 16x2 LCD-scherm te laten werken. De spanning en stroom kunnen worden gemeten door de analoge pinnen A0 en A1 respectievelijk met behulp van de labels "B_Voltage" en "B_Current". Het relais kan worden geactiveerd door de GPIO-pin D8 en D9 om te schakelen, die zijn verbonden via de labels "Mode" en "Charge". Zodra de schema's klaar zijn, kunnen we doorgaan met PCB-fabricage.
PCB-ontwerp en fabricage met EasyEDA
Om dit Lithum batterijladercircuit te ontwerpen, hebben we gekozen voor de online EDA-tool genaamd EasyEDA. Ik heb EasyEDA al vaak gebruikt en vond het erg handig om te gebruiken, omdat het een goede verzameling footprints heeft en het open-source is. Na het ontwerpen van de PCB, kunnen we de PCB-monsters bestellen via hun goedkope PCB-fabricagediensten. Ze bieden ook een service voor het sourcen van componenten, waarbij ze een grote voorraad elektronische componenten hebben en gebruikers hun vereiste componenten samen met de PCB-bestelling kunnen bestellen.
Terwijl u uw circuits en PCB's ontwerpt, kunt u ook uw circuit- en PCB-ontwerpen openbaar maken, zodat andere gebruikers ze kunnen kopiëren of bewerken en kunnen profiteren van uw werk.We hebben ook onze hele circuit- en PCB-lay-outs openbaar gemaakt voor dit circuit. de onderstaande link:
easyeda.com/CircuitDigest/7.4V-Lithium-Charger-with-MCU
U kunt elke laag (bovenzijde, onderzijde, bovenzijde, onderzijde enz.) Van de PCB bekijken door de laag te selecteren in het venster 'Lagen'. U kunt ook de PCB van de lithiumbatterijlader bekijken, hoe deze er na de fabricage uitziet met behulp van de Photo View- knop in EasyEDA:
Monsters online berekenen en bestellen
Na het afronden van het ontwerp van deze Lithium acculader print, kunt u de print bestellen via JLCPCB.com. Om de print bij JLCPCB te bestellen heeft u Gerber File nodig. Om Gerber-bestanden van uw PCB te downloaden, klikt u op de Generate Fabrication File-knop op de EasyEDA-editorpagina en downloadt u het Gerber-bestand van daaruit of u kunt op Order at JLCPCB klikken, zoals weergegeven in onderstaande afbeelding. Hiermee wordt u doorgestuurd naar JLCPCB.com, waar u het aantal PCB's dat u wilt bestellen, het aantal koperlagen dat u nodig heeft, de PCB-dikte, het kopergewicht en zelfs de PCB-kleur kunt selecteren, zoals de onderstaande momentopname:
Nadat u op de knop bestellen bij JLCPCB hebt geklikt, gaat u naar de JLCPCB-website waar u de printplaat kunt bestellen tegen een zeer lage prijs van $ 2. Hun bouwtijd is ook erg kort, dat is 48 uur met een DHL-levering van 3-5 dagen, in principe ontvangt u uw PCB's binnen een week na bestelling.
Nadat u de print heeft besteld, kunt u de productievoortgang van uw print met datum en tijd controleren. U controleert het door naar de Accountpagina te gaan en op de link "Productie Voortgang" onder de PCB te klikken, zoals weergegeven in onderstaande afbeelding.
Na een paar dagen PCB's te hebben besteld, kreeg ik de PCB-samples in een mooie verpakking, zoals te zien is op onderstaande foto's.
Na te hebben gecontroleerd of de sporen en voetafdrukken correct waren. Ik ging verder met het monteren van de PCB, ik gebruikte vrouwelijke headers om de Arduino Nano en LCD te plaatsen, zodat ik ze later kan verwijderen als ik ze nodig heb voor andere projecten. Het volledig gesoldeerde bord ziet er als volgt uit
De Arduino programmeren voor het opladen van lithiumbatterijen in twee stappen
Zodra de hardware klaar is, kunnen we doorgaan met het schrijven van de code voor de Arduino Nano. Het complete programma voor dit project staat onderaan de pagina, je kunt het direct uploaden naar je Arduino. Laten we nu het programma opsplitsen in kleine fragmenten en begrijpen wat de code werkelijk doet.
Zoals altijd beginnen we het programma door de I / O-pinnen te initialiseren. Zoals we van onze hardware weten, worden de pinnen A0 en A2 gebruikt om respectievelijk spanning en stroom te meten en wordt de pin D8 en D9 gebruikt om het modusrelais en het laadrelais te besturen. De code om hetzelfde te definiëren wordt hieronder weergegeven
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; // Noem het pincode voor LCD-aansluiting LiquidCrystal lcd (rs, en, d4, d5, d6, d7); int Charge = 9; // Pin om de batterij aan te sluiten of los te koppelen van het circuit int Mode = 8; // Pin om te schakelen tussen CC-modus en CV-modus int Voltage_divider = A0; // Om de batterijspanning te meten int Shunt_resistor = A1; // Om de laadstroom float Charge_Voltage te meten ; zweven Charge_current;
Binnen de setup- functie initialiseren we de LCD-functie en geven we een introbericht op het scherm weer. We definiëren de relaispinnen ook als uitgangspennen. Activeer vervolgens het laadrelais, sluit de accu aan op de lader en standaard blijft de lader in CC-modus.
leegte setup () { lcd.begin (16, 2); // Initialiseer 16 * 2 LCD lcd.print ("7.4V Li + oplader"); // Intro Message line 1 lcd.setCursor (0, 1); lcd.print ("- CircuitDigest"); // Intro Message line 2 lcd.clear (); pinMode (Charge, OUTPUT); pinMode (Mode, OUTPUT); digitalWrite (Charge, HIGH); // Begin met Chargig in eerste instantie door de batterij digitalWrite (Mode, LOW) aan te sluiten; // HOOG voor CV-modus en LAAG van CC-modus, aanvankelijk CC- modusvertraging (1000); }
Vervolgens beginnen we in de oneindige lusfunctie het programma door de batterijspanning en laadstroom te meten. De waarde 0,0095 en 1,78 wordt vermenigvuldigd met de analoge waarde om 0 tot 1024 om te zetten in de werkelijke spanning en stroomwaarde. U kunt een multimeter en een stroomtang gebruiken om de werkelijke waarde te meten en vervolgens de vermenigvuldigingswaarde te berekenen. Het berekent ook theoretisch de vermenigvuldigingswaarden op basis van de weerstanden die we hebben gebruikt, maar het was niet zo nauwkeurig als ik had verwacht.
// Meet in eerste instantie spanning en stroom Charge_Voltage = analogRead (Voltage_divider) * 0.0092; // Meet accuspanning Charge_current = analogRead (Shunt_resistor) * 1.78; // Meet de laadstroom
Als de laadspanning minder is dan 8,2 V gaan we naar de CC-modus en als deze hoger is dan 8,2 V gaan we naar de CV-modus. Elke modus heeft zijn eigen while- lus. Binnen de CC-moduslus houden we de Mode-pin als LOW om in de CC-modus te blijven en blijven we de spanning en stroom controleren. Als de spanning de drempelspanning van 8,2 V overschrijdt, verbreken we de CC-lus met behulp van een onderbrekingsverklaring. De status van de laadspanning wordt ook weergegeven op het LCD-scherm in de CC-lus.
// Als de batterijspanning minder is dan 8,2 V, ga dan naar de CC-modus terwijl (Charge_Voltage <8,2) // CC MODE Loop { digitalWrite (Mode, LOW); // Blijf in de CC-modus // Meet spanning en stroom Charge_Voltage = analogRead (Voltage_divider) * 0.0095; // Meet accuspanning Charge_current = analogRead (Shunt_resistor) * 1.78; // Meet laadstroom // print detials op LCD lcd.print ("V ="); lcd.print (Charge_Voltage); lcd.setCursor (0, 1); lcd.print ("In CC-modus"); vertraging (1000); lcd.clear (); // Controleer of we de CC-modus moeten verlaten als (Charge_Voltage> = 8.2) // Indien ja { digitalWrite (Mode, HIGH); // Verander naar CV-modus pauze; } }
Dezelfde techniek kan ook worden gevolgd voor de CV-modus. Als de spanning de 8,2V overschrijdt, gaat de lader naar de CV-modus door de Mode-pin hoog te maken. Dit past een constante 8,6V toe over de batterij en de laadstroom kan variëren op basis van de batterijvereiste. Deze laadstroom wordt vervolgens bewaakt en wanneer deze onder de 50mA komt, kunnen we het laadproces beëindigen door de accu los te koppelen van de oplader. Om dit te doen, hoeven we alleen het Charge-relais uit te schakelen, zoals weergegeven in de onderstaande code
// Als de batterijspanning groter is dan 8,2 V, ga dan naar de CV-modus terwijl (Charge_Voltage> = 8.2) // CV MODE Loop { digitalWrite (Mode, HIGH); // Blijf in de CV-modus // Meet spanning en stroom Charge_Voltage = analogRead (Voltage_divider) * 0.0092; // Meet accuspanning Charge_current = analogRead (Shunt_resistor) * 1.78; // Meet laadstroom // Toon details aan gebruiker in LCD lcd.print ("V ="); lcd.print (Charge_Voltage); lcd.print ("I ="); lcd.print (Charge_current); lcd.setCursor (0, 1); lcd.print ("In CV-modus"); vertraging (1000); lcd.clear (); // Controleer of de batterij is opgeladen door de laadstroom te bewaken als (Charge_current <50) // Zo ja { digitalWrite (Charge, LOW); // Schakel het opladen uit terwijl (1) // Houd de oplader uit tot herstart { lcd.setCursor (0, 1); lcd.print ("Opladen voltooid."); vertraging (1000); lcd.clear (); } } } }
Werking van 7,4 V tweestaps lithiumbatterijlader
Zodra de hardware klaar is, uploadt u de code naar het Arduino-bord. Sluit vervolgens de accu aan op de oplaadterminal van het bord. Zorg ervoor dat je ze in de juiste polariteit aansluit, het omkeren van de polariteit zal ernstige schade aan de batterij en het bord veroorzaken. Na het aansluiten van de batterijvoeding de lader met een 12V adapter. Je wordt begroet met een intro-tekst en de oplader gaat naar CC-modus of CV-modus op basis van de status van de batterij. Als de batterij volledig ontladen is op het moment dat deze wordt opgeladen, gaat deze over in de CC-modus en zal uw LCD iets als dit hieronder weergeven.
Naarmate de batterij wordt opgeladen, neemt de spanning toe, zoals weergegeven in de onderstaande video . Wanneer deze spanning 8,2 V bereikt, zal de lader in de CV-modus gaan vanuit de CC-modus en nu zal het zowel spanning als stroom weergeven zoals hieronder weergegeven.
Vanaf hier zal het huidige verbruik van de batterij langzaam afnemen als deze wordt opgeladen. Wanneer de stroom 50mA of minder bereikt, gaat de oplader ervan uit dat de batterij volledig is opgeladen en koppelt hij de batterij vervolgens los van de oplader met behulp van het relais en wordt het volgende scherm weergegeven. Daarna kunt u de accu loskoppelen van de oplader en deze in uw toepassingen gebruiken.
Ik hoop dat je het project hebt begrepen en met plezier hebt gebouwd. De volledige werking is te vinden in de onderstaande video. Als je vragen hebt, stel ze dan in de commentaarsectie hieronder of gebruik de forums voor andere technische vragen. Nogmaals, het circuit is alleen voor educatieve doeleinden, dus gebruik het met verantwoordelijkheid, aangezien lithiumbatterijen niet stabiel zijn onder zware omstandigheden.