INHOUDSOPGAWE:

DIY Arduino -batterykapasiteitstoetser - V2.0: 11 stappe (met foto's)
DIY Arduino -batterykapasiteitstoetser - V2.0: 11 stappe (met foto's)

Video: DIY Arduino -batterykapasiteitstoetser - V2.0: 11 stappe (met foto's)

Video: DIY Arduino -batterykapasiteitstoetser - V2.0: 11 stappe (met foto's)
Video: How to Interface Industrial Sensors with Arduino Nano 2024, November
Anonim
Image
Image

Tans is valse litium- en NiMH -batterye oral te koop, wat verkoop word deur advertensies met 'n hoër kapasiteit as hul werklike kapasiteit. Dit is dus baie moeilik om te onderskei tussen 'n ware en 'n valse battery. Net so is dit moeilik om te weet wat die kapasiteit van die gebergde 18650 skootrekenaarbatterye is. 'N Toestel is dus nodig om die ware kapasiteit van die batterye te meet.

In 2016 het ek 'n instruksies geskryf oor 'Arduino Capacity Tester - V1.0', 'n baie eenvoudige en eenvoudige toestel. Die vorige weergawe was gebaseer op Ohms Law. Die battery wat getoets moet word, word deur 'n vaste weerstand ontlaai, die stroom en tydsduur word gemeet deur Arduino en die kapasiteit word bereken deur beide die metings te vermenigvuldig (ontladingsstroom en tyd).

Die nadeel van die vorige weergawe was dat die stroom tydens die toets, namate die batteryspanning afneem, ook afneem, wat die berekeninge kompleks en onakkuraat maak. Om dit te oorkom, het ek die V2.0 gemaak wat so ontwerp is dat die stroom konstant sal bly gedurende die ontladingsproses. Ek het hierdie toestel gemaak deur die oorspronklike ontwerp van MyVanitar te inspireer

Die belangrikste kenmerke van Capacity Tester V2.0 is:

1. Kan die kapasiteit van die AA / AAA NiMh / NiCd, 18650 Li-ion, Li-Polymer en Li FePO4 battery meet. Dit is geskik vir bykans enige soort battery onder 5V.

2. Gebruikers kan die ontladingsstroom stel deur die drukknoppies te gebruik.

3. OLED -gebruikerskoppelvlak

4. Die toestel kan as 'n elektroniese las gebruik word

Opgedateer op 02.12.2019

Nou kan u die PCB en komponente saam bestel in 'n kit van PCBWay

Disclaimer: Let daarop dat u werk met 'n Li-Ion-battery wat uiters plofbaar en gevaarlik is. Ek kan nie verantwoordelik gehou word vir verlies aan eiendom, skade of lewensverlies as dit daartoe lei nie. Hierdie handleiding is geskryf vir diegene wat kennis dra van herlaaibare litium-ioontegnologie. Moet dit nie probeer as u 'n beginner is nie. Bly veilig.

Voorrade

Komponente wat gebruik word

Bestel nou PCB en al die komponente om hierdie projek in 'n kit van PCBWay te bou

1. PCB: PCBWay

2. Arduino Nano: Amazon / Banggood

3. Opamp LM358: Amazon / Banggood

4. 0,96 OLED -skerm: Amazon / Banggood

5. Keramiekweerstand: Amazon / Banggood

6. Kondensator 100nF: Amazon / Banggood

7. Kondensator 220uF: Amazon / Banggood

8. Weerstande 4.7K & 1M: Amazon / Banggood

9. Drukknop: Amazon / Banggood

10. Drukknoppies: Aliexpress

11. Skroefterminal: Amazon / Banggood

12. Prototipe bord: Amazon / Banggood

13. PCB Stand-off: Amazon / Banggood

14. Heatshrink Tubing: Amazon/ Banggood

15. Koelbak: Aliexpress

Gereedskap gebruik

1. Soldeerbout: Amazon / Banggood

2. Klemmeter: Amazon / Banggood

3. Multimeter: Amazon / Banggood

4. Warmlugblaser: Amazon / Banggood

5. Wire Cutter: Amazon / Banggood

6. Wire Stripper: Amazon / Banggood

Stap 1: Skematiese diagram

Skematiese diagram
Skematiese diagram

Die hele skematiese is verdeel in die volgende afdelings:

1. Kragvoorsieningskring

2. Konstante stroom laaikring

3. Metingsbaan vir batteryspanning

4. Gebruikerskoppelvlakbaan

5. Gonser -kring

1. Kragvoorsieningskring

Die kragtoevoer bestaan uit 'n DC-aansluiting (7-9V) en twee filterkapasitors C1 en C2. Die kraglewering (Vin) is gekoppel aan die Arduino -pen Vin. Hier gebruik ek die ingeboude spanningsreguleerder van Arduino om die spanning na 5V te verlaag.

2. Konstante stroom laaikring

Die kernkomponent van die kring is Op-amp LM358 wat twee operasionele versterkers bevat. Die PWM-sein van die Arduino-pen D10 word gefiltreer deur 'n laagdeurlaatfilter (R2 en C6) en na die tweede operasionele versterker gevoer. Die uitset van die tweede op-amp is gekoppel aan die eerste op-amp in spanningsvolgerkonfigurasie. Die kragtoevoer na LM358 word gefiltreer deur 'n ontkoppelingskondensator C5.

Die eerste op-amp, R1 en Q1 bou 'n konstante stroombelastingbaan. Nou kan ons die stroom deur die lasweerstand (R1) beheer deur die PWM -seinpulswydte te verander.

3. Metingsbaan vir batteryspanning

Die batteryspanning word gemeet deur die Arduino analoog ingangspen A0. Twee kapasitors C3 en C4 word gebruik om die geluide uit die konstante stroombelastingbaan te filter wat die ADC -omskakelingsprestasie kan verswak.

4. Gebruikerskoppelvlakbaan

Die gebruikerskoppelvlakbaan bestaan uit twee drukknoppies en 'n 0,96 I2C OLED-skerm. Die op- en afknoppie is om die PWM-polswydte te vergroot of te verlaag. R3 en R4 is optrekweerstands vir die op- en afwaartse druk -knoppies. C7 en C8 word gebruik om die drukknoppies af te weer. Die derde drukknop (RST) word gebruik om die Arduino terug te stel.

5. Gonser -kring

Die zoemer -kring word gebruik om die begin en einde van die toets te waarsku. 'N 5V -zoemer is gekoppel aan die Arduino digitale pen D9.

Stap 2: Hoe werk dit?

Hoe werk dit?
Hoe werk dit?
Hoe werk dit?
Hoe werk dit?
Hoe werk dit?
Hoe werk dit?

Die teorie is gebaseer op die spanningsvergelyking van die omkeer (pen-2) en die nie-omkeer (pen-3) insette van die OpAmp, gekonfigureer as 'n eenheidversterker. As u die spanning wat op die nie-omkerende ingang toegepas word, stel deur die PWM-sein aan te pas, maak die uitset van die opamp die hek van MOSFET oop. As die MOSFET-aanskakel, loop die stroom deur R1, veroorsaak dit 'n spanningsval, wat negatiewe terugvoer aan OpAmp bied. Dit beheer die MOSFET op so 'n manier dat die spannings by sy omkeer- en nie-omkeer-insette gelyk is. Die stroom deur die lasweerstand is dus eweredig aan die spanning by die nie-omkerende ingang van die OpAmp.

Die PWM -sein van die Arduino word gefiltreer deur gebruik te maak van 'n laagdeurlaatfilterbaan (R2 en C1). Om die PWM-sein- en filterkringprestasie te toets, het ek my DSO ch-1 by die ingang aangesluit en ch-2 by die uitset van die filterbaan. Die uitsetgolfvorm word hierbo getoon.

Stap 3: Meting van kapasiteit

Meting van kapasiteit
Meting van kapasiteit

Hier word die battery ontlaai tot die lae vlak drempelspanning (3.2V).

Batterykapasiteit (mAh) = Stroom (I) in mA x Tyd (T) in ure

Uit die bostaande vergelyking is dit duidelik dat ons die stroom in mA en die tyd in Uur moet ken om die batterykapasiteit (mAh) te bereken. Die ontwerpte stroombaan is 'n konstante stroombelastingbaan, dus die ontladingsstroom bly konstant gedurende die toetsperiode.

Die ontlaadstroom kan verstel word deur op die op- en afknoppie te druk. Die tydsduur word gemeet deur 'n timer in die Arduino -kode te gebruik.

Stap 4: Maak die kring

Om die kring te maak
Om die kring te maak
Om die kring te maak
Om die kring te maak
Om die kring te maak
Om die kring te maak

In die vorige stappe het ek die funksie van elk van die komponente in die stroombaan verduidelik. Toets eers die kring op 'n broodbord voordat u spring om die finale bord te maak. As die stroombaan perfek op die broodbord werk, moet u die komponente op die prototipe bord soldeer.

Ek het die 7 cm x 5 cm prototipe bord gebruik.

Montering van die Nano: Sny eers twee rye vroulike koppen met 15 penne in elk. Ek het 'n diagonale knipper gebruik om die kopstukke te sny. Soldeer dan die koppenne. Maak seker dat die afstand tussen die twee relings by die Arduino nano pas.

Monteer OLED -skerm: Sny 'n vroulike kopstuk met 4 spelde. Soldeer dit dan soos op die foto getoon.

Montering van die terminale en komponente: soldeer die oorblywende komponente soos op die foto's getoon.

Bedrading: maak die bedrading volgens die skema. Ek het gekleurde drade gebruik om die bedrading te maak sodat ek dit maklik kan identifiseer.

Stap 5: OLED -skerm

OLED -skerm
OLED -skerm
OLED -skerm
OLED -skerm

Om die batteryspanning, ontlaadstroom en kapasiteit weer te gee, het ek 'n 0,96 OLED -skerm gebruik. Dit het 'n resolusie van 128x64 en gebruik 'n I2C -bus om met die Arduino te kommunikeer. Twee penne SCL (A5), SDA (A4) in Arduino Uno word gebruik vir kommunikasie.

Ek gebruik die Adafruit_SSD1306 -biblioteek om die parameters te vertoon.

Eerstens moet u die Adafruit_SSD1306 aflaai. Daarna geïnstalleer.

Die verbindings moet soos volg wees

Arduino OLED

5V -VCC

GND GND

A4-- SDA

A5-- SCL

Stap 6: Gonser vir waarskuwing

Gonser vir waarskuwing
Gonser vir waarskuwing
Gonser vir waarskuwing
Gonser vir waarskuwing
Gonser vir waarskuwing
Gonser vir waarskuwing
Gonser vir waarskuwing
Gonser vir waarskuwing

'N Piëzo -zoemer word gebruik om waarskuwings tydens die aanvang en kompetisie van die toets te gee. Die gonser het twee terminale, die langer een is positief en die korter been is negatief. Die plakker op die nuwe zoemer is ook " +" gemerk om die positiewe terminaal aan te dui.

Aangesien die prototipe -bord nie genoeg ruimte het om die gonser te plaas nie, het ek die gonser met die hoofbord met twee drade verbind. Om die blote verbinding te isoleer, het ek 'n krimpbuis gebruik.

Die verbindings moet soos volg wees

Arduino gonser

D9 Positiewe terminaal

GND Negatiewe terminale

Stap 7: Montering van die afstande

Montering van die opstandpunte
Montering van die opstandpunte
Montering van die opstandpunte
Montering van die opstandpunte

Na soldeer en bedrading, monteer die afstande op 4 hoeke. Dit sal voldoende soldeer vir die soldeerverbindings en drade van die grond af.

Stap 8: PCB -ontwerp

PCB ontwerp
PCB ontwerp

Ek het die skets geteken deur EasyEDA -aanlynprogrammatuur te gebruik, nadat ek na die PCB -uitleg oorgeskakel het.

Al die komponente wat u in die skematiese byvoeging bygevoeg het, moet daar wees, bo -op mekaar gestapel, gereed om geplaas en gerouteer te word. Sleep die komponente deur aan sy onderdele te gryp. Plaas dit dan binne die reghoekige grenslyn.

Rangskik al die komponente so dat die bord minimale ruimte inneem. Hoe kleiner die grootte van die bord, hoe goedkoper is die vervaardigingskoste van die PCB. Dit sal handig wees as daar 'n paar bevestigingsgate op die bord is, sodat dit in 'n omhulsel gemonteer kan word.

Nou moet jy roete. Routing is die lekkerste deel van hierdie hele proses. Dit is soos om 'n raaisel op te los! Deur die opsporingsinstrument te gebruik, moet ons al die komponente verbind. U kan die boonste en onderste laag gebruik om oorvleueling tussen twee verskillende snitte te voorkom en die snitte korter te maak.

U kan die Silk -laag gebruik om teks op die bord te voeg. Ons kan ook 'n beeldlêer invoeg, so ek voeg 'n prentjie van my webwerf -logo by om op die bord gedruk te word. Uiteindelik moet ons die grondoppervlak van die PCB gebruik met behulp van die koper -gereedskap.

U kan dit by PCBWay bestel.

Meld u nou aan by PCBWay om 'n koepon van $ 5 te kry. Dit beteken dat u eerste bestelling gratis is, maar u hoef slegs die afleweringskoste te betaal.

As u 'n bestelling plaas, kry ek 10% skenking van PCBWay vir 'n bydrae tot my werk. Jou bietjie hulp kan my aanmoedig om in die toekoms meer wonderlike werk te doen. Dankie vir jou samewerking.

Stap 9: Monteer die PCB

Monteer die PCB
Monteer die PCB
Monteer die PCB
Monteer die PCB

Vir soldeer benodig u 'n ordentlike soldeerbout, soldeer, nipper en 'n multimeter. Dit is goed om die komponente volgens hul hoogte te soldeer. Soldeer eers die komponente met 'n mindere hoogte.

U kan die volgende stappe volg om die komponente te soldeer:

1. Druk die komponentpote deur hul gate en draai die printplaat op sy rug.

2. Hou die punt van die soldeerbout tot by die aansluiting van die kussing en die been van die komponent.

3. Voer soldeersel in die las sodat dit rondom die lood vloei en die laag bedek. Sodra dit oral rondgevloei het, skuif die punt weg.

Stap 10: Sagteware en biblioteke

Sagteware en biblioteke
Sagteware en biblioteke
Sagteware en biblioteke
Sagteware en biblioteke
Sagteware en biblioteke
Sagteware en biblioteke
Sagteware en biblioteke
Sagteware en biblioteke

Laai eers die aangehegte Arduino -kode af. Laai dan die volgende biblioteke af en installeer dit.

Biblioteke:

Laai die volgende biblioteke af en installeer dit:

1. JC_Button:

2. Adafruit_SSD1306:

In die kode moet u die volgende twee dinge verander.

1. Huidige skikkingswaardes: Dit kan gedoen word deur 'n multimeter in serie met die battery te koppel. Druk die op -knoppie en meet die stroom; die huidige waardes is die elemente van die skikking.

2. Vcc: U gebruik 'n multimeter om die spanning by die Arduino 5V -pen te meet. In my geval is dit 4.96V.

Opgedateer op 20.11.2019

U kan die Low_BAT_Level -waarde in die kode verander volgens die batterykemie. Dit is beter om 'n bietjie marge te neem oor die onderbrekingspanning.

Hier is die ontladingsnelhede en afsny spannings vir verskillende chemiese stowwe van litium-ioonbatterye:

1. Litiumkobaltoksied: afsnyspanning = 2.5V teen 1C ontladingsnelheid

2. Litium-mangaanoksied: afsnyspanning = 2.5V by 1C ontladingsnelheid

3. Litium ysterfosfaat: afsny spanning = 2.5V by 1C ontladingsnelheid

4. Litiumtitanaat: afsnyspanning = 1.8V by 1C ontladingsnelheid

5. Litium-nikkel mangaan kobaltoksied: afsny spanning = 2.5V by 1C ontladingsnelheid

6. Litium-nikkel-kobaltaluminiumoksied: afsnyspanning = 3.0V by 1C ontladingsnelheid

Opgedateer op 01.04.2020

jcgrabo, het 'n paar veranderinge aan die oorspronklike ontwerp voorgestel om die presisie te verbeter. Die veranderinge word hieronder gelys:

1. Voeg 'n presisieverwysing (LM385BLP-1.2) by en koppel dit aan A1. Lees tydens die opstelling die waarde wat bekend is as 1.215 volt, en bereken dan Vcc, waardeur u die behoefte om Vcc te meet, uitskakel.

2. Vervang die 1 ohm 5% weerstand met 'n 1 ohm 1% kragweerstand en verminder sodoende foute wat afhang van die waarde van die weerstand.

3. In plaas van 'n vaste stel PWM -waardes vir elke huidige stap (in stappe van 5) te gebruik, moet u 'n reeks gewenste huidige waardes skep wat gebruik word om die nodige PWM -waardes te bereken om die huidige waardes so na as moontlik te bereik. Hy het dit gevolg deur die werklike huidige waardes te bereken wat met die berekende PWM -waardes bereik sal word.

Deur die bogenoemde veranderings te oorweeg, het hy die kode hersien en in die kommentaarafdeling gedeel. Die hersiene kode is hieronder aangeheg.

Baie dankie jcgrabo vir u waardevolle bydrae tot my projek. Ek hoop dat hierdie verbetering vir baie meer gebruikers nuttig sal wees.

Stap 11: Gevolgtrekking

Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting
Afsluiting

Om die kring te toets, laai ek eers 'n goeie Samsung 18650 -battery met my ISDT C4 -laaier. Koppel dan die battery aan die batteryklem. Stel nou die stroom in volgens u vereiste en druk die "UP" -knoppie lank in. Dan moet u 'n piep hoor en die toetsprosedure begin. Tydens die toets monitor u al die parameters op die OLED -skerm. Die battery laai totdat die spanning sy laevlakdrempel (3.2V) bereik. Die toetsproses word afgehandel met twee lang piep.

Opmerking: die projek is nog in die ontwikkelingsfase. U kan by my aansluit vir enige verbeterings. Lewer kommentaar as daar foute of foute is. Ek is besig om 'n PCB vir hierdie projek te ontwerp. Bly verbind vir meer opdaterings van die projek.

Hoop my tutoriaal is nuttig. As u daarvan hou, moenie vergeet om te deel nie:) Teken in vir meer selfdoenprojekte. Dankie.

Aanbeveel: