Obsah:
- Krok 1: Nabijte protokol pro Li-ion baterii
- Krok 2: Schéma a vysvětlení
- Krok 3: Fungování…
- Krok 4: Potřebné díly
- Krok 5: Čas na výpočet ……
- Krok 6: Software
- Krok 7: Dost na teorii ….. pojďme to Buld It
- Krok 8: Před prvním nabíjecím cyklem ……. Kalibrace !!
- Krok 9: Zapnutí po kalibraci….. teď jste připraveni na rock
Video: Inteligentní nabíječka baterií na bázi mikrokontroléru: 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Okruh, který se chystáte vidět, je inteligentní nabíječka baterií založená na ATMEGA8A s automatickým odpojením. Různé parametry jsou zobrazeny na LCD během různých stavů nabíjení. Po dokončení nabíjení obvod také vydá zvuk bzučákem.
Nabíječku jsem postavil v zásadě pro nabíjení Li-ion baterie 11,1v/4400maH. Firmware je v podstatě napsán pro nabíjení tohoto konkrétního typu baterie. Můžete nahrát svůj vlastní nabíjecí protokol, který splní vaše potřeby k nabíjení jiných typů baterií.
Jak víte, inteligentní nabíječky baterií jsou na trzích snadno dostupné. Ale jako elektronický nadšenec je pro mě vždy vhodnější stavět si vlastní než kupovat takovou, která bude mít statické/nezměnitelné funkce. V tomto modulu mám v plánu v budoucnu upgradovat, takže mi na to zbylo místo.
Když jsem poprvé koupil svou předchozí 11.1v/2200mah Li-ion baterii, hledal jsem na internetu nabíječky baterií s inteligentním ovládáním. Ale našel jsem velmi omezené zdroje. Takže pro tu dobu jsem vytvořil nabíječku baterií založenou na LM317 a fungovala Opravdu dobře pro mě. Ale protože moje předchozí baterie časem zemřela (bez důvodu), koupil jsem další Li-ion baterii 11,1 V/4400 mAh. Tentokrát však předchozí nastavení nebylo dostačující k nabití mé nové baterie. požadavek, udělal jsem nějaké studium na internetu a byl jsem schopen navrhnout svou vlastní inteligentní nabíječku.
Sdílím to, protože si myslím, že je tu mnoho nadšenců/nadšenců, kteří jsou opravdu vášniví v práci na výkonové elektronice a mikrokontroléru a také v potřebě vybudovat vlastní inteligentní nabíječku.
Pojďme se rychle podívat na to, jak nabíjet Li-ion baterii.
Krok 1: Nabijte protokol pro Li-ion baterii
K nabíjení lithium-iontové baterie musí být splněny určité podmínky. Pokud podmínky neudržíme, buď bude baterie podbitá, nebo bude zapálena (pokud je přebitá), nebo bude trvale poškozena.
Existuje velmi dobrý web, kde se dozvíte vše potřebné o různých typech baterií, a samozřejmě znáte název webu, pokud jste obeznámeni s prací na bateriích … Ano, mluvím o batteryuniversity.com.
Zde je odkaz, kde se dozvíte potřebné detaily k nabíjení Li-ion baterie.
Pokud jste dostatečně líní číst všechny tyto teorie, pak je podstata následující.
1. Plné nabití 3,7 V Li-ion baterie je 4,2 V. V našem případě 11,1 V Li-ion baterie znamená 3 x 3,7 V baterii. Pro plné nabití musí baterie dosáhnout 12,6 V, ale z bezpečnostních důvodů jsme bude nabíjet až 12,5 V.
2. Když se baterie blíží plnému nabití, proud odebíraný baterií z nabíječky klesne až na 3% jmenovité kapacity baterie. Např. Kapacita baterie mého článku je 4400 mAh. Když bude baterie plně nabitá, bude proud odebíraný baterií dosahovat téměř 3%-5% z 4400 mA, tj. Mezi 132 až 220 mA. Aby bylo nabíjení bezpečně zastaveno, nabíjení se zastaví, když odebíraný proud klesne pod 190 ma (téměř 4% jmenovité kapacity).
3. Celkový nabíjecí proces je rozdělen do dvou hlavních částí 1-konstantní proud (režim CC), 2-konstantní napětí (režim CV). (Existuje také režim nabíjení topping, ale nebudeme jej implementovat v naší nabíječce jako nabíječku upozorní uživatele na plné nabití alarmem, poté musí být baterie odpojena od nabíječky)
Režim CC -
V režimu CC nabíječka nabíjí baterii rychlostí 0,5 c nebo 1 c. Co je to sakra 0,5 c/1 c ???? Aby to bylo jednoduché, pokud je vaše kapacita baterie řekněme 4400 mAh, pak v režimu CC 0,5 c bude 2200mA a 1c bude 4400ma nabíjecí proud. 'c' znamená rychlost nabíjení/vybíjení. Některé baterie podporují také 2c, tj. v režimu CC, můžete nastavit nabíjecí proud až na 2x kapacitu baterie, ale to je šílené !!!!!
Ale pro jistotu zvolím nabíjecí proud 1 000 ma pro baterii 4400 mAh, tj. 0,22 c. V tomto režimu bude nabíječka sledovat proud odebíraný baterií nezávisle na nabíjecím napětí. Tj. Nabíječka bude udržovat 1 A nabíjecího proudu zvýšením /snižování výstupního napětí, dokud nabití baterie nedosáhne 12,4 V.
Režim CV -
Nyní, když napětí baterie dosáhne 12,4 V, bude nabíječka na svém výstupu udržovat 12,6 V (nezávisle na proudu odebíraném baterií). Nyní nabíječka zastaví nabíjecí cyklus v závislosti na dvou věcech. Pokud napětí baterie překročí 12,5 V a také pokud nabíjecí proud klesne pod 190 mA (4% jmenovité kapacity baterie, jak bylo vysvětleno výše), pak se nabíjecí cyklus zastaví a zazní bzučák.
Krok 2: Schéma a vysvětlení
Nyní se podívejme na fungování obvodu. Schéma je připojeno ve formátu pdf v souboru BIN.pdf.
Vstupní napětí obvodu může být 19/20v. Použil jsem starou nabíječku na notebook, abych získal 19v.
J1 je koncový konektor pro připojení obvodu ke zdroji vstupního napětí. Q1, D2, L1, C9 tvoří převodník buck. Co to sakra je ??? Toto je v podstatě převodník DC na DC. převodníku, u můžete dosáhnout požadovaného výstupního napětí změnou pracovního cyklu. Pokud se chcete dozvědět více o převodnících buck, navštivte tuto stránku. ale abych byl upřímný, jsou zcela odlišné od teorie. Vyhodnocení správných hodnot L1 & C9 podle mých požadavků trvalo 3 dny pokusů a omylů. Pokud budete nabíjet různé baterie, pak je možné, že se tyto hodnoty změní.
Q2 je budící tranzistor pro napájení MOSFET Q1. R1 je předpínací rezistor pro Q1. Budeme napájet signál pwm v základně Q2 pro ovládání výstupního napětí. C13 je oddělovací krytka.
Nyní je výstup přiveden do Q3. Lze položit otázku „Jaké je zde využití Q3?“. Odpověď je velmi jednoduchá, funguje jako jednoduchý přepínač. Kdykoli budeme měřit napětí baterie, vypneme Q3, abychom odpojili výstup nabíjecího napětí od převodníku buck. Q4 je ovladač pro Q3 s předpínacím odporem R3.
Všimněte si, že v cestě je dioda D1. Co zde dioda na dráze dělá? Tato odpověď je také velmi jednoduchá. Kdykoli bude obvod odpojen od vstupního napájení, zatímco je na výstupu připojena baterie, proud z baterie bude protéká reverzní cestou tělními diodami MOSFET Q3 a Q1, a tedy U1 a U2 získají napětí baterie na své vstupy a napájí obvod z napětí baterie. Aby se tomu zabránilo, používá se D1.
Výstup D1 je poté přiveden na vstup proudového senzoru (IP+). Jedná se o základní proudový snímač s Hallovým efektem, tj. Část snímající proud a výstupní část jsou izolovány. Výstup proudového senzoru (IP-) je pak přiveden do Zde R5, RV1, R6 tvoří obvod děliče napětí pro měření napětí baterie/výstupního napětí.
Zde se používá ADC atmega8 k měření napětí a proudu baterie. ADC může měřit max. 5v. Ale my budeme měřit max. 20v (s určitou světlou výškou). Abychom snížili napětí na rozsah ADC, 4 Je použit dělič napětí 1. Pot (RV1) se používá k jemnému doladění/kalibraci. Budu o tom diskutovat později. C6 je oddělovací čepička.
Výstup proudového senzoru ACS714 je také přiváděn na pin ADC0 atmega8. Pomocí tohoto senzoru ACS714 změříme proud. Mám odlamovací desku od pololu verze 5A a funguje opravdu skvěle. O tom budu mluvit v další fázi na jak změřit proud.
LCD je normální 16x2 lcd. Zde používaný lcd je konfigurován ve 4bitovém režimu, protože počet pinů atmega8 je omezený. RV2 je potenciometr pro nastavení jasu pro LCD.
Atmega8 je taktován na 16 MHz s externím krystalem X1 se dvěma oddělovacími čepičkami C10/11. Jednotka ADC atmega8 je napájena přes pin Avcc přes induktor 10uH. C7, C8 jsou odpojovací krytky připojené k Agnd. Umístěte je jako odpovídajícím způsobem k Avcc a Aref odpovídajícím způsobem při výrobě DPS. Všimněte si, že pin Agnd není zobrazen v obvodu. Agnd pin bude připojen k zemi.
Konfiguroval jsem ADC atmega8 tak, aby používal externí Vref, tj. Budeme dodávat referenční napětí přes pin Aref. Hlavním důvodem je dosažení maximální možné přesnosti čtení. Interní referenční napětí 2,56 V není v AVR tak skvělé. Proto jsem to nakonfiguroval externě. Nyní je třeba si všimnout. 7805 (U2) dodává pouze snímač ACS714 a pin Aref atmega8. To má zachovat optimální přesnost. ACS714 poskytuje stabilní 2,5 V výstupní napětí, když neprotéká jím žádný proud. Ale řekněme, pokud se sníží napájecí napětí ACS714 (řekněme 4,7v), sníží se také výstupní napětí bez proudu (2,5v) a vytvoří to nevhodné/chybné čtení proudu. Měříme -li napětí s ohledem na Vref, pak referenční napětí na Arefu musí být bezchybné a stabilní. Proto potřebujeme stabilní 5v.
Pokud bychom napájili ACS714 & Aref z U1, který dodává atmega8 a lcd, pak by na výstupu U1 došlo k podstatnému poklesu napětí a čtení ampérů a napětí by bylo chybné. Proto se zde používá U2 k odstranění chyby dodáním stabilního 5 V pouze pro Aref a ACS714.
Stisknutím tlačítka S1 se provede kalibrace odečtu napětí. S2 je vyhrazeno pro budoucí použití. Toto tlačítko můžete přidat nebo nepřidat podle svého výběru.
Krok 3: Fungování…
Atmega8 po zapnutí zapne převodník buck poskytnutím 25% pwm výstupu na základně Q2. Q2 pak bude řídit Q1 a spustí se převodník buck. Q3 bude vypnuto, aby se odpojil výstup převodníku buck a baterie. Atmega8 poté přečte napětí baterie přes odporový dělič. Pokud není připojena žádná baterie, pak atmega8 zobrazí zprávu „Vložte baterii“přes 16x2 lcd a čeká na baterii. Pokud je baterie připojena, atmega8 zkontroluje napětí. Pokud je napětí nižší než 9v, pak atmega8 zobrazí na 16x2 lcd „Chybná baterie“.
Pokud je nalezena baterie s více než 9 V, nabíječka nejprve přejde do režimu CC a zapne výstupní mosfet Q3. Režim nabíječky (CC) se aktualizuje, aby se zobrazil okamžitě. Pokud je napětí baterie vyšší než 12,4 V, pak mega8 okamžitě opustí režim CC a přejde do režimu CV. Pokud je napětí baterie menší než 12,4 V, pak mega8 bude udržovat nabíjecí proud 1 A zvýšením/snížením výstupního napětí převodníku buck změnou pracovního cyklu pwm Nabíjecí proud bude čten proudovým čidlem ACS714. Výstupní napětí, nabíjecí proud a pracovní cyklus PWM budou pravidelně aktualizovány v LCD.
Napětí baterie bude zkontrolováno vypnutím Q3 po každých 500 ms intervalu. Napětí baterie bude okamžitě aktualizováno na LCD.
Pokud napětí baterie během nabíjení dosáhne více než 12,4 voltů, mega8 opustí režim CC a přejde do režimu CV. Stav režimu bude okamžitě aktualizován na LCD.
Poté bude mega8 udržovat výstupní napětí 12,6 voltů změnou pracovního cyklu buck. Zde bude napětí baterie kontrolováno po každých 1 s intervalu. Jakmile bude napětí baterie větší než 12,5 V, pak bude zkontrolováno pokud je odebíraný proud nižší než 190 mA. Jsou -li splněny obě podmínky, pak bude nabíjecí cyklus zastaven trvalým vypnutím Q3 a bzučákem zazní zapnutí Q5. Také mega8 zobrazí "Nabíjení dokončeno" přes LCD.
Krok 4: Potřebné díly
Níže jsou uvedeny požadované součásti pro dokončení projektu. Podívejte se prosím na datové listy pro pinout. Poskytnutý pouze odkaz na důležité části datového listu
1) ATMEGA8A x 1. (datový list)
2) Proudový senzor ACS714 5A od Pololu x 1 (Důrazně doporučuji použít snímač od Pololu, protože jsou nejlepší přesné ze všech ostatních senzorů, které jsem použil. Najdete ho zde). Pinout je popsán na obrázku.
3) IRF9540 x 2. (datový list)
4) 7805 x 2 (doporučeno Toshiba genuinespare, protože poskytují nejstabilnější výstup 5 V). (Datový list)
5) 2n3904 x 3. (datový list)
6) 1n5820 schottky x 2. (datový list)
7) 16x2 LCD x 1. (datový list)
8) Výkonový induktor 330uH/2A x 1 (doporučeno od Coilmaster)
9) 10uH induktor x 1 (malý)
10) Rezistory -(Všechny rezistory jsou typu 1% MFR)
150R x 3
680R x 2
1k x 1
2k2 x 1
10k x 2
22k x 1
5k hrnec x 2 (typ pro montáž na desku)
11) Kondenzátory
Poznámka: C4 jsem nepoužil. Není nutné jej používat, pokud jako zdroj napájení 19 V používáte napájecí zdroj pro notebook/regulovaný napájecí zdroj
100uF/25v x 3
470uF/25v x 1
1000uF/25v x 1
100n x 8
22p x 2
12) Krátký spínač montáže na DPS x 2
13) 20v bzučák x 1
14) 2pinový konektor svorkovnice x 2
15) Skříň (použil jsem takovou skříňku.). Můžete použít, co chcete.
16) 19v napájecí zdroj pro notebook (upravil jsem napájecí zdroj pro notebook hp, můžete použít libovolný typ napájecího zdroje, jak chcete. Pokud si jej chcete postavit, navštivte můj tento návod.)
17) Středně velký chladič pro U1 a Q1. Tento typ můžete použít. Nebo se můžete podívat na obrázky mých obvodů. Pro oba však použijte chladič.
18) Banánový konektor - zásuvka (černá a červená) x 1 + zásuvka (černá a červená) (v závislosti na vaší potřebě konektorů)
Krok 5: Čas na výpočet ……
Výpočet měření napětí:
Maximální napětí, které budeme měřit pomocí atmega8 adc, je 20v. Ale adme atmega8 může měřit max. 5v. Aby bylo možné dosáhnout 20v v rozsahu 5v, je zde použit dělič napětí 4: 1 (jako 20v/4 = 5v). Takže bychom to mohli implementovat jednoduše použitím dvou rezistorů, ale v našem případě jsem přidal pot mezi dva pevné rezistory, abychom mohli ručně nastavit přesnost otáčením potu. Rozlišení ADC je 10bit, tj. bude představovat 0v až 5v jako 0 až 1023 desetinných čísel nebo 00h až 3FFh. ('h' znamená hexadecimální čísla). Reference je nastavena na 5v externě přes Aref pin.
Takže naměřené napětí = (čtení adc) x (Vref = 5v) x (faktor děliče odporu, tj. V tomto případě 4) / (maximální hodnota adc, tj. 1023 pro 10bit adc).
Předpokládejme, že dostaneme hodnotu adc 512. Pak bude naměřené napětí -
(512 x 5 x 4) / 1023 = 10v
Výpočet aktuálního měření:
ACS714 bude poskytovat 2,5V stabilní výstup na výstupním pinu, když nebude proudit žádný proud z IP+ směrem k IP-. Bude dávat 185mv/A přes 2,5v, tj. Řekněme, pokud obvodem protéká proud 3A, acs714 dá 2,5v+(0,185 x 3) v = 3,055v na svém výstupním kolíku.
Aktuální vzorec měření je tedy následující -
Naměřený proud = (((čtení adc)*(Vref = 5v)/1023) -2,5)/0,185.
řekněme, že hodnota adc je 700, pak bude naměřený proud - ((((700 x 5)/1023) - 2,5)/0,185 = 4,98A.
Krok 6: Software
Software je kódován ve Winavru pomocí GCC. Modularizoval jsem kód, tj. Vytvořil jsem různé knihovny, jako je knihovna adc, knihovna lcd atd. Knihovna adc obsahuje potřebné příkazy pro nastavení a interakci s adc. Knihovna lcd obsahuje všechny funkce pro řízení 16x2 lcd. Můžete také použít lcd_updated _library.c, protože v této knihovně je upravena spouštěcí sekvence lcd. Pokud chcete použít aktualizovanou knihovnu, přejmenujte ji pomocí lcd.c
Soubor main.c obsahuje hlavní funkce. Zde je sepsán nabíjecí protokol pro li-ion. Definujte ref_volt v main.c měřením výstupu U2 (7805) přesným multimetrem, abyste získali přesné hodnoty jako výpočty z toho vycházejí.
Jednoduše můžete vypálit.hex soubor přímo do vašeho mega8 a obejít tak headche.
Pro ty, kteří chtějí napsat další protokol o nabíjení, jsem uvedl dostatek komentářů, díky nimž i dítě může pochopit, co se děje při každém spuštění linky. Stačí si napsat vlastní protokol pro jiný typ baterie. Pokud používáte Li iontu s různým napětím, musíte pouze změnit parametry. (Ačkoli to není testováno pro jiný typ li-ion/jiný typ baterie, musíte to vyřešit sami).
Důrazně doporučuji tento obvod nestavět, pokud je to váš první projekt nebo jste v mikrokontroléru/výkonové elektronice nováčkem.
Nahrál jsem každý soubor v jeho původním formátu, kromě Makefile, protože vytváří problém s otevřením. Nahrál jsem ho ve formátu.txt. Zkopírujte obsah a vložte jej do nového Makefile a vytvořte celý projekt. Voila….jste připraveni vypálit hexadecimální soubor.
Krok 7: Dost na teorii ….. pojďme to Buld It
Zde jsou fotky mého prototypu od breadboarded po finalizaci v pcb. Projděte si prosím poznámky k obrázkům, abyste věděli více. Obrázky jsou uspořádány sériově od začátku do konce.
Krok 8: Před prvním nabíjecím cyklem ……. Kalibrace !!
Před nabíjením baterie pomocí nabíječky ji musíte nejprve zkalibrovat. V opačném případě nebude možné baterii nabít/přebít.
Existují dva typy kalibrace 1) Kalibrace napětí. 2) Aktuální kalibrace. Postup kalibrace je následující.
Nejprve změřte výstupní napětí U2. Poté jej definujte v main.c jako ref_volt. Můj byl 5,01. Změňte jej podle svého měření. Toto je hlavní nezbytný krok pro kalibraci napětí a proudu. Pro kalibraci proudu nic jinak je nutné. O vše se postará samotný software
Nyní, když jste vypálili hexadecimální soubor po definování referenčního napětí v main.c, zabijte sílu jednotky.
. Nyní změřte napětí baterie, které se bude nabíjet, pomocí multimetru a připojte baterii k jednotce.
Nyní stiskněte a podržte tlačítko S1 a napájejte obvod, zatímco je tlačítko stisknuto. Po krátkém zpoždění asi 1 s uvolněte tlačítko S1. Všimněte si, že jednotka nepřejde do režimu kalibrace, pokud nejprve zapojíte obvod, poté stiskněte S1.
Nyní můžete na displeji vidět, že je obvod přepnut do režimu kalibrace. "LCD režim" se zobrazí na LCD spolu s napětím baterie. Nyní porovnejte napětí baterie zobrazené na LCD s Vaším multimetrem otáčením hrnce Jakmile budete hotovi, znovu stiskněte spínač S1, podržte jej asi jednu sekundu a uvolněte. Budete mimo režim kalibrace. Znovu resetujte nabíječku vypnutím a zapnutím.
Výše uvedený postup lze provést i bez připojené baterie. Na výstupní svorku (J2) musíte připojit externí zdroj napájení. Po vstupu do režimu kalibrace proveďte kalibraci pomocí hrnce. Tentokrát ale nejprve odpojte externí zdroj napájení a poté stiskněte S1, aby se dostal z režimu kalibrace. To je nutné nejprve odpojit externí napájecí zdroj, aby se předešlo jakémukoli druhu poruchy jakýchkoli jednotek.
Krok 9: Zapnutí po kalibraci….. teď jste připraveni na rock
Nyní, když je kalibrace dokončena, můžete nyní zahájit proces nabíjení. Nejprve připojte baterii a poté jednotku zapněte. O zbytek se postará nabíječka.
Můj obvod je 100% funkční a testovaný. Pokud si ale něčeho všimnete, dejte mi prosím vědět. V případě jakýchkoli dotazů se také obraťte.
Šťastná stavba.
Rgds // Sharanya
Doporučuje:
Inteligentní budík: inteligentní budík vyrobený z Raspberry Pi: 10 kroků (s obrázky)
Chytrý budík: Chytrý budík vyrobený z Raspberry Pi: Chtěli jste někdy chytré hodiny? Pokud ano, toto je řešení pro vás! Vytvořil jsem inteligentní budík, toto jsou hodiny, u kterých můžete podle času na webu změnit čas budíku. Když se spustí alarm, ozve se zvuk (bzučák) a 2 kontrolky
Jak přijímat data z mikrokontroléru na bázi STM32 do PC: 5 kroků
Jak přijímat data z mikrokontroléru na bázi STM32 do PC: Zde v tomto tutoriálu jsme přenesli data z mikrokontroléru do počítače pomocí jednoho z UART STM32l100 mcu
Inteligentní nabíječka pro alkalické baterie: 9 kroků (s obrázky)
Inteligentní nabíječka pro alkalické baterie: Vypočítali jste počet alkalických baterií, které každý rok vyhodíme, po celém světě. Je to obrovské …! Trh s bateriemi ve Francii se prodá 600 milionů kusů ročně, 25 000 tun a 0,5% domácího odpadu. Podle Ademe toto číslo
Konfigurace pojistkových bitů mikrokontroléru AVR. Vytvoření a nahrání programu Flash LED do flash paměti mikrokontroléru: 5 kroků
Konfigurace pojistkových bitů mikrokontroléru AVR. Vytvoření a nahrání do flash paměti mikrokontroléru programu LED blikání: V tomto případě vytvoříme jednoduchý program v kódu C a vypálíme ho do paměti mikrokontroléru. Napíšeme vlastní program a zkompilováme hexadecimální soubor pomocí Atmel Studio jako integrované vývojové platformy. Konfigurujeme pojistku bi
Snadná 5minutová USB solární nabíječka/přežití USB nabíječka: 6 kroků (s obrázky)
Snadná 5minutová solární nabíječka USB/nabíječka USB pro přežití: Ahoj kluci! Dnes jsem právě vyrobil (pravděpodobně) nejjednodušší USB nabíječku solárních panelů! Nejprve se omlouvám, že jsem pro vás nenahrál nějaké instrukce, kluci .. Během několika měsíců jsem dostal nějaké zkoušky (vlastně ne několik, možná týden nebo tak ..). Ale