Talaan ng mga Nilalaman:

DIY Arduino Battery Capacity Tester - V2.0: 11 Mga Hakbang (na may Mga Larawan)
DIY Arduino Battery Capacity Tester - V2.0: 11 Mga Hakbang (na may Mga Larawan)

Video: DIY Arduino Battery Capacity Tester - V2.0: 11 Mga Hakbang (na may Mga Larawan)

Video: DIY Arduino Battery Capacity Tester - V2.0: 11 Mga Hakbang (na may Mga Larawan)
Video: How to use TP5100 2A 8.4/4.2V 1S and 2S Lithium Battery Charger DIY 2024, Hulyo
Anonim
Image
Image

Ngayong mga araw na ito ang mga pekeng baterya ng Lithium at NiMH ay nasa lahat ng dako na ibinebenta ng advertising na may mas mataas na mga capacities kaysa sa kanilang totoong kakayahan. Kaya't talagang mahirap makilala ang pagitan ng isang tunay at isang pekeng baterya. Katulad nito, mahirap malaman ang kapasidad na napanatili sa natipid na 18650 na mga baterya ng laptop. Kaya, kinakailangan ng isang aparato upang masukat ang totoong kakayahan ng mga baterya.

Sa taong 2016, nagsulat ako ng isang Maituturo sa "Arduino Capacity Tester - V1.0" na isang napaka tuwid na pasulong at simpleng aparato. Ang naunang bersyon ay batay sa Ohms Law. Ang bateryang susubok ay pinalalabas sa pamamagitan ng isang nakapirming risistor, ang kasalukuyang at tagal ng oras ay sinusukat ng Arduino at ang kapasidad ay kinakalkula sa pamamagitan ng pagpaparami ng parehong mga pagbasa (Discharge current and time).

Ang sagabal ng naunang bersyon ay habang sa pagsubok, tulad ng pagbaba ng boltahe ng baterya, bumababa rin ang kasalukuyang ginagawang kumplikado at hindi tumpak ang mga kalkulasyon. Upang mapagtagumpayan ito, ginawa ko ang V2.0 na idinisenyo sa isang paraan na ang kasalukuyang mananatiling pare-pareho sa buong proseso ng paglabas. Ginawa ko ang aparatong ito sa pamamagitan ng pag-inspire sa orihinal na disenyo ng MyVanitar

Ang mga pangunahing tampok ng Capacity Tester V2.0 ay:

1. May kakayahang sukatin ang kapasidad ng AA / AAA NiMh / NiCd, 18650 Li-ion, Li-Polymer, at Li FePO4 na baterya. Ito ay angkop para sa halos anumang uri ng baterya na na-rate sa ibaba 5V.

2. Maaaring itakda ng mga gumagamit ang kasalukuyang paglabas sa pamamagitan ng paggamit ng mga pushbuttons.

3. OLED user Interface

4. Ang aparato ay maaaring magamit bilang isang Electronic Load

I-update sa 02.12.2019

Ngayon ay maaari kang mag-order ng PCB at mga sangkap nang magkasama sa isang kit mula sa PCBWay

Pagwawaksi: Mangyaring tandaan na nakikipagtulungan ka sa Li-Ion na baterya na lubos na sumasabog at mapanganib. Hindi ako mananagot para sa anumang pagkawala ng pag-aari, pinsala, o pagkawala ng buhay kung tungkol ito. Ang tutorial na ito ay isinulat para sa mga may kaalaman sa rechargeable lithium-ion na teknolohiya. Mangyaring huwag subukan ito kung ikaw ay isang baguhan. Manatiling ligtas.

Mga gamit

Mga Ginamit na Bahagi

Ngayon Mag-order ng PCB at lahat ng mga bahagi upang maitayo ang proyektong ito sa isang kit mula sa PCBWay

1. PCB: PCBWay

2. Arduino Nano: Amazon / Banggood

3. Opamp LM358: Amazon / Banggood

4. 0.96 OLED display: Amazon / Banggood

5. Ceramic Resistor: Amazon / Banggood

6. Capacitor 100nF: Amazon / Banggood

7. Capacitor 220uF: Amazon / Banggood

8. Mga Resistor 4.7K & 1M: Amazon / Banggood

9. Push Button: Amazon / Banggood

10. Push-Buttons Cap: Aliexpress

11. Screw Terminal: Amazon / Banggood

12. Prototype Board: Amazon / Banggood

13. Stand-off ng PCB: Amazon / Banggood

14. Heatshrink Tubing: Amazon / Banggood

15. Heatsink: Aliexpress

Mga Kagamitang Ginamit

1. Soldering Iron: Amazon / Banggood

2. Clamp Meter: Amazon / Banggood

3. Multimeter: Amazon / Banggood

4. Hot Air Blower: Amazon / Banggood

5. Wire Cutter: Amazon / Banggood

6. Wire Stripper: Amazon / Banggood

Hakbang 1: Diagram ng Skematika

Diagram ng Skematik
Diagram ng Skematik

Ang buong eskematiko ay nahahati sa mga seksyon ng pagsunod:

1. Circuit ng Power Supply

2. Patuloy na Kasalukuyang Load Circuit

3. Circuit ng Pagsukat ng Boltahe ng Baterya

4. Circuit ng User Interface

5. Buzzer Circuit

1. Circuit ng Power Supply

Ang circuit ng suplay ng kuryente ay binubuo ng isang DC Jack (7-9V) at dalawang filter capacitor C1 at C2. Ang output output (Vin) ay konektado sa Arduino pin Vin. Narito ginagamit ko ang Arduino on-board voltage regulator upang bumaba ang boltahe sa 5V.

2. Patuloy na Kasalukuyang Load Circuit

Ang pangunahing bahagi ng circuit ay Op-amp LM358 na naglalaman ng dalawang pagpapatakbo na amplifiers. Ang signal ng PWM mula sa Arduino pin D10 ay sinala ng isang low-pass filter (R2 at C6) at pinakain sa pangalawang amplifier ng pagpapatakbo. Ang output ng pangalawang op-amp ay konektado sa unang op-amp sa pagsasaayos ng tagasunod ng boltahe. Ang supply ng kuryente sa LM358 ay sinala ng isang decoupling capacitor C5.

Ang unang op-amp, R1, at Q1 ay nagtatayo ng isang pare-pareho na kasalukuyang circuit ng pag-load. Kaya't makokontrol natin ang kasalukuyang sa pamamagitan ng load resistor (R1) sa pamamagitan ng pagbabago ng lapad ng signal ng PWM signal.

3. Circuit ng Pagsukat ng Boltahe ng Baterya

Ang boltahe ng baterya ay sinusukat ng Arduino analog input pin A0. Ang dalawang capacitor C3 at C4 ay ginagamit upang salain ang mga ingay na nagmumula sa pare-pareho na kasalukuyang circuit ng pag-load na maaaring mag-degrade ng pagganap ng conversion ng ADC.

4. Circuit ng User Interface

Ang circuit ng interface ng gumagamit ay binubuo ng dalawang mga push-button at isang 0.96 I2C OLED display. Ang push-button na Up at Down ay upang taasan o bawasan ang lapad ng pulso ng PWM. Ang R3 at R4 ay mga pull-up resistor para sa Up at Down push -buttons. Ang C7 at C8 ay ginagamit upang i-debounce ang mga push-button. Ginagamit ang pangatlong push-button (RST) para sa pag-reset ng Arduino.

5. Buzzer Circuit

Ginagamit ang circuit ng buzzer upang alerto ang pagsisimula at pagtatapos ng pagsubok. Ang isang 5V buzzer ay naka-hook sa Arduino digital pin D9.

Hakbang 2: Paano Ito Gumagana?

Paano Ito Gumagana?
Paano Ito Gumagana?
Paano Ito Gumagana?
Paano Ito Gumagana?
Paano Ito Gumagana?
Paano Ito Gumagana?

Ang teorya ay batay sa paghahambing ng boltahe ng pag-invert (pin-2) at mga di-pag-invert (pin-3) na input ng OpAmp, na-configure bilang isang amplifier ng pagkakaisa. Kapag itinakda mo ang boltahe na inilapat sa di-inverting input sa pamamagitan ng pag-aayos ng signal ng PWM, ang output ng opamp ay magbubukas sa gate ng MOSFET. Tulad ng pag-on ng MOSFET, ang kasalukuyang tumatakbo sa pamamagitan ng R1, lumilikha ito ng isang drop ng boltahe, na nagbibigay ng negatibong puna sa OpAmp. Kinokontrol nito ang MOSFET sa isang paraan na ang mga voltages sa pag-invert nito at mga di-pag-invert na input ay pantay. Kaya, ang kasalukuyang sa pamamagitan ng resistor ng pag-load ay proporsyonal sa boltahe sa di-inverting input ng OpAmp.

Ang signal ng PWM mula sa Arduino ay nasala sa pamamagitan ng paggamit ng isang mababang pass circuit circuit (R2 at C1). Upang masubukan ang signal ng PWM at pagganap ng circuit circuit, na-hook ko ang aking DSO ch-1 sa input at ch-2 sa output ng filter circuit. Ang output waveform ay ipinapakita sa itaas.

Hakbang 3: Pagsukat sa Kapasidad

Pagsukat sa Kapasidad
Pagsukat sa Kapasidad

Narito ang baterya ay pinalabas sa mababang antas ng boltahe ng threshold (3.2V).

Kapasidad sa Baterya (mAh) = Kasalukuyang (I) sa mA x Oras (T) sa Mga Oras

Mula sa equation sa itaas malinaw na upang makalkula ang kapasidad ng baterya (mAh), kailangan nating malaman ang kasalukuyang sa mA at oras sa Oras. Ang naka-disenyo na circuit ay isang pare-pareho kasalukuyang circuit ng pag-load, kaya't ang kasalukuyang paglabas ay nananatiling pare-pareho sa panahon ng pagsubok.

Ang kasalukuyang paglabas ay maaaring iakma sa pamamagitan ng pagpindot sa Up at Down Button. Ang tagal ng oras ay sinusukat sa pamamagitan ng paggamit ng isang timer sa Arduino code.

Hakbang 4: Paggawa ng Circuit

Paggawa ng Circuit
Paggawa ng Circuit
Paggawa ng Circuit
Paggawa ng Circuit
Paggawa ng Circuit
Paggawa ng Circuit

Sa mga nakaraang hakbang, ipinaliwanag ko ang pagpapaandar ng bawat isa sa mga bahagi sa circuit. Bago tumalon upang gawin ang panghuling board, subukan muna ang circuit sa isang breadboard. Kung ang circuit ay gumagana nang perpekto sa breadboard, pagkatapos ay lumipat sa paghihinang ng mga sangkap sa prototype board.

Ginamit ko ang 7cm X 5cm prototype board.

Pag-mount sa Nano: Una gupitin ang dalawang hilera ng babaeng pin ng header na may 15 na pin sa bawat isa. Gumamit ako ng diagonal nipper upang i-cut ang mga header. Pagkatapos ay paghihinang ang mga header pin. Tiyaking ang distansya sa pagitan ng dalawang daang-bakal ay umaangkop sa Arduino nano.

Pag-mount OLED Display: Gupitin ang isang babaeng header na may 4pins. Pagkatapos maghinang ito tulad ng ipinakita sa larawan.

Pag-mount sa mga terminal at sangkap: Paghinang ng natitirang mga sangkap tulad ng ipinakita sa mga larawan.

Mga kable: Gawin ang mga kable ayon sa eskematiko. Gumamit ako ng mga may kulay na mga wire upang gawin ang mga kable upang madali ko silang makilala.

Hakbang 5: OLED Display

OLED Display
OLED Display
OLED Display
OLED Display

Upang maipakita ang Boltahe ng Baterya, kasalukuyang paglabas at kapasidad, gumamit ako ng isang 0.96 display na OLED. Mayroon itong resolusyon na 128x64 at gumagamit ng isang I2C bus upang makipag-usap sa Arduino. Dalawang mga pin na SCL (A5), SDA (A4) sa Arduino Uno ang ginagamit para sa komunikasyon.

Gumagamit ako ng Adafruit_SSD1306 library upang ipakita ang mga parameter.

Una, kailangan mong i-download ang Adafruit_SSD1306. Pagkatapos ay na-install ito.

Ang mga koneksyon ay dapat na tulad ng mga sumusunod

Arduino OLED

5V -VCC

GND GND

A4-- SDA

A5-- SCL

Hakbang 6: Buzzer para sa Babala

Buzzer para sa Babala
Buzzer para sa Babala
Buzzer para sa Babala
Buzzer para sa Babala
Buzzer para sa Babala
Buzzer para sa Babala
Buzzer para sa Babala
Buzzer para sa Babala

Upang magbigay ng mga alerto sa panahon ng pagsisimula at kumpetisyon ng pagsubok, isang piezo buzzer ang ginagamit. Ang buzzer ay may dalawang mga terminal, ang mas mahaba ay positibo at ang mas maikling paa ay negatibo. Ang sticker sa bagong buzzer ay may markang "+" din upang ipahiwatig ang positibong terminal.

Dahil ang board ng prototype ay walang sapat na silid upang mailagay ang buzzer, nakakonekta ko ang buzzer sa pangunahing circuit board sa pamamagitan ng paggamit ng dalawang wires. Upang insulate ang hubad na koneksyon, gumamit ako ng heat shrink tubing.

Ang mga koneksyon ay dapat na tulad ng mga sumusunod

Arduino Buzzer

D9 Positibong terminal

Negatibong terminal ng GND

Hakbang 7: Pag-mount ng Standoffs

Pag-mount ng Standoffs
Pag-mount ng Standoffs
Pag-mount ng Standoffs
Pag-mount ng Standoffs

Pagkatapos ng paghihinang at mga kable, i-mount ang mga standoff sa 4 na sulok. Magbibigay ito ng sapat na clearance sa mga soldering joint at wires mula sa lupa.

Hakbang 8: Disenyo ng PCB

Disenyo ng PCB
Disenyo ng PCB

Inilabas ko ang iskema sa pamamagitan ng paggamit ng EasyEDA online software pagkatapos na lumipat sa layout ng PCB.

Ang lahat ng mga sangkap na idinagdag mo sa eskematiko ay dapat naroroon, nakasalansan sa isa't isa, handa nang mailagay at iruruta. I-drag ang mga sangkap sa pamamagitan ng pagkuha sa pads nito. Pagkatapos ay ilagay ito sa loob ng parihabang borderline.

Ayusin ang lahat ng mga bahagi sa isang paraan na ang board ay sumasakop sa minimum na puwang. Mas maliit ang laki ng board, mas mura ang gastos sa pagmamanupaktura ng PCB. Magiging kapaki-pakinabang kung ang board na ito ay may ilang mga mounting hole dito upang maaari itong mai-mount sa isang enclosure.

Ngayon kailangan mong mag-ruta. Ang pagruta ay ang pinaka nakakatuwang bahagi ng buong prosesong ito. Ito ay tulad ng paglutas ng isang palaisipan! Gamit ang tool sa pagsubaybay kailangan namin upang ikonekta ang lahat ng mga bahagi. Maaari mong gamitin ang parehong tuktok at ilalim na layer para maiwasan ang pag-overlap sa pagitan ng dalawang magkakaibang mga track at gawing mas maikli ang mga track.

Maaari mong gamitin ang layer ng Silk upang magdagdag ng teksto sa pisara. Gayundin, nakakapasok kami ng isang file ng imahe, kaya nagdaragdag ako ng isang imahe ng aking logo ng website upang mai-print sa pisara. Sa huli, gamit ang tool na lugar ng tanso, kailangan naming lumikha ng ground area ng PCB.

Maaari mo itong iorder mula sa PCBWay.

Mag-sign up sa PCBWay ngayon upang makakuha ng isang kupon na US $ 5. Nangangahulugan iyon na ang iyong unang order ay walang bayad ikaw lang ang magbabayad ng mga singil sa pagpapadala.

Kapag nag-order ka, makakakuha ako ng 10% na donasyon mula sa PCBWay para sa isang kontribusyon sa aking trabaho. Ang iyong munting tulong ay maaaring hikayatin akong gumawa ng mas kahanga-hangang gawain sa hinaharap. Salamat sa iyong pakikiisa.

Hakbang 9: Magtipon ng PCB

Ipunin ang PCB
Ipunin ang PCB
Ipunin ang PCB
Ipunin ang PCB

Para sa Paghinang, kakailanganin mo ng disenteng Soldering Iron, Solder, Nipper at isang multimeter. Mahusay na kasanayan na maghinang ng mga sangkap ayon sa kanilang taas. Paghinang muna ang mga mas maliit na sangkap ng taas.

Maaari mong sundin ang mga sumusunod na hakbang upang maghinang ng mga bahagi:

1. Itulak ang mga bahagi ng binti sa kanilang mga butas, at i-on ang PCB sa likuran nito.

2. Hawakan ang dulo ng soldering iron sa kantong ng pad at ang binti ng sangkap.

3. Feed solder sa magkasanib upang ito ay dumadaloy sa buong paligid ng tingga at takpan ang pad. Kapag ito ay dumaloy sa paligid, ilipat ang tip.

Hakbang 10: Software at Mga Aklatan

Software at Mga Aklatan
Software at Mga Aklatan
Software at Mga Aklatan
Software at Mga Aklatan
Software at Mga Aklatan
Software at Mga Aklatan
Software at Mga Aklatan
Software at Mga Aklatan

Una, i-download ang nakalakip na Arduino Code. Pagkatapos i-download ang mga sumusunod na aklatan at i-install ang mga ito.

Mga Aklatan:

I-download at i-install ang mga sumusunod na aklatan:

1. JC_ Button: https://github.com/JChristensen/JC_ Button

2. Adafruit_SSD1306: https://github.com/JChristensen/JC_ Button

Sa code, kailangan mong baguhin ang sumusunod na dalawang bagay.

1. Mga halaga ng Kasalukuyang Mga Aray: Maaari itong magawa sa pamamagitan ng pagkonekta ng isang multimeter sa serye sa baterya. Pindutin ang up button at sukatin ang kasalukuyang, ang kasalukuyang mga halaga ay ang mga elemento ng array.

2. Vcc: Gumagamit ka ng isang multimeter upang masukat ang boltahe sa Arduino 5V pin. Sa aking kaso ito ay 4.96V.

Nai-update noong 20.11.2019

Maaari mong baguhin ang halagang Mababang_BAT_Level sa code ayon sa kimika ng baterya. Mas mahusay na kumuha ng isang maliit na margin sa cut-off voltage na nakasaad sa ibaba.

Narito ang mga rate ng paglabas at mga voltages ng cutoff para sa iba't ibang mga chemistry ng Baterya ng Lithium-Ion:

1. Lithium Cobalt Oxide: Cut-off Voltage = 2.5V sa rate ng paglabas ng 1C

2. Lithium Manganese Oxide: Cut-off Voltage = 2.5V sa rate ng paglabas ng 1C

3. Lithium Iron Phosphate: Cut-off Boltahe = 2.5V sa rate ng paglabas ng 1C

4. Lithium Titanate: Cut-off Voltage = 1.8V sa rate ng paglabas ng 1C

5. Lithium Nickel Manganese Cobalt Oxide: Cut-off Voltage = 2.5V sa rate ng paglabas ng 1C

6. Lithium Nickel Cobalt Aluminium Okside: Cut-off Boltahe = 3.0V sa rate ng paglabas ng 1C

Nai-update noong 01.04.2020

jcgrabo, iminungkahi ang ilang mga pagbabago sa orihinal na disenyo upang mapabuti ang katumpakan. Ang mga pagbabago ay nakalista sa ibaba:

1. Magdagdag ng isang sanggunian sa katumpakan (LM385BLP-1.2) at ikinonekta ito sa A1. Sa panahon ng pag-set up, basahin ang halaga nito na kung saan ay kilala na 1.215 volts, at pagkatapos ay kalkulahin ang Vcc sa gayon tinanggal ang pangangailangang sukatin ang Vcc.

2. Palitan ang 1 ohm 5% risistor na may isang 1 ohm 1% lakas risistor sa gayon pagbawas ng mga pagkakamali na nakasalalay sa halaga ng paglaban.

3. Sa halip na gumamit ng isang nakapirming hanay ng mga halagang PWM para sa bawat kasalukuyang hakbang (sa mga pagtaas ng 5) lumikha ng isang hanay ng mga nais na kasalukuyang halaga na ginamit upang makalkula ang kinakailangang mga halaga ng PWM upang makamit ang mga kasalukuyang halaga hangga't maaari. Sinundan niya iyon sa pamamagitan ng pagkalkula ng aktwal na kasalukuyang mga halaga na makakamtan sa naipon na mga halagang PWM.

Sa pamamagitan ng pagsasaalang-alang sa mga pagbabago sa itaas, binago niya ang code at ibinahagi ito sa seksyon ng komento. Ang binagong code ay nakakabit sa ibaba.

Maraming salamat jcgrabo para sa iyong mahalagang kontribusyon sa aking proyekto. Inaasahan kong magiging kapaki-pakinabang ang pagpapabuti na ito para sa marami pang mga gumagamit.

Hakbang 11: Konklusyon

Konklusyon
Konklusyon
Konklusyon
Konklusyon
Konklusyon
Konklusyon
Konklusyon
Konklusyon

Upang subukan ang circuit, nag-charge muna ako ng isang mahusay na baterya ng Samsung 18650 gamit ang aking ISDT C4 Charger. Pagkatapos ay ikonekta ang baterya sa terminal ng baterya. Itakda ngayon ang kasalukuyang ayon sa iyong kinakailangan at matagal nang pinindot ang pindutang "UP". Pagkatapos ay dapat mong marinig ang isang beep at magsimula ang pamamaraan ng pagsubok. Sa panahon ng pagsubok, susubaybayan mo ang lahat ng mga parameter sa pagpapakita ng OLED. Ang baterya ay lalabas hanggang sa maabot ng boltahe nito ang mababang antas na threshold (3.2V). Ang proseso ng pagsubok ay tatapusin ng dalawang mahahabang beep.

Tandaan: Ang proyekto ay nasa ilalim pa rin ng yugto ng pag-unlad. Maaari kang sumali sa akin para sa anumang mga pagpapabuti. Taasan ang mga komento kung may mga pagkakamali o pagkakamali. Nagdidisenyo ako ng isang PCB para sa proyektong ito. Manatiling konektado para sa higit pang mga pag-update sa proyekto.

Sana maging kapaki-pakinabang ang aking tutorial. Kung gusto mo ito, huwag kalimutang ibahagi:) Mag-subscribe para sa higit pang mga proyekto sa DIY. Salamat.

Inirerekumendang: