Innehållsförteckning:
- Tillbehör
- Steg 1: Schematisk diagram
- Steg 2: Hur fungerar det?
- Steg 3: Kapacitetsmätning
- Steg 4: Gör kretsen
- Steg 5: OLED -skärm
- Steg 6: summer för varning
- Steg 7: Montering av avstängningar
- Steg 8: PCB -design
- Steg 9: Montera kretskortet
- Steg 10: Programvara och bibliotek
- Steg 11: Slutsats
Video: DIY Arduino batterikapacitetstestare - V2.0: 11 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:42
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
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?
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
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
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
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
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
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
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
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
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
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:
DIY Arduino batterikapacitetstestare - V1.0: 12 steg (med bilder)
DIY Arduino batterikapacitetstestare - V1.0: [Spela upp video] Jag har bärgat så många gamla batterier (18650) för att återanvända dem i mina solprojekt. Det är mycket svårt att identifiera de bra cellerna i batteripaketet. Tidigare i en av mina Power Bank Instructable har jag berättat hur jag identifierar
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Hur man tar isär en dator med enkla steg och bilder: 13 steg (med bilder)
Hur man tar isär en dator med enkla steg och bilder: Detta är en instruktion om hur man demonterar en dator. De flesta av de grundläggande komponenterna är modulära och lätt att ta bort. Det är dock viktigt att du är organiserad kring det. Detta hjälper dig att inte förlora delar, och även för att göra ommonteringen
3 X 18650 batterikapacitetstestare: 6 steg
3 X 18650 batterikapacitetstestare: Det finns många instruktioner om hur man bygger arduinobaserade kapacitetstestare över internet. Saken är att det är en ganska lång process för att testa batterikapaciteten. Låt oss säga att du vill ladda ur 2000mAh batteri med ~ 0,5A ström. Det kommer att ta tid
Li-Ion batterikapacitetstestare (litiumeffektmätare): 5 steg
Li-Ion batterikapacitetstestare (litiumeffektmätare): ============ VARNING & ANSVARSFRISKRIVNING =========== Li-Ion-batterier är mycket farliga om de inte hanteras på rätt sätt.ÖVRIGA INTE LADDNING / BRÄND / ÖPPNA Li-Ion Bats Allt du gör med denna information är din egen risk ====== ========================================