INHOUDSOPGAWE:

DIY Arduino -batterykapasiteitstoetser - V1.0: 12 stappe (met foto's)
DIY Arduino -batterykapasiteitstoetser - V1.0: 12 stappe (met foto's)

Video: DIY Arduino -batterykapasiteitstoetser - V1.0: 12 stappe (met foto's)

Video: DIY Arduino -batterykapasiteitstoetser - V1.0: 12 stappe (met foto's)
Video: Timelapse Final Fantasy Gunblade Printed on a CR-30 2024, November
Anonim
Image
Image
DIY Arduino -batterykapasiteitstoetser - V1.0
DIY Arduino -batterykapasiteitstoetser - V1.0

[Speel video] Ek het soveel ou skootrekenaars (18650) gered om dit in my sonprojekte te hergebruik. Dit is baie moeilik om die goeie selle in die battery te identifiseer. Ek het vroeër in een van my Power Bank Instructable vertel hoe om goeie selle te identifiseer deur hul spannings te meet, maar hierdie metode is glad nie betroubaar nie. Ek wou dus 'n manier hê om die presiese kapasiteit van elke sel in plaas van hul spannings te meet.

Opgedateer op 30.10.2019

U kan my nuwe weergawe sien

'N Paar weke gelede het ek die projek begin met die basiese beginsels. Hierdie weergawe is regtig eenvoudig, gebaseer op Ohms Law. Die akkuraatheid van die toetser is nie 100% perfek nie, maar dit gee redelike resultate wat gebruik kan word en vergelyk met ander batterye, sodat u maklik goeie selle in 'n ou battery kan identifiseer. Tydens my werk het ek besef, is daar baie dinge wat verbeter kan word. In die toekoms sal ek probeer om hierdie dinge te implementeer. Maar voorlopig is ek tevrede daarmee. Ek hoop dat hierdie klein toetser nuttig sal wees, so ek deel dit met julle almal. Let wel: Gooi die slegte batterye behoorlik weg. Disclaimer: Let op dat u met Li saamwerk -Ionbattery wat baie 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 het oor herlaaibare litium-ioontegnologie. Moet dit nie probeer as u 'n beginner is nie. Bly veilig.

Stap 1: Onderdele en gereedskap benodig:

Onderdele benodig: 1. Arduino Nano (Gear Best / Banggood) 2. 0.96 OLED -skerm (Amazon / Banggood) 3. MOSFET - IRLZ44 (Amazon) 4. Weerstands (4 x 10K, 1 / 4W) (Amazon / Banggood) 5. Kragweerstand (10R, 10W) (Amazon) 6. Skroefklemme (3 nrs) (Amazon / Banggood) 7. Buzzzer (Amazon / Banggood) 8. Prototipe bord (Amazon / Banggood) 9. 18650 batteryhouer (Amazon)

10. 18650 battery (GearBest / Banggood) 11. Gereedskap vir afstandhouers (Amazon / Banggood): 1. 2. Draadsnyer / -stropper (Gear Best) 2. Soldeerbout (Amazon / Banggood) instrument wat gebruik word: IMAX Balance Charger (Gearbest / Banggood)

Infrarooi termometergeweer (Amazon /Gearbest)

Stap 2: Skematies en werkend

Skematies en werkend
Skematies en werkend
Skematies en werkend
Skematies en werkend

Skematiese:

Om die skema maklik te verstaan, het ek dit ook op 'n geperforeerde bord geteken. Die posisies van die komponente en bedrading is soortgelyk aan my werklike bord. Die enigste uitsonderings is die gonser en OLED -skerm. In die werklike bord is hulle binne, maar in die skematiese lê hulle buite.

Die ontwerp is baie eenvoudig, gebaseer op Arduino Nano. 'N OLED -skerm word gebruik om die batteryparameters te vertoon. 3 skroefaansluitings word gebruik om die battery en die lasweerstand aan te sluit. 'N Gonser word gebruik om verskillende waarskuwings te gee. Twee stroomverdelerkringe word gebruik om die spanning oor die lasweerstand te monitor. Die funksie van die MOSFET is om die lasweerstand met die battery aan of uit te skakel.

Werk:

Arduino kontroleer die toestand van die battery, as die battery goed is, gee u die opdrag om die MOSFET aan te skakel. Dit laat stroom toe om van die positiewe aansluiting van die battery, deur die weerstand te gaan, en die MOSFET voltooi dan die pad terug na die negatiewe terminaal. Dit ontlaai die battery oor 'n tydperk. Arduino meet die spanning oor die lasweerstand en dan gedeel deur die weerstand om die ontlaadstroom uit te vind. Vermenigvuldig dit met die tyd om die waarde van milliampure (kapasiteit) te verkry.

Stap 3: Meting van spanning, stroom en kapasiteit

Spanningsmeting

Ons moet die spanning oor die lasweerstand vind. Die spannings word gemeet deur gebruik te maak van twee spanningsverdelerkringe. Dit bestaan uit twee weerstande met waardes van 10k elk. Die uitset van die verdeler is gekoppel aan die analoge Arduino -pen A0 en A1.

Arduino analoog pen kan spanning tot 5V meet, in ons geval is die maksimum spanning 4,2V (volledig gelaai). Dan kan u vra waarom ek onnodig twee verdelers gebruik. Die rede hiervoor is dat my toekomsplan dieselfde tester vir die multi-chemiese battery gebruik. Hierdie ontwerp kan dus maklik aangepas word om my doel te bereik.

Huidige meting:

Stroom (I) = Spanning (V) - Spanningsval oor die MOSFET / Weerstand (R)

Nota: ek neem aan dat die spanningsval oor die MOSFET weglaatbaar is.

Hier is V = Spanning oor die lasweerstand en R = 10 Ohm

Die resultaat is in ampère. Vermenigvuldig 1000 om dit in milliamperes om te skakel.

Dus maksimum ontladingsstroom = 4.2 / 10 = 0.42A = 420mA

Meting van kapasiteit:

Gestoorde heffing (Q) = Huidige (I) x Tyd (T).

Ons het die stroom reeds bereken; die enigste onbekende in die bostaande vergelyking is tyd. Die millis () -funksie in Arduino kan gebruik word om die verstreke tyd te meet.

Stap 4: Kies laaiweerstand

Kies laaiweerstand
Kies laaiweerstand

Die keuse van lasweerstand hang af van die hoeveelheid ontladingsstroom wat ons benodig. Gestel u wil die battery by 500mA ontlaai, dan is die weerstandswaarde

Weerstand (R) = Max batteryspanning / ontlaadstroom = 4.2 /0.5 = 8.4 Ohm

Die weerstand moet 'n bietjie krag versprei, dus grootte maak in hierdie geval saak.

Hitte versprei = I^2 x R = 0,5^2 x 8,4 = 2,1 Watt

Deur 'n marge te hou, kan u 5W kies. Gebruik 10W as u meer veiligheid wil hê.

Ek het 10 Ohm, 10W weerstand in plaas van 8.4 Ohm gebruik, want dit was destyds in my voorraad.

Stap 5: Kies die MOSFET

Kies die MOSFET
Kies die MOSFET

Hier tree MOSFET op soos 'n skakelaar. Die digitale uitset van die Arduino -pen D2 beheer die skakelaar. As 'n 5V (HOOG) sein na die hek van die MOSFET gevoer word, laat dit stroom deur die positiewe pole van die battery, deur die weerstand, en die MOSFET voltooi dan die pad terug na die negatiewe terminaal. Dit ontlaai die battery oor 'n tydperk. Die MOSFET moet dus so gekies word dat dit die maksimum ontlaadstroom kan hanteer sonder oorverhitting.

Ek het 'n N-channel logic level power MOSFET-IRLZ44 gebruik. Die L toon aan dat dit 'n logiese vlak MOSFET is. 'N Logiese vlak MOSFET beteken dat dit ontwerp is om volledig aan te skakel vanaf die logiese vlak van 'n mikrobeheerder. Die standaard MOSFET (IRF -reeks, ens.) Is ontwerp om vanaf 10V te werk.

As u 'n IRF -reeks MOSFET gebruik, sal dit nie heeltemal AANSKAKEL deur 5V van Arduino toe te pas nie. Ek bedoel dat die MOSFET nie die nominale stroom sal dra nie. Om hierdie MOSFET's in te skakel, benodig u 'n ekstra kring om die hekspanning te verhoog.

Ek sal dus aanbeveel om 'n logiese vlak MOSFET te gebruik, nie noodwendig IRLZ44 nie. U kan ook enige ander MOSFET gebruik.

Stap 6: 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 I2C -bus om met die Arduino te kommunikeer. Twee penne SCL (A5), SDA (A4) in Arduino Uno word gebruik vir kommunikasie.

Ek gebruik die U8glib -biblioteek om die parameters te vertoon. Eerstens moet u die U8glib -biblioteek aflaai. Dan installeer u dit.

As u wil begin met die OLED -skerm en Arduino, klik dan hier

Die verbindings moet soos volg wees

Arduino OLED

5V -Vcc

GND GND

A4-- SDA

A5-- SCL

Stap 7: Gonser vir waarskuwing

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

Om 'n ander waarskuwing of waarskuwing te gee, word 'n piëzo -zoemer gebruik. Die verskillende waarskuwings is

1. Lae spanning van die battery

2. Battery hoogspanning

3. Geen battery nie

Die gonser het twee terminale, die langer een is positief en die korter been is negatief. Die plakker op die nuwe zoemer het ook ' +' gemerk om die positiewe terminaal aan te dui.

Die verbindings moet soos volg wees

Arduino gonser

D9 Positiewe terminaal

GND Negatiewe terminale

In die Arduino Sketch het ek 'n aparte funksiebiep () gebruik wat die PWM -sein na die zoemer stuur, wag vir 'n klein vertraging, dan skakel dit uit en dan nog 'n klein vertraging. Dit piep dus een keer.

Stap 8: 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 kring perfek werk op die broodbord, beweeg dan om die komponente op die protipe bord te soldeer.

Ek het 'n prototipe van 7 cm x 5 cm gebruik.

Montering van die Nano: Sny eers twee rye vroulike koppen met 15 penne in elk. Ek gebruik 'n diagonale knip 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 skematiese. Ek het gekleurde drade gebruik om die bedrading te maak, sodat ek dit maklik kan identifiseer.

Stap 9: Montering van die afstande

Montering van die opstandpunte
Montering van die opstandpunte
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 10: sagteware

Sagteware
Sagteware
Sagteware
Sagteware

Die sagteware doen die volgende take

1. Meet spannings

Neem 100 ADC -monsters, voeg dit by en gemiddeld die resultaat. Dit word gedoen om die geraas te verminder.

2. Kontroleer die toestand van die battery om 'n waarskuwing te gee of om die ontslagsiklus te begin

Waarskuwings

i) Laag-V!: As die batteryspanning onder die laagste ontlaadvlak is (2.9V vir Li Ion)

ii) Hoog-V!: As die batteryspanning hoër is as die volgelaaide toestand

iii) Geen battery nie!: As die batteryhouer leeg is

Ontslag siklus

As die batteryspanning binne die laespanning (2.9V) en hoogspanning (4.3V) is, begin die ontladingsiklus. Bereken die stroom en kapasiteit soos vroeër verduidelik.

3. Wys die parameters op die OLED

4. Data -aanmelding op seriële monitor

Laai die Arduino -kode hieronder af.

Stap 11: Uitvoer van reeksdata en plot op Excel -blad

Uitvoer van reeksdata en plot op Excel -blad
Uitvoer van reeksdata en plot op Excel -blad
Uitvoer van reeksdata en plot op Excel -blad
Uitvoer van reeksdata en plot op Excel -blad

Om die kring te toets, laai ek eers 'n goeie Samsung 18650 -battery met my IMAX -laaier. Plaas dan die battery in my nuwe toetser. Om die hele ontladingsproses te ontleed, voer ek die seriële data uit na 'n sigblad. Toe teken ek die afvoerkromme. Die resultaat is regtig wonderlik. Ek het 'n sagteware genaamd PLX-DAQ gebruik om dit te doen. U kan dit hier aflaai.

U kan hierdie tutoriaal deurlees om te leer hoe u PLX-DAQ gebruik. Dit is baie eenvoudig.

Let wel: dit werk slegs in Windows.

Stap 12: Gevolgtrekking

Afsluiting
Afsluiting
Afsluiting
Afsluiting

Na 'n paar toetse kom ek tot die gevolgtrekking dat die toetsresultaat redelik is. Die resultaat is 50 tot 70mAh van 'n batterykapasiteitstoetser se resultaat af. Deur 'n IR -temperatuurgeweer te gebruik, het ek ook die temperatuurstyging in die lasweerstand gemeet, die maksimum waarde is 51 grade C.

In hierdie ontwerp is die ontladingsstroom nie konstant nie, dit hang af van die batteryspanning. Die ontladingskurwe is dus nie soortgelyk aan die ontladingskurwe wat in die datablad vir die vervaardiging van die battery gegee word nie. Dit ondersteun slegs 'n enkele Li Ion -battery.

So in my toekomstige weergawe sal ek probeer om die bogenoemde tekortkominge in die V1.0 op te los.

Krediet: Ek wil graag erkenning gee aan Adam Welch, wie se projek op YouTube my geïnspireer het om met hierdie projek te begin. U kan sy YouTube -video kyk.

Stel enige verbetering voor. Skep kommentaar as daar foute of foute is.

Hoop my tutoriaal is nuttig. As u daarvan hou, moet u dit nie vergeet nie:)

Teken in vir meer selfdoenprojekte. Dankie.

Aanbeveel: