Cuprins:

Tester de capacitate a bateriei DIY Arduino - V2.0: 11 pași (cu imagini)
Tester de capacitate a bateriei DIY Arduino - V2.0: 11 pași (cu imagini)

Video: Tester de capacitate a bateriei DIY Arduino - V2.0: 11 pași (cu imagini)

Video: Tester de capacitate a bateriei DIY Arduino - V2.0: 11 pași (cu imagini)
Video: Dorian este speriat de un interlop când face poze 😱🥊🤣 #timisoara #dorianpopa #cluj #bucuresti 2024, Noiembrie
Anonim
Image
Image

În prezent, bateriile false Lithium și NiMH sunt peste tot, care sunt vândute prin publicitate cu capacități mai mari decât capacitatea lor reală. Deci, este foarte dificil să se facă distincția între o baterie reală și una falsă. În mod similar, este dificil să se cunoască capacitatea reținută în bateriile de laptop 18650 recuperate. Deci, este necesar un dispozitiv pentru a măsura capacitatea reală a bateriilor.

În anul 2016, am scris un Instructable pe "Arduino Capacity Tester - V1.0", care a fost un dispozitiv foarte simplu și simplu. Versiunea anterioară se baza pe legea Ohms. Bateria care urmează să fie testată este descărcată printr-un rezistor fix, durata curentului și a timpului este măsurată de Arduino, iar capacitatea este calculată prin înmulțirea ambelor citiri (curent și timp de descărcare).

Dezavantajul versiunii anterioare era că în timpul testării, pe măsură ce scade tensiunea bateriei, scade și curentul, ceea ce face calculele complexe și inexacte. Pentru a depăși acest lucru, am făcut V2.0, care este proiectat în așa fel încât curentul să rămână constant pe tot parcursul procesului de descărcare. Am creat acest dispozitiv inspirând designul original de la MyVanitar

Principalele caracteristici ale Capacity Tester V2.0 sunt:

1. Capabil să măsoare capacitatea bateriei AA / AAA NiMh / NiCd, 18650 Li-ion, Li-Polymer și Li FePO4. Este potrivit pentru aproape orice tip de baterie cu o valoare mai mică de 5V.

2. Utilizatorii pot seta curentul de descărcare utilizând butoanele.

3. Interfață utilizator OLED

4. Dispozitivul poate fi folosit ca încărcare electronică

Actualizare la 02.12.2019

Acum puteți comanda PCB și componentele împreună într-un kit de la PCBWay

Declinare de responsabilitate: Vă rugăm să rețineți că lucrați cu baterie Li-Ion, care este extrem de explozivă și periculoasă. Nu pot fi tras la răspundere pentru orice pierdere de bunuri, daune sau pierderi de vieți umane, dacă este vorba despre asta. Acest tutorial a fost scris pentru cei care au cunoștințe despre tehnologia reîncărcabilă litiu-ion. Vă rugăm să nu încercați acest lucru dacă sunteți un novice. Stai in siguranta.

Provizii

Componente utilizate

Acum comandați PCB și toate componentele pentru a construi acest proiect într-un kit de la PCBWay

1. PCB: PCBWay

2. Arduino Nano: Amazon / Banggood

3. Opamp LM358: Amazon / Banggood

4. Afișaj OLED de 0,96 : Amazon / Banggood

5. Rezistor de ceramică: Amazon / Banggood

6. Condensator 100nF: Amazon / Banggood

7. Condensator 220uF: Amazon / Banggood

8. Rezistențe 4.7K și 1M: Amazon / Banggood

9. Buton: Amazon / Banggood

10. Push-Buton Cap: Aliexpress

11. Terminal cu șurub: Amazon / Banggood

12. Placă prototip: Amazon / Banggood

13. Stand-off PCB: Amazon / Banggood

14. Tuburi termocontractabile: Amazon / Banggood

15. Radiator: Aliexpress

Instrumente utilizate

1. Fier de lipit: Amazon / Banggood

2. Clamp Meter: Amazon / Banggood

3. Multimetru: Amazon / Banggood

4. Suflant de aer cald: Amazon / Banggood

5. Cutter de sârmă: Amazon / Banggood

6. Stripper de sârmă: Amazon / Banggood

Pasul 1: Diagrama schematică

Diagramă schematică
Diagramă schematică

Întreaga schemă este împărțită în secțiuni următoare:

1. Circuitul de alimentare

2. Circuit de încărcare a curentului constant

3. Circuitul de măsurare a tensiunii bateriei

4. Circuit interfață utilizator

5. Circuit sonor

1. Circuitul de alimentare

Circuitul de alimentare este format dintr-un conector DC (7-9V) și doi condensatori de filtrare C1 și C2. Ieșirea de putere (Vin) este conectată la pinul Arduino Vin. Aici folosesc regulatorul de tensiune integrat Arduino pentru a reduce tensiunea la 5V.

2. Circuit de încărcare a curentului constant

Componenta de bază a circuitului este Op-amp LM358 care conține doi amplificatori operaționali. Semnalul PWM de la pinul Arduino D10 este filtrat de un filtru low-pass (R2 și C6) și alimentat la al doilea amplificator operațional. Ieșirea celui de-al doilea amplificator opțional este conectat la primul amplificator opțional în configurația adeptului de tensiune. Alimentarea la LM358 este filtrată de un condensator de decuplare C5.

Primul amplificator opțional, R1 și Q1 construiesc un circuit de sarcină de curent constant. Deci, acum putem controla curentul prin rezistorul de sarcină (R1) modificând lățimea impulsului semnalului PWM.

3. Circuitul de măsurare a tensiunii bateriei

Tensiunea bateriei este măsurată de pinul de intrare analogică Arduino A0. Două condensatoare C3 și C4 sunt utilizate pentru a filtra zgomotele provenite de la circuitul de sarcină de curent constant care poate degrada performanța de conversie ADC.

4. Circuit interfață utilizator

Circuitul interfeței utilizatorului este format din două butoane și un afișaj OLED de 0,96 . Butoanele Sus și Jos sunt pentru a crește sau micșora lățimea impulsului PWM. R3 și R4 sunt rezistențe pull-up pentru apăsarea Sus și Jos -butoane. C7 și C8 sunt folosite pentru a elimina butoanele. Al treilea buton (RST) este utilizat pentru resetarea Arduino.

5. Circuit sonor

Circuitul sonor este utilizat pentru a alerta începutul și sfârșitul testului. Un buzzer de 5V este conectat la pinul digital Arduino D9.

Pasul 2: Cum funcționează?

Cum functioneazã?
Cum functioneazã?
Cum functioneazã?
Cum functioneazã?
Cum functioneazã?
Cum functioneazã?

Teoria se bazează pe comparația de tensiune a intrărilor inversoare (pin-2) și intrări non-inversoare (pin-3) ale OpAmp, configurate ca amplificator de unitate. Când setați tensiunea aplicată intrării fără inversare prin ajustarea semnalului PWM, ieșirea opampului deschide poarta MOSFET. Pe măsură ce pornește MOSFET, curentul trece prin R1, creează o cădere de tensiune, care oferă feedback negativ la OpAmp. Controlează MOSFET în așa fel încât tensiunile la intrările sale inversoare și non-inversoare să fie egale. Deci, curentul prin rezistența de sarcină este proporțional cu tensiunea la intrarea non-inversă a OpAmp.

Semnalul PWM de la Arduino este filtrat utilizând un circuit de filtrare trece-jos (R2 și C1). Pentru a testa semnalul PWM și performanța circuitului de filtrare, am conectat DSO ch-1 la intrare și ch-2 la ieșirea circuitului de filtrare. Forma de undă de ieșire este prezentată mai sus.

Pasul 3: Măsurarea capacității

Măsurarea capacității
Măsurarea capacității

Aici bateria este descărcată la tensiunea sa prag de nivel scăzut (3,2V).

Capacitatea bateriei (mAh) = Curent (I) în mA x Timp (T) în ore

Din ecuația de mai sus este clar că pentru a calcula capacitatea bateriei (mAh), trebuie să cunoaștem curentul în mA și timpul în oră. Circuitul proiectat este un circuit de sarcină de curent constant, astfel încât curentul de descărcare rămâne constant pe toată durata testării.

Curentul de descărcare poate fi ajustat apăsând butonul Sus și Jos. Durata timpului este măsurată utilizând un cronometru în codul Arduino.

Pasul 4: Realizarea circuitului

Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului
Realizarea circuitului

În pașii anteriori, am explicat funcția fiecărei componente din circuit. Înainte de a sari pentru a face placa finală, testați mai întâi circuitul pe o placă de calcul. Dacă circuitul funcționează perfect pe panoul de control, deplasați-vă pentru a lipi componentele de pe placa prototip.

Am folosit placa prototip de 7cm X 5cm.

Montarea Nano: Tăiați mai întâi două rânduri de știfturi feminine cu 15 știfturi în fiecare. Am folosit un nipper diagonal pentru a tăia antetele. Apoi lipiți știfturile antetului. Asigurați-vă că distanța dintre cele două șine se potrivește cu Arduino nano.

Montarea ecranului OLED: tăiați un antet feminin cu 4 pini. Apoi lipiți-l așa cum se arată în imagine.

Montarea terminalelor și componentelor: lipiți componentele rămase așa cum se arată în imagini.

Cablare: Faceți cablarea conform schemei. Am folosit fire colorate pentru a face cablajul, astfel încât să le pot identifica cu ușurință.

Pasul 5: Afișaj OLED

Afișaj OLED
Afișaj OLED
Afișaj OLED
Afișaj OLED

Pentru a afișa tensiunea bateriei, curentul de descărcare și capacitatea, am folosit un afișaj OLED de 0,96 . Are rezoluție 128x64 și folosește o magistrală I2C pentru a comunica cu Arduino. Se folosesc doi pini SCL (A5), SDA (A4) în Arduino Uno pentru comunicare.

Folosesc biblioteca Adafruit_SSD1306 pentru a afișa parametrii.

Mai întâi, trebuie să descărcați Adafruit_SSD1306. Apoi l-ați instalat.

Conexiunile ar trebui să fie după cum urmează

Arduino OLED

5V -VCC

GND GND

A4-- SDA

A5-- SCL

Pasul 6: Buzzer pentru avertisment

Buzzer pentru avertisment
Buzzer pentru avertisment
Buzzer pentru avertisment
Buzzer pentru avertisment
Buzzer pentru avertisment
Buzzer pentru avertisment
Buzzer pentru avertisment
Buzzer pentru avertisment

Pentru a oferi alerte în timpul începerii și competiției testului, se utilizează un buzzer piezo. Buzzer-ul are două terminale, cel mai lung este pozitiv, iar piciorul mai scurt este negativ. Eticheta de pe noul buzzer are, de asemenea, marcat „+” pentru a indica terminalul pozitiv.

Deoarece placa prototip nu are suficient spațiu pentru a amplasa buzzer-ul, am conectat buzzer-ul la placa principală cu ajutorul a două fire. Pentru a izola conexiunea goală, am folosit tuburi termocontractabile.

Conexiunile ar trebui să fie după cum urmează

Arduino Buzzer

D9 Terminal pozitiv

GND Terminal negativ

Pasul 7: Montarea distanțelor

Montarea distanțelor
Montarea distanțelor
Montarea distanțelor
Montarea distanțelor

După lipire și cablare, montați distanțele la 4 colțuri. Acesta va oferi suficient spațiu pentru îmbinările și firele de lipit de la sol.

Pasul 8: Proiectare PCB

Design PCB
Design PCB

Am desenat schema utilizând software-ul online EasyEDA după ce am trecut la aspectul PCB.

Toate componentele pe care le-ați adăugat în schemă ar trebui să fie acolo, stivuite una peste alta, gata pentru a fi plasate și direcționate. Trageți componentele apucând de tampoanele sale. Apoi, așezați-l în interiorul liniei dreptunghiulare.

Aranjați toate componentele în așa fel încât placa să ocupe un spațiu minim. Cu cât dimensiunea plăcii este mai mică, cu atât costul de fabricație a PCB va fi mai mic. Va fi util dacă această placă are niște găuri de montare pe ea, astfel încât să poată fi montată într-o incintă.

Acum trebuie să parcurgeți ruta. Rutare este cea mai distractivă parte a întregului proces. Este ca și cum ai rezolva un puzzle! Folosind instrumentul de urmărire trebuie să conectăm toate componentele. Puteți utiliza atât stratul superior, cât și stratul inferior pentru a evita suprapunerea între două piese diferite și pentru a face piesele mai scurte.

Puteți utiliza stratul Silk pentru a adăuga text pe tablă. De asemenea, putem introduce un fișier imagine, așa că adaug o imagine a siglei site-ului meu web pentru a fi tipărită pe tablă. În cele din urmă, folosind instrumentul pentru zona de cupru, trebuie să creăm zona de sol a PCB-ului.

O puteți comanda de la PCBWay.

Înscrieți-vă acum PCBWay pentru a obține un cupon de 5 USD. Asta înseamnă că prima comandă este gratuită doar că trebuie să plătiți taxele de expediere.

Când plasați o comandă, voi primi o donație de 10% de la PCBWay pentru o contribuție la munca mea. Micul tău ajutor mă poate încuraja să fac o muncă mai grozavă în viitor. Multumesc pentru cooperare.

Pasul 9: Asamblați PCB-ul

Asamblați PCB-ul
Asamblați PCB-ul
Asamblați PCB-ul
Asamblați PCB-ul

Pentru lipire, veți avea nevoie de un fier de lipit decent, de lipit, de șnur și de un multimetru. Este o bună practică să lipiți componentele în funcție de înălțimea lor. Lipiți mai întâi componentele cu înălțime mai mică.

Puteți urma următorii pași pentru lipirea componentelor:

1. Împingeți picioarele componente prin găurile lor și rotiți PCB-ul pe spate.

2. Țineți vârful fierului de lipit la joncțiunea tamponului și a piciorului componentei.

3. Introduceți lipirea în articulație astfel încât să curgă în jurul plumbului și să acopere tamponul. Odată ce a trecut de jur împrejur, îndepărtează vârful.

Pasul 10: Software și biblioteci

Software și biblioteci
Software și biblioteci
Software și biblioteci
Software și biblioteci
Software și biblioteci
Software și biblioteci
Software și biblioteci
Software și biblioteci

Mai întâi, descărcați codul Arduino atașat. Apoi descărcați următoarele biblioteci și instalați-le.

Biblioteci:

Descărcați și instalați următoarele biblioteci:

1. JC_Button:

2. Adafruit_SSD1306:

În cod, trebuie să schimbați următoarele două lucruri.

1. Valorile matricelor curente: Acest lucru se poate face prin conectarea unui multimetru în serie cu bateria. Apăsați butonul sus și măsurați curentul, valorile curente sunt elementele matricei.

2. Vcc: Folosiți un multimetru pentru a măsura tensiunea la pinul Arduino 5V. În cazul meu este de 4.96V.

Actualizat la 20.11.2019

Puteți modifica valoarea Low_BAT_Level din cod conform chimiei bateriei. Este mai bine să luați o mică marjă peste tensiunea de întrerupere menționată mai jos.

Iată ratele de descărcare și tensiunile de întrerupere pentru diverse chimie ale bateriilor litiu-ion:

1. Oxid de cobalt de litiu: Tensiune de întrerupere = 2,5V la o rată de descărcare de 1C

2. Oxid de litiu și mangan: Tensiune de întrerupere = 2,5V la o rată de descărcare de 1C

3. Fosfat de litiu-fier: Tensiune de tăiere = 2,5V la o rată de descărcare de 1C

4. Titanat de litiu: Tensiune de întrerupere = 1,8 V la o rată de descărcare 1C

5. Lithium Nickel Manganese Cobalt Oxide: Tensiune de întrerupere = 2,5V la o rată de descărcare de 1C

6. Litiu, nichel, cobalt, oxid de aluminiu: Tensiune de întrerupere = 3,0V la o rată de descărcare de 1C

Actualizat la 01.04.2020

jcgrabo, a sugerat câteva modificări ale designului original pentru a îmbunătăți precizia. Modificările sunt enumerate mai jos:

1. Adăugați o referință de precizie (LM385BLP-1.2) și conectați-o la A1. În timpul configurării, citiți valoarea sa, care este cunoscută a fi 1.215 volți, apoi calculați Vcc, eliminând astfel necesitatea de a măsura Vcc.

2. Înlocuiți rezistorul de 1 ohm 5% cu un rezistor de putere de 1 ohm 1% reducând astfel erorile care depind de valoarea rezistenței.

3. Mai degrabă decât să folosiți un set fix de valori PWM pentru fiecare pas curent (în trepte de 5) creați o serie de valori de curent dorite care au fost utilizate pentru a calcula valorile PWM necesare pentru a obține acele valori curente cât mai aproape posibil. El a urmat acest lucru prin calcularea valorilor actuale curente care vor fi atinse cu valorile PWM calculate.

Luând în considerare modificările de mai sus, el a revizuit codul și l-a distribuit în secțiunea de comentarii. Codul revizuit este atașat mai jos.

Vă mulțumesc mult jcgrabo pentru contribuția dvs. valoroasă la proiectul meu. Sper că această îmbunătățire va fi utilă pentru mai mulți utilizatori.

Pasul 11: Concluzie

Concluzie
Concluzie
Concluzie
Concluzie
Concluzie
Concluzie
Concluzie
Concluzie

Pentru a testa circuitul, am încărcat mai întâi o baterie bună Samsung 18650 folosind încărcătorul ISDT C4. Apoi conectați bateria la borna bateriei. Acum setați curentul în funcție de cerințele dvs. și apăsați lung butonul „SUS”. Apoi, ar trebui să auziți un semnal sonor și începe procedura de testare. În timpul testului, veți monitoriza toți parametrii de pe ecranul OLED. Bateria se va descărca până când tensiunea atinge pragul de nivel scăzut (3,2V). Procesul de testare va fi finalizat prin două bipuri lungi.

Notă: Proiectul este încă în faza de dezvoltare. Vă puteți alătura pentru orice îmbunătățiri. Ridicați comentarii dacă există greșeli sau erori. Proiectez un PCB pentru acest proiect. Rămâneți conectat pentru mai multe actualizări ale proiectului.

Sper că tutorialul meu este util. Dacă vă place, nu uitați să partajați:) Abonați-vă pentru mai multe proiecte DIY. Mulțumesc.

Recomandat: