Innehållsförteckning:

DIY Arduino batterikapacitetstestare - V2.0: 11 steg (med bilder)
DIY Arduino batterikapacitetstestare - V2.0: 11 steg (med bilder)

Video: DIY Arduino batterikapacitetstestare - V2.0: 11 steg (med bilder)

Video: DIY Arduino batterikapacitetstestare - V2.0: 11 steg (med bilder)
Video: Batteritestare 0-150V (150W) DTL150 - TESTAR NÄSTAN ALLT + VINTERFÖRVARINGS TIPS 2024, November
Anonim
Image
Image

Numera finns falska litium- och NiMH -batterier överallt som säljs genom reklam med högre kapacitet än deras verkliga kapacitet. Så det är verkligen svårt att skilja mellan ett riktigt och ett falskt batteri. På samma sätt är det svårt att veta kapaciteten kvar i de bärgade 18650 bärbara batterierna. Så det krävs en enhet för att mäta batteriernas verkliga kapacitet.

År 2016 har jag skrivit en Instructable om "Arduino Capacity Tester - V1.0" som var en väldigt rak och enkel enhet. Den tidigare versionen baserades på Ohms Law. Batteriet som ska testas laddas ur genom ett fast motstånd, ström och tidslängd mäts av Arduino och kapaciteten beräknas genom att multiplicera båda avläsningarna (urladdningsström och tid).

Nackdelen med den tidigare versionen var att under testningen, när batterispänningen minskar, minskar också strömmen vilket gör beräkningarna komplexa och felaktiga. För att övervinna detta har jag gjort V2.0 som är utformat på ett sådant sätt att strömmen kommer att förbli konstant under urladdningsprocessen. Jag gjorde den här enheten genom att inspirera den ursprungliga designen av MyVanitar

Huvuddragen i Capacity Tester V2.0 är:

1. Kan mäta kapaciteten för AA / AAA NiMh / NiCd, 18650 Li-ion, Li-Polymer och Li FePO4 batteri. Den är lämplig för nästan alla typer av batterier som är lägre än 5V.

2. Användare kan ställa in urladdningsströmmen med hjälp av tryckknapparna.

3. OLED -användargränssnitt

4. Enheten kan användas som en elektronisk last

Uppdatering den 02.12.2019

Nu kan du beställa kretskortet och komponenterna tillsammans i ett kit från PCBWay

Friskrivningsklausul: Observera att du arbetar med Li-Ion-batteri som är mycket explosivt och farligt. Jag kan inte hållas ansvarig för förlust av egendom, skada eller förlust av liv om det kommer till det. Denna handledning skrevs för dem som har kunskap om laddningsbar litiumjonteknik. Försök inte detta om du är nybörjare. Var försiktig.

Tillbehör

Komponenter som används

Beställ nu kretskort och alla komponenter för att bygga detta projekt i ett kit från PCBWay

1. PCB: PCBWay

2. Arduino Nano: Amazon / Banggood

3. Opamp LM358: Amazon / Banggood

4. 0,96 OLED -skärm: Amazon / Banggood

5. Keramisk motstånd: Amazon / Banggood

6. Kondensator 100nF: Amazon / Banggood

7. Kondensator 220uF: Amazon / Banggood

8. Motstånd 4.7K & 1M: Amazon / Banggood

9. Tryckknapp: Amazon / Banggood

10. Tryckknappslock: Aliexpress

11. Skruvterminal: Amazon / Banggood

12. Prototypbräda: Amazon / Banggood

13. PCB Stand-off: Amazon / Banggood

14. Heatshrink Tubing: Amazon/ Banggood

15. Kylfläns: Aliexpress

Verktyg som används

1. Lödkolv: Amazon / Banggood

2. Klämmätare: Amazon / Banggood

3. Multimeter: Amazon / Banggood

4. Varmluftsblåsare: Amazon / Banggood

5. Wire Cutter: Amazon / Banggood

6. Wire Stripper: Amazon / Banggood

Steg 1: Schematisk diagram

Schematisk diagram
Schematisk diagram

Hela schemat är indelat i följande avsnitt:

1. Strömförsörjningskrets

2. Konstant strömbelastningskrets

3. Krets för mätning av batterispänning

4. Användargränssnittskrets

5. Summerkrets

1. Strömförsörjningskrets

Strömförsörjningskretsen består av ett DC-uttag (7-9V) och två filterkondensatorer C1 och C2. Effekten (Vin) är ansluten till Arduino -stiftet Vin. Här använder jag Arduino inbyggda spänningsregulator för att minska spänningen till 5V.

2. Konstant strömbelastningskrets

Kärnkomponenten i kretsen är Op-amp LM358 som innehåller två operationsförstärkare. PWM-signalen från Arduino-stiftet D10 filtreras av ett lågpassfilter (R2 och C6) och matas till den andra operationsförstärkaren. Utgången från den andra op-amp är ansluten till den första op-amp i spänningsföljaren konfiguration. Strömförsörjningen till LM358 filtreras av en avkopplingskondensator C5.

Den första op-amp, R1 och Q1 bygger en konstant strömbelastningskrets. Så nu kan vi styra strömmen genom lastmotståndet (R1) genom att ändra PWM -signalpulsbredden.

3. Krets för mätning av batterispänning

Batterispänningen mäts med Arduino analoga ingångsstift A0. Två kondensatorer C3 och C4 används för att filtrera bort ljud som kommer från konstantströmbelastningskretsen som kan försämra ADC -omvandlingens prestanda.

4. Användargränssnittskrets

Användargränssnittskretsen består av två tryckknappar och en 0,96 I2C OLED-display. Upp- och nedknappen är att öka eller minska PWM-pulsbredden. R3 och R4 är uppdragningsmotstånd för upp- och nedtrycken -knappar. C7 och C8 används för att avstänga tryckknapparna. Den tredje tryckknappen (RST) används för att återställa Arduino.

5. Summerkrets

Summerkretsen används för att varna testets start och slut. En 5V summer är ansluten till Arduino digital pin D9.

Steg 2: Hur fungerar det?

Hur fungerar det?
Hur fungerar det?
Hur fungerar det?
Hur fungerar det?
Hur fungerar det?
Hur fungerar det?

Teorin är baserad på spänningsjämförelsen mellan inverterings- (pin-2) och icke-inverterande (pin-3) ingångarna på OpAmp, konfigurerad som en enhetsförstärkare. När du ställer in den spänning som appliceras på den icke-inverterande ingången genom att justera PWM-signalen, öppnar utgången från opampen porten till MOSFET. När MOSFET slås på går strömmen genom R1, det skapar ett spänningsfall, vilket ger negativ feedback till OpAmp. Den styr MOSFET på ett sådant sätt att spänningarna vid dess inverterande och icke-inverterande ingångar är lika. Så strömmen genom lastmotståndet är proportionell mot spänningen vid den icke-inverterande ingången på OpAmp.

PWM -signalen från Arduino filtreras med hjälp av en lågpassfilterkrets (R2 och C1). För att testa PWM-signalen och filterkretsens prestanda kopplade jag upp min DSO ch-1 vid ingången och ch-2 vid utgången på filterkretsen. Utgångsvågformen visas ovan.

Steg 3: Kapacitetsmätning

Kapacitetsmätning
Kapacitetsmätning

Här laddas batteriet till sin låga tröskelspänning (3,2V).

Batterikapacitet (mAh) = Ström (I) i mA x Tid (T) i timmar

Av ovanstående ekvation är det klart att för att beräkna batterikapacitet (mAh) måste vi känna till strömmen i mA och tiden i timme. Den konstruerade kretsen är en konstant strömbelastningskrets, så urladdningsströmmen förblir konstant under testperioden.

Urladdningsströmmen kan justeras genom att trycka på upp- och nedknappen. Tidsvarigheten mäts med hjälp av en timer i Arduino -koden.

Steg 4: Gör kretsen

Gör kretsen
Gör kretsen
Gör kretsen
Gör kretsen
Gör kretsen
Gör kretsen

I de föregående stegen har jag förklarat funktionen för var och en av komponenterna i kretsen. Innan du hoppar för att göra den sista brädan, testa kretsen på en brödbräda först. Om kretsen fungerar perfekt på brödbrädan, flytta sedan till lödning av komponenterna på prototypkortet.

Jag använde 7 cm x 5 cm prototypkort.

Montering av Nano: Klipp först två rader med hona -stift med 15 stift i varje. Jag använde en diagonal nipper för att klippa rubrikerna. Löd sedan rubrikstiften. Se till att avståndet mellan de två skenorna passar Arduino nano.

Monterad OLED -skärm: Klipp en hona med 4 stift. Löd sedan den som visas på bilden.

Montering av terminaler och komponenter: Löd de återstående komponenterna enligt bilden.

Kabeldragning: Gör kablarna enligt schemat. Jag använde färgade trådar för att göra ledningarna så att jag lätt kan identifiera dem.

Steg 5: OLED -skärm

OLED -skärm
OLED -skärm
OLED -skärm
OLED -skärm

För att visa batterispänning, urladdningsström och kapacitet använde jag en 0,96 OLED -skärm. Den har 128x64 upplösning och använder en I2C -buss för att kommunicera med Arduino. Två stift SCL (A5), SDA (A4) i Arduino Uno används för kommunikation.

Jag använder biblioteket Adafruit_SSD1306 för att visa parametrarna.

Först måste du ladda ner Adafruit_SSD1306. Installerade den sedan.

Anslutningarna ska vara enligt följande

Arduino OLED

5V -VCC

GND GND

A4-- SDA

A5-- SCL

Steg 6: summer för varning

Summer för varning
Summer för varning
Summer för varning
Summer för varning
Summer för varning
Summer för varning
Summer för varning
Summer för varning

För att ge varningar under testets start och tävling används en piezosummer. Summern har två terminaler, den längre är positiv och den kortare benen är negativ. Klistermärket på den nya summern har också " +" markerat för att indikera den positiva terminalen.

Eftersom prototypkortet inte har tillräckligt med utrymme för att placera summern har jag anslutit summern till kretskortet med hjälp av två trådar. För att isolera den fria anslutningen har jag använt värmekrympslang.

Anslutningarna ska vara enligt följande

Arduino summer

D9 Positiv terminal

GND Negativ terminal

Steg 7: Montering av avstängningar

Montering av distanser
Montering av distanser
Montering av distanser
Montering av distanser

Efter lödning och kabeldragning monteras avstånden i 4 hörn. Det ger tillräckligt med utrymme för lödfogarna och trådarna från marken.

Steg 8: PCB -design

PCB -design
PCB -design

Jag har ritat schemat med hjälp av EasyEDA online -programvara efter det att jag bytte till PCB -layouten.

Alla komponenter som du har lagt till i schemat ska vara där, staplade ovanpå varandra, redo att placeras och dirigeras. Dra komponenterna genom att ta tag i dess kuddar. Placera den sedan inuti den rektangulära gränsen.

Ordna alla komponenter på ett sådant sätt att brädan upptar minsta utrymme. Mindre kortstorlek, desto billigare blir tillverkningskostnaden för kretskort. Det kommer att vara användbart om det finns några monteringshål på det här kortet så att det kan monteras i ett hölje.

Nu måste du rutt. Routing är den roligaste delen av hela processen. Det är som att lösa ett pussel! Med hjälp av spårningsverktyget måste vi ansluta alla komponenter. Du kan använda både det övre och det nedre lagret för att undvika överlappning mellan två olika spår och göra spåren kortare.

Du kan använda Silk -lagret för att lägga till text på tavlan. Vi kan också infoga en bildfil, så jag lägger till en bild av min webbplatslogotyp som ska skrivas ut på tavlan. I slutändan, med hjälp av kopparområdeverktyget, måste vi skapa markytan på kretskortet.

Du kan beställa den från PCBWay.

Registrera dig på PCBWay nu för att få en kupong på 5 USD. Det betyder att din första beställning är kostnadsfri, bara du måste betala fraktkostnaderna.

När du lägger en beställning får jag 10% donation från PCBWay för ett bidrag till mitt arbete. Din lilla hjälp kan uppmuntra mig att göra mer fantastiskt arbete i framtiden. Tack för ditt samarbete.

Steg 9: Montera kretskortet

Montera kretskortet
Montera kretskortet
Montera kretskortet
Montera kretskortet

För lödning behöver du ett anständigt lödkolv, löd, nipper och en multimeter. Det är bra att löda komponenterna efter deras höjd. Löd först de mindre höjdskomponenterna.

Du kan följa följande steg för att löda komponenterna:

1. Skjut komponentbenen genom hålen och vrid kretskortet på baksidan.

2. Håll spetsen på lödkolven mot kudden mellan kudden och benet på komponenten.

3. Mata in lödet i fogen så att det flyter runt ledningen och täcker dynan. När det har runnit runt, flytta bort spetsen.

Steg 10: Programvara och bibliotek

Programvara och bibliotek
Programvara och bibliotek
Programvara och bibliotek
Programvara och bibliotek
Programvara och bibliotek
Programvara och bibliotek
Programvara och bibliotek
Programvara och bibliotek

Ladda ner först den bifogade Arduino -koden. Ladda sedan ner följande bibliotek och installera dem.

Bibliotek:

Ladda ner och installera följande bibliotek:

1. JC_Button:

2. Adafruit_SSD1306:

I koden måste du ändra följande två saker.

1. Aktuella matrisvärden: Detta kan göras genom att ansluta en multimeter i serie med batteriet. Tryck på upp -knappen och mät strömmen, de aktuella värdena är elementen i matrisen.

2. Vcc: Du använder en multimeter för att mäta spänningen vid Arduino 5V -stiftet. I mitt fall är den 4,96V.

Uppdaterad den 20.11.2019

Du kan ändra Low_BAT_Level -värdet i koden enligt batterikemi. Det är bättre att ta en liten marginal över avstängningsspänningen som anges nedan.

Här är urladdningshastigheterna och avstängningsspänningarna för olika litiumjonbatterikemikalier:

1. Litiumkoboltoxid: Avstängningsspänning = 2,5V vid 1C urladdningshastighet

2. Litiummanganoxid: Avstängningsspänning = 2,5V vid 1C urladdningshastighet

3. Litiumjärnfosfat: Avstängningsspänning = 2,5V vid 1C urladdningshastighet

4. Litiumtitanat: Avstängningsspänning = 1,8V vid 1C urladdningshastighet

5. Litiumnickelmangan koboltoxid: Avstängningsspänning = 2,5V vid 1C urladdningshastighet

6. Litium-nickelkobolt-aluminiumoxid: Avstängningsspänning = 3,0V vid 1C urladdningshastighet

Uppdaterad 01.04.2020

jcgrabo, föreslog några ändringar av den ursprungliga designen för att förbättra precisionen. Ändringarna listas nedan:

1. Lägg till en precisionsreferens (LM385BLP-1.2) och anslut den till A1. Under installationen, läs dess värde som är känt för att vara 1,215 volt, och beräkna sedan Vcc och eliminerar därmed behovet av att mäta Vcc.

2. Ersätt 1 ohm 5% motståndet med ett 1 ohm 1% effektmotstånd och reducera därmed fel som beror på värdet på motståndet.

3. Snarare än att använda en fast uppsättning PWM -värden för varje aktuellt steg (i steg om 5) skapa en rad önskade strömvärden som används för att beräkna de nödvändiga PWM -värdena för att uppnå dessa aktuella värden så nära som möjligt. Han följde det genom att beräkna de faktiska strömvärdena som kommer att uppnås med de beräknade PWM -värdena.

Genom att överväga ovanstående ändringar reviderade han koden och delade den i kommentarsfältet. Den reviderade koden bifogas nedan.

Tack så mycket jcgrabo för ditt värdefulla bidrag till mitt projekt. Jag hoppas att denna förbättring kommer att vara till hjälp för många fler användare.

Steg 11: Slutsats

Slutsats
Slutsats
Slutsats
Slutsats
Slutsats
Slutsats
Slutsats
Slutsats

För att testa kretsen laddade jag först ett bra Samsung 18650 -batteri med min ISDT C4 -laddare. Anslut sedan batteriet till batteripolen. Ställ nu in strömmen enligt ditt krav och tryck länge på “UP” -knappen. Då ska du höra ett pip och testproceduren startar. Under testet kommer du att övervaka alla parametrar på OLED -displayen. Batteriet laddas ur tills dess spänning når sitt låga tröskelvärde (3,2V). Testprocessen avslutas med två långa pip.

Obs: Projektet är fortfarande under utvecklingsstadium. Du kan gå med mig för eventuella förbättringar. Kom med kommentarer om du har misstag eller fel. Jag håller på att designa ett kretskort för detta projekt. Håll kontakten för fler uppdateringar av projektet.

Hoppas min handledning är till hjälp. Om du gillar det, glöm inte att dela:) Prenumerera på fler DIY -projekt. Tack.

Rekommenderad: