Turinys:

„Pasidaryk pats“„Arduino“akumuliatoriaus talpos testeris - V2.0: 11 žingsnių (su nuotraukomis)
„Pasidaryk pats“„Arduino“akumuliatoriaus talpos testeris - V2.0: 11 žingsnių (su nuotraukomis)

Video: „Pasidaryk pats“„Arduino“akumuliatoriaus talpos testeris - V2.0: 11 žingsnių (su nuotraukomis)

Video: „Pasidaryk pats“„Arduino“akumuliatoriaus talpos testeris - V2.0: 11 žingsnių (su nuotraukomis)
Video: Rezistoriaus ir kondensatoriaus beieškant! 2024, Liepa
Anonim
Image
Image

Šiuo metu visur yra netikrų ličio ir NiMH akumuliatorių, kurie parduodami reklamuojant didesne nei tikroji talpa. Taigi tikrai sunku atskirti tikrą ir netikrą akumuliatorių. Panašiai sunku žinoti išgelbėtų 18650 nešiojamųjų kompiuterių baterijų talpą. Taigi, norint išmatuoti tikrąją baterijų talpą, reikalingas prietaisas.

2016 metais aš parašiau instrukciją „Arduino Capacity Tester - V1.0“, kuri buvo labai paprastas ir paprastas įrenginys. Ankstesnė versija buvo pagrįsta Omo įstatymu. Baterija, kurią reikia išbandyti, iškraunama per fiksuotą rezistorių, srovė ir laiko trukmė matuojama „Arduino“, o talpa apskaičiuojama padauginus abu rodmenis (iškrovos srovė ir laikas).

Ankstesnės versijos trūkumas buvo tas, kad bandymų metu, mažėjant akumuliatoriaus įtampai, sumažėja ir srovė, todėl skaičiavimai tampa sudėtingi ir netikslūs. Norėdami tai įveikti, sukūriau V2.0, kuris suprojektuotas taip, kad srovė išliktų pastovi per visą iškrovimo procesą. Aš sukūriau šį įrenginį įkvėpdamas originalų „MyVanitar“dizainą

Pagrindinės „Capacity Tester V2.0“savybės yra šios:

1. Geba išmatuoti AA / AAA NiMh / NiCd, 18650 ličio, ličio polimero ir Li FePO4 baterijų talpą. Jis tinka beveik bet kuriai baterijai, kurios nominali vertė yra mažesnė nei 5 V.

2. Naudotojai gali nustatyti išleidimo srovę naudodami mygtukus.

3. OLED vartotojo sąsaja

4. Prietaisą galima naudoti kaip elektroninę apkrovą

Atnaujinta 2019-12-02

Dabar PCBWay galite užsisakyti PCB ir komponentus kartu komplekte

Atsisakymas: atkreipkite dėmesį, kad dirbate su ličio jonų baterija, kuri yra labai sprogi ir pavojinga. Aš negaliu būti atsakingas už bet kokį turto praradimą, žalą ar gyvybės praradimą. Ši pamoka buvo skirta tiems, kurie turi žinių apie įkraunamą ličio jonų technologiją. Nemėginkite to daryti, jei esate naujokas. Lik saugus.

Prekės

Naudojami komponentai

Dabar užsisakykite PCB ir visus komponentus, kad sukurtumėte šį projektą rinkinyje iš PCBWay

1. PCB: PCBWay

2. „Arduino Nano“: „Amazon“/ „Banggood“

3. „Opamp LM358“: „Amazon“/ „Banggood“

4. 0,96 colių OLED ekranas: „Amazon“/ „Banggood“

5. Keraminis rezistorius: Amazon / Banggood

6. Kondensatorius 100nF: „Amazon“/ „Banggood“

7. Kondensatorius 220uF: „Amazon“/ „Banggood“

8. Rezistoriai 4.7K ir 1M: „Amazon“/ „Banggood“

9. Mygtukas: „Amazon“/ „Banggood“

10. Mygtuko dangtelis: „Aliexpress“

11. Sraigtinis terminalas: „Amazon“/ „Banggood“

12. Prototipų lenta: „Amazon“/ „Banggood“

13. PCB Stand-off: Amazon / Banggood

14. Šilumos susitraukimo vamzdžiai: „Amazon“/ „Banggood“

15. Šildytuvas: „Aliexpress“

Naudojami įrankiai

1. Lituoklis: „Amazon“/ „Banggood“

2. Gnybtų matuoklis: „Amazon“/ „Banggood“

3. Multimetras: „Amazon“/ „Banggood“

4. Karšto oro pūstuvas: „Amazon“/ „Banggood“

5. Vielos pjaustytuvas: „Amazon“/ „Banggood“

6. Vielos nuėmiklis: „Amazon“/ „Banggood“

1 žingsnis: schema

Schema
Schema

Visa schema suskirstyta į šiuos skyrius:

1. Maitinimo grandinė

2. Pastovios srovės apkrovos grandinė

3. Akumuliatoriaus įtampos matavimo grandinė

4. Vartotojo sąsajos grandinė

5. „Buzzer“grandinė

1. Maitinimo grandinė

Maitinimo grandinę sudaro nuolatinės srovės lizdas (7–9 V) ir du filtrų kondensatoriai C1 ir C2. Išėjimo galia (Vin) prijungta prie „Arduino“kaiščio „Vin“. Čia aš naudoju „Arduino“borto įtampos reguliatorių, kad sumažintų įtampą iki 5 V.

2. Pastovios srovės apkrovos grandinė

Pagrindinis grandinės komponentas yra „Op-amp LM358“, kuriame yra du operaciniai stiprintuvai. PWM signalas iš „Arduino“kaiščio D10 filtruojamas žemo dažnio filtru (R2 ir C6) ir tiekiamas į antrąjį operacinį stiprintuvą. Antrojo stiprintuvo išėjimas yra prijungtas prie pirmojo įtampos sekimo konfigūracijos. Maitinimo šaltinį į LM358 filtruoja atsiejamasis kondensatorius C5.

Pirmasis op-amp, R1 ir Q1 sukuria pastovios srovės apkrovos grandinę. Taigi dabar mes galime valdyti srovę per apkrovos rezistorių (R1), pakeisdami PWM signalo impulsų plotį.

3. Akumuliatoriaus įtampos matavimo grandinė

Akumuliatoriaus įtampa matuojama naudojant „Arduino“analoginį įvesties kaištį A0. Du kondensatoriai C3 ir C4 naudojami filtruoti triukšmus, sklindančius iš nuolatinės srovės apkrovos grandinės, o tai gali pabloginti ADC konversijos našumą.

4. Vartotojo sąsajos grandinė

Vartotojo sąsajos grandinę sudaro du mygtukai ir 0,96 colio I2C OLED ekranas. Mygtukas aukštyn ir žemyn yra skirtas padidinti arba sumažinti PWM impulsų plotį. R3 ir R4 yra traukimo aukštyn ir žemyn rezistoriai Mygtukai C7 ir C8 naudojami mygtuko išjungimui. Trečiasis mygtukas (RST) naudojamas „Arduino“nustatymui iš naujo.

5. „Buzzer“grandinė

Signalinė grandinė naudojama įspėti apie bandymo pradžią ir pabaigą. 5 V signalas prijungtas prie „Arduino“skaitmeninio kaiščio D9.

2 veiksmas: kaip tai veikia?

Kaip tai veikia?
Kaip tai veikia?
Kaip tai veikia?
Kaip tai veikia?
Kaip tai veikia?
Kaip tai veikia?

Teorija pagrįsta „OpAmp“, sukonfigūruoto kaip vientisumo stiprintuvo, invertuojančių (kaištis-2) ir neinvertuojančių (kaištis-3) įėjimų įtampos palyginimu. Kai nustatote neinvertuojančiai įvesties įtampą, reguliuodami PWM signalą, opamp išėjimas atveria MOSFET vartus. Įjungus MOSFET, srovė eina per R1, sukuria įtampos kritimą, o tai neigiamai atsiliepia „OpAmp“. Jis valdo MOSFET taip, kad jo invertuojančios ir neinvertuojančios įvesties įtampa būtų vienoda. Taigi, srovė per apkrovos rezistorių yra proporcinga įtampai neinvertuojančiame „OpAmp“įėjime.

PWM signalas iš „Arduino“filtruojamas naudojant žemo dažnio filtro grandinę (R2 ir C1). Norėdami patikrinti PWM signalo ir filtro grandinės veikimą, prijungiau savo DSO ch-1 prie įvesties ir ch-2 prie filtro grandinės išvesties. Išėjimo bangos forma parodyta aukščiau.

3 žingsnis: Talpos matavimas

Talpos matavimas
Talpos matavimas

Čia akumuliatorius išsikrauna iki žemos slenksčio įtampos (3,2 V).

Baterijos talpa (mAh) = srovė (I) mA x laikas (T) valandomis

Iš aukščiau pateiktos lygties aišku, kad norėdami apskaičiuoti akumuliatoriaus talpą (mAh), turime žinoti srovę mA ir laiką valandomis. Suprojektuota grandinė yra pastovios srovės apkrovos grandinė, todėl išleidimo srovė išlieka pastovi visą bandymo laikotarpį.

Išleidimo srovę galima reguliuoti paspaudus aukštyn ir žemyn mygtukus. Laiko trukmė matuojama naudojant „Arduino“kodo laikmatį.

4 žingsnis: grandinės sukūrimas

Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas

Ankstesniuose žingsniuose aš paaiškinau kiekvieno grandinės komponento funkciją. Prieš pradėdami gaminti paskutinę plokštę, pirmiausia išbandykite grandinę ant duonos lentos. Jei grandinė puikiai veikia ant duonos lentos, pereikite prie prototipo plokštės komponentų litavimo.

Aš naudojau 7 cm x 5 cm prototipo plokštę.

„Nano“montavimas: pirmiausia nupjaukite dvi eilutes moteriško antgalio kaiščio su 15 kaiščių kiekvienoje. Antraštėms pjaustyti naudojau įstrižą žnyplę. Tada lituokite antraštės kaiščius. Įsitikinkite, kad atstumas tarp dviejų bėgių tinka „Arduino nano“.

Montavimas OLED ekranas: iškirpkite moterišką antraštę 4 kaiščiais. Tada lituokite, kaip parodyta paveikslėlyje.

Gnybtų ir komponentų montavimas: lituokite likusius komponentus, kaip parodyta paveikslėlyje.

Elektros instaliacija: padarykite laidus pagal schemą. Laidams gaminti naudoju spalvotus laidus, kad galėčiau juos lengvai atpažinti.

5 žingsnis: OLED ekranas

OLED ekranas
OLED ekranas
OLED ekranas
OLED ekranas

Norėdami parodyti akumuliatoriaus įtampą, iškrovimo srovę ir talpą, naudoju 0,96 colio OLED ekraną. Jis turi 128x64 raišką ir naudoja I2C magistralę, kad galėtų bendrauti su „Arduino“. Naudojami du kaiščiai SCL (A5), SDA (A4) „Arduino Uno“. bendravimui.

Aš naudoju Adafruit_SSD1306 biblioteką parametrams rodyti.

Pirmiausia turite atsisiųsti „Adafruit_SSD1306“. Tada jį įdiegė.

Sujungimai turėtų būti tokie

Arduino OLED

5V -VCC

GND GND

A4- SDA

A5- SCL

6 veiksmas: įspėjamasis signalas

Įspėjimo signalas
Įspėjimo signalas
Įspėjimo signalas
Įspėjimo signalas
Įspėjimo signalas
Įspėjimo signalas
Įspėjimo signalas
Įspėjimo signalas

Norint pateikti įspėjimus bandymo pradžioje ir varžybose, naudojamas pjezo garsinis signalas. Signalas turi du gnybtus, ilgesnis yra teigiamas, o trumpesnė - neigiama. Ant naujojo garsinio signalo lipduko taip pat yra „ +“ženklas, rodantis teigiamą gnybtą.

Kadangi plokštės prototipui nepakanka vietos garso signalui įdėti, garso signalą prijungiau prie pagrindinės plokštės dviem laidais. Norėdami izoliuoti pliką jungtį, naudoju termiškai susitraukiančius vamzdžius.

Sujungimai turėtų būti tokie

„Arduino“garsinis signalas

D9 teigiamas gnybtas

GND neigiamas terminalas

7 žingsnis: atramų montavimas

Atstumų montavimas
Atstumų montavimas
Atstumų montavimas
Atstumų montavimas

Po litavimo ir laidų pritvirtinkite atramas 4 kampuose. Tai suteiks pakankamą atstumą nuo žemės lituoklių jungtims ir laidams.

8 žingsnis: PCB projektavimas

PCB dizainas
PCB dizainas

Aš nubraižiau schemą naudodamas „EasyEDA“internetinę programinę įrangą po to, kai perėjau prie PCB išdėstymo.

Visi komponentai, kuriuos pridėjote schemoje, turėtų būti ten, sudėti vienas ant kito, paruošti įdėti ir nukreipti. Vilkite komponentus, griebdami už jo trinkelių. Tada įdėkite jį į stačiakampę ribą.

Visus komponentus išdėstykite taip, kad plokštė užimtų mažiausiai vietos. Kuo mažesnis plokštės dydis, tuo pigesnė bus PCB gamybos kaina. Tai bus naudinga, jei ant šios plokštės yra keletas tvirtinimo angų, kad ją būtų galima pritvirtinti korpuse.

Dabar jūs turite maršrutą. Maršrutas yra pati smagiausia viso šio proceso dalis. Tai tarsi galvosūkio sprendimas! Naudodami stebėjimo įrankį turime sujungti visus komponentus. Galite naudoti tiek viršutinį, tiek apatinį sluoksnius, kad išvengtumėte dviejų skirtingų takelių persidengimo ir takelių sutrumpinimo.

Norėdami pridėti tekstą prie lentos, galite naudoti šilko sluoksnį. Be to, mes galime įterpti vaizdo failą, todėl pridedu savo svetainės logotipo vaizdą, kuris bus atspausdintas lentoje. Galų gale, naudojant vario srities įrankį, turime sukurti PCB pagrindo plotą.

Galite užsisakyti iš PCBWay.

Prisiregistruokite „PCBWay“dabar ir gaukite 5 USD kuponą. Tai reiškia, kad pirmasis jūsų užsakymas yra nemokamas, tik jūs turite sumokėti siuntimo mokesčius.

Kai pateiksite užsakymą, aš gausiu 10% PCBWay auką už indėlį į mano darbą. Jūsų maža pagalba gali paskatinti mane ateityje atlikti daugiau nuostabių darbų. Ačiū už bendradarbiavimą.

9 žingsnis: Surinkite PCB

Surinkite PCB
Surinkite PCB
Surinkite PCB
Surinkite PCB

Lituoti jums reikės tinkamo lituoklio, lituoklio, žnyplės ir multimetro. Gera praktika lituoti komponentus pagal jų aukštį. Pirmiausia lituokite mažesnio aukščio komponentus.

Norėdami lituoti komponentus, galite atlikti šiuos veiksmus:

1. Išspauskite komponentų kojeles per skyles ir pasukite PCB ant nugaros.

2. Lituoklio galiuką laikykite prie trinkelės ir komponento kojos jungties.

3. Lydmetalį padėkite į jungtį taip, kad ji tekėtų aplink laidą ir uždengtų trinkelę. Kai jis tekės aplinkui, nuimkite antgalį.

10 veiksmas: programinė įranga ir bibliotekos

Programinė įranga ir bibliotekos
Programinė įranga ir bibliotekos
Programinė įranga ir bibliotekos
Programinė įranga ir bibliotekos
Programinė įranga ir bibliotekos
Programinė įranga ir bibliotekos
Programinė įranga ir bibliotekos
Programinė įranga ir bibliotekos

Pirmiausia atsisiųskite pridėtą „Arduino“kodą. Tada atsisiųskite šias bibliotekas ir įdiekite jas.

Bibliotekos:

Atsisiųskite ir įdiekite šias bibliotekas:

1. „JC_Button“:

2. „Adafruit_SSD1306“:

Kode turite pakeisti šiuos du dalykus.

1. Dabartinės masyvų vertės: tai galima padaryti nuosekliai prijungus multimetrą prie akumuliatoriaus. Paspauskite aukštyn mygtuką ir išmatuokite srovę, dabartinės vertės yra masyvo elementai.

2. Vcc: jūs naudojate multimetrą, kad išmatuotumėte Arduino 5V kaiščio įtampą. Mano atveju tai yra 4.96V.

Atnaujinta 2019 11 20

Galite pakeisti „Low_BAT_Level“vertės kodą pagal akumuliatoriaus chemiją. Geriau šiek tiek atsiriboti nuo žemiau nurodytos išjungimo įtampos.

Čia pateikiamos įvairių ličio jonų akumuliatorių chemijos iškrovos normos ir ribinės įtampos:

1. Ličio kobalto oksidas: išjungimo įtampa = 2,5 V esant 1C iškrovimo greičiui

2. Ličio mangano oksidas: išjungimo įtampa = 2,5 V esant 1C iškrovimo greičiui

3. Ličio geležies fosfatas: išjungimo įtampa = 2,5 V esant 1C iškrovos greičiui

4. Ličio titanatas: išjungimo įtampa = 1,8 V esant 1C iškrovimo greičiui

5. Ličio nikelio mangano kobalto oksidas: išjungimo įtampa = 2,5 V esant 1C iškrovimo greičiui

6. Ličio nikelio kobalto aliuminio oksidas: išjungimo įtampa = 3,0 V esant 1C iškrovimo greičiui

Atnaujinta 2020-04-01

jcgrabo, pasiūlė keletą pradinio dizaino pakeitimų, siekiant pagerinti tikslumą. Pakeitimai išvardyti žemiau:

1. Pridėkite tikslią nuorodą (LM385BLP-1.2) ir prijunkite ją prie A1. Sąrankos metu perskaitykite jo vertę, kuri, kaip žinoma, yra 1,215 voltų, tada apskaičiuokite Vcc ir pašalinkite poreikį matuoti Vcc.

2. Pakeiskite 1 omo 5% rezistorių 1 omo 1% galios rezistoriumi, taip sumažindami klaidas, priklausančias nuo varžos vertės.

3. Užuot naudoję fiksuotą PWM verčių rinkinį kiekvienam dabartiniam žingsniui (5 žingsniais), sukurkite norimų srovės verčių masyvą, kuris buvo naudojamas norint apskaičiuoti būtinas PWM reikšmes, kad tos srovės vertės būtų kuo arčiau. Tada jis apskaičiavo faktines dabartines vertes, kurios bus pasiektos naudojant apskaičiuotas PWM vertes.

Svarstydamas aukščiau pateiktus pakeitimus, jis peržiūrėjo kodą ir pasidalino juo komentarų skiltyje. Patikslintas kodas pridedamas žemiau.

Labai ačiū jcgrabo už jūsų vertingą indėlį į mano projektą. Tikiuosi, kad šis patobulinimas bus naudingas daugeliui vartotojų.

11 žingsnis: Išvada

Išvada
Išvada
Išvada
Išvada
Išvada
Išvada
Išvada
Išvada

Norėdami išbandyti grandinę, pirmiausia įkroviau gerą „Samsung 18650“bateriją, naudodamas savo ISDT C4 įkroviklį. Tada prijunkite akumuliatorių prie akumuliatoriaus gnybto. Dabar nustatykite srovę pagal savo poreikius ir ilgai paspauskite „UP“mygtuką. Tada turėtumėte išgirsti pyptelėjimą ir prasidės bandymo procedūra. Bandymo metu OLED ekrane stebėsite visus parametrus. Akumuliatorius išsikraus tol, kol jo įtampa nepasieks žemo lygio slenksčio (3,2 V). Bandymo procesas bus baigtas dviem ilgais pyptelėjimais.

Pastaba: projektas dar tik kuriamas. Galite prisijungti prie manęs dėl bet kokių patobulinimų. Rašykite komentarus, jei yra klaidų ar klaidų. Aš kuriu PCB šiam projektui. Palaikykite ryšį, kad gautumėte daugiau projekto naujinių.

Tikiuosi, kad mano pamoka bus naudinga. Jei jums patinka, nepamirškite pasidalinti:) Prenumeruokite daugiau „pasidaryk pats“projektų. Ačiū.

Rekomenduojamas: