Turinys:

Baterijos tikrintuvas su temperatūra ir akumuliatoriaus pasirinkimu: 23 žingsniai (su nuotraukomis)
Baterijos tikrintuvas su temperatūra ir akumuliatoriaus pasirinkimu: 23 žingsniai (su nuotraukomis)

Video: Baterijos tikrintuvas su temperatūra ir akumuliatoriaus pasirinkimu: 23 žingsniai (su nuotraukomis)

Video: Baterijos tikrintuvas su temperatūra ir akumuliatoriaus pasirinkimu: 23 žingsniai (su nuotraukomis)
Video: 5 NUOSTABŪS GYVENIMO PRAŠYMAI Nr. 2 2024, Gruodis
Anonim
Image
Image
Pakeisti iš bazinio projekto
Pakeisti iš bazinio projekto

Akumuliatoriaus talpos testeris.

Su šiuo prietaisu galite patikrinti 18650 akumuliatoriaus, rūgšties ir kitų (didžiausia mano išbandyta baterija, tai yra 6 V rūgšties akumuliatorius 4, 2A) talpą. Bandymo rezultatas yra miliampere/val.

Aš kuriu šį įrenginį, nes man reikia patikrinti netikros porcelianinės baterijos talpą.

Saugumo sumetimais, naudodamas termistorių, pridėjau atsparumo maitinimui ir akumuliatoriaus temperatūrą, kad nebūtų per karšta, su šia gudrybe galiu patikrinti 6 V rūgšties akumuliatorių be ugnies (per tam tikrą laiką išsikraunant pereikite prie karštos galios rezistoriaus) ir prietaisui palaukti 20 sekundžių, kad temperatūra sumažėtų).

Aš renkuosi mažą mikrovaldiklį, suderinamą su „Atmega328“, suderinamą „nano“(„eBay“).

Visas kodas yra čia.

1 veiksmas: pakeiskite pagrindinį projektą

Aš pavogiau idėją iš „OpenGreenEnergy“projekto ir pertvarkiau plokštę, kad pridėčiau funkcijų, todėl dabar tapsiu bendresnė.

v0.1

  • „Arduino“VCC dabar automatiškai apskaičiuojamas;
  • Pridėtas kintamasis, kad būtų patogiau pakeisti nustatymą.
  • Pridėtas iškrovos procentas
  • Pridėta baterijos ir galios rezistoriaus temperatūra

v0.2

  • Papildoma galimybė pasirinkti akumuliatorių
  • Sukurta lentos prototipas (žiūrėkite schemą) su ekranu, mygtuku ir garsiakalbiu už plokštės ribų, nes ateityje norėčiau sukurti paketą.
  • Pridėtas galios rezistoriaus temperatūros ribos valdymas, kad galėčiau blokuoti procesą, kai temperatūra pakyla virš 70 ° (per šios temperatūros galios rezistoriaus sumažėjimą).

v0.3

Netrukus pasirodys šios paslaugos lenta

2 žingsnis: valdybos V0.2

Valdybos V0.2
Valdybos V0.2

V0.2, kad palaikytų įvairių tipų baterijas, sukūriau struktūrą, kuri turi būti užpildyta akumuliatoriaus pavadinimu, min. Įtampa ir maksimalia įtampa (man reikia pagalbos ją užpildant: P).

// Akumuliatoriaus tipo struktūra BatteryType {char name [10]; plūdė maxVolt; plūdė minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Dabar įtampos dalikliui naudoju 10 k rezistorių rinkinį, kad nuskaityčiau dvigubą analoginės įvesties temperatūrą. Jei norite pakeisti įtampos palaikymą, turite pakeisti šią vertę (geriau paaiškinkite toliau):

// Akumuliatoriaus įtampos varža

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Varža rezistoriaus įtampai #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0

Jei nenaudojate termistoriaus, nustatykite jį kaip klaidingą:

#define USING_BATTERY_TERMISTOR tiesa

#define USING_RESISTO_TERMISTOR tiesa

Jei naudojate kitą „i2c“ekraną, turite perrašyti šį metodą:

niekinis burtas (niekinis)

Projekte galite rasti šlifavimo schemas, nuotraukas ir dar daugiau.

3 veiksmas: „Breadboard“: išplėstas „I2c“simbolių rodymo valdiklis

Duonos lenta: išplėstas I2c simbolių ekrano valdiklis
Duonos lenta: išplėstas I2c simbolių ekrano valdiklis

Aš naudojau bendrą simbolių ekraną, sukūriau „i2c“valdiklį ir naudoju jį su savo pasirinkta biblioteka.

Bet jei norite, galite pasiimti įprastą „i2c“valdiklį (mažiau nei 1 €) su standartine biblioteka, kodas išlieka tas pats. Visas ekrano kodas yra piešimo funkcija, todėl galite tai pakeisti nekeisdami kitų dalykų.

Čia geriau paaiškinta.

4 veiksmas: „Breadboard“: simbolių ekranas su integruotu „I2c“

Duonos lenta: simbolių ekranas su integruotu I2c
Duonos lenta: simbolių ekranas su integruotu I2c

Ta pati schema be valdomo i2c išplėsta.

5 žingsnis: realizavimas

Įtampos matavimui naudojame įtampos daliklio principą (daugiau informacijos Vikipedijoje).

Paprastais žodžiais tariant, šis kodas yra dauginimo koeficientas akumuliatoriaus įtampai matuoti.

batResValueGnd / (batResValueVolt + batResValueGnd)

Įdėjau 2 batResValueVolt ir batResValueGnd verčių varžas po ir prieš analoginį skaitymo laidą.

batVolt = (pavyzdys1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023,0))) * vcc;

sample1 yra vidutiniai analoginiai rodmenys;

vcc nuoroda Arduino įtampa;

1023.0 yra maksimali orientacinė analoginio skaitymo vertė („Arduino“analoginis nuskaitymas yra nuo 0 iki 1023).

Norint gauti srovę, jums reikia įtampos po ir prieš galios rezistorių.

Išmatuodami įtampą po ir prieš galios rezistorių, galite apskaičiuoti miliamperą, kuris sunaudoja akumuliatorių.

MOSFET naudojamas akumuliatoriaus išsikrovimui iš galios rezistoriaus pradėti ir sustabdyti.

Saugumo sumetimais įdėjau 2 termistorius akumuliatoriaus ir galios rezistoriaus temperatūrai stebėti.

6 žingsnis: išplėtimas

Išplečiamumas
Išplečiamumas
Išplečiamumas
Išplečiamumas

Bandau sukurti išplėstinę plokštės prototipą, tačiau kol kas naudoju tik minimalų kaiščių rinkinį (ateityje pridėsiu šviesos diodų ir kitų mygtukų).

Jei norite, kad palaikymo įtampa būtų didesnė nei 10 V, turite pakeisti akumuliatoriaus rezistoriaus vertę ir varžą pagal formulę

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

schemoje Rezistoriaus galios įtampa

Rezistoriaus maitinimo įtampa GND 1/2/(rezistoriaus galios įtampa 2/2 + rezistoriaus galios įtampa GND 1/2)

Rožinė spalva yra lituojama

7 žingsnis: dalių sąrašas

Sumos dalies tipo ypatybės

  • 2 5 mm varžto terminalo PCB tvirtinimo varžto gnybtų blokas 8A 250V LW SZUS („eBay“)
  • 1 „Arduino Pro Mini“klonas (suderinamas su „Nano“) („eBay“)
  • 1 pagrindinis FET P kanalas IRF744N arba IRLZ44N („eBay“)
  • 11 10 kΩ rezistoriaus rezistorius 10 kΩ („eBay“)
  • 2 temperatūros jutiklis (termistorius) 10 kΩ; („eBay“)
  • * Bendra vyrų antraštės forma ♂ (patinas); („eBay“)
  • * Bendra moterų antraštės forma ♀ (patelė); („eBay“)
  • 1 „PerfBoard“plokštės prototipo lenta 24x18 („eBay“)
  • 10R, 10W

    galios rezistorius („eBay“) Radau seną crt televizorių.

8 veiksmas: lenta: iš naujo nustatykite „Gnd E“mygtuką, kad pasirinktumėte akumuliatorių

Lenta: iš naujo nustatyti, „Gnd E“mygtukas akumuliatoriui pasirinkti
Lenta: iš naujo nustatyti, „Gnd E“mygtukas akumuliatoriui pasirinkti

Kairėje smeigtukų dalyje rasite mygtuką ir garsinį signalą.

Aš naudoju 3 mygtukus:

  1. vienas pakeisti baterijos tipą;
  2. vienas - pradėti išsikrauti pasirinktą akumuliatorių;
  3. tada aš naudoju atstatymo kaištį, kad iš naujo paleisčiau viską ir suaktyvinčiau naują operaciją.

Visas kaištis jau ištrauktas žemyn, todėl turite aktyvuoti naudodami VCC

Atstatymas aktyvuojamas naudojant GND

Rožinė spalva yra lituojama

9 veiksmas: lenta: „I2c“ir maitinimo šaltinio kaiščiai

Lenta: I2c ir maitinimo kaiščiai
Lenta: I2c ir maitinimo kaiščiai

Prie pagrindo galite matyti VCC, GND ir SDA, SCL (ir kitus ateityje).

Rožinė spalva yra lituojama

10 žingsnis: plokštė: termistorius ir įtampos matavimas

Plokštė: termistorius ir įtampos matavimas
Plokštė: termistorius ir įtampos matavimas

Dešinėje yra kaiščiai, skirti termistoriaus vertei nuskaityti, vienas skirtas galios rezistoriaus termistoriui, o kitas (akumuliatoriaus termistoriui (kištukiniam/moteriškam kaiščiui pritvirtinti)).

Tada yra analoginiai kaiščiai, kurie matuoja skirtingą įtampą po ir prieš galios rezistorių.

Rožinė spalva yra lituojama

11 žingsnis: plokštė: įtampos matavimo rezistorius

Plokštė: įtampos matavimo rezistorius
Plokštė: įtampos matavimo rezistorius
Plokštė: įtampos matavimo rezistorius
Plokštė: įtampos matavimo rezistorius

Čia galite pamatyti rezistorių, kuris leidžia palaikyti dvigubą įtampą nei arduino kaištis (10v), turite tai pakeisti, kad palaikytumėte daugiau įtampos.

Rožinė spalva yra lituojama

12 žingsnis: litavimo žingsnis: visi kaiščiai

Litavimo žingsnis: visi kaiščiai
Litavimo žingsnis: visi kaiščiai
Litavimo žingsnis: visi kaiščiai
Litavimo žingsnis: visi kaiščiai

Pirmiausia pridedu visus kaiščius ir lituoju.

13 žingsnis: litavimo veiksmai: ištraukiamas rezistorius ir termistorius

Litavimo žingsniai: ištraukiamas rezistorius ir termistorius
Litavimo žingsniai: ištraukiamas rezistorius ir termistorius
Litavimo žingsniai: ištraukiamas rezistorius ir termistorius
Litavimo žingsniai: ištraukiamas rezistorius ir termistorius

Tada pridedu visus išskleidžiamuosius mygtukus (mygtukams) ir „i2c“jungtį (ekranas).

Tada galios rezistoriaus termistorius Tai labai svarbu, kai rūgštinė baterija perkaista.

14 žingsnis: litavimo žingsniai: MOSFET, atsparumas tikrinamai įtampai

Litavimo žingsniai: MOSFET, atsparumas tikrinamai įtampai
Litavimo žingsniai: MOSFET, atsparumas tikrinamai įtampai
Litavimo žingsniai: MOSFET, atsparumas tikrinamai įtampai
Litavimo žingsniai: MOSFET, atsparumas tikrinamai įtampai

Dabar turime įterpti „mosfet“, kad suaktyvintume iškrovimą ir atsparumą įtampai patikrinti.

2 atsparumas įtampai prieš galios rezistorių 2 atsparumas įtampai po galios rezistoriaus, kai turite šią įtampą, galite apskaičiuoti miliamperų sunaudojimą.

15 žingsnis: kodas

Mikrovaldiklis yra suderinamas su nano, todėl turite nustatyti savo IDE, kad įkeltumėte „Arduino Nano“.

Norėdami dirbti, turite atsisiųsti kodą iš mano „github“saugyklos.

Turite pridėti 3 biblioteką:

  1. Viela: standartinė „arduino“biblioteka, skirta „i2c“protokolui;
  2. „Termistor Library“čia ne biblioteka, kurią galite rasti „arduino IDE“, bet mano versija;
  3. „LiquidCrystal_i2c“: jei naudojate išplėstinę/pasirinktinę „i2c“adapterio versiją (mano versija), turite atsisiųsti biblioteką iš čia, jei naudojate standartinį komponentą, galite paimti biblioteką iš „arduino IDE“, bet viskas geriau paaiškinta čia.

Aš netikrinu skystųjų kristalų su standartine biblioteka, man atrodo, kad jie yra keičiami, bet jei yra kokių nors problemų, susisiekite su manimi.

16 žingsnis: Rezultatas po surinkimo

Image
Image
Rezultatas po surinkimo
Rezultatas po surinkimo
Rezultatas po surinkimo
Rezultatas po surinkimo

Pagrindinė plokštė yra nuotraukoje, tada galime ją išbandyti.

17 žingsnis: Pirmiausia pasirinkite akumuliatoriaus tipą

Pirmiausia pasirinkite akumuliatoriaus tipą
Pirmiausia pasirinkite akumuliatoriaus tipą

Kaip aprašyta, turime vertės žemėlapį su akumuliatoriaus konfigūracija.

// Akumuliatoriaus tipo struktūra BatteryType {char name [10]; plūdė maxVolt; plūdė minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

18 veiksmas: pradėkite iškrovimą

Pradėkite iškrovimą
Pradėkite iškrovimą
Pradėkite iškrovimą
Pradėkite iškrovimą

Paspauskite antrą mygtuką ir pradėkite išsikrauti.

Ekrane galite matyti dabartinę miliamperą, miliamperą/valandą, išsikrovimo procentą, akumuliatoriaus įtampą ir galios rezistoriaus bei akumuliatoriaus temperatūrą.

19 veiksmas: išimtys: išimta baterija

Image
Image
Išimtys: įspėjimas apie temperatūrą
Išimtys: įspėjimas apie temperatūrą

Jei pašalinsite akumuliatoriaus išsikrovimo procesą, jis bus pristabdytas, kai jį vėl įdėsite, paleiskite iš naujo pagal paskutinę vertę.

20 veiksmas: išimtys: įspėjimas apie temperatūrą

Išimtys: įspėjimas apie temperatūrą
Išimtys: įspėjimas apie temperatūrą
Išimtys: įspėjimas apie temperatūrą
Išimtys: įspėjimas apie temperatūrą
Išimtys: įspėjimas apie temperatūrą
Išimtys: įspėjimas apie temperatūrą

Jei temperatūra (akumuliatorius arba maitinimo rezistorius) įkaista, iškrovimo procesas sustabdomas.

#define BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° duomenų lape (mažinantys rezistoriai) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

Numatytoji maksimalios temperatūros vertė yra 50 ° akumuliatoriui ir 69 - galios rezistoriui.

Kaip matote komentare, galios rezistorius turi įtakos sumažėjimui, kai jis viršija 70 °.

Jei įspėjimas padidinamas, pradėkite TEMP_TO_REMOVE_ON_MAX_TEMP sekundžių pertrauką, kad sumažintumėte temperatūrą.

21 veiksmas: patikrinkite srovę

Išbandykite srovę
Išbandykite srovę

Srovės stiprumo bandymo rezultatas yra geras.

22 žingsnis: paketas

Naudojant atskirus komponentus, pakuotės rezultatas yra lengvai realizuojamas.

Dėžutėje turi būti LCD stačiakampis, skylių mygtukai ir išorinė statinė, skirta tiekti įtampą iš maitinimo šaltinio.

Mygtukui nereikia ištraukiamojo rezistoriaus, nes jį pridedu jau laive.

Kai turiu šiek tiek laiko, aš jį sukuriu ir paskelbiu.

Rekomenduojamas: