Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Skematisk diagram
- Trin 2: Hvordan fungerer det?
- Trin 3: Kapacitetsmåling
- Trin 4: Lav kredsløbet
- Trin 5: OLED -skærm
- Trin 6: summer til advarsel
- Trin 7: Montering af standoffs
- Trin 8: PCB -design
- Trin 9: Saml printet
- Trin 10: Software og biblioteker
- Trin 11: Konklusion
Video: DIY Arduino batterikapacitetstester - V2.0: 11 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
I dag er falske litium- og NiMH -batterier overalt, som sælges ved reklame med større kapacitet end deres sande kapacitet. Så det er virkelig svært at skelne mellem et ægte og et falsk batteri. Tilsvarende er det svært at kende kapaciteten tilbageholdt i de bjærgede 18650 bærbare batterier. Så en enhed er nødvendig for at måle batteriernes sande kapacitet.
I år 2016 har jeg skrevet en Instructable om "Arduino Capacity Tester - V1.0", som var en meget ligetil og enkel enhed. Den tidligere version var baseret på Ohms Law. Batteriet, der skal testes, aflades gennem en fast modstand, strøm og tidsvarighed måles af Arduino, og kapaciteten beregnes ved at multiplicere begge aflæsninger (afladningsstrøm og tid).
Ulempen ved den tidligere version var, at under testen, da batterispændingen falder, falder strømmen også, hvilket gør beregningerne komplekse og unøjagtige. For at overvinde dette har jeg lavet V2.0, som er designet på en sådan måde, at strømmen forbliver konstant under afladningsprocessen. Jeg lavede denne enhed ved at inspirere det originale design af MyVanitar
Hovedfunktionerne i Capacity Tester V2.0 er:
1. Kan måle kapaciteten på AA / AAA NiMh / NiCd, 18650 Li-ion, Li-Polymer og Li FePO4 batteri. Det er velegnet til næsten enhver form for batteri med en værdi under 5V.
2. Brugere kan indstille afladningsstrømmen ved hjælp af trykknapperne.
3. OLED -brugergrænseflade
4. Enheden kan bruges som en elektronisk belastning
Opdatering den 02.12.2019
Nu kan du bestille printkortet og komponenterne sammen i et sæt fra PCBWay
Ansvarsfraskrivelse: Bemærk, at du arbejder med Li-Ion-batteri, som er meget eksplosivt og farligt. Jeg kan ikke holdes ansvarlig for tab af ejendom, skader eller tab af liv, hvis det kommer til det. Denne vejledning blev skrevet til dem, der har kendskab til genopladelig lithium-ion-teknologi. Prøv ikke dette, hvis du er nybegynder. Pas på dig selv.
Forbrugsvarer
Brugte komponenter
Bestil nu printkort og alle komponenterne til at bygge dette projekt i et sæt fra PCBWay
1. PCB: PCBWay
2. Arduino Nano: Amazon / Banggood
3. Opamp LM358: Amazon / Banggood
4. 0,96 OLED -skærm: Amazon / Banggood
5. Keramisk modstand: Amazon / Banggood
6. Kondensator 100nF: Amazon / Banggood
7. Kondensator 220uF: Amazon / Banggood
8. Modstande 4.7K & 1M: Amazon / Banggood
9. Trykknap: Amazon / Banggood
10. Trykknapper Cap: Aliexpress
11. Skrueterminal: Amazon / Banggood
12. Prototype Board: Amazon / Banggood
13. PCB Stand-off: Amazon / Banggood
14. Heatshrink Tubing: Amazon/ Banggood
15. Kølelegeme: Aliexpress
Brugte værktøjer
1. Loddejern: Amazon / Banggood
2. Clamp Meter: Amazon / Banggood
3. Multimeter: Amazon / Banggood
4. Varmluftsblæser: Amazon / Banggood
5. Wire Cutter: Amazon / Banggood
6. Wire Stripper: Amazon / Banggood
Trin 1: Skematisk diagram
Hele skematikken er opdelt i følgende afsnit:
1. Strømforsyningskredsløb
2. Konstant strømbelastningskredsløb
3. Målingskredsløb for batterispænding
4. Kredsløb til brugergrænseflade
5. summer kreds
1. Strømforsyningskredsløb
Strømforsyningskredsløbet består af et DC-stik (7-9V) og to filterkondensatorer C1 og C2. Udgangseffekten (Vin) er forbundet til Arduino pin Vin. Her bruger jeg Arduino indbyggede spændingsregulator til at sænke spændingen til 5V.
2. Konstant strømbelastningskredsløb
Kernekomponenten i kredsløbet er Op-amp LM358, som indeholder to operationsforstærkere. PWM-signalet fra Arduino-stiften D10 filtreres af et lavpasfilter (R2 og C6) og føres til den anden operationsforstærker. Udgangen fra den anden op-amp er forbundet til den første op-amp i spændingsfølger-konfiguration. Strømforsyningen til LM358 filtreres af en afkoblingskondensator C5.
Den første op-amp, R1 og Q1 bygger et konstant strømbelastningskredsløb. Så nu kan vi styre strømmen gennem belastningsmodstanden (R1) ved at ændre PWM -signalpulsbredden.
3. Målingskredsløb for batterispænding
Batterispændingen måles med den Arduino analoge indgangsstik A0. To kondensatorer C3 og C4 bruges til at filtrere de lyde, der kommer fra konstantstrømbelastningskredsløbet, hvilket kan forringe ADC -konverteringsydelsen.
4. Kredsløb til brugergrænseflade
Brugergrænsefladekredsløbet består af to trykknapper og et 0,96 I2C OLED-display. Op og ned-knappen skal øge eller reducere PWM-pulsbredden. R3 og R4 er pull-up-modstande til op- og ned-tryk -knapper. C7 og C8 bruges til at afbryde trykknapperne. Den tredje trykknap (RST) bruges til at nulstille Arduino.
5. summer kreds
Summerkredsløbet bruges til at advare testens start og slutning. En 5V summer er tilsluttet Arduino digital pin D9.
Trin 2: Hvordan fungerer det?
Teorien er baseret på spændingssammenligningen af inverterings (pin-2) og ikke-inverterende (pin-3) indgange på OpAmp, konfigureret som en enhedsforstærker. Når du indstiller spændingen, der påføres den ikke-inverterende indgang ved at justere PWM-signalet, åbner opampens udgang porten til MOSFET. Når MOSFET tænder, løber strømmen gennem R1, det skaber et spændingsfald, som giver negativ feedback til OpAmp. Den styrer MOSFET på en sådan måde, at spændingerne ved dens inverterende og ikke-inverterende indgange er ens. Så strømmen gennem belastningsmodstanden er proportional med spændingen ved den ikke-inverterende indgang på OpAmp.
PWM -signalet fra Arduino filtreres ved hjælp af et lavpasfilterkredsløb (R2 og C1). For at teste PWM-signalet og filterkredsløbets ydelse tilsluttede jeg min DSO ch-1 ved indgangen og ch-2 ved output fra filterkredsløbet. Outputbølgeformen er vist ovenfor.
Trin 3: Kapacitetsmåling
Her aflades batteriet til dets lave tærskelspænding (3,2V).
Batterikapacitet (mAh) = Strøm (I) i mA x Tid (T) i timer
Af ovenstående ligning er det klart, at for at beregne batterikapacitet (mAh) skal vi kende strømmen i mA og tiden i Time. Det designede kredsløb er et konstant strømbelastningskredsløb, så afladningsstrømmen forbliver konstant i hele testperioden.
Udladningsstrømmen kan justeres ved at trykke på knappen Op og Ned. Tidsvarigheden måles ved hjælp af en timer i Arduino -koden.
Trin 4: Lav kredsløbet
I de foregående trin har jeg forklaret funktionen af hver af komponenterne i kredsløbet. Inden du hopper for at lave det sidste bræt, skal du først teste kredsløbet på et brødbræt. Hvis kredsløbet fungerer perfekt på brødbrættet, skal du flytte til lodning af komponenterne på prototypebrættet.
Jeg brugte 7 cm x 5 cm prototypebrættet.
Montering af Nano: Klip først to rækker med hunstik med 15 ben i hver. Jeg brugte en diagonal nipper til at skære overskrifterne. Derefter loddes hovedstifterne. Sørg for, at afstanden mellem de to skinner passer til Arduino nano.
Montering af OLED -skærm: Klip en kvindelig header med 4pins. Derefter loddes det som vist på billedet.
Montering af terminaler og komponenter: Lod de resterende komponenter som vist på billederne.
Ledninger: Lav ledningerne i henhold til skematisk. Jeg brugte farvede ledninger til at lave ledningerne, så jeg let kan identificere dem.
Trin 5: OLED -skærm
For at vise batterispænding, afladningsstrøm og kapacitet brugte jeg en 0,96 OLED -skærm. Den har en opløsning på 128x64 og bruger en I2C -bus til at kommunikere med Arduino. To ben SCL (A5), SDA (A4) i Arduino Uno bruges til kommunikation.
Jeg bruger Adafruit_SSD1306 biblioteket til at vise parametrene.
Først skal du downloade Adafruit_SSD1306. Derefter installeret det.
Forbindelserne skal være som følger
Arduino OLED
5V -VCC
GND GND
A4-- SDA
A5-- SCL
Trin 6: summer til advarsel
For at give advarsler under testens start og konkurrence, bruges en piezo -summer. Summeren har to terminaler, den længere er positiv og den kortere ben er negativ. Mærkaten på den nye summer har også " +" markeret for at angive den positive terminal.
Da prototypekortet ikke har nok plads til at placere summeren, har jeg tilsluttet summeren til hovedkortet ved hjælp af to ledninger. For at isolere den blotte forbindelse har jeg brugt varmekrympeslange.
Forbindelserne skal være som følger
Arduino summer
D9 Positiv terminal
GND Negativ terminal
Trin 7: Montering af standoffs
Efter lodning og ledninger monteres afstandene i 4 hjørner. Det vil give tilstrækkelig frigang til loddeled og ledninger fra jorden.
Trin 8: PCB -design
Jeg har tegnet skematikken ved at bruge EasyEDA online software efter at have skiftet til PCB -layoutet.
Alle de komponenter, du tilføjede i skematikken, skal være der, stablet oven på hinanden, klar til at placeres og føres. Træk komponenterne ved at gribe om dens puder. Placer den derefter inde i den rektangulære kantlinje.
Arranger alle komponenterne på en sådan måde, at tavlen fylder mindst muligt. Mindre bordstørrelse, desto billigere bliver fremstillingsomkostningerne til printkortet. Det vil være nyttigt, hvis dette bord har nogle monteringshuller på det, så det kan monteres i et kabinet.
Nu skal du rute. Routing er den sjoveste del af hele denne proces. Det er som at løse et puslespil! Ved hjælp af sporingsværktøjet skal vi forbinde alle komponenterne. Du kan bruge både det øverste og det nederste lag til at undgå overlapning mellem to forskellige spor og gøre sporene kortere.
Du kan bruge Silk -laget til at tilføje tekst til tavlen. Vi er også i stand til at indsætte en billedfil, så jeg tilføjer et billede af mit websteds logo, der skal udskrives på tavlen. Til sidst skal vi bruge kobberarealværktøjet til at oprette PCB'ens grundareal.
Du kan bestille det fra PCBWay.
Tilmeld dig PCBWay nu for at få en kupon på 5 USD. Det betyder, at din første ordre er gratis, kun du skal betale forsendelsesomkostningerne.
Når du afgiver en ordre, får jeg 10% donation fra PCBWay for et bidrag til mit arbejde. Din lille hjælp kan tilskynde mig til at gøre mere fantastisk arbejde i fremtiden. Tak for dit samarbejde.
Trin 9: Saml printet
Til lodning skal du bruge et anstændigt loddejern, lodde, nipper og et multimeter. Det er god praksis at lodde komponenterne efter deres højde. Lodde de mindre højdekomponenter først.
Du kan følge følgende trin for at lodde komponenterne:
1. Skub komponentbenene gennem deres huller, og drej printkortet på bagsiden.
2. Hold spidsen af loddejernet til krydset mellem puden og benet på komponenten.
3. Før loddetin ind i leddet, så det flyder rundt om ledningen og dækker puden. Når det har strømmet rundt, skal du flytte spidsen væk.
Trin 10: Software og biblioteker
Download først den vedhæftede Arduino -kode. Download derefter følgende biblioteker og installer dem.
Biblioteker:
Download og installer følgende biblioteker:
1. JC_Button:
2. Adafruit_SSD1306:
I koden skal du ændre følgende to ting.
1. Aktuelle arrays -værdier: Dette kan gøres ved at forbinde et multimeter i serie med batteriet. Tryk på op -knappen og mål strømmen, de aktuelle værdier er elementerne i arrayet.
2. Vcc: Du bruger et multimeter til at måle spændingen ved Arduino 5V pin. I mit tilfælde er den 4,96V.
Opdateret den 20.11.2019
Du kan ændre værdien Low_BAT_Level i koden i henhold til batteriets kemi. Det er bedre at tage en lille margin over afbrydelsesspændingen angivet nedenfor.
Her er afladningshastighederne og afbrydelsesspændinger for forskellige litiumionbatterikemikalier:
1. Litiumkoboltoxid: Afbrydelsesspænding = 2,5V ved 1C afladningshastighed
2. Litiummanganoxid: Afbrydelsesspænding = 2,5V ved 1C afladningshastighed
3. Litiumjernphosphat: Afbrydelsesspænding = 2,5V ved 1C afladningshastighed
4. Litiumtitanat: Afbrydelsesspænding = 1,8V ved 1C afladningshastighed
5. Litiumnikkel mangan koboltoxid: Afbrydelsesspænding = 2,5V ved 1C afladningshastighed
6. Litiumnikkelkobolt aluminiumoxid: Afbrydelsesspænding = 3,0V ved 1C afladningshastighed
Opdateret 01.04.2020
jcgrabo, foreslog nogle ændringer af det originale design for at forbedre præcisionen. Ændringerne er anført nedenfor:
1. Tilføj en præcisionsreference (LM385BLP-1.2) og tilsluttet den til A1. Under opsætningen skal du læse dens værdi, som vides at være 1,215 volt, og derefter beregne Vcc og derved eliminere behovet for at måle Vcc.
2. Udskift 1 ohm 5% modstanden med en 1 ohm 1% effektmodstand, hvilket reducerer fejl, der afhænger af værdien af modstanden.
3. I stedet for at bruge et fast sæt PWM -værdier for hvert nuværende trin (i trin på 5), skal du oprette en række ønskede aktuelle værdier, der bruges til at beregne de nødvendige PWM -værdier for at nå disse aktuelle værdier så tæt som muligt. Han fulgte det ved at beregne de faktiske aktuelle værdier, der vil blive opnået med de beregnede PWM -værdier.
Ved at overveje ovenstående ændringer reviderede han koden og delte den i kommentarfeltet. Den reviderede kode er vedhæftet nedenfor.
Mange tak jcgrabo for dit værdifulde bidrag til mit projekt. Jeg håber, at denne forbedring vil være nyttig for mange flere brugere.
Trin 11: Konklusion
For at teste kredsløbet opladede jeg først et godt Samsung 18650 batteri ved hjælp af min ISDT C4 oplader. Tilslut derefter batteriet til batteripolen. Indstil nu strømmen til i henhold til dit krav, og tryk længe på "UP" -knappen. Så skal du høre et bip, og testproceduren starter. Under testen overvåger du alle parametrene på OLED -displayet. Batteriet aflades, indtil dets spænding når sit lavt tærskelværdi (3,2V). Testprocessen afsluttes med to lange bip.
Bemærk: Projektet er stadig under udviklingsfase. Du kan slutte mig til mig for eventuelle forbedringer. Kom med kommentarer, hvis der er fejl eller fejl. Jeg designer en PCB til dette projekt. Hold kontakten for flere opdateringer til projektet.
Håber min tutorial er nyttig. Hvis du kan lide det, så glem ikke at dele:) Abonner på flere DIY -projekter. Tak skal du have.
Anbefalede:
Batterikapacitetstester ved hjælp af Arduino [Lithium-NiMH-NiCd]: 15 trin (med billeder)
Batterikapacitetstester ved hjælp af Arduino [Lithium-NiMH-NiCd]: Funktioner: Identificer en falsk Lithium-Ion/Lithium-Polymer/NiCd/NiMH batteri Justerbar konstant strømbelastning (kan også ændres af brugeren) Kan måle kapaciteten på næsten enhver form for batteri (under 5V) Let at lodde, bygge og bruge
DIY Arduino batterikapacitetstester - V1.0: 12 trin (med billeder)
DIY Arduino batterikapacitetstester - V1.0: [Afspil video] Jeg har bjærget så mange gamle lap -top batterier (18650) til at genbruge dem i mine solprojekter. Det er meget svært at identificere de gode celler i batteripakken. Tidligere i en af mine Power Bank Instructable har jeg fortalt, hvordan jeg identificerer
Endnu en batterikapacitetstester: 6 trin
Endnu en batterikapacitetstester: Hvorfor en kapacitetsmåler mereJeg har læst en masse forskellige testinstruktioner igennem, men ingen af dem ser ud til at passe til mine behov. Jeg ville også være i stand til at teste mere end bare singe NiCd/NiMH eller Lion celler. Jeg ville gerne teste et elværktøj ba
ZB2L3 BATTERIKAPACITETSTESTER: 6 trin
ZB2L3 BATTERIKAPACITETSTESTER: Specifikationer: Strømforsyningsspænding: DC4.5-6V (mikro USB-stik) Driftsstrøm: mindre end 70mA Opladningsspænding: 1.00V-15.00V 0.01V opløsning Terminationsspændingsområde: 0.5-11.0V Understøttet af strøm: 3.000A 0.001 En opløsningMaksimal spændingsbetydning
3 X 18650 batterikapacitetstester: 6 trin
3 X 18650 batterikapacitetstester: Der er mange instruktioner om, hvordan man bygger arduino -baserede kapacitetstestere over internettet. Sagen er, at det er en temmelig lang proces at teste batterikapacitet. Lad os sige, at du vil aflade 2000mAh batteri med ~ 0.5A strøm. Det vil tage lang tid