Indholdsfortegnelse:

DIY Arduino batterikapacitetstester - V2.0: 11 trin (med billeder)
DIY Arduino batterikapacitetstester - V2.0: 11 trin (med billeder)

Video: DIY Arduino batterikapacitetstester - V2.0: 11 trin (med billeder)

Video: DIY Arduino batterikapacitetstester - V2.0: 11 trin (med billeder)
Video: Защита от перезарядки батареи с помощью arduino 2024, Juli
Anonim
Image
Image

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

Skematisk diagram
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?

Hvordan virker det?
Hvordan virker det?
Hvordan virker det?
Hvordan virker det?
Hvordan virker det?
Hvordan virker 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

Kapacitetsmåling
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

Gør kredsløbet
Gør kredsløbet
Gør kredsløbet
Gør kredsløbet
Gør kredsløbet
Gør 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

OLED Display
OLED Display
OLED Display
OLED Display

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

Summer til advarsel
Summer til advarsel
Summer til advarsel
Summer til advarsel
Summer til advarsel
Summer til advarsel
Summer til advarsel
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

Montering af standoffs
Montering af standoffs
Montering af standoffs
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

PCB Design
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

Saml printkortet
Saml printkortet
Saml printkortet
Saml printkortet

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

Software og biblioteker
Software og biblioteker
Software og biblioteker
Software og biblioteker
Software og biblioteker
Software og biblioteker
Software og biblioteker
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

Konklusion
Konklusion
Konklusion
Konklusion
Konklusion
Konklusion
Konklusion
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: